From 7eb27a9d227be9f30baa24038752833509ecbed2 Mon Sep 17 00:00:00 2001 From: Ross Morsali Date: Wed, 15 Jul 2026 17:44:02 +0200 Subject: [PATCH 01/34] test: reproduce critical PII redaction leaks Add fixture-backed red-phase coverage for top-level customer JSON, unprotected command outputs, persisted debug logs, and Unicode NER names. These assertions intentionally fail until the corresponding privacy fixes land. --- internal/api/debug_test.go | 36 +++++ internal/cmd/inbox_pii_regression_test.go | 162 ++++++++++++++++++++++ internal/pii/text_test.go | 31 +++++ 3 files changed, 229 insertions(+) create mode 100644 internal/cmd/inbox_pii_regression_test.go diff --git a/internal/api/debug_test.go b/internal/api/debug_test.go index 627f5b5..7980152 100644 --- a/internal/api/debug_test.go +++ b/internal/api/debug_test.go @@ -77,6 +77,42 @@ func TestDebugTransport_LogsRequestBody(t *testing.T) { assert.Contains(t, log, `{"text":"hello"}`) } +func TestPIIRegression_Critical03_DebugTransportDoesNotPersistPII(t *testing.T) { + var buf bytes.Buffer + const responseBody = `{"comments":"Call Alice at 415-555-0199 or email alice.critical@example.com"}` + dt := &debugTransport{ + base: roundTripFunc(func(req *http.Request) (*http.Response, error) { + return &http.Response{ + StatusCode: 200, + Status: "200 OK", + Header: http.Header{"Content-Type": {"application/json"}}, + Body: io.NopCloser(strings.NewReader(responseBody)), + }, nil + }), + out: &buf, + } + + req, err := http.NewRequest( + "POST", + "https://api.helpscout.net/v2/customers?query=alice.critical%40example.com", + strings.NewReader(`{"email":"alice.critical@example.com"}`), + ) + require.NoError(t, err) + + resp, err := dt.RoundTrip(req) + require.NoError(t, err) + defer resp.Body.Close() + + log := buf.String() + assert.NotContains(t, log, "alice.critical%40example.com", "debug logs must sanitize PII in request URLs") + assert.NotContains(t, log, "alice.critical@example.com", "debug logs must sanitize PII in request and response bodies") + assert.NotContains(t, log, "415-555-0199", "debug logs must sanitize PII in response bodies") + + body, err := io.ReadAll(resp.Body) + require.NoError(t, err) + assert.Equal(t, responseBody, string(body), "sanitizing logs must not alter the response returned to the caller") +} + func TestDebugTransport_SkipsAuthRequests(t *testing.T) { var buf bytes.Buffer dt := &debugTransport{ diff --git a/internal/cmd/inbox_pii_regression_test.go b/internal/cmd/inbox_pii_regression_test.go new file mode 100644 index 0000000..6956928 --- /dev/null +++ b/internal/cmd/inbox_pii_regression_test.go @@ -0,0 +1,162 @@ +package cmd + +import ( + "context" + "encoding/json" + "net/url" + "testing" + + "github.com/operator-kit/hs-cli/internal/output" + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" +) + +const criticalPIIEmail = "alice.critical@example.com" + +func executePIIFixtureCommand( + t *testing.T, + mock *mockClient, + piiMode string, + outputFormat string, + execute func() error, +) string { + t.Helper() + + previousOutput := output.Out + saveRestore(t) + buf := setupTest(mock) + t.Cleanup(func() { output.Out = previousOutput }) + + cfg.InboxPIIMode = piiMode + format = outputFormat + require.NoError(t, execute()) + return buf.String() +} + +func TestPIIRegression_Critical01_CustomersModeRedactsTopLevelCustomerJSON(t *testing.T) { + const customer = `{ + "id": 101, + "firstName": "Alice", + "lastName": "Critical", + "email": "alice.critical@example.com", + "phone": "+1 415 555 0199" + }` + + surfaces := []struct { + name string + newMock func() *mockClient + args []string + }{ + { + name: "list", + newMock: func() *mockClient { + return &mockClient{ + ListCustomersFn: func(context.Context, url.Values) (json.RawMessage, error) { + return halJSON("customers", "["+customer+"]"), nil + }, + } + }, + args: []string{"list"}, + }, + { + name: "get", + newMock: func() *mockClient { + return &mockClient{ + GetCustomerFn: func(context.Context, string, url.Values) (json.RawMessage, error) { + return json.RawMessage(customer), nil + }, + } + }, + args: []string{"get", "101"}, + }, + } + + for _, outputFormat := range []string{"json", "json-full"} { + for _, surface := range surfaces { + outputFormat := outputFormat + surface := surface + t.Run(surface.name+"/"+outputFormat, func(t *testing.T) { + command := newCustomersCmd() + command.SetArgs(surface.args) + out := executePIIFixtureCommand(t, surface.newMock(), "customers", outputFormat, command.Execute) + + for _, rawPII := range []string{"Alice", "Critical", criticalPIIEmail, "+1 415 555 0199"} { + assert.NotContains(t, out, rawPII, "top-level customer PII must be redacted in customers mode") + } + }) + } + } +} + +func TestPIIRegression_Critical02_PIIBearingCommandsCannotBypassRedaction(t *testing.T) { + t.Run("rating comments", func(t *testing.T) { + mock := &mockClient{ + GetRatingFn: func(context.Context, string) (json.RawMessage, error) { + return json.RawMessage(`{ + "id": 7, + "rating": "great", + "comments": "Please follow up with alice.critical@example.com" + }`), nil + }, + } + command := newRatingsCmd() + command.SetArgs([]string{"get", "7"}) + out := executePIIFixtureCommand(t, mock, "all", "json-full", command.Execute) + + assert.NotContains(t, out, criticalPIIEmail, "rating comments must pass through the PII output boundary") + }) + + t.Run("report payloads", func(t *testing.T) { + mock := &mockClient{ + GetReportFn: func(context.Context, string, url.Values) (json.RawMessage, error) { + return json.RawMessage(`{ + "customers": [{"id": 101, "email": "alice.critical@example.com"}] + }`), nil + }, + } + command := newReportsCmd() + command.SetArgs([]string{"customers"}) + out := executePIIFixtureCommand(t, mock, "all", "json-full", command.Execute) + + assert.NotContains(t, out, criticalPIIEmail, "report payloads must pass through the PII output boundary") + }) + + t.Run("attachment metadata", func(t *testing.T) { + mock := &mockClient{ + GetAttachmentDataFn: func(context.Context, string, string) (json.RawMessage, error) { + return json.RawMessage(`{ + "filename": "alice.critical@example.com", + "mimeType": "text/plain", + "data": "c2Vuc2l0aXZl" + }`), nil + }, + } + command := newConversationAttachmentsCmd() + command.SetArgs([]string{"get", "42", "9"}) + out := executePIIFixtureCommand(t, mock, "all", "json-full", command.Execute) + + assert.NotContains(t, out, criticalPIIEmail, "attachment metadata must pass through the PII output boundary") + }) + + t.Run("conversation custom-field values", func(t *testing.T) { + mock := &mockClient{ + GetConversationFn: func(context.Context, string, url.Values) (json.RawMessage, error) { + return json.RawMessage(`{ + "id": 42, + "number": 1042, + "subject": "Escalation", + "customFields": [{ + "id": 17, + "name": "Escalation contact", + "value": "alice.critical@example.com" + }] + }`), nil + }, + } + command := conversationsGetCmd() + command.SetArgs([]string{"42"}) + out := executePIIFixtureCommand(t, mock, "all", "json-full", command.Execute) + + assert.NotContains(t, out, criticalPIIEmail, "custom-field values must be scanned for PII") + }) +} diff --git a/internal/pii/text_test.go b/internal/pii/text_test.go index 46bfe06..3cbadb6 100644 --- a/internal/pii/text_test.go +++ b/internal/pii/text_test.go @@ -117,6 +117,37 @@ func TestRedactText_MultipleNERSpans(t *testing.T) { } } +func TestPIIRegression_Critical04_NERNamesWithUnicodeBoundariesAreRedacted(t *testing.T) { + tests := []struct { + name string + text string + pii string + }{ + {name: "Arabic", text: "تواصل مع أحمد علي اليوم", pii: "أحمد علي"}, + {name: "Chinese", text: "客户张伟需要帮助", pii: "张伟"}, + {name: "accented Latin", text: "Élodie Martin requested help", pii: "Élodie Martin"}, + } + + for _, tt := range tests { + tt := tt + t.Run(tt.name, func(t *testing.T) { + start := strings.Index(tt.text, tt.pii) + d := nerWith(NameSpan{ + Text: tt.pii, + Start: start, + End: start + len(tt.pii), + Score: 0.99, + }) + e := NewEngine(ModeAll, "", WithNER(d)) + + out := e.RedactText(tt.text, nil) + if strings.Contains(out, tt.pii) { + t.Fatalf("Unicode name %q should be redacted, got %q", tt.pii, out) + } + }) + } +} + func TestRedactText_NERAndKnownOverlap(t *testing.T) { // NER detects "Alice Smith", known identity also has Alice Smith // Should not double-redact From 8ee6d2d35d6be152bc4f0edb82bd17a08d000f5d Mon Sep 17 00:00:00 2001 From: Ross Morsali Date: Wed, 15 Jul 2026 18:05:13 +0200 Subject: [PATCH 02/34] chore: ignore local agent workspace Track the entire .agents directory as local-only while keeping deferred engineering notes available in the working copy. --- .gitignore | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index aac16a3..9aeb877 100644 --- a/.gitignore +++ b/.gitignore @@ -21,4 +21,4 @@ Thumbs.db # Go /dist/ -.agents \ No newline at end of file +.agents/ From 5a7ea635169ec125a14175f6198f5f4ffaf433aa Mon Sep 17 00:00:00 2001 From: Ross Morsali Date: Wed, 15 Jul 2026 18:21:46 +0200 Subject: [PATCH 03/34] fix: enforce PII redaction boundaries --- internal/api/debug.go | 94 ++++++--- internal/api/debug_sanitizer.go | 103 +++++++++ internal/api/debug_test.go | 9 +- internal/cmd/inbox_attachments.go | 18 +- internal/cmd/inbox_conversations.go | 10 +- internal/cmd/inbox_customers.go | 8 +- internal/cmd/inbox_mailbox_extras.go | 10 +- internal/cmd/inbox_mailboxes.go | 8 +- internal/cmd/inbox_organizations.go | 8 +- internal/cmd/inbox_pii_helpers.go | 37 +++- internal/cmd/inbox_pii_regression_test.go | 96 ++++++--- internal/cmd/inbox_properties.go | 6 +- internal/cmd/inbox_ratings.go | 9 +- internal/cmd/inbox_reports.go | 8 +- internal/cmd/inbox_saved_replies.go | 10 +- internal/cmd/inbox_tags.go | 4 +- internal/cmd/inbox_teams.go | 4 +- internal/cmd/inbox_threads.go | 6 +- internal/cmd/inbox_users.go | 18 +- internal/cmd/inbox_webhooks.go | 8 +- internal/cmd/inbox_workflows.go | 4 +- internal/pii/identity_test.go | 16 ++ internal/pii/json.go | 242 ++++++++++++++-------- internal/pii/json_test.go | 54 +++++ internal/pii/ner/ner.go | 4 +- internal/pii/text.go | 213 ++++++++++++++++--- internal/pii/text_test.go | 26 +++ 27 files changed, 789 insertions(+), 244 deletions(-) create mode 100644 internal/api/debug_sanitizer.go diff --git a/internal/api/debug.go b/internal/api/debug.go index 24ef4df..c9c3e37 100644 --- a/internal/api/debug.go +++ b/internal/api/debug.go @@ -7,70 +7,100 @@ import ( "net/http" "os" "strings" + "sync" "time" ) -// debugTransport wraps an http.RoundTripper and logs requests/responses to a file. -// Auth token requests are skipped to avoid exposing credentials. +// debugTransport wraps an http.RoundTripper and records requests/responses +// through an always-on diagnostic sanitizer. Debug logging is deliberately +// independent of the user-facing --unredacted policy. type debugTransport struct { - base http.RoundTripper - out io.Writer + base http.RoundTripper + out io.Writer + sanitizer diagnosticSanitizer + mu sync.Mutex } func (t *debugTransport) RoundTrip(req *http.Request) (*http.Response, error) { + base := t.base + if base == nil { + base = http.DefaultTransport + } if strings.Contains(req.URL.Path, "oauth2/token") { - return t.base.RoundTrip(req) + return base.RoundTrip(req) } - ts := time.Now().Format("15:04:05.000") - fmt.Fprintf(t.out, "\n--- %s %s %s ---\n", ts, req.Method, req.URL) - - for k, vals := range req.Header { - if strings.EqualFold(k, "Authorization") { - fmt.Fprintf(t.out, ">> %s: [redacted]\n", k) - continue - } - fmt.Fprintf(t.out, ">> %s: %s\n", k, strings.Join(vals, ", ")) + sanitizer := t.sanitizer + if sanitizer == nil { + sanitizer = newSafeDiagnosticSanitizer() } + var record bytes.Buffer + ts := time.Now().Format("15:04:05.000") + fmt.Fprintf(&record, "\n--- %s %s %s ---\n", ts, req.Method, sanitizer.sanitizeURL(req.URL)) + writeSanitizedHeaders(&record, ">>", req.Header, sanitizer) + if req.Body != nil && req.Body != http.NoBody { - body, err := io.ReadAll(req.Body) - req.Body.Close() - if err == nil && len(body) > 0 { - fmt.Fprintf(t.out, ">> %s\n", body) - req.Body = io.NopCloser(bytes.NewReader(body)) + body, readErr := io.ReadAll(req.Body) + _ = req.Body.Close() + req.Body = io.NopCloser(bytes.NewReader(body)) + if readErr != nil { + fmt.Fprintln(&record, ">> [redacted unreadable body]") + } else if len(body) > 0 { + fmt.Fprintf(&record, ">> %s\n", sanitizer.sanitizeBody(body)) } } - resp, err := t.base.RoundTrip(req) + resp, err := base.RoundTrip(req) if err != nil { - fmt.Fprintf(t.out, "<< error: %v\n", err) + // Transport errors often embed the full request URL. Preserve the error + // category for diagnosis without persisting its potentially sensitive text. + fmt.Fprintf(&record, "<< error: request failed (%T)\n", err) + t.writeRecord(record.String()) return nil, err } - fmt.Fprintf(t.out, "<< %s\n", resp.Status) - for k, vals := range resp.Header { - fmt.Fprintf(t.out, "<< %s: %s\n", k, strings.Join(vals, ", ")) - } + fmt.Fprintf(&record, "<< %s\n", resp.Status) + writeSanitizedHeaders(&record, "<<", resp.Header, sanitizer) - body, err := io.ReadAll(resp.Body) - resp.Body.Close() - if err == nil && len(body) > 0 { - fmt.Fprintf(t.out, "<< %s\n", body) - } + body, readErr := io.ReadAll(resp.Body) + _ = resp.Body.Close() resp.Body = io.NopCloser(bytes.NewReader(body)) + if readErr != nil { + fmt.Fprintln(&record, "<< [redacted unreadable body]") + } else if len(body) > 0 { + fmt.Fprintf(&record, "<< %s\n", sanitizer.sanitizeBody(body)) + } + t.writeRecord(record.String()) return resp, nil } -// setupDebugLog creates the debug log file and wraps the client transport. +func writeSanitizedHeaders(out io.Writer, prefix string, headers http.Header, sanitizer diagnosticSanitizer) { + for key, values := range headers { + fmt.Fprintf(out, "%s %s: %s\n", prefix, key, sanitizer.sanitizeHeader(key, values)) + } +} + +func (t *debugTransport) writeRecord(record string) { + t.mu.Lock() + defer t.mu.Unlock() + _, _ = io.WriteString(t.out, record) +} + +// setupDebugLog creates a private debug log file and wraps the client transport. func setupDebugLog(httpClient *http.Client) { path := "hs-debug.log" - f, err := os.Create(path) + f, err := os.OpenFile(path, os.O_CREATE|os.O_WRONLY|os.O_TRUNC, 0o600) if err != nil { fmt.Fprintf(os.Stderr, "Warning: could not create debug log: %v\n", err) return } + if err := f.Chmod(0o600); err != nil { + _ = f.Close() + fmt.Fprintf(os.Stderr, "Warning: could not secure debug log: %v\n", err) + return + } fmt.Fprintf(os.Stderr, "Debug log: %s\n", path) httpClient.Transport = &debugTransport{ base: httpClient.Transport, diff --git a/internal/api/debug_sanitizer.go b/internal/api/debug_sanitizer.go new file mode 100644 index 0000000..edf03f2 --- /dev/null +++ b/internal/api/debug_sanitizer.go @@ -0,0 +1,103 @@ +package api + +import ( + "encoding/json" + "net/url" + "strings" + "unicode" + + "github.com/operator-kit/hs-cli/internal/pii" +) + +const diagnosticRedacted = "[redacted]" + +type diagnosticSanitizer interface { + sanitizeURL(*url.URL) string + sanitizeHeader(string, []string) string + sanitizeBody([]byte) string +} + +type safeDiagnosticSanitizer struct { + engine *pii.Engine +} + +func newSafeDiagnosticSanitizer() diagnosticSanitizer { + // Diagnostics always use the strongest mode and deliberately omit NER. + // Free-form fields therefore collapse to RedactTextNotice rather than risk + // persisting a name the model did not inspect. + return &safeDiagnosticSanitizer{engine: pii.NewEngine(pii.ModeAll, "")} +} + +func (s *safeDiagnosticSanitizer) sanitizeURL(input *url.URL) string { + if input == nil { + return "" + } + clean := *input + clean.User = nil + clean.Fragment = "" + + query := clean.Query() + for key, values := range query { + for i := range values { + values[i] = diagnosticRedacted + } + query[key] = values + } + clean.RawQuery = query.Encode() + + segments := strings.Split(clean.Path, "/") + for i, segment := range segments { + if pathSegmentMayIdentifyPerson(segment) { + segments[i] = diagnosticRedacted + } + } + clean.Path = strings.Join(segments, "/") + clean.RawPath = "" + return clean.String() +} + +func (s *safeDiagnosticSanitizer) sanitizeHeader(key string, values []string) string { + switch strings.ToLower(strings.TrimSpace(key)) { + case "accept", "content-type", "content-length", "date", "retry-after", + "x-ratelimit-limit", "x-ratelimit-remaining", "x-ratelimit-reset": + return strings.Join(values, ", ") + default: + return diagnosticRedacted + } +} + +func (s *safeDiagnosticSanitizer) sanitizeBody(body []byte) string { + if len(body) == 0 { + return "" + } + redacted, err := s.engine.RedactJSONWithContext(json.RawMessage(body), pii.JSONContext{Resource: pii.ResourceDiagnostic}) + if err != nil { + return "[redacted non-JSON body]" + } + return string(redacted) +} + +func pathSegmentMayIdentifyPerson(segment string) bool { + decoded, err := url.PathUnescape(segment) + if err != nil { + return true + } + if strings.Contains(decoded, "@") { + return true + } + + digits := 0 + other := false + for _, r := range decoded { + switch { + case unicode.IsDigit(r): + digits++ + case r == '-' || r == '+' || r == '(' || r == ')' || unicode.IsSpace(r): + default: + other = true + } + } + // Numeric identifiers and phone-like path values are not useful enough in a + // persistent log to justify retaining them. + return digits > 0 && !other +} diff --git a/internal/api/debug_test.go b/internal/api/debug_test.go index 7980152..21432bb 100644 --- a/internal/api/debug_test.go +++ b/internal/api/debug_test.go @@ -33,6 +33,8 @@ func TestDebugTransport_LogsRequestAndResponse(t *testing.T) { req, _ := http.NewRequest("GET", "https://api.helpscout.net/v2/mailboxes", nil) req.Header.Set("Authorization", "Bearer secret-token") + req.Header.Set("Cookie", "session=alice.critical@example.com") + req.Header.Set("X-Api-Key", "private-api-key") req.Header.Set("Content-Type", "application/json") resp, err := dt.RoundTrip(req) @@ -43,6 +45,8 @@ func TestDebugTransport_LogsRequestAndResponse(t *testing.T) { assert.Contains(t, log, "GET https://api.helpscout.net/v2/mailboxes") assert.Contains(t, log, "[redacted]") assert.NotContains(t, log, "secret-token") + assert.NotContains(t, log, "alice.critical@example.com") + assert.NotContains(t, log, "private-api-key") assert.Contains(t, log, "200 OK") assert.Contains(t, log, `{"id":1}`) @@ -51,7 +55,7 @@ func TestDebugTransport_LogsRequestAndResponse(t *testing.T) { assert.Equal(t, `{"id":1}`, string(body)) } -func TestDebugTransport_LogsRequestBody(t *testing.T) { +func TestDebugTransport_PreservesRequestBodyAndSanitizesLog(t *testing.T) { var buf bytes.Buffer dt := &debugTransport{ base: roundTripFunc(func(req *http.Request) (*http.Response, error) { @@ -74,7 +78,8 @@ func TestDebugTransport_LogsRequestBody(t *testing.T) { require.NoError(t, err) log := buf.String() - assert.Contains(t, log, `{"text":"hello"}`) + assert.NotContains(t, log, `{"text":"hello"}`) + assert.Contains(t, log, "redacted") } func TestPIIRegression_Critical03_DebugTransportDoesNotPersistPII(t *testing.T) { diff --git a/internal/cmd/inbox_attachments.go b/internal/cmd/inbox_attachments.go index e3f04d3..9890fe9 100644 --- a/internal/cmd/inbox_attachments.go +++ b/internal/cmd/inbox_attachments.go @@ -79,14 +79,18 @@ func newConversationAttachmentsCmd() *cobra.Command { } if isJSON() { - return output.PrintRaw(mustMarshal(attachments)) + return printRawWithPII(mustMarshal(attachments), attachmentPIIContext) } + engine, err := newPIIEngine() + if err != nil { + return err + } rows := make([]map[string]string, len(attachments)) for i, a := range attachments { rows[i] = map[string]string{ "id": strconv.Itoa(a.ID), - "filename": a.FileName, + "filename": redactTextWithPII(engine, a.FileName), "mime": a.MimeType, "size": strconv.FormatInt(a.Size, 10), } @@ -106,12 +110,16 @@ func newConversationAttachmentsCmd() *cobra.Command { } if isJSON() { - return output.PrintRaw(data) + return printRawWithPII(data, attachmentPIIContext) } var payload map[string]any if err := json.Unmarshal(data, &payload); err != nil { - return output.PrintRaw(data) + return printRawWithPII(data, attachmentPIIContext) + } + engine, err := newPIIEngine() + if err != nil { + return err } dataLen := 0 if v, ok := payload["data"].(string); ok { @@ -119,7 +127,7 @@ func newConversationAttachmentsCmd() *cobra.Command { } rows := []map[string]string{{ "id": args[1], - "filename": asString(payload["filename"]), + "filename": redactTextWithPII(engine, asString(payload["filename"])), "mime": asString(payload["mimeType"]), "data_bytes": strconv.Itoa(dataLen), }} diff --git a/internal/cmd/inbox_conversations.go b/internal/cmd/inbox_conversations.go index d572cb5..5bc90e4 100644 --- a/internal/cmd/inbox_conversations.go +++ b/internal/cmd/inbox_conversations.go @@ -140,9 +140,9 @@ func conversationsListCmd() *cobra.Command { return err } if !isJSONClean() { - return printRawWithPII(mustMarshal(items)) + return printRawWithPII(mustMarshal(items), conversationPIIContext) } - return printRawWithPII(mustMarshal(cleanRawItems(items, cleanConversation))) + return printRawWithPII(mustMarshal(cleanRawItems(items, cleanConversation)), conversationPIIContext) } items, pageInfo, err := api.PaginateAll(ctx, apiClient.ListConversations, params, "conversations", noPaginate) @@ -223,9 +223,9 @@ func conversationsGetCmd() *cobra.Command { if isJSON() { if !isJSONClean() { - return printRawWithPII(data) + return printRawWithPII(data, conversationPIIContext) } - return printRawWithPII(mustMarshal(cleanRawObject(data, cleanConversation))) + return printRawWithPII(mustMarshal(cleanRawObject(data, cleanConversation)), conversationPIIContext) } var c types.Conversation @@ -438,7 +438,7 @@ func newConversationTagsCmd() *cobra.Command { return err } if isJSON() { - return output.PrintRaw(mustMarshal(map[string]any{"tags": tags})) + return printRawWithPII(mustMarshal(map[string]any{"tags": tags}), conversationPIIContext) } for _, tag := range tags { fmt.Fprintln(output.Out, tag) diff --git a/internal/cmd/inbox_customers.go b/internal/cmd/inbox_customers.go index f973e56..74f7b77 100644 --- a/internal/cmd/inbox_customers.go +++ b/internal/cmd/inbox_customers.go @@ -158,9 +158,9 @@ func customersListCmd() *cobra.Command { return err } if !isJSONClean() { - return printRawWithPII(mustMarshal(items)) + return printRawWithPII(mustMarshal(items), customerPIIContext) } - return printRawWithPII(mustMarshal(cleanRawItems(items, cleanCustomer))) + return printRawWithPII(mustMarshal(cleanRawItems(items, cleanCustomer)), customerPIIContext) } items, pageInfo, err := api.PaginateAll(ctx, apiClient.ListCustomers, params, "customers", noPaginate) @@ -215,9 +215,9 @@ func customersGetCmd() *cobra.Command { if isJSON() { if !isJSONClean() { - return printRawWithPII(data) + return printRawWithPII(data, customerPIIContext) } - return printRawWithPII(mustMarshal(cleanRawObject(data, cleanCustomer))) + return printRawWithPII(mustMarshal(cleanRawObject(data, cleanCustomer)), customerPIIContext) } var c types.Customer diff --git a/internal/cmd/inbox_mailbox_extras.go b/internal/cmd/inbox_mailbox_extras.go index 4c04fa6..d997ac4 100644 --- a/internal/cmd/inbox_mailbox_extras.go +++ b/internal/cmd/inbox_mailbox_extras.go @@ -30,12 +30,12 @@ func newMailboxFoldersCmd() *cobra.Command { items, err := extractEmbeddedWithCandidates(data, "folders") if err != nil { if isJSON() { - return output.PrintRaw(data) + return printRawWithPII(data) } return err } if isJSON() { - return output.PrintRaw(mustMarshal(items)) + return printRawWithPII(mustMarshal(items)) } rows := make([]map[string]string, len(items)) @@ -79,12 +79,12 @@ func newMailboxCustomFieldsCmd() *cobra.Command { items, err := extractEmbeddedWithCandidates(data, "customFields", "fields") if err != nil { if isJSON() { - return output.PrintRaw(data) + return printRawWithPII(data) } return err } if isJSON() { - return output.PrintRaw(mustMarshal(items)) + return printRawWithPII(mustMarshal(items)) } rows := make([]map[string]string, len(items)) @@ -122,7 +122,7 @@ func newMailboxRoutingCmd() *cobra.Command { return err } if isJSON() { - return output.PrintRaw(data) + return printRawWithPII(data) } return output.Print("table", []string{"mailbox_id", "routing"}, []map[string]string{{ "mailbox_id": args[0], diff --git a/internal/cmd/inbox_mailboxes.go b/internal/cmd/inbox_mailboxes.go index a8dbdf1..b07e1ce 100644 --- a/internal/cmd/inbox_mailboxes.go +++ b/internal/cmd/inbox_mailboxes.go @@ -54,9 +54,9 @@ func mailboxesListCmd() *cobra.Command { return err } if !isJSONClean() { - return output.PrintRaw(mustMarshal(items)) + return printRawWithPII(mustMarshal(items)) } - return output.PrintRaw(mustMarshal(cleanRawItems(items, cleanMinimal))) + return printRawWithPII(mustMarshal(cleanRawItems(items, cleanMinimal))) } items, pageInfo, err := api.PaginateAll(ctx, apiClient.ListMailboxes, params, "mailboxes", noPaginate) @@ -105,9 +105,9 @@ func mailboxesGetCmd() *cobra.Command { if isJSON() { if !isJSONClean() { - return output.PrintRaw(data) + return printRawWithPII(data) } - return output.PrintRaw(mustMarshal(cleanRawObject(data, cleanMinimal))) + return printRawWithPII(mustMarshal(cleanRawObject(data, cleanMinimal))) } var m types.Mailbox diff --git a/internal/cmd/inbox_organizations.go b/internal/cmd/inbox_organizations.go index 9d625c3..40d2ff8 100644 --- a/internal/cmd/inbox_organizations.go +++ b/internal/cmd/inbox_organizations.go @@ -188,9 +188,9 @@ func newOrganizationConversationsCmd() *cobra.Command { return err } if !isJSONClean() { - return printRawWithPII(mustMarshal(items)) + return printRawWithPII(mustMarshal(items), conversationPIIContext) } - return printRawWithPII(mustMarshal(cleanRawItems(items, cleanConversation))) + return printRawWithPII(mustMarshal(cleanRawItems(items, cleanConversation)), conversationPIIContext) } items, _, err := api.PaginateAll(ctx, fetch, params, "conversations", noPaginate) @@ -248,9 +248,9 @@ func newOrganizationCustomersCmd() *cobra.Command { return err } if !isJSONClean() { - return printRawWithPII(mustMarshal(items)) + return printRawWithPII(mustMarshal(items), customerPIIContext) } - return printRawWithPII(mustMarshal(cleanRawItems(items, cleanCustomer))) + return printRawWithPII(mustMarshal(cleanRawItems(items, cleanCustomer)), customerPIIContext) } items, _, err := api.PaginateAll(ctx, fetch, params, "customers", noPaginate) diff --git a/internal/cmd/inbox_pii_helpers.go b/internal/cmd/inbox_pii_helpers.go index 044aa19..76ff07e 100644 --- a/internal/cmd/inbox_pii_helpers.go +++ b/internal/cmd/inbox_pii_helpers.go @@ -2,6 +2,7 @@ package cmd import ( "encoding/json" + "fmt" "os" "strings" @@ -11,6 +12,15 @@ import ( "github.com/operator-kit/hs-cli/internal/types" ) +var ( + customerPIIContext = pii.JSONContext{RootEntity: "customer", Resource: pii.ResourceCustomer} + userPIIContext = pii.JSONContext{RootEntity: "user", Resource: pii.ResourceUser} + conversationPIIContext = pii.JSONContext{Resource: pii.ResourceConversation} + ratingPIIContext = pii.JSONContext{Resource: pii.ResourceRating} + reportPIIContext = pii.JSONContext{Resource: pii.ResourceReport} + attachmentPIIContext = pii.JSONContext{Resource: pii.ResourceAttachment} +) + func effectivePIIMode() (string, error) { mode := pii.ModeOff allowUnredacted := false @@ -36,18 +46,33 @@ func newPIIEngine() (*pii.Engine, error) { return pii.NewEngine(mode, os.Getenv("HS_INBOX_PII_SECRET"), opts...), nil } -func printRawWithPII(data json.RawMessage) error { +// redactRawWithPII is the mandatory presentation boundary for Inbox JSON. Once +// redaction is enabled it fails closed: malformed or uninspectable data is +// never passed through unchanged. +func redactRawWithPII(data json.RawMessage, contexts ...pii.JSONContext) (json.RawMessage, error) { engine, err := newPIIEngine() if err != nil { - return err + return nil, err } if !engine.Enabled() { - return output.PrintRaw(data) + return data, nil + } + + ctx := pii.JSONContext{} + if len(contexts) > 0 { + ctx = contexts[0] } - redacted, err := engine.RedactJSON(data) + redacted, err := engine.RedactJSONWithContext(data, ctx) if err != nil { - // Preserve existing behavior for non-JSON payloads. - return output.PrintRaw(data) + return nil, fmt.Errorf("redacting Inbox output: %w", err) + } + return redacted, nil +} + +func printRawWithPII(data json.RawMessage, contexts ...pii.JSONContext) error { + redacted, err := redactRawWithPII(data, contexts...) + if err != nil { + return err } return output.PrintRaw(redacted) } diff --git a/internal/cmd/inbox_pii_regression_test.go b/internal/cmd/inbox_pii_regression_test.go index 6956928..951f32b 100644 --- a/internal/cmd/inbox_pii_regression_test.go +++ b/internal/cmd/inbox_pii_regression_test.go @@ -4,6 +4,9 @@ import ( "context" "encoding/json" "net/url" + "os" + "path/filepath" + "strings" "testing" "github.com/operator-kit/hs-cli/internal/output" @@ -33,6 +36,33 @@ func executePIIFixtureCommand( return buf.String() } +func TestPIIOutputBoundary_FailsClosedForInvalidJSON(t *testing.T) { + previousOutput := output.Out + saveRestore(t) + buf := setupTest(&mockClient{}) + t.Cleanup(func() { output.Out = previousOutput }) + + cfg.InboxPIIMode = "all" + err := printRawWithPII(json.RawMessage(`alice.critical@example.com`)) + require.Error(t, err) + assert.Empty(t, buf.String(), "invalid JSON must never fall back to raw output") +} + +func TestPIIOutputBoundary_AllInboxJSONUsesPresenter(t *testing.T) { + entries, err := os.ReadDir(".") + require.NoError(t, err) + + for _, entry := range entries { + name := entry.Name() + if entry.IsDir() || !strings.HasPrefix(name, "inbox_") || !strings.HasSuffix(name, ".go") || strings.HasSuffix(name, "_test.go") || name == "inbox_pii_helpers.go" { + continue + } + contents, readErr := os.ReadFile(filepath.Clean(name)) + require.NoError(t, readErr) + assert.NotContains(t, string(contents), "output.PrintRaw(", "%s bypasses the PII JSON presenter", name) + } +} + func TestPIIRegression_Critical01_CustomersModeRedactsTopLevelCustomerJSON(t *testing.T) { const customer = `{ "id": 101, @@ -90,52 +120,64 @@ func TestPIIRegression_Critical01_CustomersModeRedactsTopLevelCustomerJSON(t *te func TestPIIRegression_Critical02_PIIBearingCommandsCannotBypassRedaction(t *testing.T) { t.Run("rating comments", func(t *testing.T) { - mock := &mockClient{ - GetRatingFn: func(context.Context, string) (json.RawMessage, error) { - return json.RawMessage(`{ + for _, outputFormat := range []string{"table", "json-full"} { + t.Run(outputFormat, func(t *testing.T) { + mock := &mockClient{ + GetRatingFn: func(context.Context, string) (json.RawMessage, error) { + return json.RawMessage(`{ "id": 7, "rating": "great", "comments": "Please follow up with alice.critical@example.com" }`), nil - }, - } - command := newRatingsCmd() - command.SetArgs([]string{"get", "7"}) - out := executePIIFixtureCommand(t, mock, "all", "json-full", command.Execute) + }, + } + command := newRatingsCmd() + command.SetArgs([]string{"get", "7"}) + out := executePIIFixtureCommand(t, mock, "all", outputFormat, command.Execute) - assert.NotContains(t, out, criticalPIIEmail, "rating comments must pass through the PII output boundary") + assert.NotContains(t, out, criticalPIIEmail, "rating comments must pass through the PII output boundary") + }) + } }) t.Run("report payloads", func(t *testing.T) { - mock := &mockClient{ - GetReportFn: func(context.Context, string, url.Values) (json.RawMessage, error) { - return json.RawMessage(`{ + for _, outputFormat := range []string{"table", "json-full"} { + t.Run(outputFormat, func(t *testing.T) { + mock := &mockClient{ + GetReportFn: func(context.Context, string, url.Values) (json.RawMessage, error) { + return json.RawMessage(`{ "customers": [{"id": 101, "email": "alice.critical@example.com"}] }`), nil - }, - } - command := newReportsCmd() - command.SetArgs([]string{"customers"}) - out := executePIIFixtureCommand(t, mock, "all", "json-full", command.Execute) + }, + } + command := newReportsCmd() + command.SetArgs([]string{"customers"}) + out := executePIIFixtureCommand(t, mock, "all", outputFormat, command.Execute) - assert.NotContains(t, out, criticalPIIEmail, "report payloads must pass through the PII output boundary") + assert.NotContains(t, out, criticalPIIEmail, "report payloads must pass through the PII output boundary") + }) + } }) t.Run("attachment metadata", func(t *testing.T) { - mock := &mockClient{ - GetAttachmentDataFn: func(context.Context, string, string) (json.RawMessage, error) { - return json.RawMessage(`{ + for _, outputFormat := range []string{"table", "json-full"} { + t.Run(outputFormat, func(t *testing.T) { + mock := &mockClient{ + GetAttachmentDataFn: func(context.Context, string, string) (json.RawMessage, error) { + return json.RawMessage(`{ "filename": "alice.critical@example.com", "mimeType": "text/plain", "data": "c2Vuc2l0aXZl" }`), nil - }, - } - command := newConversationAttachmentsCmd() - command.SetArgs([]string{"get", "42", "9"}) - out := executePIIFixtureCommand(t, mock, "all", "json-full", command.Execute) + }, + } + command := newConversationAttachmentsCmd() + command.SetArgs([]string{"get", "42", "9"}) + out := executePIIFixtureCommand(t, mock, "all", outputFormat, command.Execute) - assert.NotContains(t, out, criticalPIIEmail, "attachment metadata must pass through the PII output boundary") + assert.NotContains(t, out, criticalPIIEmail, "attachment metadata must pass through the PII output boundary") + }) + } }) t.Run("conversation custom-field values", func(t *testing.T) { diff --git a/internal/cmd/inbox_properties.go b/internal/cmd/inbox_properties.go index 3b3e747..f26164f 100644 --- a/internal/cmd/inbox_properties.go +++ b/internal/cmd/inbox_properties.go @@ -107,12 +107,12 @@ func printPropertyList(data json.RawMessage, keys ...string) error { items, err := extractEmbeddedWithCandidates(data, keys...) if err != nil { if isJSON() { - return output.PrintRaw(data) + return printRawWithPII(data) } return err } if isJSON() { - return output.PrintRaw(mustMarshal(items)) + return printRawWithPII(mustMarshal(items)) } props := make([]types.Property, 0, len(items)) @@ -134,7 +134,7 @@ func printPropertyList(data json.RawMessage, keys ...string) error { func printSingleProperty(data json.RawMessage) error { if isJSON() { - return output.PrintRaw(data) + return printRawWithPII(data) } var p types.Property if err := json.Unmarshal(data, &p); err != nil { diff --git a/internal/cmd/inbox_ratings.go b/internal/cmd/inbox_ratings.go index dc84325..ac72543 100644 --- a/internal/cmd/inbox_ratings.go +++ b/internal/cmd/inbox_ratings.go @@ -24,13 +24,18 @@ func newRatingsCmd() *cobra.Command { } if isJSON() { if !isJSONClean() { - return output.PrintRaw(data) + return printRawWithPII(data, ratingPIIContext) } - return output.PrintRaw(mustMarshal(cleanRawObject(data, cleanMinimal))) + return printRawWithPII(mustMarshal(cleanRawObject(data, cleanMinimal)), ratingPIIContext) } var r types.Rating json.Unmarshal(data, &r) + engine, err := newPIIEngine() + if err != nil { + return err + } + r.Comments = redactTextWithPII(engine, r.Comments) return output.Print(getFormat(), []string{"id", "rating", "comments"}, []map[string]string{{ "id": strconv.Itoa(r.ID), "rating": r.Rating, diff --git a/internal/cmd/inbox_reports.go b/internal/cmd/inbox_reports.go index 0871731..68beae4 100644 --- a/internal/cmd/inbox_reports.go +++ b/internal/cmd/inbox_reports.go @@ -70,11 +70,15 @@ func newReportFamilyCmd(name string, path string) *cobra.Command { return err } if isJSON() { - return output.PrintRaw(data) + return printRawWithPII(data, reportPIIContext) + } + presented, err := redactRawWithPII(data, reportPIIContext) + if err != nil { + return err } return output.Print("table", []string{"report", "summary"}, []map[string]string{{ "report": name, - "summary": truncate(string(data), 120), + "summary": truncate(string(presented), 120), }}) }, } diff --git a/internal/cmd/inbox_saved_replies.go b/internal/cmd/inbox_saved_replies.go index 4ea0b0b..d58144a 100644 --- a/internal/cmd/inbox_saved_replies.go +++ b/internal/cmd/inbox_saved_replies.go @@ -36,16 +36,16 @@ func newSavedRepliesCmd() *cobra.Command { items, err := extractEmbeddedWithCandidates(data, "savedReplies", "saved-replies") if err != nil { if isJSON() { - return output.PrintRaw(data) + return printRawWithPII(data) } return err } if isJSON() { if !isJSONClean() { - return output.PrintRaw(mustMarshal(items)) + return printRawWithPII(mustMarshal(items)) } - return output.PrintRaw(mustMarshal(cleanRawItems(items, cleanSavedReply))) + return printRawWithPII(mustMarshal(cleanRawItems(items, cleanSavedReply))) } replies := make([]types.SavedReply, 0, len(items)) @@ -81,9 +81,9 @@ func newSavedRepliesCmd() *cobra.Command { } if isJSON() { if !isJSONClean() { - return output.PrintRaw(data) + return printRawWithPII(data) } - return output.PrintRaw(mustMarshal(cleanRawObject(data, cleanSavedReply))) + return printRawWithPII(mustMarshal(cleanRawObject(data, cleanSavedReply))) } var r types.SavedReply diff --git a/internal/cmd/inbox_tags.go b/internal/cmd/inbox_tags.go index ad9eff2..6d7649c 100644 --- a/internal/cmd/inbox_tags.go +++ b/internal/cmd/inbox_tags.go @@ -45,7 +45,7 @@ func tagsListCmd() *cobra.Command { if err != nil { return err } - return output.PrintRaw(mustMarshal(items)) + return printRawWithPII(mustMarshal(items)) } items, pageInfo, err := api.PaginateAll(ctx, apiClient.ListTags, params, "tags", noPaginate) @@ -93,7 +93,7 @@ func tagsGetCmd() *cobra.Command { } if isJSON() { - return output.PrintRaw(data) + return printRawWithPII(data) } var t types.Tag diff --git a/internal/cmd/inbox_teams.go b/internal/cmd/inbox_teams.go index 789e4be..a39d5d1 100644 --- a/internal/cmd/inbox_teams.go +++ b/internal/cmd/inbox_teams.go @@ -95,9 +95,9 @@ func teamsMembersCmd() *cobra.Command { return err } if !isJSONClean() { - return printRawWithPII(mustMarshal(items)) + return printRawWithPII(mustMarshal(items), userPIIContext) } - return printRawWithPII(mustMarshal(cleanRawItems(items, cleanUser))) + return printRawWithPII(mustMarshal(cleanRawItems(items, cleanUser)), userPIIContext) } items, _, err := api.PaginateAll(ctx, fetch, params, "users", noPaginate) diff --git a/internal/cmd/inbox_threads.go b/internal/cmd/inbox_threads.go index 8c2a3d9..561554e 100644 --- a/internal/cmd/inbox_threads.go +++ b/internal/cmd/inbox_threads.go @@ -117,9 +117,9 @@ func threadsListCmd() *cobra.Command { return err } if !isJSONClean() { - return printRawWithPII(mustMarshal(items)) + return printRawWithPII(mustMarshal(items), conversationPIIContext) } - return printRawWithPII(mustMarshal(cleanRawItems(items, cleanThread))) + return printRawWithPII(mustMarshal(cleanRawItems(items, cleanThread)), conversationPIIContext) } items, _, err := api.PaginateAll(ctx, func(ctx context.Context, p url.Values) (json.RawMessage, error) { @@ -366,7 +366,7 @@ func threadsSourceCmd() *cobra.Command { return err } if isJSON() { - return printRawWithPII(data) + return printRawWithPII(data, conversationPIIContext) } engine, err := newPIIEngine() if err != nil { diff --git a/internal/cmd/inbox_users.go b/internal/cmd/inbox_users.go index b85e5ba..8584bd9 100644 --- a/internal/cmd/inbox_users.go +++ b/internal/cmd/inbox_users.go @@ -66,9 +66,9 @@ func usersListCmd() *cobra.Command { return err } if !isJSONClean() { - return printRawWithPII(mustMarshal(items)) + return printRawWithPII(mustMarshal(items), userPIIContext) } - return printRawWithPII(mustMarshal(cleanRawItems(items, cleanUser))) + return printRawWithPII(mustMarshal(cleanRawItems(items, cleanUser)), userPIIContext) } items, pageInfo, err := api.PaginateAll(ctx, apiClient.ListUsers, params, "users", noPaginate) @@ -123,9 +123,9 @@ func usersGetCmd() *cobra.Command { if isJSON() { if !isJSONClean() { - return printRawWithPII(data) + return printRawWithPII(data, userPIIContext) } - return printRawWithPII(mustMarshal(cleanRawObject(data, cleanUser))) + return printRawWithPII(mustMarshal(cleanRawObject(data, cleanUser)), userPIIContext) } var u types.User @@ -161,9 +161,9 @@ func usersMeCmd() *cobra.Command { } if isJSON() { if !isJSONClean() { - return printRawWithPII(data) + return printRawWithPII(data, userPIIContext) } - return printRawWithPII(mustMarshal(cleanRawObject(data, cleanUser))) + return printRawWithPII(mustMarshal(cleanRawObject(data, cleanUser)), userPIIContext) } var u types.User @@ -215,12 +215,12 @@ func newUsersStatusCmd() *cobra.Command { items, err := extractEmbeddedWithCandidates(data, "statuses", "userStatuses", "status") if err != nil { if isJSON() { - return printRawWithPII(data) + return printRawWithPII(data, userPIIContext) } return err } if isJSON() { - return printRawWithPII(mustMarshal(items)) + return printRawWithPII(mustMarshal(items), userPIIContext) } rows := make([]map[string]string, len(items)) @@ -247,7 +247,7 @@ func newUsersStatusCmd() *cobra.Command { return err } if isJSON() { - return printRawWithPII(data) + return printRawWithPII(data, userPIIContext) } return output.Print("table", []string{"user_id", "status"}, []map[string]string{{ "user_id": args[0], diff --git a/internal/cmd/inbox_webhooks.go b/internal/cmd/inbox_webhooks.go index f1880df..3b68622 100644 --- a/internal/cmd/inbox_webhooks.go +++ b/internal/cmd/inbox_webhooks.go @@ -74,9 +74,9 @@ func webhooksListCmd() *cobra.Command { return err } if !isJSONClean() { - return output.PrintRaw(mustMarshal(items)) + return printRawWithPII(mustMarshal(items)) } - return output.PrintRaw(mustMarshal(cleanRawItems(items, cleanMinimal))) + return printRawWithPII(mustMarshal(cleanRawItems(items, cleanMinimal))) } items, pageInfo, err := api.PaginateAll(ctx, apiClient.ListWebhooks, params, "webhooks", noPaginate) @@ -132,9 +132,9 @@ func webhooksGetCmd() *cobra.Command { if isJSON() { if !isJSONClean() { - return output.PrintRaw(data) + return printRawWithPII(data) } - return output.PrintRaw(mustMarshal(cleanRawObject(data, cleanMinimal))) + return printRawWithPII(mustMarshal(cleanRawObject(data, cleanMinimal))) } var w types.Webhook diff --git a/internal/cmd/inbox_workflows.go b/internal/cmd/inbox_workflows.go index df9fb1b..ba86752 100644 --- a/internal/cmd/inbox_workflows.go +++ b/internal/cmd/inbox_workflows.go @@ -64,9 +64,9 @@ func workflowsListCmd() *cobra.Command { return err } if !isJSONClean() { - return output.PrintRaw(mustMarshal(items)) + return printRawWithPII(mustMarshal(items)) } - return output.PrintRaw(mustMarshal(cleanRawItems(items, cleanMinimal))) + return printRawWithPII(mustMarshal(cleanRawItems(items, cleanMinimal))) } items, pageInfo, err := api.PaginateAll(ctx, apiClient.ListWorkflows, params, "workflows", noPaginate) diff --git a/internal/pii/identity_test.go b/internal/pii/identity_test.go index 1fede99..330bdb5 100644 --- a/internal/pii/identity_test.go +++ b/internal/pii/identity_test.go @@ -30,6 +30,22 @@ func TestRedactPersonDeterministic(t *testing.T) { } } +func TestRedactPerson_DisplayIdentityCompatibility(t *testing.T) { + // Pin the public display identity contract: canonical email remains the + // identity key and a stable secret produces the same pseudonym across runs. + e := NewEngine(ModeAll, "stable-secret") + first, last, email := e.RedactPerson("Alice", "Smith", "ALICE@example.com ") + if first != "Jordan" || last != "Mitchell" || email != "jordan.mitchell-19f9@anon.local" { + t.Fatalf("display identity changed: got %q %q <%s>", first, last, email) + } + + e2 := NewEngine(ModeAll, "stable-secret") + first2, last2, email2 := e2.RedactPerson("Different", "Name", "alice@example.com") + if first2 != first || last2 != last || email2 != email { + t.Fatalf("canonical email should retain the same display identity across engines") + } +} + func TestRedactText_WithoutNER_ReturnsNotice(t *testing.T) { e := NewEngine(ModeAll, "") out := e.RedactText("Hello from Alice Smith", nil) diff --git a/internal/pii/json.go b/internal/pii/json.go index e172945..e4e3edb 100644 --- a/internal/pii/json.go +++ b/internal/pii/json.go @@ -5,7 +5,40 @@ import ( "strings" ) +// ResourceKind describes the API resource being presented. It lets the JSON +// walker make narrow, path-aware decisions without coupling the PII package to +// command or Help Scout response types. +type ResourceKind string + +const ( + ResourceGeneric ResourceKind = "generic" + ResourceCustomer ResourceKind = "customer" + ResourceUser ResourceKind = "user" + ResourceConversation ResourceKind = "conversation" + ResourceRating ResourceKind = "rating" + ResourceReport ResourceKind = "report" + ResourceAttachment ResourceKind = "attachment" + ResourceDiagnostic ResourceKind = "diagnostic" +) + +// JSONContext supplies facts known by the caller but not always encoded in a +// payload. RootEntity is normally "customer" or "user". +type JSONContext struct { + RootEntity string + Resource ResourceKind +} + +// RedactedOpaqueData is emitted in place of attachment or diagnostic payloads +// whose contents cannot safely be inspected as text. +const RedactedOpaqueData = "[redacted opaque data]" + func (e *Engine) RedactJSON(data json.RawMessage) (json.RawMessage, error) { + return e.RedactJSONWithContext(data, JSONContext{}) +} + +// RedactJSONWithContext redacts a JSON payload using explicit resource and +// entity context supplied by the presentation boundary. +func (e *Engine) RedactJSONWithContext(data json.RawMessage, ctx JSONContext) (json.RawMessage, error) { if !e.Enabled() || len(data) == 0 { return data, nil } @@ -15,7 +48,7 @@ func (e *Engine) RedactJSON(data json.RawMessage) (json.RawMessage, error) { return nil, err } - redacted := e.walkAny(v, "", nil, "") + redacted := e.walkAny(v, "", nil, nil, normalizeEntityType(ctx.RootEntity), ctx) out, err := json.Marshal(redacted) if err != nil { return nil, err @@ -23,24 +56,24 @@ func (e *Engine) RedactJSON(data json.RawMessage) (json.RawMessage, error) { return out, nil } -func (e *Engine) walkAny(v any, parentKey string, known []KnownIdentity, hintType string) any { +func (e *Engine) walkAny(v any, parentKey string, path []string, known []KnownIdentity, hintType string, ctx JSONContext) any { switch x := v.(type) { case map[string]any: - return e.walkMap(x, parentKey, known, hintType) + return e.walkMap(x, parentKey, path, known, hintType, ctx) case []any: - return e.walkSlice(x, parentKey, known, hintType) + return e.walkSlice(x, parentKey, path, known, hintType, ctx) case string: - return e.redactStringByKey(parentKey, x, known, hintType) + return e.redactStringByPath(path, parentKey, x, known, hintType, ctx) default: return v } } -func (e *Engine) walkMap(m map[string]any, parentKey string, inherited []KnownIdentity, hintType string) map[string]any { +func (e *Engine) walkMap(m map[string]any, parentKey string, path []string, inherited []KnownIdentity, hintType string, ctx JSONContext) map[string]any { + // Classification happens before identity extraction. Identity fields must + // never be responsible for deciding whether policy applies to the object. entityType := inferEntityType(m, parentKey, hintType) - known := make([]KnownIdentity, len(inherited)) - copy(known, inherited) - + known := append([]KnownIdentity(nil), inherited...) if id, ok := knownIdentityFromMap(m, entityType); ok { known = append(known, id) } @@ -48,39 +81,53 @@ func (e *Engine) walkMap(m map[string]any, parentKey string, inherited []KnownId e.redactStructuredMap(m, entityType) for k, v := range m { + childPath := appendPath(path, k) childHint := inferEntityType(nil, k, entityType) - m[k] = e.walkAny(v, k, known, childHint) + m[k] = e.walkAny(v, k, childPath, known, childHint, ctx) } return m } -func (e *Engine) walkSlice(items []any, parentKey string, known []KnownIdentity, hintType string) []any { +func (e *Engine) walkSlice(items []any, parentKey string, path []string, known []KnownIdentity, hintType string, ctx JSONContext) []any { for i, v := range items { switch x := v.(type) { case string: - items[i] = e.redactSliceString(parentKey, x, known, hintType) + items[i] = e.redactSliceString(parentKey, path, x, known, hintType, ctx) default: - items[i] = e.walkAny(v, parentKey, known, hintType) + items[i] = e.walkAny(v, parentKey, path, known, hintType, ctx) } } return items } -func (e *Engine) redactSliceString(parentKey, v string, known []KnownIdentity, hintType string) string { - switch strings.ToLower(strings.TrimSpace(parentKey)) { - case "to", "cc", "bcc": - return e.RedactEmail(v) - case "emails": - return e.RedactEmail(v) +func (e *Engine) redactSliceString(parentKey string, path []string, value string, known []KnownIdentity, hintType string, ctx JSONContext) string { + switch normalizedKey(parentKey) { + case "to", "cc", "bcc", "emails": + return e.RedactEmail(value) case "phones": - return e.RedactPhone(v) + return e.RedactPhone(value) default: - return e.redactStringByKey(parentKey, v, known, hintType) + return e.redactStringByPath(path, parentKey, value, known, hintType, ctx) } } -func (e *Engine) redactStringByKey(key, value string, known []KnownIdentity, hintType string) string { +func (e *Engine) redactStringByPath(path []string, key, value string, known []KnownIdentity, hintType string, ctx JSONContext) string { _ = hintType + key = normalizedKey(key) + + if key == "data" && (ctx.Resource == ResourceAttachment || ctx.Resource == ResourceDiagnostic || pathContains(path, "attachments")) { + return RedactedOpaqueData + } + if key == "value" { + switch { + case pathContains(path, "emails"): + return e.RedactEmail(value) + case pathContains(path, "phones"): + return e.RedactPhone(value) + case pathContains(path, "customfields") || pathContains(path, "custom_fields") || pathContains(path, "fields"): + return e.RedactText(value, known) + } + } if shouldRedactTextField(key) { return e.RedactText(value, known) } @@ -88,29 +135,43 @@ func (e *Engine) redactStringByKey(key, value string, known []KnownIdentity, hin } func shouldRedactTextField(key string) bool { - switch strings.ToLower(strings.TrimSpace(key)) { - case "subject", "preview", "body", "text", "raw", "source", "content", "message", "snippet", "html", "customer", "assignee", "from", "assignedto", "created_by", "action": + switch normalizedKey(key) { + case "subject", "preview", "body", "text", "raw", "source", "content", "message", "snippet", "html", "customer", "assignee", "from", "assignedto", "created_by", "action", "comments", "comment", "filename", "background", "location": return true default: return false } } +// inferEntityType accepts only policy-relevant values from a payload's type +// field. Values such as "work" on email/phone records must not erase an +// inherited customer context. func inferEntityType(m map[string]any, key string, parentHint string) string { if m != nil { - if t, ok := m["type"].(string); ok && strings.TrimSpace(t) != "" { - return strings.ToLower(strings.TrimSpace(t)) + if t, ok := m["type"].(string); ok { + if normalized := normalizeEntityType(t); normalized != "" { + return normalized + } } } - k := strings.ToLower(strings.TrimSpace(key)) + k := normalizedKey(key) switch { case strings.Contains(k, "customer"): return "customer" case strings.Contains(k, "assignee"), strings.Contains(k, "assigned"), strings.Contains(k, "user"), strings.Contains(k, "owner"), strings.Contains(k, "member"): return "user" } - return strings.ToLower(strings.TrimSpace(parentHint)) + if parent := normalizeEntityType(parentHint); parent != "" { + return parent + } + + // Help Scout's otherwise-unclassified firstName/lastName shape defaults to + // customer. Explicit keys and caller context above always take precedence. + if m != nil && hasAnyKey(m, "firstName", "lastName", "phone") { + return "customer" + } + return "" } func knownIdentityFromMap(m map[string]any, entityType string) (KnownIdentity, bool) { @@ -118,53 +179,43 @@ func knownIdentityFromMap(m map[string]any, entityType string) (KnownIdentity, b return KnownIdentity{}, false } - first, _ := m["first"].(string) - last, _ := m["last"].(string) - email, _ := m["email"].(string) - if first != "" || last != "" || email != "" { + if hasAnyKey(m, "first", "last") { + first, _ := m["first"].(string) + last, _ := m["last"].(string) return KnownIdentity{ Type: entityType, First: first, Last: last, - Email: email, + Email: getMapString(m, "email"), + Phone: getMapString(m, "phone"), }, true } - firstName, _ := m["firstName"].(string) - lastName, _ := m["lastName"].(string) - if firstName != "" || lastName != "" || email != "" { + if hasAnyKey(m, "firstName", "lastName", "phone") { return KnownIdentity{ Type: defaultIfEmpty(entityType, "customer"), - First: firstName, - Last: lastName, - Email: email, + First: getMapString(m, "firstName"), + Last: getMapString(m, "lastName"), + Email: getMapString(m, "email"), Phone: getMapString(m, "phone"), }, true } - if phone := getMapString(m, "phone"); phone != "" { - return KnownIdentity{ - Type: entityType, - Phone: phone, - }, true + if email := getMapString(m, "email"); email != "" { + return KnownIdentity{Type: entityType, Email: email}, true } - return KnownIdentity{}, false } func (e *Engine) redactStructuredMap(m map[string]any, entityType string) { - if !e.ShouldRedactType(entityType) { - return - } - if isSentinelPersonMap(m) { + if !e.ShouldRedactType(entityType) || isSentinelPersonMap(m) { return } - // Person shape: {first,last,email} - if _, ok := m["first"]; ok || m["last"] != nil { - first, _ := m["first"].(string) - last, _ := m["last"].(string) - email, _ := m["email"].(string) + if hasAnyKey(m, "first", "last") { + first := getMapString(m, "first") + last := getMapString(m, "last") + email := getMapString(m, "email") rf, rl, re := e.RedactPerson(first, last, email) if first != "" || last != "" { m["first"] = rf @@ -173,13 +224,15 @@ func (e *Engine) redactStructuredMap(m map[string]any, entityType string) { if email != "" { m["email"] = re } + if phone := getMapString(m, "phone"); phone != "" { + m["phone"] = e.RedactPhone(phone) + } } - // Customer/user shape: {firstName,lastName,email,phone} - if _, ok := m["firstName"]; ok || m["lastName"] != nil || m["email"] != nil || m["phone"] != nil { - first, _ := m["firstName"].(string) - last, _ := m["lastName"].(string) - email, _ := m["email"].(string) + if hasAnyKey(m, "firstName", "lastName", "email", "phone") { + first := getMapString(m, "firstName") + last := getMapString(m, "lastName") + email := getMapString(m, "email") rf, rl, re := e.RedactPerson(first, last, email) if first != "" || last != "" { m["firstName"] = rf @@ -188,38 +241,10 @@ func (e *Engine) redactStructuredMap(m map[string]any, entityType string) { if email != "" { m["email"] = re } - if phone, ok := m["phone"].(string); ok && phone != "" { + if phone := getMapString(m, "phone"); phone != "" { m["phone"] = e.RedactPhone(phone) } } - - // Embedded emails/phones arrays. - if v, ok := m["emails"].([]any); ok { - for i, raw := range v { - em, ok := raw.(map[string]any) - if !ok { - continue - } - if val, ok := em["value"].(string); ok && val != "" { - em["value"] = e.RedactEmail(val) - } - v[i] = em - } - m["emails"] = v - } - if v, ok := m["phones"].([]any); ok { - for i, raw := range v { - pm, ok := raw.(map[string]any) - if !ok { - continue - } - if val, ok := pm["value"].(string); ok && val != "" { - pm["value"] = e.RedactPhone(val) - } - v[i] = pm - } - m["phones"] = v - } } func isSentinelPersonMap(m map[string]any) bool { @@ -237,6 +262,47 @@ func getMapString(m map[string]any, key string) string { return v } +func hasAnyKey(m map[string]any, keys ...string) bool { + for _, key := range keys { + if _, ok := m[key]; ok { + return true + } + } + return false +} + +func normalizeEntityType(value string) string { + switch normalizedKey(value) { + case "customer": + return "customer" + case "user": + return "user" + default: + return "" + } +} + +func normalizedKey(value string) string { + return strings.ToLower(strings.TrimSpace(value)) +} + +func appendPath(path []string, key string) []string { + next := make([]string, len(path)+1) + copy(next, path) + next[len(path)] = normalizedKey(key) + return next +} + +func pathContains(path []string, key string) bool { + key = normalizedKey(key) + for _, part := range path { + if normalizedKey(part) == key { + return true + } + } + return false +} + func defaultIfEmpty(v, fallback string) string { if strings.TrimSpace(v) == "" { return fallback diff --git a/internal/pii/json_test.go b/internal/pii/json_test.go index 3888670..da99e58 100644 --- a/internal/pii/json_test.go +++ b/internal/pii/json_test.go @@ -119,6 +119,53 @@ func TestRedactJSON_FirstNameLastNameVariant(t *testing.T) { } } +func TestRedactJSONWithContext_TopLevelEntityPolicy(t *testing.T) { + input := json.RawMessage(`{"firstName":"Alice","lastName":"Smith","email":"alice@test.com"}`) + + customerEngine := NewEngine(ModeCustomers, "", WithNER(noNER())) + customer, err := customerEngine.RedactJSONWithContext(input, JSONContext{RootEntity: "customer", Resource: ResourceCustomer}) + if err != nil { + t.Fatalf("customer context: %v", err) + } + if strings.Contains(string(customer), "alice@test.com") { + t.Fatalf("explicit customer root should be redacted: %s", customer) + } + + userEngine := NewEngine(ModeCustomers, "", WithNER(noNER())) + user, err := userEngine.RedactJSONWithContext(input, JSONContext{RootEntity: "user", Resource: ResourceUser}) + if err != nil { + t.Fatalf("user context: %v", err) + } + if !strings.Contains(string(user), "alice@test.com") { + t.Fatalf("explicit user root should be preserved in customers mode: %s", user) + } +} + +func TestRedactJSONWithContext_PathAwareSensitiveValues(t *testing.T) { + e := NewEngine(ModeAll, "", WithNER(noNER())) + input := json.RawMessage(`{ + "status": {"value": "active"}, + "customFields": [{"name": "contact", "value": "alice@test.com"}], + "attachments": [{"filename": "alice@test.com", "data": "c2VjcmV0"}] + }`) + out, err := e.RedactJSONWithContext(input, JSONContext{Resource: ResourceConversation}) + if err != nil { + t.Fatalf("error: %v", err) + } + s := string(out) + if !strings.Contains(s, `"value":"active"`) { + t.Fatalf("ordinary value fields must retain semantics: %s", s) + } + for _, sensitive := range []string{"alice@test.com", "c2VjcmV0"} { + if strings.Contains(s, sensitive) { + t.Fatalf("sensitive value %q was not redacted: %s", sensitive, s) + } + } + if !strings.Contains(s, RedactedOpaqueData) { + t.Fatalf("attachment data should be replaced with an opaque marker: %s", s) + } +} + func TestRedactJSON_SentinelPersonSkipped(t *testing.T) { e := NewEngine(ModeAll, "", WithNER(noNER())) // Sentinel: id=0 should be skipped @@ -343,6 +390,13 @@ func TestInferEntityType_FromMap(t *testing.T) { } } +func TestInferEntityType_ExplicitKeyPrecedesShapeDefault(t *testing.T) { + m := map[string]any{"firstName": "Ross", "lastName": "M"} + if got := inferEntityType(m, "assignee", ""); got != "user" { + t.Fatalf("expected assignee key to classify user-shaped map, got %q", got) + } +} + func TestInferEntityType_FromKey(t *testing.T) { tests := []struct { key string diff --git a/internal/pii/ner/ner.go b/internal/pii/ner/ner.go index daf9e78..ff05ee8 100644 --- a/internal/pii/ner/ner.go +++ b/internal/pii/ner/ner.go @@ -78,7 +78,9 @@ func (d *Detector) DetectNames(text string) ([]pii.NameSpan, error) { for _, c := range chunks { spans, err := d.runChunk(c.text) if err != nil { - continue // skip failed chunks, detect what we can + // Partial NER results are unsafe: callers cannot distinguish a clean + // chunk from one that was never inspected. + return nil, fmt.Errorf("detecting names at byte %d: %w", c.offset, err) } // Adjust offsets back to the original text. for i := range spans { diff --git a/internal/pii/text.go b/internal/pii/text.go index 5419e19..7ff849c 100644 --- a/internal/pii/text.go +++ b/internal/pii/text.go @@ -2,7 +2,10 @@ package pii import ( "regexp" + "sort" "strings" + "unicode" + "unicode/utf8" ) type textRule struct { @@ -33,7 +36,7 @@ var ( addressMainRe = regexp.MustCompile(`(?i)(\d+[-\s]?\w*|\d+-\d+-\d+)[\s,]+([A-Za-z\p{L}]+([\s'-][A-Za-z\p{L}]+)*[\s,]+)+(Street|St|Avenue|Ave|Road|Rd|Drive|Dr|Lane|Ln|Place|Pl|Boulevard|Blvd|Way|Plaza|Square|Sq|Court|Ct|Terrace|Ter|Circle|Cir|Alley|Row|Highway|Hwy|Parkway|Pkwy|Path|Trail|Tr|Crescent|Cres|Rue|Strasse|Straße|Calle|Via|Viale|Avenida|Carrer|Straat|Gasse|Weg|Camino|Ulica|Utca|Prospekt|Dori|Jalan|Marg|Dao|Jie|Lu|út|de la|del|di|van|von)\b`) zipRe = regexp.MustCompile(`\b\d{5}(?:[-\s]\d{4})?\b`) poBoxRe = regexp.MustCompile(`(?i)P\.? ?O\.? Box \d+`) - linkRe = regexp.MustCompile(`(?:(?:https?:\/\/)?(?:[a-z0-9.\-]+|www|[a-z0-9.\-])[.](?:[^\s()<>]+|\((?:[^\s()<>]+|(?:\([^\s()<>]+\)))*\))+(?:\((?:[^\s()<>]+|(?:\([^\s()<>]+\)))*\)|[^\s!()\[\]{};:'".,<>?]))`) + linkRe = regexp.MustCompile(`(?:(?:https?:\/\/)?(?:[a-z0-9.\-]+|www|[a-z0-9.\-])[.](?:[^\s()<>]+|\((?:[^\s()<>]+|(?:\([^\s()<>]+\)))*\))+(?:\((?:[^\s()<>]+|(?:\([^\s()<>]+\)))*\)|[^\s!()\[\]{};:'".,<>?]))`) ) var textRules = []textRule{ @@ -59,7 +62,8 @@ var textRules = []textRule{ // RedactTextNotice is shown for freeform text when NER is not installed. const RedactTextNotice = `[redacted — run "hs pii-model install" for content]` -// RedactText redacts free-form text using known identities followed by regex sweeps. +// RedactText redacts free-form text using NER byte spans, known identities, and +// regex sweeps. // When NER is available, names are detected via ML. Without NER, freeform text is // hidden entirely (structured field redaction still works). // @@ -76,46 +80,50 @@ func (e *Engine) RedactText(text string, known []KnownIdentity) string { return RedactTextNotice } - // Partition known identities: redact vs protect based on mode. + // Partition known identities: redact vs protect based on mode. Redactable + // known names are handled after NER so they retain their personKey-based + // deterministic display identity. var toRedact []KnownIdentity protected := map[string]bool{} + knownNames := map[string]bool{} for _, id := range known { if e.ShouldRedactType(id.Type) { toRedact = append(toRedact, id) + protectIdentityNames(knownNames, id) } else { protectIdentityNames(protected, id) } } - // 1. Detect names via NER on ORIGINAL text (natural language, best accuracy) - nerNames, _ := e.ner.DetectNames(text) - - // 2. Known identity replacement (only redactable types) - out, inserted := e.redactKnown(text, toRedact) + // Detect names on the original text, where model offsets and natural-language + // context are still valid. A detector failure hides the field rather than + // returning partially inspected content. + nerNames, err := e.ner.DetectNames(text) + if err != nil { + return RedactTextNotice + } - // 3. Replace NER-detected names not already handled and not protected + edits := make([]textEdit, 0, len(nerNames)) for _, span := range nerNames { - name := span.Text - if inserted[name] || protected[canonical(name)] { - continue - } - skip := false - for _, w := range strings.Fields(name) { - if inserted[w] || protected[canonical(w)] { - skip = true - break - } + start, end, ok := resolveNameSpan(text, span) + if !ok { + return RedactTextNotice } - if skip { + name := text[start:end] + if identityNameMatches(name, protected) || identityNameMatches(name, knownNames) { continue } fp := e.fakePersonForKey("name:" + canonical(name)) - fakeFull := fp.First + " " + fp.Last - out = replaceWordInsensitive(out, name, fakeFull) - inserted[fakeFull] = true + edits = append(edits, textEdit{ + start: start, + end: end, + replacement: fp.First + " " + fp.Last, + }) } + out := applyTextEdits(text, edits) + out, _ = e.redactKnown(out, toRedact) - // 4. Regex sweep — email, phone, SSN, address, etc. (no name regex) + // Regex sweep — email, phone, SSN, address, etc. (no name regex) ssnContext := ssnContextRe.MatchString(out) for _, rule := range textRules { out = applyRegexWithContext(out, rule.re, func(match string, start, end int, full string) string { @@ -135,6 +143,106 @@ func (e *Engine) RedactText(text string, known []KnownIdentity) string { return out } +type textEdit struct { + start int + end int + replacement string +} + +func resolveNameSpan(text string, span NameSpan) (int, int, bool) { + if validByteRange(text, span.Start, span.End) && (span.Text == "" || canonical(span.Text) == canonical(text[span.Start:span.End])) { + return span.Start, span.End, true + } + if strings.TrimSpace(span.Text) == "" { + return 0, 0, false + } + + // Tokenizers occasionally report an offset adjacent to the source span. + // Recover only an exact literal occurrence, choosing the one closest to the + // reported position; otherwise fail closed. + re := regexp.MustCompile(`(?i)` + regexp.QuoteMeta(span.Text)) + matches := re.FindAllStringIndex(text, -1) + if len(matches) == 0 { + return 0, 0, false + } + best := matches[0] + bestDistance := absoluteDistance(best[0], span.Start) + for _, match := range matches[1:] { + if distance := absoluteDistance(match[0], span.Start); distance < bestDistance { + best = match + bestDistance = distance + } + } + if !validByteRange(text, best[0], best[1]) { + return 0, 0, false + } + return best[0], best[1], true +} + +func validByteRange(text string, start, end int) bool { + if start < 0 || end <= start || end > len(text) { + return false + } + if start > 0 && !utf8.RuneStart(text[start]) { + return false + } + if end < len(text) && !utf8.RuneStart(text[end]) { + return false + } + return utf8.ValidString(text[start:end]) +} + +func absoluteDistance(a, b int) int { + if a < b { + return b - a + } + return a - b +} + +func identityNameMatches(name string, identities map[string]bool) bool { + if identities[canonical(name)] { + return true + } + for _, word := range strings.Fields(name) { + if identities[canonical(word)] { + return true + } + } + return false +} + +// applyTextEdits applies byte-offset edits from right to left. Overlapping +// model spans are coalesced so no uncovered suffix can leak. +func applyTextEdits(text string, edits []textEdit) string { + if len(edits) == 0 { + return text + } + sort.SliceStable(edits, func(i, j int) bool { + if edits[i].start == edits[j].start { + return edits[i].end > edits[j].end + } + return edits[i].start < edits[j].start + }) + + filtered := edits[:0] + for _, edit := range edits { + if len(filtered) > 0 && edit.start < filtered[len(filtered)-1].end { + if edit.end > filtered[len(filtered)-1].end { + filtered[len(filtered)-1].end = edit.end + } + continue + } + filtered = append(filtered, edit) + } + + out := text + for i := len(filtered) - 1; i >= 0; i-- { + edit := filtered[i] + out = out[:edit.start] + edit.replacement + out[edit.end:] + } + return out +} + // protectIdentityNames adds all name forms of an identity to the protected set // so NER won't replace them. Only names >= 3 chars are added individually to // avoid protecting common short words. @@ -214,7 +322,6 @@ func (e *Engine) redactKnown(text string, known []KnownIdentity) (string, map[st return out, inserted } - func applyRegexWithContext(text string, re *regexp.Regexp, fn func(match string, start, end int, full string) string) string { idxs := re.FindAllStringIndex(text, -1) if len(idxs) == 0 { @@ -251,6 +358,58 @@ func replaceWordInsensitive(text, literal, replacement string) string { if literal == "" { return text } - re := regexp.MustCompile(`(?i)\b` + regexp.QuoteMeta(literal) + `\b`) - return re.ReplaceAllString(text, replacement) + re := regexp.MustCompile(`(?i)` + regexp.QuoteMeta(literal)) + indices := re.FindAllStringIndex(text, -1) + if len(indices) == 0 { + return text + } + + requireBoundaries := !containsBoundarylessScript(literal) + var b strings.Builder + last := 0 + for _, idx := range indices { + start, end := idx[0], idx[1] + if requireBoundaries && (!hasLeftWordBoundary(text, start) || !hasRightWordBoundary(text, end)) { + continue + } + b.WriteString(text[last:start]) + b.WriteString(replacement) + last = end + } + if last == 0 { + return text + } + b.WriteString(text[last:]) + return b.String() +} + +func hasLeftWordBoundary(text string, index int) bool { + if index == 0 { + return true + } + r, _ := utf8.DecodeLastRuneInString(text[:index]) + return !isWordRune(r) +} + +func hasRightWordBoundary(text string, index int) bool { + if index == len(text) { + return true + } + r, _ := utf8.DecodeRuneInString(text[index:]) + return !isWordRune(r) +} + +func isWordRune(r rune) bool { + return r == '_' || unicode.IsLetter(r) || unicode.IsNumber(r) || unicode.IsMark(r) +} + +// These scripts commonly omit whitespace between words, so a literal NER or +// known-identity match must not depend on surrounding Unicode word boundaries. +func containsBoundarylessScript(value string) bool { + for _, r := range value { + if unicode.In(r, unicode.Han, unicode.Hiragana, unicode.Katakana, unicode.Hangul, unicode.Thai, unicode.Lao, unicode.Khmer, unicode.Myanmar) { + return true + } + } + return false } diff --git a/internal/pii/text_test.go b/internal/pii/text_test.go index 3cbadb6..5b5eb9d 100644 --- a/internal/pii/text_test.go +++ b/internal/pii/text_test.go @@ -1,6 +1,7 @@ package pii import ( + "errors" "strings" "testing" ) @@ -117,6 +118,18 @@ func TestRedactText_MultipleNERSpans(t *testing.T) { } } +func TestRedactText_OverlappingNERSpansCoverUnion(t *testing.T) { + d := nerWith( + NameSpan{Text: "Alice Smith", Start: 0, End: 11, Score: 0.95}, + NameSpan{Text: "Smith-Jones", Start: 6, End: 17, Score: 0.90}, + ) + e := NewEngine(ModeAll, "", WithNER(d)) + out := e.RedactText("Alice Smith-Jones replied", nil) + if strings.Contains(out, "Alice") || strings.Contains(out, "Smith") || strings.Contains(out, "Jones") { + t.Fatalf("overlapping NER spans should redact their full union: %q", out) + } +} + func TestPIIRegression_Critical04_NERNamesWithUnicodeBoundariesAreRedacted(t *testing.T) { tests := []struct { name string @@ -292,6 +305,19 @@ func TestRedactText_PlainTextNoNames(t *testing.T) { } } +type failingNameDetector struct{} + +func (failingNameDetector) DetectNames(string) ([]NameSpan, error) { + return nil, errors.New("inference failed") +} + +func TestRedactText_NERFailureFailsClosed(t *testing.T) { + e := NewEngine(ModeAll, "", WithNER(failingNameDetector{})) + if out := e.RedactText("Alice Smith needs help", nil); out != RedactTextNotice { + t.Fatalf("detector failure must hide the field, got %q", out) + } +} + func TestRedactText_NERDeterministicAcrossEngines(t *testing.T) { // Same secret, same NER spans → same output d1 := nerWith(NameSpan{Text: "John Doe", Start: 0, End: 8, Score: 0.95}) From e705c381dac7a7373758401ec8c57d2d6f82c807 Mon Sep 17 00:00:00 2001 From: Ross Morsali Date: Wed, 15 Jul 2026 18:46:34 +0200 Subject: [PATCH 04/34] docs: record PII redaction progress --- .agents/notes/pii-redaction-follow-ups.md | 179 +++++++++++++ .agents/notes/pii-redaction-progress.md | 311 ++++++++++++++++++++++ 2 files changed, 490 insertions(+) create mode 100644 .agents/notes/pii-redaction-follow-ups.md create mode 100644 .agents/notes/pii-redaction-progress.md diff --git a/.agents/notes/pii-redaction-follow-ups.md b/.agents/notes/pii-redaction-follow-ups.md new file mode 100644 index 0000000..f8c7992 --- /dev/null +++ b/.agents/notes/pii-redaction-follow-ups.md @@ -0,0 +1,179 @@ +# PII Redaction — Deferred Observations + +Last reviewed: 2026-07-15 + +This local register tracks PII and privacy observations outside the agreed +remediation of the four critical regressions: + +1. top-level customer classification; +2. the mandatory Inbox presentation boundary; +3. safe HTTP diagnostics; +4. Unicode-safe name replacement. + +Items needed to implement those four safely—fail-closed presentation, +custom-field handling, opaque attachment suppression, NER error handling, and +invocation-scoped detector cleanup—remain active scope and are not duplicated +below. + +## Tracking summary + +| ID | Priority | Observation | Suggested follow-up | +| --- | --- | --- | --- | +| PII-F01 | High | One person can receive different pseudonyms when response shapes expose different identifiers. | Design and version a stable identity-key strategy. | +| PII-F02 | High | An empty HS_INBOX_PII_SECRET uses unkeyed SHA-256. | Generate/store or require a private local secret. | +| PII-F03 | High | Invalid PII modes silently normalize to off. | Reject invalid configuration at startup. | +| PII-F04 | High | Windows can install a model bundle but cannot run the bundled NER runtime. | Implement Windows runtime support or block installation clearly. | +| PII-F05 | High | Download hashes are generated after download and are not trust anchors. | Publish and verify a signed or pinned manifest. | +| PII-F06 | Medium | Model installation is not atomic and lacks explicit size/time limits. | Stage, validate, and atomically promote bundles. | +| PII-F07 | Medium | MCP and CLI arguments can expose PII through argv, shell history, and echoed errors. | Move sensitive inputs off argv and reduce MCP subprocess coupling. | +| PII-F08 | Medium | Fake display names come from small lists and can collide visually. | Add deterministic display disambiguation. | +| PII-F09 | Medium | Identity canonicalization does not normalize Unicode composition. | Define a versioned Unicode normalization policy. | +| PII-F10 | Medium | Secret rotation changes every displayed identity with no migration/version marker. | Add key versioning and a rotation policy. | +| PII-F11 | Medium | There is no measurable multilingual detection-quality corpus. | Build a privacy-focused evaluation suite. | + +## PII-F01 — Identity keys vary across payload shapes + +Current identity precedence is: + +1. canonical email; +2. canonical full name; +3. phone-only fallback in free-text handling. + +The same Help Scout customer can therefore receive different display +pseudonyms when one response includes an email and another includes only a name +or phone. The four critical fixes must preserve the current deterministic +contract and must not silently change this precedence. + +A future design could use the stable Help Scout customer ID as the primary key, +with email/name aliases linked to it. That requires an explicit key-schema +version and compatibility plan because existing pseudonyms would otherwise +change. + +Questions to resolve: + +- Should IDs be scoped by Help Scout account/mailbox? +- Should aliases persist locally, or be derived statelessly? +- How should records without an ID reconcile with records that later include + one? +- Is backwards-compatible display required after an upgrade? + +## PII-F02 — Empty secrets are deterministic but not private + +When HS_INBOX_PII_SECRET is empty, identity and token derivation uses plain +SHA-256. That provides stable output but permits cross-installation correlation +and offline guessing of low-entropy names, phone numbers, and common emails. + +Options: + +- generate a random installation secret and store it in the OS keyring; +- require an explicitly configured secret whenever PII mode is enabled; +- support an organization-managed secret for intentional cross-machine + consistency. + +Coordinate this with PII-F10 so rotation and key versioning are defined before +changing defaults. + +## PII-F03 — Invalid mode values fail open + +NormalizeMode maps unknown values to off. A typo such as customer instead of +customers therefore disables redaction without an error. + +Parse configuration into a strong mode type and reject unknown values before +creating clients or running commands. Validate configuration before persisting +it. Cover config files, environment variables, case/whitespace, and MCP child +processes. + +## PII-F04 — Windows model/runtime mismatch + +Model cache paths and bundle selection support Windows and onnxruntime.dll, but +the runtime implementation is compiled only for Darwin, Linux, FreeBSD, and +NetBSD. Windows receives the unsupported runtime stub. + +The model installer can therefore succeed and report the model ready while +NewDetector can never run. Either implement and test Windows inference, or block +installation and clearly document the fail-closed behavior. + +## PII-F05 — Model provenance is not independently verified + +The installer downloads a GitHub release tarball and calculates SHA-256 while +extracting. The resulting .sha256 files only describe the bytes just received; +they are not compared with an independently trusted digest or signature. + +Follow-up: + +- ship a pinned manifest with expected names, sizes, and SHA-256 values; +- sign the manifest or release and verify it before extraction; +- reject unexpected and duplicate archive members; +- verify every file before marking the model ready; +- retain the existing path-traversal tests. + +## PII-F06 — Model installation hardening + +Extraction writes directly into the live cache. Interrupted or corrupt +downloads can leave partial files, and networking uses the default HTTP client +without an explicit timeout or total download limit. + +Install into a private temporary directory, enforce compressed/extracted size +limits, validate all files, then atomically rename the completed directory into +place. Clean stale staging directories on the next attempt. + +## PII-F07 — Sensitive values in argv and MCP subprocesses + +CLI flags can contain customer emails, search terms, message bodies, and custom +field values. Shell history and process listings can retain those values. + +The MCP runner also converts tool arguments into child-process argv and includes +the reconstructed command line in failures. A future application-service API +would let MCP invoke use cases directly instead of shelling out through the CLI. + +Shorter-term mitigations: + +- accept sensitive bodies through stdin or protected temporary files; +- mark sensitive tool arguments and omit them from reconstructed errors; +- never include raw argument values in diagnostic command lines. + +## PII-F08 — Visual pseudonym collisions + +Fake first and last names come from small fixed lists. Different identities can +display the same full name, especially in table views that omit the generated +email suffix. + +Consider a short deterministic display suffix or another collision-resolution +strategy that remains readable and reveals no source identifier. + +## PII-F09 — Unicode normalization of identity keys + +Canonicalization lowercases and trims but does not normalize Unicode. Visually +identical NFC and NFD names can therefore hash to different identities. Broader +case-folding and whitespace semantics also need definition. + +Any normalization change affects deterministic output and should use a +versioned key schema with compatibility fixtures. + +## PII-F10 — Secret rotation and pseudonym versioning + +Changing HS_INBOX_PII_SECRET intentionally changes every token and identity, but +output has no key-version marker and there is no rotation workflow. + +Define: + +- a key identifier/version; +- whether old keys remain available for historical correlation; +- how operators intentionally reset all pseudonyms; +- how future cached aliases are migrated or discarded. + +## PII-F11 — Detection quality and observability + +There is no maintained multilingual privacy corpus measuring false negatives +and false positives across names, addresses, identifiers, HTML, custom fields, +and long chunked content. + +Build a synthetic, non-production corpus tracking: + +- recall for privacy-sensitive entities; +- over-redaction of operational fields and staff identities; +- per-language/script behavior; +- behavior with and without the NER model; +- performance and memory limits for large conversations and attachments. + +Never log raw production samples to build this corpus. diff --git a/.agents/notes/pii-redaction-progress.md b/.agents/notes/pii-redaction-progress.md new file mode 100644 index 0000000..d37b78c --- /dev/null +++ b/.agents/notes/pii-redaction-progress.md @@ -0,0 +1,311 @@ +# PII Redaction — Progress Report + +Last updated: 2026-07-15 + +## Executive status + +- Original review findings: **14** +- Critical findings: **4 of 4 complete** +- Remaining original findings: **10 open** +- Additional observations raised during remediation: **2 open** +- Regression-test commit: `7eb27a9 test: reproduce critical PII redaction leaks` +- Fix commit: `5a7ea63 fix: enforce PII redaction boundaries` +- Latest verification: `go test ./... -count=1` passes across the repository. + +This document preserves the original 1–14 review numbering. The more detailed +deferred register remains in `pii-redaction-follow-ups.md`. `PII-F01` was found +during the remediation design discussion and was not part of the original +numbered list, so it is tracked separately below rather than changing the +historical numbering. + +## What was already good + +The original review found real architectural strengths worth preserving: + +1. **The privacy objective is sound.** The feature is designed to keep support + output useful while removing identifying data, rather than making the output + unusable through blanket deletion. +2. **The code already had useful separation of concerns.** Policy, identity + generation, structured JSON traversal, free-text detection, model runtime, + and command presentation were separate enough to improve without replacing + the whole feature. +3. **Display identities are deterministic and stateless.** Fake names and + emails are derived rather than stored in a reversible lookup table. This is + valuable for following the same person across outputs without persisting a + real-to-fake mapping. +4. **A private secret is supported.** When `HS_INBOX_PII_SECRET` is set, HMAC is + used so pseudonyms can be stable within an environment without being + globally predictable. +5. **The policy model is understandable.** `off`, `customers`, and `all` express + useful operator intent, and the guarded `--unredacted` override is explicit + rather than an accidental bypass. +6. **Customer and staff identities are conceptually distinct.** The + customers-only mode is intended to preserve internal team context while + anonymizing customers. +7. **Detection is layered.** Structured identity fields, known identities, + multilingual NER, and regex detection cover different PII shapes rather than + relying on one mechanism. +8. **The no-model fallback is privacy-oriented.** When NER is unavailable, + free-form content is hidden instead of being emitted without name + inspection. +9. **NER runs locally.** Conversation content is not sent to a third-party + inference service as part of redaction. +10. **There was already meaningful test coverage.** Identity determinism, + customer/user policy, structured fields, regex PII types, NER behavior, + archive traversal, and command behavior all had tests to build on. + +The critical remediation deliberately retained these properties. In +particular, `personKey` precedence and fake-person derivation were not changed. + +## Original findings 1–14 + +| # | Severity | Finding | Status | Tracking | +| --- | --- | --- | --- | --- | +| 1 | Critical | Top-level customer JSON can bypass customers-mode redaction because the object has no usable entity classification. | [x] Complete | Critical regression 01 | +| 2 | Critical | The presentation boundary is opt-in, so commands and fields that call output directly can leak PII. | [x] Complete | Critical regression 02 | +| 3 | Critical | HTTP debug logging persists raw URLs, headers, request bodies, and response bodies before output redaction. | [x] Complete | Critical regression 03 | +| 4 | Critical | ASCII `\b` name replacement misses Unicode-script NER names and partial NER failures are not fail-closed. | [x] Complete | Critical regression 04 | +| 5 | High | An empty `HS_INBOX_PII_SECRET` falls back to unkeyed SHA-256. | [ ] Open | `PII-F02` | +| 6 | High | Invalid PII mode values silently normalize to `off`. | [ ] Open | `PII-F03` | +| 7 | High | Windows can install a model bundle that the bundled runtime cannot execute. | [ ] Open | `PII-F04` | +| 8 | High | Downloaded model hashes are generated after download and are not independent trust anchors. | [ ] Open | `PII-F05` | +| 9 | Medium | Model installation is non-atomic and lacks explicit download size, extraction size, and timeout limits. | [ ] Open | `PII-F06` | +| 10 | Medium | CLI and MCP arguments can expose PII through argv, shell history, process inspection, and echoed command errors. | [ ] Open | `PII-F07` | +| 11 | Medium | The small fake-name lists permit visually identical pseudonyms for different people. | [ ] Open | `PII-F08` | +| 12 | Medium | Identity canonicalization does not normalize Unicode composition or define broader Unicode case/space semantics. | [ ] Open | `PII-F09` | +| 13 | Medium | Secret rotation changes every identity without a key version or migration policy. | [ ] Open | `PII-F10` | +| 14 | Medium | There is no maintained multilingual privacy corpus measuring false negatives and false positives. | [ ] Open | `PII-F11` | + +## Completed critical work + +### 1. Top-level customer classification — complete + +Original problem: + +- The JSON walker inferred an empty entity type for a top-level customer. +- Identity extraction could default a `firstName`/`lastName` identity to + customer, but policy had already been evaluated using the empty entity type. +- In `customers` mode, customer list/get JSON could therefore retain the real + name, email, and phone. + +Implemented: + +- Added explicit `JSONContext` with root-entity and resource context. +- Customer, user, conversation, rating, report, and attachment presentation + paths now supply the facts known by the command layer. +- Entity classification happens before identity extraction. +- Explicit payload type, semantic key, and caller context take precedence over + shape defaults, so user objects are not accidentally treated as customers. +- The existing email-first `personKey` and deterministic fake-person algorithm + remain unchanged. + +Evidence: + +- `TestPIIRegression_Critical01_CustomersModeRedactsTopLevelCustomerJSON` + covers customer list/get in both `json` and `json-full` formats. +- `TestRedactJSONWithContext_TopLevelEntityPolicy` proves customer roots are + redacted while user roots remain visible in `customers` mode. +- `TestRedactPerson_DisplayIdentityCompatibility` pins the existing + deterministic display-identity contract across engine instances. + +### 2. Mandatory Inbox presentation boundary — complete + +Original problem: + +- PII protection depended on each command remembering to call a redaction + helper. +- Ratings, reports, attachments, conversation custom-field values, and other + direct `output.PrintRaw` paths could bypass it. +- Redaction failure fell back to the original raw payload. + +Implemented: + +- Every Inbox raw JSON write now routes through `printRawWithPII`. +- The presenter is fail-closed when PII mode is enabled: invalid or + uninspectable JSON returns an error and emits no original payload. +- JSON traversal is path-aware rather than globally treating every `value` + field as PII. +- Email and phone collection values are redacted according to their container. +- Custom-field values are inspected as free text. +- Rating comments, report table summaries, and attachment filenames are + protected in non-JSON views as well as raw JSON views. +- Attachment `data` is replaced with an opaque marker while redaction is + enabled; obtaining the original still requires an explicitly allowed + `--unredacted` request. +- MCP output continues through the same CLI presentation boundary. + +Evidence: + +- `TestPIIRegression_Critical02_PIIBearingCommandsCannotBypassRedaction` + covers ratings, reports, attachment metadata, and custom fields with fixtures + rather than Help Scout API calls. Relevant commands are exercised in table + and JSON formats. +- `TestPIIOutputBoundary_FailsClosedForInvalidJSON` proves raw fallback is gone. +- `TestPIIOutputBoundary_AllInboxJSONUsesPresenter` prevents new Inbox handlers + from calling `output.PrintRaw` directly. +- `TestRedactJSONWithContext_PathAwareSensitiveValues` proves custom values and + attachment data are protected without destroying unrelated `value` fields. + +### 3. Safe HTTP diagnostics — complete + +Original problem: + +- Debug logging ran at the transport layer before presentation redaction. +- Query values, sensitive headers, request bodies, response bodies, and even + transport errors could persist customer PII or credentials. +- Normal `--unredacted` policy could not safely govern a persistent diagnostic + file. + +Implemented: + +- Added a diagnostic sanitizer independent of user-facing PII mode and + `--unredacted`. +- Query values, URL user information, fragments, numeric identifiers, and + email/phone-like path segments are removed or replaced. +- Header values use a narrow diagnostic allowlist; credentials, cookies, API + keys, and unknown headers are replaced. +- JSON bodies use strongest-mode structured redaction with fail-closed + free-text handling. +- Non-JSON and unreadable bodies receive safe placeholders. +- Error text is not persisted because transport errors can embed the original + URL. +- Sanitization operates on copies; the original request and response bodies + remain available to the HTTP caller. +- Debug files are created/truncated with private `0600` permissions, including + correction of permissions on an existing file. +- OAuth token requests remain excluded from logging entirely. + +Evidence: + +- `TestPIIRegression_Critical03_DebugTransportDoesNotPersistPII` proves URL, + request-body, response-body, email, and phone values are absent while the + response body returned to the caller is unchanged. +- Debug transport tests cover credential headers, body preservation, auth + request exclusion, safe ordinary JSON, and transport errors. + +### 4. Unicode-safe NER replacement — complete + +Original problem: + +- Go regexp `\b` uses ASCII word-boundary behavior. +- Arabic, Chinese, accented Latin, and other Unicode names returned by NER + could remain unchanged. +- The detector's byte offsets were ignored, and per-chunk inference failures + were silently skipped. + +Implemented: + +- NER replacements now use validated byte spans from the original text. +- Edits are applied right-to-left so earlier offsets remain valid. +- Overlapping spans are coalesced so an uncovered suffix cannot leak. +- Exact-literal recovery handles a tokenizer offset immediately adjacent to the + reported source span; irrecoverable spans hide the whole field. +- Known customer identities are still replaced through the existing + `personKey` path so their deterministic display identity is preserved. +- Literal known-name replacement now uses rune-aware Unicode boundaries, with + boundaryless handling for scripts that commonly omit whitespace. +- Detector and chunk failures propagate and cause fail-closed free-text output. + +Evidence: + +- `TestPIIRegression_Critical04_NERNamesWithUnicodeBoundariesAreRedacted` + covers Arabic, Chinese, and accented Latin names. +- Additional tests cover overlapping spans, known/NER overlap, protected staff + names in customers-only mode, deterministic output, and detector failure. + +## Open original findings + +### 5. Empty secrets use unkeyed hashing — open + +Without `HS_INBOX_PII_SECRET`, tokens are stable but globally correlatable and +low-entropy values can be guessed offline. Decide whether to generate a private +installation secret, require one whenever redaction is enabled, or support an +organization-managed secret. Coordinate this with issue 13 before changing the +identity contract. + +### 6. Invalid modes fail open — open + +Unknown values currently normalize to `off`, so a typo can silently disable +redaction. Parse into a strong mode type and reject invalid config/environment +values before API clients or MCP child processes run. + +### 7. Windows installer/runtime mismatch — open + +Windows cache and bundle handling recognize `onnxruntime.dll`, but the runtime +implementation still resolves to the unsupported stub. Either implement and +test Windows inference or refuse installation with a clear explanation of the +fail-closed behavior. + +### 8. Model provenance is not independently verified — open + +Checksums produced from the bytes just downloaded do not prove provenance. +Ship and verify a pinned or signed manifest containing expected filenames, +sizes, and hashes before marking a model bundle ready. + +### 9. Model installation is not transactional or bounded — open + +Install into a private staging directory, enforce network and extraction +limits, validate the complete bundle, and atomically promote it. Clean up stale +staging directories after interrupted attempts. + +### 10. Sensitive arguments cross process boundaries — open + +Emails, search terms, message bodies, and custom-field values can enter argv. +The MCP runner also reconstructs command lines in errors. Prefer stdin or +protected files for sensitive input, redact reconstructed errors, and +eventually let MCP call application services without a CLI subprocess. + +### 11. Visual pseudonym collisions — open + +Different identities can receive the same fake first/last name because table +views may omit the generated email suffix. Add a readable deterministic +disambiguator without exposing a source identifier. + +### 12. Unicode identity canonicalization is incomplete — open + +NFC and NFD spellings can derive different person keys despite appearing +identical. Define normalization, case-folding, and whitespace rules as a +versioned identity-key schema before changing current output. + +### 13. Secret rotation is unversioned — open + +Changing the secret intentionally changes every display identity, but output +has no key identifier and there is no migration or historical-correlation +policy. Design rotation together with issues 5 and 12. + +### 14. No multilingual quality corpus — open + +Build a synthetic, non-production evaluation corpus measuring privacy recall, +false positives, customer/staff separation, long-content behavior, and +performance across supported languages and scripts. Never use raw production +content to construct it. + +## Additional observations raised during remediation + +### A1 / PII-F01. Identity keys vary across payload shapes — open + +The current contract intentionally remains email first, full name second, and +phone-only fallback in free text. The same real person can therefore receive a +different pseudonym when one payload contains email and another contains only +name or phone. A future ID/alias strategy needs account scoping, key-schema +versioning, and an explicit backwards-compatibility decision. + +### A2. NER detector lifetime is process-scoped — open + +`ner.Detector` exposes `Close`, but the command helper returns only a +`pii.Engine` and does not provide an explicit invocation-scoped close path. The +current CLI and MCP subprocess model lets process exit reclaim the runtime, but +an in-process server or future application-service integration should give the +engine/detector explicit ownership and deterministic cleanup. + +## Suggested next sequence + +1. Fix issue 6 first because configuration typos currently disable protection. +2. Design issues 5, 12, 13, and A1 together as one versioned identity-key and + secret-management contract. +3. Resolve issue 7 before presenting model installation as supported on + Windows. +4. Harden model provenance and installation transactionality in issues 8–9. +5. Reduce argv/MCP exposure in issue 10 before expanding sensitive write tools. +6. Build issue 14's evaluation corpus before changing model or normalization + behavior, so privacy regressions become measurable. From 6848729e123afb6e5e6441546ac2d339b220b1d5 Mon Sep 17 00:00:00 2001 From: Ross Morsali Date: Wed, 15 Jul 2026 19:05:57 +0200 Subject: [PATCH 05/34] docs: add PII high-severity implementation handoff --- ...daction-high-issues-implementation-plan.md | 743 ++++++++++++++++++ .agents/notes/pii-redaction-progress.md | 5 + 2 files changed, 748 insertions(+) create mode 100644 .agents/notes/pii-redaction-high-issues-implementation-plan.md diff --git a/.agents/notes/pii-redaction-high-issues-implementation-plan.md b/.agents/notes/pii-redaction-high-issues-implementation-plan.md new file mode 100644 index 0000000..2f566ce --- /dev/null +++ b/.agents/notes/pii-redaction-high-issues-implementation-plan.md @@ -0,0 +1,743 @@ +# PII Redaction — High-Severity Implementation Handoff + +Last updated: 2026-07-15 + +Status: design agreed; implementation not started + +## Purpose + +This is the implementation handoff for the four remaining high-severity +findings in the original PII review: + +5. an empty `HS_INBOX_PII_SECRET` uses unkeyed SHA-256; +6. invalid PII modes silently normalize to `off`; +7. Windows can install a model bundle that its runtime cannot execute; +8. downloaded model hashes are not independent trust anchors. + +Issue 9, transactional and bounded model installation, is included with issue +8. Provenance verification is incomplete if untrusted bytes can overwrite the +live cache before verification succeeds. + +This document is intended to let another developer implement the work without +having to reconstruct the review. It records the desired behavior, clean +architecture boundaries, regression tests, sequencing, compatibility +requirements, and acceptance criteria. + +## Baseline + +The four critical findings were fixed in: + +- `7eb27a9 test: reproduce critical PII redaction leaks` +- `5a7ea63 fix: enforce PII redaction boundaries` + +The detailed review and status register are in: + +- `pii-redaction-progress.md` +- `pii-redaction-follow-ups.md` + +At this baseline, `go test ./... -count=1` passes. Preserve the critical +regressions while doing this work. + +## Scope and delivery order + +| Order | Original issue | Delivery outcome | +| --- | --- | --- | +| 1 | #6: invalid mode | Parse once into a strong mode type and fail before Inbox/MCP work begins. | +| 2 | #5: empty secret | Resolve a private key for every enabled engine; remove the unkeyed production fallback. | +| 3 | #7: Windows mismatch | Add an honest capability/status gate and refuse unsupported installation before network access. | +| 4 | #8 + #9: model trust/install | Verify an embedded trusted manifest and install into a bounded staging area before promotion. | +| 5 | Windows support follow-up | Advertise a Windows target only after a real runtime/model smoke test passes on that target. | + +The capability gate resolves the high-severity Windows mismatch even if native +Windows inference is delivered later. Do not hold the truthful status/install +behavior behind the larger runtime port. + +## Non-negotiable behavior + +1. The same explicit, non-blank `HS_INBOX_PII_SECRET` and the same source + identity must continue to produce the same display identity as before. +2. Do not change `personKey` precedence, fake-name selection, canonicalization, + or HMAC input/domain strings as part of these fixes. +3. Users who previously relied on the empty-secret SHA-256 fallback will have + a one-time pseudonym change when a private installation secret is created. + This is expected and should be called out in release notes. +4. Once a generated installation secret exists, identities must remain stable + across processes and restarts on that installation. +5. `off`, and an authorized effective `--unredacted` override, must not read or + write the keyring and must not initialize the model runtime. +6. Invalid privacy configuration must never become `off` implicitly. +7. A model is usable only when the current platform is supported and the exact + expected bundle has completed trusted validation. +8. When no usable NER model exists, retain the current fail-closed free-text + behavior. Never fall back to emitting uninspected content. +9. Regression tests must use fake API clients, temporary directories, in-memory + archives, and local `httptest` servers. They must not call Help Scout or a + public model host. +10. Secrets, model contents, URLs containing sensitive values, and raw keyring + errors must not be written to command output or diagnostic logs. + +## Target architecture + +The command layer should be the composition root. Core PII behavior should not +know about environment variables, keyrings, HTTP, Cobra, or filesystem cache +locations. + +```text +Cobra / MCP entry point + | + +-- PII engine factory + | +-- strict mode parser (core policy) + | +-- secret resolver (application service) + | | +-- environment source (adapter) + | | +-- OS keyring store (adapter) + | | +-- cryptographic RNG (adapter) + | +-- detector provider + | +-- model status service + | +-- NER runtime + | + +-- pii-model commands + +-- platform capability + +-- embedded trusted manifest + +-- transactional bundle installer + +-- runtime smoke validator +``` + +### Recommended package responsibilities + +- `internal/pii` + - `Mode`, `ParseMode`, effective-mode policy, `Secret`, and `Engine`. + - Pure behavior only; no `os.Getenv`, keyring, HTTP, or cache discovery. +- `internal/pii/setup` (new, or an equivalently named application package) + - Secret resolution and PII engine/session construction. + - Interfaces are defined here because this layer consumes the adapters. +- `internal/pii/secretstore` (new) + - OS-keyring adapter only. +- `internal/pii/ner` + - Platform capability, trusted manifest, model status, installer, and runtime. + - HTTP client, cache root, platform, limits, and runtime validator are + injectable at the service boundary. +- `internal/cmd` + - Parse command intent, wire concrete dependencies, order preflight before + API initialization, and present actionable errors/status. + +Exact folder names may follow an existing repository convention, but preserve +the dependency direction: adapters depend inward; the PII core does not depend +outward. + +### Invocation lifecycle + +For any command that can expose Inbox data: + +1. Load the file and apply environment overrides. +2. Strictly parse the configured mode. +3. Apply the authorized `--unredacted` policy to obtain the effective mode. +4. If the effective mode is enabled, resolve a non-empty secret before creating + an API client or making a Help Scout request. +5. Attach NER only when model status is `ready`. +6. Construct an engine whose invariants are already valid. +7. Close any detector/runtime owned by the invocation. +8. Continue to route every output through the mandatory presentation boundary. + +The factory may return a small invocation-scoped session containing the engine +and a `Close` function. That gives the NER runtime explicit ownership without +making commands know its details. If this seam is introduced, it can also +resolve deferred observation A2; do not otherwise expand this work into a +general command-lifecycle rewrite. + +## Work package 1 — Issue #6: invalid modes fail open + +### Current failure + +`internal/pii/policy.go` uses `NormalizeMode`. Any unknown value becomes +`off`. `config set --inbox-pii-mode` validates its flag, but manually edited +YAML and `HS_INBOX_PII_MODE` bypass that check. A typo can therefore disable +redaction without an error. + +`internal/cmd/config.go` also discards every `config.Load` error during +`config set` and starts from an empty config. That can erase unrelated fields +when a damaged config is being repaired. + +### Desired contract + +Use a strong mode type and one strict parser: + +```go +type Mode string + +const ( + ModeOff Mode = "off" + ModeCustomers Mode = "customers" + ModeAll Mode = "all" +) + +func ParseMode(raw string) (Mode, error) +``` + +Rules: + +- empty input means the documented default, `off`; +- surrounding whitespace and case are normalized; +- every other value returns an error containing the invalid value and the + accepted values; +- downstream policy receives `Mode`, not an arbitrary string; +- no downstream function performs a second permissive normalization. + +### Regression tests first + +Add pure policy tests: + +- `TestParseMode_AcceptsDocumentedValues` +- `TestParseMode_EmptyDefaultsToOff` +- `TestParseMode_NormalizesCaseAndWhitespace` +- `TestParseMode_RejectsUnknownValues` +- `TestEffectiveMode_RejectsInvalidConfiguredMode` + +Add configuration tests: + +- invalid YAML-file mode is retained as raw input until effective + configuration has been merged, then rejected; +- a valid environment mode overrides an invalid file mode; +- an invalid environment mode is rejected even when the file value is valid; +- `config set --inbox-pii-mode customers` repairs an invalid stored mode and + preserves every unrelated file field; +- `config set` does not persist environment-only overrides into YAML; +- malformed YAML and real I/O errors are reported, not replaced with an empty + config. + +Add command-level regression coverage: + +- `TestPIIRegression_High06_InvalidFileModeStopsInboxCommand` +- `TestPIIRegression_High06_InvalidEnvModeStopsInboxCommand` +- `TestPIIRegression_High06_InvalidModeStopsMCPStartup` +- assert the fake Inbox API received zero calls; +- assert no fixture payload was emitted; +- assert `config get`, `config path`, and a mode-repairing `config set` remain + available; +- assert unrelated commands such as `version`, completion, and Docs commands + are not unnecessarily blocked by an Inbox-only setting. + +### Implementation notes + +1. Replace `NormalizeMode` with `ParseMode`. Keep normalization private to the + successful parse path. +2. Change `EffectiveMode`, `ShouldRedactType`, and the engine to consume + `Mode`. +3. Split configuration loading into two explicit operations: + - file-only loading for mutation/repair; + - effective loading that applies environment overrides for runtime use. +4. `config set` must load file-only state, update requested fields, validate + the resulting PII mode, and save. It must not silently swallow parse or I/O + errors. +5. Merge file and environment values before strict mode parsing. This lets a + valid environment override temporarily recover an invalid file. +6. Validate at the Inbox/MCP application boundary before API-client creation. + Keep a defensive parse in the engine factory so a future caller cannot + bypass the invariant. +7. Move the background update check after privacy preflight for affected + commands. An invalid privacy configuration should fail before unrelated + network work begins. +8. Save the canonical lowercase value when `config set` changes the mode. + +### Acceptance criteria + +- No unknown mode can construct an enabled or disabled engine. +- Invalid Inbox/MCP configuration returns a clear error before API activity or + protected output. +- Config repair works without data loss. +- There is no permissive string-normalization path left in production code. + +## Work package 2 — Issue #5: empty secret uses unkeyed SHA-256 + +### Current failure + +`Engine.hashBytes` uses plain SHA-256 when `HS_INBOX_PII_SECRET` is empty. The +result is deterministic, but it is identical across installations and permits +offline guessing of low-entropy identifiers. + +The explicit-secret HMAC path is good and must remain byte-for-byte compatible. + +### Desired secret policy + +When the effective PII mode is enabled: + +1. An `HS_INBOX_PII_SECRET` containing at least one non-whitespace rune wins + and is used exactly as supplied. Do not trim or rewrite a valid value, + because leading/trailing bytes are part of the existing identity contract. +2. An unset, empty, or whitespace-only environment value is treated as absent; + load a generated 32-byte secret from the OS keyring instead. This matches + the current fallback threshold without preserving the unkeyed fallback. +3. If no key exists, generate 32 bytes with `crypto/rand`, store it under a + versioned record name, read it back, and use the persisted value. +4. If the keyring is unavailable or persistence cannot be confirmed, return an + actionable error instructing a headless user to set + `HS_INBOX_PII_SECRET`. Do not fall back to unkeyed hashing or YAML storage. +5. When the effective mode is `off`, do not touch the keyring or RNG. + +Recommended keyring record semantics: + +- stable service name associated with this CLI; +- record/account name such as `pii_identity_secret_v1`; +- random bytes encoded with a fixed base64 encoding only for storage; +- strict decode and exact-length validation when loading; +- never include the value in output, logs, or wrapped errors. + +The versioned record name reserves room for issue 13's future rotation policy +without implementing rotation in this change. + +### Encapsulation + +Define the interfaces at the application-service boundary, not in the engine: + +```go +type SecretStore interface { + Load(context.Context) ([]byte, error) + Save(context.Context, []byte) error +} + +type SecretResolver struct { + Store SecretStore + Random io.Reader + LookupEnv func(string) (string, bool) + // Include an initialization lock if the store has no create-if-absent API. +} +``` + +Return a copied, validated value or a small `pii.Secret` value whose bytes are +not publicly mutable. The engine should require a non-empty secret whenever +its mode is enabled. Its hash path should then always be HMAC-SHA-256; remove +the production empty-secret branch entirely. + +The keyring adapter should distinguish "not found" from "store unavailable". +Only the former permits generation. + +### First-use concurrency + +Two first-run CLI/MCP processes must converge on one persisted key. A simple +`get -> generate -> set` sequence can let concurrent processes use different +keys. If the selected keyring API has no atomic create-if-absent operation, +serialize initialization with a small cross-process lock, then re-read inside +the lock. A process-local `sync.Once` is not sufficient. + +Do not ship automatic generation until the concurrent initialization test is +stable on supported operating systems. Requiring the environment variable is +the safe fallback if robust keyring initialization cannot be delivered. + +### Regression tests first + +Use an in-memory fake store and injected deterministic random reader. Do not +touch a developer or CI keyring. + +- `TestSecretResolver_EnvironmentOverridesStore` +- `TestSecretResolver_ExplicitSecretPreservesBytes` +- `TestSecretResolver_BlankEnvironmentUsesStore` +- `TestSecretResolver_GeneratesAndStoresSecretOnce` +- `TestSecretResolver_ReusesSecretAcrossEngineInstances` +- `TestSecretResolver_OffModeDoesNotTouchStoreOrRandom` +- `TestSecretResolver_NotFoundGeneratesButStoreErrorFails` +- `TestSecretResolver_InvalidStoredValueFailsClosed` +- `TestSecretResolver_ConcurrentInitializersConverge` +- `TestPIIRegression_High05_KeyringFailureEmitsNoOutput` +- assert the fake API receives zero calls when secret preflight fails; +- assert the error explains the environment-variable recovery path without + exposing key material. + +Before changing the constructor, add a golden compatibility fixture that pins +the current output for a known identity and explicit secret. Run the same +fixture against separate engine instances. + +Existing unit tests commonly construct enabled engines with an empty secret. +Update them to use a fixed test-only secret helper. Do not retain a production +escape hatch merely to keep tests concise. + +### Diagnostic sanitizer + +`internal/api/debug_sanitizer.go` currently creates its strongest-mode engine +with an empty secret. It must not use the persisted identity key, because debug +tokens should not become a cross-log identity channel. + +Give each diagnostic transport or process an independent cryptographically +random ephemeral secret. If random generation fails, disable/fail debug setup +safely rather than reverting to unkeyed hashing. Keep the sanitizer independent +of user-facing PII mode and `--unredacted`. + +### Acceptance criteria + +- An enabled production engine cannot exist with an empty key. +- Explicit-secret pseudonyms are unchanged from the baseline fixture. +- Generated-secret pseudonyms are stable across processes on one installation + and differ across independently initialized stores. +- Keyring/RNG failures occur before protected API work and emit no payload. +- PII secret material is never written to YAML, stdout, stderr, or debug logs. + +## Work package 3 — Issue #7: Windows installer/runtime mismatch + +### Current failure + +The bundle builder publishes Windows archives and cache discovery recognizes +`onnxruntime.dll`, but `runtime_unsupported.go` is selected on Windows. A +`.version` file is enough for `IsModelReady` to report success, so install and +status can imply NER is active when it cannot run. + +The current no-detector text behavior is privacy-oriented, but the operator +feedback is untruthful and can create false confidence. + +### Stage A: close the mismatch immediately + +Introduce an explicit platform capability and a richer model status: + +```go +type ModelState string + +const ( + ModelUnsupported ModelState = "unsupported" + ModelAbsent ModelState = "absent" + ModelUntrusted ModelState = "installed-unverified" + ModelCorrupt ModelState = "corrupt" + ModelReady ModelState = "ready" +) + +type ModelStatus struct { + State ModelState + Reason string +} +``` + +Names may vary, but do not collapse these states into one boolean. Retain +`IsModelReady` only as a thin compatibility wrapper over +`Status().State == ModelReady`, or remove it after callers migrate. + +Behavior on an unsupported target: + +- `pii-model install` fails before printing download progress and before any + HTTP request; +- `pii-model status` says the runtime is unsupported and explains that + free-form content remains fail-closed; +- cache files or a matching `.version` cannot turn the state into `ready`; +- `newPIIEngine` does not attach a detector; +- structured redaction still works and free-form content remains hidden; +- release tooling does not publish or advertise an unsupported platform. + +### Regression tests first + +Make platform/capability and downloader dependencies injectable so ordinary +tests can simulate Windows while running elsewhere. + +- `TestModelStatus_UnsupportedEvenWithVersionMarker` +- `TestInstaller_UnsupportedPlatformDoesNotIssueHTTPRequest` +- `TestModelStatus_DistinguishesAbsentUntrustedCorruptAndReady` +- `TestPIIModelCommand_StatusExplainsUnsupportedRuntime` +- `TestPIIRegression_High07_UnusableRuntimeKeepsFreeTextFailClosed` +- `TestReleaseManifest_ContainsOnlySupportedPlatforms` + +The no-request assertion should use a counting fake transport or local server, +not a public endpoint. + +### Stage B: add real Windows support separately + +The patched `onnxruntime-purego` dependency currently calls Unix-oriented +`purego.Dlopen`. A Windows implementation needs platform-specific loader +files, using the appropriate Windows library load/free operations, plus proof +that function registration and the calling convention work with ONNX Runtime. + +Recommended sequence: + +1. Implement loader open/close behind build-tagged files in the patched + dependency. +2. Add Windows to the real NER runtime build tags only after loader tests pass. +3. Start with `windows/amd64` unless `windows/arm64` has its own real CI runner + or equivalent execution proof. +4. Load the pinned `onnxruntime.dll` and resolve `OrtGetApiBase` in a Windows CI + smoke test. +5. Construct the tokenizer/model, run a tiny pinned inference fixture, verify + output shape and at least one expected entity, and close all handles. +6. Exercise `hs pii-model install`, `status`, detector creation, and one + redaction command end to end on Windows. +7. Only then add that exact target to the supported capability matrix and + release artifacts. + +Cross-compilation proves that code builds; it does not prove DLL loading, ABI, +transitive dependencies, or inference. Do not use it as the support gate. + +### Acceptance criteria + +- The CLI never reports `ready` on a target whose runtime cannot execute. +- Unsupported installation performs zero network or cache mutation. +- Privacy fallback remains fail-closed. +- Every advertised platform/architecture has an executing runtime/model smoke + test in CI. + +## Work package 4 — Issues #8 and #9: trusted, transactional model install + +### Current failure + +`downloadAndExtract` writes directly into the live cache and computes +`.sha256` sidecars from the bytes it just downloaded. Those hashes can detect +later accidental changes, but they do not establish provenance. A compromised +download can supply both the content and its newly generated hash. + +Installation also lacks a complete transaction, explicit compressed and +expanded size limits, an operation timeout, a strict archive allowlist, and a +runtime smoke gate before the ready marker is written. + +### Trust decision + +Embed the expected bundle manifest in the CLI. The CLI already pins +`ModelVersion`, so an embedded digest is the simplest trust anchor for the +current release model. + +A remote `.sha256` file downloaded beside an archive is not a trust anchor +unless that checksum is independently signed and its public key is pinned in +the CLI. Signed remote manifests can be added later if model updates must be +decoupled from CLI releases. + +### Trusted manifest contents + +Use a versioned schema, embedded with `go:embed`, containing at least: + +- manifest schema version; +- model bundle version; +- immutable model repository revision, not `resolve/main`; +- ONNX Runtime version and immutable source identity; +- supported GOOS/GOARCH key; +- exact archive filename, SHA-256, and byte size; +- a defensive maximum compressed size; +- exact required inner filenames; +- exact inner-file SHA-256 and byte size; +- a defensive maximum total expanded size; +- the runtime library filename for that target; +- optional build/provenance metadata that is not used as a substitute for + hashes. + +Reject unknown schema versions, duplicate platform entries, missing required +fields, invalid hashes, and a manifest version that differs from the compiled +`ModelVersion`. + +### Release-source lock and reproducibility + +Update `scripts/prepare-pii-model.sh` and the release workflow so provenance +starts before bundle creation: + +1. Replace the Hugging Face `resolve/main` URL with an immutable commit. +2. Check in a source-lock manifest with expected hashes for model inputs and + ONNX Runtime source archives. +3. Verify every upstream input before extracting or bundling it. +4. Produce deterministic archives: sorted entries, normalized ownership, + permissions and timestamps, and deterministic gzip headers. +5. Generate the bundle manifest from those deterministic artifacts. +6. Check the trusted bundle manifest into the CLI package for review. +7. On a model release tag, rebuild and require a byte-for-byte manifest match + before publishing. +8. Upload the archives, public checksums, and manifest. Public checksums remain + useful for operators, while the CLI trusts its embedded copy. +9. Publish only targets in the tested capability matrix. + +The release workflow currently uploads only `*.tar.gz`; update its asset +coverage test so a missing manifest/checksum or an extra unsupported bundle +fails the release job. + +### Installer boundary + +Keep network/filesystem mechanics behind one service rather than spreading +them across command handlers: + +```go +type BundleInstaller struct { + Client *http.Client + CacheRoot string + Platform Platform + Manifest TrustedManifest + Limits InstallLimits + ValidateRuntime func(context.Context, Paths) error +} +``` + +It is usually enough to inject the cache root, HTTP client, platform, limits, +and runtime validator. Avoid introducing a broad virtual filesystem interface +unless tests demonstrate a need; temporary directories provide a realistic +filesystem boundary. + +### Transactional install algorithm + +1. Check platform capability before creating a request or directory. +2. Select exactly one trusted manifest entry for the current target. +3. Create a private staging directory under the cache root so final promotion + stays on one filesystem. +4. Use a context-aware request and an HTTP client with bounded response-header, + redirect, and total-operation behavior. +5. Reject a declared `Content-Length` over the limit, but still enforce a + streaming `LimitReader` because the header can be absent or false. +6. Stream the archive to a private staging file while hashing and counting it. +7. Require exact archive SHA-256 and expected size before extraction. +8. Extract only strict manifest allowlisted names. Normalize paths and reject, + rather than skip: + - absolute paths and traversal; + - duplicate entries; + - unexpected files; + - symlinks, hardlinks, devices, FIFOs, and other non-regular entries; + - entries larger than their expected size; + - total expanded bytes over the configured limit. +9. Hash and count each extracted file while writing. Require exact inner-file + hashes/sizes and require every expected file exactly once. +10. Use safe application-selected permissions rather than archive-controlled + modes. +11. Load the staged runtime/model and run a tiny smoke validation. +12. Write trusted install metadata and a ready marker only after all checks + pass. +13. Promote the completed staging directory without modifying a currently + usable installation. +14. On every failure, remove staging data and leave the previous installation + untouched. + +Prefer immutable, content-addressed final paths such as: + +```text +/versions//-// +``` + +The compiled manifest already identifies the expected path, so a mutable +`current` pointer is unnecessary. This also avoids cross-platform differences +when atomically replacing a non-empty directory. Clean older versions and +stale staging directories as a separate bounded maintenance step. + +`ModelPaths` must resolve paths only from a `ready` status. A legacy flat cache +or `.version`-only installation should be reported as `installed-unverified` +and must be reinstalled before NER is attached. + +Do not hash a large model on every CLI invocation solely to protect against a +local privileged attacker. Full hashes are required during trusted install; +normal readiness can validate trusted metadata, expected paths, marker +identity, and required file sizes. Document the local-cache threat model and +provide a future explicit `verify` command if full at-rest verification is +desired. + +### Regression fixtures + +Build tiny tar.gz archives in memory and serve them from `httptest.Server`. +Use a fake runtime validator. No unit test should need the real model. + +Happy path: + +- `TestInstaller_TrustedBundlePromotesAtomically` +- progress reporting receives bounded, monotonic byte counts; +- status becomes `ready` only after runtime validation; +- a second install is idempotent and performs no download. + +Trust failures: + +- `TestInstaller_RejectsMutatedArchive` +- `TestInstaller_RejectsWrongPlatformOrVersion` +- `TestInstaller_RejectsInnerFileHashMismatch` +- `TestInstaller_RejectsMissingRequiredFile` +- `TestInstaller_RejectsUnexpectedOrDuplicateEntry` + +Archive safety: + +- absolute path; +- `../` traversal and Windows separator variants; +- symlink and hardlink; +- device/FIFO entry; +- entry larger than declared; +- total expanded-size overflow; +- compressed download limit overflow; +- truncated gzip/tar stream. + +Transaction failures: + +- non-200 response; +- redirect/timeout/cancellation; +- write failure where practical; +- runtime smoke failure; +- ready-marker failure; +- an existing valid installation remains byte-for-byte usable after each + failed replacement; +- no final directory or ready marker survives a failed first install; +- stale staging cleanup cannot delete a resolved path outside the cache root. + +Status and release tests: + +- `.version` alone is never `ready`; +- legacy flat files are `installed-unverified`; +- missing required files are `corrupt`; +- the embedded manifest covers exactly the supported release matrix; +- generated release assets and the checked-in manifest match. + +### Acceptance criteria + +- Every accepted byte is covered by an embedded trust anchor before becoming + usable. +- Failed or interrupted installation cannot damage an existing usable model. +- Network and extraction resource use is explicitly bounded. +- No legacy self-generated sidecar is treated as evidence of provenance. +- NER is attached only after the exact current bundle passes validation. + +## Test and commit strategy + +Implement in small, independently reviewable green slices: + +1. Strict mode regression tests and fix (#6). +2. Secret resolver regression tests and fix (#5). +3. Capability/status regression tests and unsupported-target gate (#7A). +4. Manifest/installer regression fixtures (#8 + #9). +5. Trusted manifest and transactional installer implementation (#8 + #9). +6. Windows loader and real CI smoke test (#7B), if Windows support is required + in this delivery. + +It is useful to prove each regression red locally before implementing its fix. +Keep shared branch commits green; if the project intentionally retains a red +test-only commit for review, place its green fix immediately after it. + +Suggested verification after each slice: + +```text +go test ./internal/pii/... ./internal/config/... ./internal/cmd/... -count=1 +go test ./... -count=1 +go test -race ./internal/pii/... ./internal/config/... ./internal/cmd/... +``` + +The Windows runtime slice additionally requires the real Windows integration +job. The ordinary unit suite must remain fixture-only and offline. + +## Compatibility and operational notes + +| Risk | Required mitigation | +| --- | --- | +| Explicit-secret display identities drift | Pin a golden fixture before refactoring and keep raw secret bytes/HMAC inputs unchanged. | +| Empty-secret users see new pseudonyms | Expected one-time privacy migration; document it in release notes. | +| Headless host has no keyring | Fail with an actionable `HS_INBOX_PII_SECRET` instruction; never save the key in YAML. | +| Concurrent first-run processes create different keys | Cross-process initialization lock and convergence test. | +| Invalid config cannot be repaired | Keep config commands outside runtime validation and use file-only mutation loading. | +| Valid environment overrides get persisted | Never use environment-merged config as the input to `config set`. | +| Windows is advertised prematurely | Capability matrix is driven only by executing CI smoke tests. | +| Trusted download corrupts live cache before verification | Stage, validate, smoke-test, then promote immutable content. | +| Archive digest changes between builds | Make bundle creation reproducible and assert manifest equality in release CI. | +| Readiness checks become slow | Hash fully during installation; use trusted immutable metadata for normal startup. | + +## Explicitly deferred work + +Do not combine these fixes with unrelated identity-contract changes: + +- PII-F01: cross-payload identity aliasing; +- issue 11: visual fake-name collisions; +- issue 12: Unicode identity normalization; +- issue 13: user-facing secret rotation/migration; +- issue 14: the multilingual quality corpus. + +The secret record should be versioned now, but no rotation command or identity +schema migration belongs in this delivery. Similarly, the Windows capability +gate is required; native Windows inference can remain a separate follow-up. + +## Overall definition of done + +- All regression and existing critical tests pass. +- Invalid modes and secret-store failures stop affected commands before API + work and protected output. +- Enabled engines always use a private HMAC key. +- Explicit-secret deterministic display identities remain unchanged. +- Model status is truthful on every build target. +- Unsupported platforms cannot download/install a misleading bundle. +- Supported model bundles are pinned, bounded, validated, smoke-tested, and + transactionally promoted. +- Release tooling uses immutable upstream inputs and publishes only tested + targets. +- The progress report is updated only after the relevant acceptance criteria + are demonstrated by tests. diff --git a/.agents/notes/pii-redaction-progress.md b/.agents/notes/pii-redaction-progress.md index d37b78c..a297813 100644 --- a/.agents/notes/pii-redaction-progress.md +++ b/.agents/notes/pii-redaction-progress.md @@ -18,6 +18,11 @@ during the remediation design discussion and was not part of the original numbered list, so it is tracked separately below rather than changing the historical numbering. +The implementation-ready design for remaining high issues 5–8 is recorded in +`pii-redaction-high-issues-implementation-plan.md`. It also includes issue 9 +because provenance verification and transactional installation must ship as +one model-install boundary. + ## What was already good The original review found real architectural strengths worth preserving: From fce500bd9c7de48d09fc1939b2ab28f329193a48 Mon Sep 17 00:00:00 2001 From: Ross Morsali Date: Wed, 15 Jul 2026 20:15:04 +0200 Subject: [PATCH 06/34] fix: reject invalid PII modes before Inbox work --- internal/cmd/config.go | 13 ++- internal/cmd/config_test.go | 64 +++++++++++++ internal/cmd/inbox_pii_helpers.go | 4 +- internal/cmd/inbox_pii_regression_test.go | 62 ++++++++++++ internal/cmd/root.go | 16 +++- internal/config/config.go | 14 ++- internal/config/config_test.go | 24 +++++ internal/pii/identity.go | 9 +- internal/pii/identity_test.go | 10 +- internal/pii/policy.go | 58 ++++++----- internal/pii/policy_test.go | 112 ++++++++++++---------- 11 files changed, 288 insertions(+), 98 deletions(-) diff --git a/internal/cmd/config.go b/internal/cmd/config.go index 9501da8..7e1a677 100644 --- a/internal/cmd/config.go +++ b/internal/cmd/config.go @@ -81,9 +81,9 @@ func configFilePath() string { func runConfigSet(cmd *cobra.Command, args []string) error { path := configFilePath() - existing, err := config.Load(path) + existing, err := config.LoadFile(path) if err != nil { - existing = &config.Config{} + return fmt.Errorf("load config: %w", err) } if cmd.Flags().Changed("inbox-app-id") { @@ -99,10 +99,13 @@ func runConfigSet(cmd *cobra.Command, args []string) error { existing.Format = setFormat } if cmd.Flags().Changed("inbox-pii-mode") { - if !pii.IsValidMode(setInboxPIIMode) { - return fmt.Errorf("invalid --inbox-pii-mode: %q (expected off|customers|all)", setInboxPIIMode) + mode, modeErr := pii.ParseMode(setInboxPIIMode) + if modeErr != nil { + return fmt.Errorf("invalid --inbox-pii-mode: %w", modeErr) } - existing.InboxPIIMode = setInboxPIIMode + existing.InboxPIIMode = mode.String() + } else if _, modeErr := pii.ParseMode(existing.InboxPIIMode); modeErr != nil { + return fmt.Errorf("invalid inbox_pii_mode in %s: %w; repair it with --inbox-pii-mode off|customers|all", path, modeErr) } if cmd.Flags().Changed("inbox-pii-allow-unredacted") { existing.InboxPIIAllowUnredacted = setInboxPIIAllow diff --git a/internal/cmd/config_test.go b/internal/cmd/config_test.go index 5141b5f..607b5af 100644 --- a/internal/cmd/config_test.go +++ b/internal/cmd/config_test.go @@ -2,6 +2,7 @@ package cmd import ( "bytes" + "os" "path/filepath" "testing" @@ -224,3 +225,66 @@ func TestConfigSet_InvalidPIIMode(t *testing.T) { require.Error(t, err) assert.Contains(t, err.Error(), "invalid --inbox-pii-mode") } + +func TestConfigSet_RepairsInvalidPIIModeAndPreservesFileFields(t *testing.T) { + saveRestore(t) + versionStr = "dev" + + cfgPath = filepath.Join(t.TempDir(), "config.yaml") + require.NoError(t, os.WriteFile(cfgPath, []byte(`inbox_app_id: original-id +inbox_app_secret: original-secret +inbox_default_mailbox: 42 +inbox_pii_mode: typo +format: json +`), 0o600)) + t.Setenv("HS_INBOX_APP_ID", "environment-id") + t.Setenv("HS_INBOX_APP_SECRET", "environment-secret") + t.Setenv("HS_INBOX_PII_MODE", "all") + + buf := new(bytes.Buffer) + rootCmd.SetOut(buf) + rootCmd.SetArgs([]string{"inbox", "config", "set", "--inbox-pii-mode", " Customers "}) + require.NoError(t, rootCmd.Execute()) + + stored, err := config.LoadFile(cfgPath) + require.NoError(t, err) + assert.Equal(t, "original-id", stored.InboxAppID) + assert.Equal(t, "original-secret", stored.InboxAppSecret) + assert.Equal(t, 42, stored.InboxDefaultMailbox) + assert.Equal(t, "json", stored.Format) + assert.Equal(t, "customers", stored.InboxPIIMode) +} + +func TestConfigSet_InvalidStoredModeRequiresModeRepair(t *testing.T) { + saveRestore(t) + versionStr = "dev" + + cfgPath = filepath.Join(t.TempDir(), "config.yaml") + require.NoError(t, os.WriteFile(cfgPath, []byte("inbox_app_id: original\ninbox_pii_mode: typo\n"), 0o600)) + t.Setenv("HS_INBOX_PII_MODE", "") + + rootCmd.SetArgs([]string{"inbox", "config", "set", "--inbox-app-id", "replacement"}) + err := rootCmd.Execute() + require.Error(t, err) + assert.Contains(t, err.Error(), "inbox_pii_mode") + + stored, readErr := os.ReadFile(cfgPath) + require.NoError(t, readErr) + assert.Contains(t, string(stored), "inbox_app_id: original") +} + +func TestConfigSet_MalformedYAMLIsNotOverwritten(t *testing.T) { + saveRestore(t) + versionStr = "dev" + + cfgPath = filepath.Join(t.TempDir(), "config.yaml") + const malformed = "{{{invalid" + require.NoError(t, os.WriteFile(cfgPath, []byte(malformed), 0o600)) + + rootCmd.SetArgs([]string{"inbox", "config", "set", "--inbox-pii-mode", "all"}) + require.Error(t, rootCmd.Execute()) + + stored, err := os.ReadFile(cfgPath) + require.NoError(t, err) + assert.Equal(t, malformed, string(stored)) +} diff --git a/internal/cmd/inbox_pii_helpers.go b/internal/cmd/inbox_pii_helpers.go index 76ff07e..830abf6 100644 --- a/internal/cmd/inbox_pii_helpers.go +++ b/internal/cmd/inbox_pii_helpers.go @@ -21,8 +21,8 @@ var ( attachmentPIIContext = pii.JSONContext{Resource: pii.ResourceAttachment} ) -func effectivePIIMode() (string, error) { - mode := pii.ModeOff +func effectivePIIMode() (pii.Mode, error) { + mode := "" allowUnredacted := false if cfg != nil { mode = cfg.InboxPIIMode diff --git a/internal/cmd/inbox_pii_regression_test.go b/internal/cmd/inbox_pii_regression_test.go index 951f32b..3374197 100644 --- a/internal/cmd/inbox_pii_regression_test.go +++ b/internal/cmd/inbox_pii_regression_test.go @@ -202,3 +202,65 @@ func TestPIIRegression_Critical02_PIIBearingCommandsCannotBypassRedaction(t *tes assert.NotContains(t, out, criticalPIIEmail, "custom-field values must be scanned for PII") }) } + +func TestPIIRegression_High06_InvalidModeStopsBeforeInboxAPI(t *testing.T) { + tests := []struct { + name string + fileMode string + envMode string + }{ + {name: "file", fileMode: "typo"}, + {name: "environment", fileMode: "customers", envMode: "typo"}, + } + + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + home, buf := setupE2E(t) + cfgFile := filepath.Join(home, ".config", "hs", "config.yaml") + require.NoError(t, os.WriteFile(cfgFile, []byte("inbox_pii_mode: "+tt.fileMode+"\n"), 0o600)) + t.Setenv("HS_INBOX_PII_MODE", tt.envMode) + + apiCalled := false + apiClient = &mockClient{ + ListMailboxesFn: func(context.Context, url.Values) (json.RawMessage, error) { + apiCalled = true + return json.RawMessage(`{"_embedded":{"mailboxes":[{"id":1,"name":"PII fixture"}]}}`), nil + }, + } + previousOutput := output.Out + output.Out = buf + t.Cleanup(func() { output.Out = previousOutput }) + + rootCmd.SetArgs([]string{"inbox", "mailboxes", "list"}) + err := rootCmd.Execute() + require.Error(t, err) + assert.Contains(t, err.Error(), "PII mode") + assert.False(t, apiCalled) + assert.NotContains(t, buf.String(), "PII fixture") + }) + } +} + +func TestPIIRegression_High06_InvalidModeStopsMCPStartup(t *testing.T) { + home, _ := setupE2E(t) + cfgFile := filepath.Join(home, ".config", "hs", "config.yaml") + require.NoError(t, os.WriteFile(cfgFile, []byte("inbox_pii_mode: typo\n"), 0o600)) + t.Setenv("HS_INBOX_PII_MODE", "") + + rootCmd.SetArgs([]string{"mcp"}) + err := rootCmd.Execute() + require.Error(t, err) + assert.Contains(t, err.Error(), "PII mode") +} + +func TestPIIRegression_High06_InvalidModeDoesNotBlockVersion(t *testing.T) { + home, buf := setupE2E(t) + cfgFile := filepath.Join(home, ".config", "hs", "config.yaml") + require.NoError(t, os.WriteFile(cfgFile, []byte("inbox_pii_mode: typo\n"), 0o600)) + t.Setenv("HS_INBOX_PII_MODE", "") + SetVersion("1.2.3", "abc123", "2026-07-15") + + rootCmd.SetArgs([]string{"version"}) + require.NoError(t, rootCmd.Execute()) + assert.Contains(t, buf.String(), "1.2.3") +} diff --git a/internal/cmd/root.go b/internal/cmd/root.go index af7ff0c..c499dab 100644 --- a/internal/cmd/root.go +++ b/internal/cmd/root.go @@ -12,6 +12,7 @@ import ( "github.com/operator-kit/hs-cli/internal/auth" "github.com/operator-kit/hs-cli/internal/config" "github.com/operator-kit/hs-cli/internal/permission" + "github.com/operator-kit/hs-cli/internal/pii" "github.com/operator-kit/hs-cli/internal/selfupdate" ) @@ -52,13 +53,20 @@ var rootCmd = &cobra.Command{ } } - startUpdateCheck(cmd) - var err error cfg, err = config.Load(cfgPath) if err != nil { return fmt.Errorf("loading config: %w", err) } + if commandUsesInboxPII(cmd) { + mode, modeErr := pii.ParseMode(cfg.InboxPIIMode) + if modeErr != nil { + return fmt.Errorf("invalid Inbox PII mode: %w", modeErr) + } + cfg.InboxPIIMode = mode.String() + } + + startUpdateCheck(cmd) // Flag overrides config if cmd.Flags().Changed("format") { cfg.Format = format @@ -257,6 +265,10 @@ func isUnderSubtree(cmd *cobra.Command, name string) bool { return false } +func commandUsesInboxPII(cmd *cobra.Command) bool { + return cmd.Name() == "mcp" || isUnderSubtree(cmd, "inbox") +} + func shouldShowUsageForError(err error) bool { if err == nil { return false diff --git a/internal/config/config.go b/internal/config/config.go index fc72dc4..d881b50 100644 --- a/internal/config/config.go +++ b/internal/config/config.go @@ -33,6 +33,18 @@ func ResolvedPath(path string) string { } func Load(path string) (*Config, error) { + cfg, err := LoadFile(path) + if err != nil { + return nil, err + } + applyEnv(cfg) + return cfg, nil +} + +// LoadFile reads only persisted configuration. Environment overrides are +// deliberately excluded so callers that mutate configuration cannot persist +// process-local credentials or policy values by accident. +func LoadFile(path string) (*Config, error) { if path == "" { path = DefaultPath() } @@ -41,7 +53,6 @@ func Load(path string) (*Config, error) { data, err := os.ReadFile(path) if err != nil { if os.IsNotExist(err) { - applyEnv(cfg) return cfg, nil } return nil, err @@ -49,7 +60,6 @@ func Load(path string) (*Config, error) { if err := yaml.Unmarshal(data, cfg); err != nil { return nil, err } - applyEnv(cfg) return cfg, nil } diff --git a/internal/config/config_test.go b/internal/config/config_test.go index af6a2ea..6a89baf 100644 --- a/internal/config/config_test.go +++ b/internal/config/config_test.go @@ -64,6 +64,30 @@ inbox_pii_mode: all assert.True(t, cfg.InboxPIIAllowUnredacted) } +func TestLoadFile_DoesNotApplyEnvironment(t *testing.T) { + path := filepath.Join(t.TempDir(), "config.yaml") + require.NoError(t, os.WriteFile(path, []byte(`inbox_app_id: from-file +inbox_pii_mode: typo +`), 0o600)) + t.Setenv("HS_INBOX_APP_ID", "from-env") + t.Setenv("HS_INBOX_PII_MODE", "all") + + cfg, err := LoadFile(path) + require.NoError(t, err) + assert.Equal(t, "from-file", cfg.InboxAppID) + assert.Equal(t, "typo", cfg.InboxPIIMode) +} + +func TestLoad_EnvironmentCanOverrideInvalidFileMode(t *testing.T) { + path := filepath.Join(t.TempDir(), "config.yaml") + require.NoError(t, os.WriteFile(path, []byte("inbox_pii_mode: typo\n"), 0o600)) + t.Setenv("HS_INBOX_PII_MODE", "customers") + + cfg, err := Load(path) + require.NoError(t, err) + assert.Equal(t, "customers", cfg.InboxPIIMode) +} + func TestLoad_InvalidYAML(t *testing.T) { dir := t.TempDir() path := filepath.Join(dir, "config.yaml") diff --git a/internal/pii/identity.go b/internal/pii/identity.go index 1005946..c6d6587 100644 --- a/internal/pii/identity.go +++ b/internal/pii/identity.go @@ -41,7 +41,7 @@ func WithNER(d NameDetector) EngineOption { } type Engine struct { - mode string + mode Mode secret string ner NameDetector @@ -56,9 +56,9 @@ type fakePerson struct { Email string } -func NewEngine(mode, secret string, opts ...EngineOption) *Engine { +func NewEngine(mode Mode, secret string, opts ...EngineOption) *Engine { e := &Engine{ - mode: NormalizeMode(mode), + mode: mode, secret: secret, people: map[string]fakePerson{}, replace: map[string]string{}, @@ -69,7 +69,7 @@ func NewEngine(mode, secret string, opts ...EngineOption) *Engine { return e } -func (e *Engine) Mode() string { +func (e *Engine) Mode() Mode { return e.mode } @@ -247,4 +247,3 @@ var lastNames = []string{ "Lewis", "Long", "Lopez", "Martin", "Miller", "Mitchell", "Moore", "Morgan", "Morris", "Nelson", "Parker", "Perry", "Price", "Reed", "Rivera", "Roberts", "Russell", "Stewart", "Taylor", "Ward", } - diff --git a/internal/pii/identity_test.go b/internal/pii/identity_test.go index 330bdb5..79c20f9 100644 --- a/internal/pii/identity_test.go +++ b/internal/pii/identity_test.go @@ -233,13 +233,11 @@ func TestRedactText_EmailInText_StaysRedacted(t *testing.T) { func TestEngineMode(t *testing.T) { tests := []struct { - mode, want string + mode, want Mode }{ - {"all", ModeAll}, - {"customers", ModeCustomers}, - {"off", ModeOff}, - {"", ModeOff}, - {"unknown", ModeOff}, + {ModeAll, ModeAll}, + {ModeCustomers, ModeCustomers}, + {ModeOff, ModeOff}, } for _, tt := range tests { e := NewEngine(tt.mode, "") diff --git a/internal/pii/policy.go b/internal/pii/policy.go index 283b2d3..4c5c5ae 100644 --- a/internal/pii/policy.go +++ b/internal/pii/policy.go @@ -5,51 +5,60 @@ import ( "strings" ) +type Mode uint8 + const ( - ModeOff = "off" - ModeCustomers = "customers" - ModeAll = "all" + ModeOff Mode = iota + ModeCustomers + ModeAll ) -// NormalizeMode normalizes configured mode values. -func NormalizeMode(v string) string { - switch strings.ToLower(strings.TrimSpace(v)) { - case "", ModeOff: - return ModeOff +func (m Mode) String() string { + switch m { + case ModeOff: + return "off" case ModeCustomers: - return ModeCustomers + return "customers" case ModeAll: - return ModeAll + return "all" default: - return ModeOff + return "invalid" } } -func IsValidMode(v string) bool { +// ParseMode converts configured text into a validated policy mode. +func ParseMode(v string) (Mode, error) { switch strings.ToLower(strings.TrimSpace(v)) { - case ModeOff, ModeCustomers, ModeAll: - return true + case "", "off": + return ModeOff, nil + case "customers": + return ModeCustomers, nil + case "all": + return ModeAll, nil default: - return false + return ModeOff, fmt.Errorf("invalid PII mode %q (expected off|customers|all)", v) } } -func IsEnabled(mode string) bool { - return NormalizeMode(mode) != ModeOff +func IsEnabled(mode Mode) bool { + return mode == ModeCustomers || mode == ModeAll } // EffectiveMode applies per-request override policy. -func EffectiveMode(mode string, allowUnredacted bool, unredacted bool) (string, error) { - normalized := NormalizeMode(mode) +func EffectiveMode(configured string, allowUnredacted bool, unredacted bool) (Mode, error) { + mode, err := ParseMode(configured) + if err != nil { + return ModeOff, err + } if !unredacted { - return normalized, nil + return mode, nil } // No redaction configured: override is effectively a no-op. - if normalized == ModeOff { + if mode == ModeOff { return ModeOff, nil } if !allowUnredacted { - return "", fmt.Errorf("--unredacted is disabled; set HS_INBOX_PII_ALLOW_UNREDACTED=1 or config inbox_pii_allow_unredacted: true to allow per-request overrides") + return ModeOff, fmt.Errorf("--unredacted is disabled; set HS_INBOX_PII_ALLOW_UNREDACTED=1 or config inbox_pii_allow_unredacted: true to allow per-request overrides") } return ModeOff, nil } @@ -57,8 +66,8 @@ func EffectiveMode(mode string, allowUnredacted bool, unredacted bool) (string, // ShouldRedactType decides whether an entity type should be redacted for mode. // entityType is expected to be "customer" or "user". Unknown types are only // redacted in "all" mode. -func ShouldRedactType(mode, entityType string) bool { - switch NormalizeMode(mode) { +func ShouldRedactType(mode Mode, entityType string) bool { + switch mode { case ModeAll: return true case ModeCustomers: @@ -67,4 +76,3 @@ func ShouldRedactType(mode, entityType string) bool { return false } } - diff --git a/internal/pii/policy_test.go b/internal/pii/policy_test.go index 63773e9..866e3f6 100644 --- a/internal/pii/policy_test.go +++ b/internal/pii/policy_test.go @@ -1,55 +1,59 @@ package pii -import "testing" +import ( + "strings" + "testing" +) -func TestNormalizeMode(t *testing.T) { +func TestParseMode(t *testing.T) { tests := []struct { + name string in string - want string + want Mode }{ - {in: "", want: ModeOff}, - {in: "off", want: ModeOff}, - {in: "customers", want: ModeCustomers}, - {in: "all", want: ModeAll}, - {in: "unknown", want: ModeOff}, + {name: "empty defaults off", in: "", want: ModeOff}, + {name: "off", in: "off", want: ModeOff}, + {name: "customers", in: "customers", want: ModeCustomers}, + {name: "all", in: "all", want: ModeAll}, + {name: "case and whitespace", in: " Customers ", want: ModeCustomers}, } for _, tt := range tests { - if got := NormalizeMode(tt.in); got != tt.want { - t.Fatalf("NormalizeMode(%q) = %q, want %q", tt.in, got, tt.want) - } + t.Run(tt.name, func(t *testing.T) { + got, err := ParseMode(tt.in) + if err != nil { + t.Fatalf("ParseMode(%q) returned error: %v", tt.in, err) + } + if got != tt.want { + t.Fatalf("ParseMode(%q) = %q, want %q", tt.in, got, tt.want) + } + }) } } -func TestIsValidMode(t *testing.T) { - valid := []string{"off", "customers", "all"} - for _, v := range valid { - if !IsValidMode(v) { - t.Fatalf("IsValidMode(%q) = false, want true", v) - } - } - for _, v := range []string{"foo", "none", "partial"} { - if IsValidMode(v) { - t.Fatalf("IsValidMode(%q) = true, want false", v) - } - } - // Case+whitespace normalization means these ARE valid - for _, v := range []string{"ALL", "Customers", " all ", " OFF"} { - if !IsValidMode(v) { - t.Fatalf("IsValidMode(%q) = false, want true (normalized)", v) - } +func TestParseModeRejectsUnknownValues(t *testing.T) { + for _, raw := range []string{"unknown", "none", "partial"} { + t.Run(raw, func(t *testing.T) { + _, err := ParseMode(raw) + if err == nil { + t.Fatalf("ParseMode(%q) returned no error", raw) + } + for _, want := range []string{raw, "off", "customers", "all"} { + if !strings.Contains(err.Error(), want) { + t.Fatalf("ParseMode(%q) error %q does not contain %q", raw, err, want) + } + } + }) } } func TestIsEnabled(t *testing.T) { tests := []struct { - mode string + mode Mode want bool }{ - {"off", false}, - {"", false}, - {"customers", true}, - {"all", true}, - {"unknown", false}, + {ModeOff, false}, + {ModeCustomers, true}, + {ModeAll, true}, } for _, tt := range tests { if got := IsEnabled(tt.mode); got != tt.want { @@ -60,20 +64,21 @@ func TestIsEnabled(t *testing.T) { func TestShouldRedactType(t *testing.T) { tests := []struct { - mode, entity string - want bool + mode Mode + entity string + want bool }{ - {"off", "customer", false}, - {"off", "user", false}, - {"customers", "customer", true}, - {"customers", "Customer", true}, // case-insensitive - {"customers", "user", false}, - {"customers", "unknown", false}, - {"customers", "", false}, - {"all", "customer", true}, - {"all", "user", true}, - {"all", "unknown", true}, - {"all", "", true}, + {ModeOff, "customer", false}, + {ModeOff, "user", false}, + {ModeCustomers, "customer", true}, + {ModeCustomers, "Customer", true}, // case-insensitive + {ModeCustomers, "user", false}, + {ModeCustomers, "unknown", false}, + {ModeCustomers, "", false}, + {ModeAll, "customer", true}, + {ModeAll, "user", true}, + {ModeAll, "unknown", true}, + {ModeAll, "", true}, } for _, tt := range tests { if got := ShouldRedactType(tt.mode, tt.entity); got != tt.want { @@ -83,24 +88,29 @@ func TestShouldRedactType(t *testing.T) { } func TestEffectiveMode(t *testing.T) { - mode, err := EffectiveMode(ModeCustomers, false, false) + mode, err := EffectiveMode("customers", false, false) if err != nil || mode != ModeCustomers { t.Fatalf("expected customers mode, got mode=%q err=%v", mode, err) } - mode, err = EffectiveMode(ModeCustomers, true, true) + mode, err = EffectiveMode("customers", true, true) if err != nil || mode != ModeOff { t.Fatalf("expected off override, got mode=%q err=%v", mode, err) } - _, err = EffectiveMode(ModeCustomers, false, true) + _, err = EffectiveMode("customers", false, true) if err == nil { t.Fatalf("expected error when override disallowed") } - mode, err = EffectiveMode(ModeOff, false, true) + mode, err = EffectiveMode("off", false, true) if err != nil || mode != ModeOff { t.Fatalf("expected off no-op override, got mode=%q err=%v", mode, err) } } +func TestEffectiveModeRejectsInvalidConfiguredMode(t *testing.T) { + if _, err := EffectiveMode("typo", true, true); err == nil { + t.Fatal("invalid configured mode must fail before applying an override") + } +} From 0cfa6435772b8376736dadf65787ec5ca6d65e5c Mon Sep 17 00:00:00 2001 From: Ross Morsali Date: Wed, 15 Jul 2026 20:25:20 +0200 Subject: [PATCH 07/34] fix: require private keys for PII pseudonyms --- go.mod | 4 +- internal/api/debug.go | 5 +- internal/api/debug_sanitizer.go | 35 ++- internal/api/debug_test.go | 38 +++ internal/cmd/cmd_test.go | 18 +- internal/cmd/inbox_mock_client_test.go | 13 + internal/cmd/inbox_pii_helpers.go | 66 ++++- internal/cmd/inbox_pii_regression_test.go | 35 +++ internal/cmd/root.go | 25 ++ internal/pii/identity.go | 17 +- internal/pii/identity_test.go | 74 +++--- internal/pii/json_test.go | 40 +-- internal/pii/policy.go | 4 + internal/pii/secret.go | 37 +++ internal/pii/secret_test.go | 53 ++++ internal/pii/secretstore/keyring.go | 72 ++++++ internal/pii/secretstore/keyring_test.go | 71 ++++++ internal/pii/secretstore/lock.go | 49 ++++ internal/pii/secretstore/lock_test.go | 85 +++++++ internal/pii/secretstore/lock_unix.go | 33 +++ internal/pii/secretstore/lock_unsupported.go | 17 ++ internal/pii/secretstore/lock_windows.go | 43 ++++ internal/pii/setup/secret.go | 132 ++++++++++ internal/pii/setup/secret_test.go | 243 +++++++++++++++++++ internal/pii/test_helpers_test.go | 22 ++ internal/pii/text_test.go | 54 ++--- 26 files changed, 1183 insertions(+), 102 deletions(-) create mode 100644 internal/pii/secret.go create mode 100644 internal/pii/secret_test.go create mode 100644 internal/pii/secretstore/keyring.go create mode 100644 internal/pii/secretstore/keyring_test.go create mode 100644 internal/pii/secretstore/lock.go create mode 100644 internal/pii/secretstore/lock_test.go create mode 100644 internal/pii/secretstore/lock_unix.go create mode 100644 internal/pii/secretstore/lock_unsupported.go create mode 100644 internal/pii/secretstore/lock_windows.go create mode 100644 internal/pii/setup/secret.go create mode 100644 internal/pii/setup/secret_test.go create mode 100644 internal/pii/test_helpers_test.go diff --git a/go.mod b/go.mod index 6f7d97b..a9ea383 100644 --- a/go.mod +++ b/go.mod @@ -4,6 +4,7 @@ go 1.25.0 require ( github.com/JohannesKaufmann/html-to-markdown/v2 v2.5.0 + github.com/fatih/color v1.18.0 github.com/shota3506/onnxruntime-purego v0.0.0-20251207004809-1c85186598a5 github.com/spf13/cobra v1.10.2 github.com/spf13/pflag v1.0.9 @@ -11,6 +12,7 @@ require ( github.com/sugarme/tokenizer v0.3.0 github.com/zalando/go-keyring v0.2.6 golang.org/x/oauth2 v0.35.0 + golang.org/x/sys v0.38.0 golang.org/x/time v0.14.0 gopkg.in/yaml.v3 v3.0.1 ) @@ -26,7 +28,6 @@ require ( github.com/davecgh/go-spew v1.1.1 // indirect github.com/ebitengine/purego v0.10.0 // indirect github.com/emirpasic/gods v1.18.1 // indirect - github.com/fatih/color v1.18.0 // indirect github.com/godbus/dbus/v5 v5.1.0 // indirect github.com/inconshreveable/mousetrap v1.1.0 // indirect github.com/mattn/go-colorable v0.1.13 // indirect @@ -38,6 +39,5 @@ require ( github.com/schollz/progressbar/v2 v2.15.0 // indirect github.com/sugarme/regexpset v0.0.0-20200920021344-4d4ec8eaf93c // indirect golang.org/x/net v0.47.0 // indirect - golang.org/x/sys v0.38.0 // indirect golang.org/x/text v0.31.0 // indirect ) diff --git a/internal/api/debug.go b/internal/api/debug.go index c9c3e37..0d61f80 100644 --- a/internal/api/debug.go +++ b/internal/api/debug.go @@ -103,7 +103,8 @@ func setupDebugLog(httpClient *http.Client) { } fmt.Fprintf(os.Stderr, "Debug log: %s\n", path) httpClient.Transport = &debugTransport{ - base: httpClient.Transport, - out: f, + base: httpClient.Transport, + out: f, + sanitizer: newSafeDiagnosticSanitizer(), } } diff --git a/internal/api/debug_sanitizer.go b/internal/api/debug_sanitizer.go index edf03f2..add037f 100644 --- a/internal/api/debug_sanitizer.go +++ b/internal/api/debug_sanitizer.go @@ -1,7 +1,9 @@ package api import ( + "crypto/rand" "encoding/json" + "io" "net/url" "strings" "unicode" @@ -10,6 +12,7 @@ import ( ) const diagnosticRedacted = "[redacted]" +const diagnosticSecretBytes = 32 type diagnosticSanitizer interface { sanitizeURL(*url.URL) string @@ -22,10 +25,40 @@ type safeDiagnosticSanitizer struct { } func newSafeDiagnosticSanitizer() diagnosticSanitizer { + return newSafeDiagnosticSanitizerWithRandom(rand.Reader) +} + +func newSafeDiagnosticSanitizerWithRandom(random io.Reader) diagnosticSanitizer { // Diagnostics always use the strongest mode and deliberately omit NER. // Free-form fields therefore collapse to RedactTextNotice rather than risk // persisting a name the model did not inspect. - return &safeDiagnosticSanitizer{engine: pii.NewEngine(pii.ModeAll, "")} + raw := make([]byte, diagnosticSecretBytes) + if _, err := io.ReadFull(random, raw); err != nil { + return opaqueDiagnosticSanitizer{} + } + secret, err := pii.NewSecret(raw) + if err != nil { + return opaqueDiagnosticSanitizer{} + } + engine, err := pii.NewEngine(pii.ModeAll, secret) + if err != nil { + return opaqueDiagnosticSanitizer{} + } + return &safeDiagnosticSanitizer{engine: engine} +} + +type opaqueDiagnosticSanitizer struct{} + +func (opaqueDiagnosticSanitizer) sanitizeURL(*url.URL) string { + return "[redacted URL]" +} + +func (opaqueDiagnosticSanitizer) sanitizeHeader(string, []string) string { + return diagnosticRedacted +} + +func (opaqueDiagnosticSanitizer) sanitizeBody([]byte) string { + return "[redacted diagnostic body]" } func (s *safeDiagnosticSanitizer) sanitizeURL(input *url.URL) string { diff --git a/internal/api/debug_test.go b/internal/api/debug_test.go index 21432bb..d0445e0 100644 --- a/internal/api/debug_test.go +++ b/internal/api/debug_test.go @@ -2,8 +2,10 @@ package api import ( "bytes" + "errors" "io" "net/http" + "net/url" "strings" "testing" @@ -154,3 +156,39 @@ func TestDebugTransport_LogsError(t *testing.T) { assert.Error(t, err) assert.Contains(t, buf.String(), "error:") } + +func TestDiagnosticSanitizersUseIndependentEphemeralSecrets(t *testing.T) { + first := newSafeDiagnosticSanitizerWithRandom(bytes.NewReader(bytes.Repeat([]byte{0x11}, 32))) + second := newSafeDiagnosticSanitizerWithRandom(bytes.NewReader(bytes.Repeat([]byte{0x22}, 32))) + const body = `{"email":"alice.critical@example.com"}` + + firstOutput := first.sanitizeBody([]byte(body)) + secondOutput := second.sanitizeBody([]byte(body)) + assert.NotContains(t, firstOutput, "alice.critical@example.com") + assert.NotContains(t, secondOutput, "alice.critical@example.com") + assert.NotEqual(t, firstOutput, secondOutput, "diagnostic identities must not correlate across sanitizers") +} + +func TestDiagnosticSanitizerRandomFailureFallsBackToOpaqueOutput(t *testing.T) { + sanitizer := newSafeDiagnosticSanitizerWithRandom(failingReader{err: errors.New("entropy unavailable")}) + const piiBody = `{"email":"alice.critical@example.com"}` + + assert.NotContains(t, sanitizer.sanitizeBody([]byte(piiBody)), "alice.critical@example.com") + assert.Contains(t, sanitizer.sanitizeBody([]byte(piiBody)), "redacted") + assert.Equal(t, "[redacted URL]", sanitizer.sanitizeURL(mustURL(t, "https://api.helpscout.net/v2/customers/123"))) +} + +type failingReader struct { + err error +} + +func (r failingReader) Read([]byte) (int, error) { + return 0, r.err +} + +func mustURL(t *testing.T, raw string) *url.URL { + t.Helper() + parsed, err := url.Parse(raw) + require.NoError(t, err) + return parsed +} diff --git a/internal/cmd/cmd_test.go b/internal/cmd/cmd_test.go index cd57037..a6db88d 100644 --- a/internal/cmd/cmd_test.go +++ b/internal/cmd/cmd_test.go @@ -57,8 +57,13 @@ func saveRestore(t *testing.T) { origSetFormat := setFormat origSetPIIMode := setInboxPIIMode origSetPIIAllowRaw := setInboxPIIAllow + origResolvePIISecret := resolvePIISecret + origInvocationPIIPrepared := invocationPIIPrepared + origInvocationPIIMode := invocationPIIMode + origInvocationPIISecret := invocationPIISecret selfupdate.DirOverride = t.TempDir() + resetPIIInvocation() t.Cleanup(func() { cfg = origCfg @@ -79,6 +84,10 @@ func saveRestore(t *testing.T) { setFormat = origSetFormat setInboxPIIMode = origSetPIIMode setInboxPIIAllow = origSetPIIAllowRaw + resolvePIISecret = origResolvePIISecret + invocationPIIPrepared = origInvocationPIIPrepared + invocationPIIMode = origInvocationPIIMode + invocationPIISecret = origInvocationPIISecret configSetCmd.Flags().VisitAll(func(f *pflag.Flag) { f.Changed = false }) @@ -91,6 +100,7 @@ func setupE2E(t *testing.T) (home string, buf *bytes.Buffer) { t.Helper() home = isolateHome(t) saveRestore(t) + useTestPIISecretResolver() // Prevent update check from hitting the network versionStr = "dev" @@ -196,10 +206,10 @@ func TestConfigFile_E2E(t *testing.T) { // Write config cfgFile := filepath.Join(home, ".config", "hs", "config.yaml") require.NoError(t, config.Save(cfgFile, &config.Config{ - InboxAppID: "file-id", - InboxAppSecret: "file-secret", + InboxAppID: "file-id", + InboxAppSecret: "file-secret", InboxDefaultMailbox: 12345, - Format: "json", + Format: "json", })) // Clear env vars so config file is used @@ -223,7 +233,7 @@ func TestEnvOverridesConfig_E2E(t *testing.T) { require.NoError(t, config.Save(cfgFile, &config.Config{ InboxAppID: "file-id", InboxAppSecret: "file-secret", - Format: "table", + Format: "table", })) // Env vars override diff --git a/internal/cmd/inbox_mock_client_test.go b/internal/cmd/inbox_mock_client_test.go index 929775a..c6fccf2 100644 --- a/internal/cmd/inbox_mock_client_test.go +++ b/internal/cmd/inbox_mock_client_test.go @@ -8,6 +8,7 @@ import ( "github.com/operator-kit/hs-cli/internal/config" "github.com/operator-kit/hs-cli/internal/output" + "github.com/operator-kit/hs-cli/internal/pii" ) // mockClient implements api.ClientAPI with function fields. @@ -318,6 +319,7 @@ func (m *mockClient) GetReport(ctx context.Context, family string, params url.Va // setupTest sets globals for testing and returns a buffer capturing output. func setupTest(mock *mockClient) *bytes.Buffer { + useTestPIISecretResolver() buf := &bytes.Buffer{} output.Out = buf apiClient = mock @@ -331,6 +333,17 @@ func setupTest(mock *mockClient) *bytes.Buffer { return buf } +func useTestPIISecretResolver() { + secret, err := pii.NewSecretString("command-test-only-secret") + if err != nil { + panic(err) + } + resolvePIISecret = func(context.Context, pii.Mode, string) (pii.Secret, error) { + return secret, nil + } + resetPIIInvocation() +} + // halJSON wraps items in a HAL response envelope. func halJSON(key string, items string) json.RawMessage { return json.RawMessage(`{ diff --git a/internal/cmd/inbox_pii_helpers.go b/internal/cmd/inbox_pii_helpers.go index 830abf6..72cbf3d 100644 --- a/internal/cmd/inbox_pii_helpers.go +++ b/internal/cmd/inbox_pii_helpers.go @@ -1,14 +1,18 @@ package cmd import ( + "context" "encoding/json" "fmt" - "os" + "path/filepath" "strings" + "github.com/operator-kit/hs-cli/internal/config" "github.com/operator-kit/hs-cli/internal/output" "github.com/operator-kit/hs-cli/internal/pii" "github.com/operator-kit/hs-cli/internal/pii/ner" + "github.com/operator-kit/hs-cli/internal/pii/secretstore" + piisetup "github.com/operator-kit/hs-cli/internal/pii/setup" "github.com/operator-kit/hs-cli/internal/types" ) @@ -19,6 +23,11 @@ var ( ratingPIIContext = pii.JSONContext{Resource: pii.ResourceRating} reportPIIContext = pii.JSONContext{Resource: pii.ResourceReport} attachmentPIIContext = pii.JSONContext{Resource: pii.ResourceAttachment} + + resolvePIISecret = defaultResolvePIISecret + invocationPIIPrepared bool + invocationPIIMode pii.Mode + invocationPIISecret pii.Secret ) func effectivePIIMode() (pii.Mode, error) { @@ -36,6 +45,10 @@ func newPIIEngine() (*pii.Engine, error) { if err != nil { return nil, err } + secret, err := secretForPIIMode(context.Background(), mode) + if err != nil { + return nil, err + } var opts []pii.EngineOption if ner.IsModelReady() { d, nerErr := ner.NewDetector() @@ -43,7 +56,56 @@ func newPIIEngine() (*pii.Engine, error) { opts = append(opts, pii.WithNER(d)) } } - return pii.NewEngine(mode, os.Getenv("HS_INBOX_PII_SECRET"), opts...), nil + engine, err := pii.NewEngine(mode, secret, opts...) + if err != nil { + return nil, fmt.Errorf("creating PII engine: %w", err) + } + return engine, nil +} + +func defaultResolvePIISecret(ctx context.Context, mode pii.Mode, configPath string) (pii.Secret, error) { + path := config.ResolvedPath(configPath) + resolver := &piisetup.SecretResolver{ + Store: secretstore.NewKeyringStore(), + Lock: secretstore.NewFileLock(filepath.Join(filepath.Dir(path), ".pii-secret.lock")), + } + return resolver.Resolve(ctx, mode) +} + +func resetPIIInvocation() { + invocationPIIPrepared = false + invocationPIIMode = pii.ModeOff + invocationPIISecret = pii.Secret{} +} + +func preflightPIISecret(ctx context.Context) error { + mode, err := effectivePIIMode() + if err != nil { + return err + } + _, err = secretForPIIMode(ctx, mode) + return err +} + +func secretForPIIMode(ctx context.Context, mode pii.Mode) (pii.Secret, error) { + if invocationPIIPrepared && invocationPIIMode == mode { + return invocationPIISecret, nil + } + if !pii.IsEnabled(mode) { + invocationPIIPrepared = true + invocationPIIMode = mode + invocationPIISecret = pii.Secret{} + return pii.Secret{}, nil + } + + secret, err := resolvePIISecret(ctx, mode, cfgPath) + if err != nil { + return pii.Secret{}, fmt.Errorf("resolving PII redaction secret: %w", err) + } + invocationPIIPrepared = true + invocationPIIMode = mode + invocationPIISecret = secret + return secret, nil } // redactRawWithPII is the mandatory presentation boundary for Inbox JSON. Once diff --git a/internal/cmd/inbox_pii_regression_test.go b/internal/cmd/inbox_pii_regression_test.go index 3374197..f28a021 100644 --- a/internal/cmd/inbox_pii_regression_test.go +++ b/internal/cmd/inbox_pii_regression_test.go @@ -3,6 +3,7 @@ package cmd import ( "context" "encoding/json" + "errors" "net/url" "os" "path/filepath" @@ -10,6 +11,7 @@ import ( "testing" "github.com/operator-kit/hs-cli/internal/output" + "github.com/operator-kit/hs-cli/internal/pii" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) @@ -29,6 +31,7 @@ func executePIIFixtureCommand( saveRestore(t) buf := setupTest(mock) t.Cleanup(func() { output.Out = previousOutput }) + t.Setenv("HS_INBOX_PII_SECRET", "pii-regression-test-secret") cfg.InboxPIIMode = piiMode format = outputFormat @@ -264,3 +267,35 @@ func TestPIIRegression_High06_InvalidModeDoesNotBlockVersion(t *testing.T) { require.NoError(t, rootCmd.Execute()) assert.Contains(t, buf.String(), "1.2.3") } + +func TestPIIRegression_High05_SecretFailureStopsBeforeInboxAPI(t *testing.T) { + home, buf := setupE2E(t) + cfgFile := filepath.Join(home, ".config", "hs", "config.yaml") + require.NoError(t, os.WriteFile(cfgFile, []byte("inbox_pii_mode: all\n"), 0o600)) + t.Setenv("HS_INBOX_PII_MODE", "") + t.Setenv("HS_INBOX_PII_SECRET", "") + + apiCalled := false + apiClient = &mockClient{ + ListMailboxesFn: func(context.Context, url.Values) (json.RawMessage, error) { + apiCalled = true + return json.RawMessage(`{"_embedded":{"mailboxes":[{"id":1,"name":"PII fixture"}]}}`), nil + }, + } + previousOutput := output.Out + output.Out = buf + t.Cleanup(func() { output.Out = previousOutput }) + + originalResolver := resolvePIISecret + resolvePIISecret = func(context.Context, pii.Mode, string) (pii.Secret, error) { + return pii.Secret{}, errors.New("PII redaction secret unavailable; set HS_INBOX_PII_SECRET") + } + t.Cleanup(func() { resolvePIISecret = originalResolver }) + + rootCmd.SetArgs([]string{"inbox", "mailboxes", "list"}) + err := rootCmd.Execute() + require.Error(t, err) + assert.Contains(t, err.Error(), "HS_INBOX_PII_SECRET") + assert.False(t, apiCalled) + assert.NotContains(t, buf.String(), "PII fixture") +} diff --git a/internal/cmd/root.go b/internal/cmd/root.go index c499dab..9a86af4 100644 --- a/internal/cmd/root.go +++ b/internal/cmd/root.go @@ -46,6 +46,8 @@ var rootCmd = &cobra.Command{ Use: "hs", Short: "HelpScout CLI — manage mailboxes, conversations, customers and more", PersistentPreRunE: func(cmd *cobra.Command, args []string) error { + resetPIIInvocation() + // Skip everything for config subcommands for c := cmd; c != nil; c = c.Parent() { if c == configCmd { @@ -65,6 +67,11 @@ var rootCmd = &cobra.Command{ } cfg.InboxPIIMode = mode.String() } + if commandNeedsPIISecret(cmd) { + if err := preflightPIISecret(cmd.Context()); err != nil { + return err + } + } startUpdateCheck(cmd) // Flag overrides config @@ -269,6 +276,24 @@ func commandUsesInboxPII(cmd *cobra.Command) bool { return cmd.Name() == "mcp" || isUnderSubtree(cmd, "inbox") } +func commandNeedsPIISecret(cmd *cobra.Command) bool { + if cmd.Name() == "mcp" { + return true + } + if !isUnderSubtree(cmd, "inbox") { + return false + } + for current := cmd; current != nil; current = current.Parent() { + if current == configCmd || current.Name() == "auth" { + return false + } + } + if cmd.Name() == "permissions" { + return false + } + return cmd.RunE != nil || cmd.Run != nil +} + func shouldShowUsageForError(err error) bool { if err == nil { return false diff --git a/internal/pii/identity.go b/internal/pii/identity.go index c6d6587..de8b381 100644 --- a/internal/pii/identity.go +++ b/internal/pii/identity.go @@ -42,7 +42,7 @@ func WithNER(d NameDetector) EngineOption { type Engine struct { mode Mode - secret string + secret Secret ner NameDetector mu sync.RWMutex @@ -56,7 +56,13 @@ type fakePerson struct { Email string } -func NewEngine(mode Mode, secret string, opts ...EngineOption) *Engine { +func NewEngine(mode Mode, secret Secret, opts ...EngineOption) (*Engine, error) { + if !mode.Valid() { + return nil, fmt.Errorf("invalid PII engine mode") + } + if IsEnabled(mode) && secret.IsZero() { + return nil, fmt.Errorf("enabled PII engine requires a secret") + } e := &Engine{ mode: mode, secret: secret, @@ -66,7 +72,7 @@ func NewEngine(mode Mode, secret string, opts ...EngineOption) *Engine { for _, o := range opts { o(e) } - return e + return e, nil } func (e *Engine) Mode() Mode { @@ -159,10 +165,7 @@ func (e *Engine) token(kind, raw string) string { } func (e *Engine) hashBytes(v string) [32]byte { - if strings.TrimSpace(e.secret) == "" { - return sha256.Sum256([]byte(v)) - } - h := hmac.New(sha256.New, []byte(e.secret)) + h := hmac.New(sha256.New, e.secret.bytes()) h.Write([]byte(v)) var out [32]byte copy(out[:], h.Sum(nil)) diff --git a/internal/pii/identity_test.go b/internal/pii/identity_test.go index 79c20f9..b06aa75 100644 --- a/internal/pii/identity_test.go +++ b/internal/pii/identity_test.go @@ -19,7 +19,7 @@ func noNER() NameDetector { return &mockNER{} } func nerWith(spans ...NameSpan) NameDetector { return &mockNER{spans: spans} } func TestRedactPersonDeterministic(t *testing.T) { - e := NewEngine(ModeAll, "") + e := mustTestEngine(ModeAll, "") f1, l1, em1 := e.RedactPerson("Alice", "Smith", "alice@example.com") f2, l2, em2 := e.RedactPerson("Alice", "Smith", "alice@example.com") if f1 != f2 || l1 != l2 || em1 != em2 { @@ -33,13 +33,13 @@ func TestRedactPersonDeterministic(t *testing.T) { func TestRedactPerson_DisplayIdentityCompatibility(t *testing.T) { // Pin the public display identity contract: canonical email remains the // identity key and a stable secret produces the same pseudonym across runs. - e := NewEngine(ModeAll, "stable-secret") + e := mustTestEngine(ModeAll, "stable-secret") first, last, email := e.RedactPerson("Alice", "Smith", "ALICE@example.com ") if first != "Jordan" || last != "Mitchell" || email != "jordan.mitchell-19f9@anon.local" { t.Fatalf("display identity changed: got %q %q <%s>", first, last, email) } - e2 := NewEngine(ModeAll, "stable-secret") + e2 := mustTestEngine(ModeAll, "stable-secret") first2, last2, email2 := e2.RedactPerson("Different", "Name", "alice@example.com") if first2 != first || last2 != last || email2 != email { t.Fatalf("canonical email should retain the same display identity across engines") @@ -47,7 +47,7 @@ func TestRedactPerson_DisplayIdentityCompatibility(t *testing.T) { } func TestRedactText_WithoutNER_ReturnsNotice(t *testing.T) { - e := NewEngine(ModeAll, "") + e := mustTestEngine(ModeAll, "") out := e.RedactText("Hello from Alice Smith", nil) if out != RedactTextNotice { t.Fatalf("expected notice, got: %q", out) @@ -55,14 +55,14 @@ func TestRedactText_WithoutNER_ReturnsNotice(t *testing.T) { } func TestRedactText_WithoutNER_EmptyPassthrough(t *testing.T) { - e := NewEngine(ModeAll, "") + e := mustTestEngine(ModeAll, "") if out := e.RedactText("", nil); out != "" { t.Fatalf("expected empty, got: %q", out) } } func TestRedactText_Disabled_Passthrough(t *testing.T) { - e := NewEngine(ModeOff, "") + e := mustTestEngine(ModeOff, "") out := e.RedactText("Alice Smith", nil) if out != "Alice Smith" { t.Fatalf("expected passthrough when disabled, got: %q", out) @@ -70,7 +70,7 @@ func TestRedactText_Disabled_Passthrough(t *testing.T) { } func TestRedactTextUsesKnownIdentity(t *testing.T) { - e := NewEngine(ModeCustomers, "", WithNER(noNER())) + e := mustTestEngine(ModeCustomers, "", WithNER(noNER())) text := "Alice Smith wrote from alice@example.com" out := e.RedactText(text, []KnownIdentity{{ Type: "customer", @@ -84,7 +84,7 @@ func TestRedactTextUsesKnownIdentity(t *testing.T) { } func TestRedactText_KnownIdentity_UsesFakeName(t *testing.T) { - e := NewEngine(ModeCustomers, "", WithNER(noNER())) + e := mustTestEngine(ModeCustomers, "", WithNER(noNER())) fakeFirst, fakeLast, _ := e.RedactPerson("Alice", "Smith", "alice@example.com") @@ -102,7 +102,7 @@ func TestRedactText_KnownIdentity_UsesFakeName(t *testing.T) { } func TestRedactText_KnownIdentity_ConsistentWithStructured(t *testing.T) { - e := NewEngine(ModeAll, "", WithNER(noNER())) + e := mustTestEngine(ModeAll, "", WithNER(noNER())) sFirst, sLast, _ := e.RedactPerson("Alice", "Smith", "alice@example.com") @@ -121,7 +121,7 @@ func TestRedactText_KnownIdentity_ConsistentWithStructured(t *testing.T) { func TestRedactText_NERDetectedName_UsesFakeName(t *testing.T) { d := nerWith(NameSpan{Text: "John Williams", Start: 8, End: 21, Score: 0.95}) - e := NewEngine(ModeAll, "", WithNER(d)) + e := mustTestEngine(ModeAll, "", WithNER(d)) text := "Contact John Williams for details" out := e.RedactText(text, nil) @@ -136,7 +136,7 @@ func TestRedactText_NERDetectedName_UsesFakeName(t *testing.T) { func TestRedactText_NERDetectedName_Deterministic(t *testing.T) { d := nerWith(NameSpan{Text: "John Williams", Start: 8, End: 21, Score: 0.95}) - e := NewEngine(ModeAll, "", WithNER(d)) + e := mustTestEngine(ModeAll, "", WithNER(d)) text := "Contact John Williams for details" out1 := e.RedactText(text, nil) @@ -150,7 +150,7 @@ func TestRedactText_NERDetectedName_Deterministic(t *testing.T) { func TestRedactText_NoDoubleRedaction(t *testing.T) { // NER also detects "Alice Smith", but known identity handles it first d := nerWith(NameSpan{Text: "Alice Smith", Start: 0, End: 11, Score: 0.92}) - e := NewEngine(ModeAll, "", WithNER(d)) + e := mustTestEngine(ModeAll, "", WithNER(d)) text := "Alice Smith sent a message" out1 := e.RedactText(text, []KnownIdentity{{ @@ -180,7 +180,7 @@ func TestRedactText_NoDoubleRedaction(t *testing.T) { } func TestRedactText_KnownFirstNameOnly(t *testing.T) { - e := NewEngine(ModeCustomers, "", WithNER(noNER())) + e := mustTestEngine(ModeCustomers, "", WithNER(noNER())) text := "Hey Alice, here is your update" out := e.RedactText(text, []KnownIdentity{{ @@ -202,7 +202,7 @@ func TestRedactText_KnownFirstNameOnly(t *testing.T) { func TestRedactText_EmailOnlyCustomer_PrefixRedacted(t *testing.T) { // NER detects "Marco Rossi" in the text d := nerWith(NameSpan{Text: "Marco Rossi", Start: 1, End: 12, Score: 0.90}) - e := NewEngine(ModeCustomers, "", WithNER(d)) + e := mustTestEngine(ModeCustomers, "", WithNER(d)) text := "[Marco Rossi] New Form Submission" out := e.RedactText(text, []KnownIdentity{{ @@ -216,7 +216,7 @@ func TestRedactText_EmailOnlyCustomer_PrefixRedacted(t *testing.T) { } func TestRedactText_EmailInText_StaysRedacted(t *testing.T) { - e := NewEngine(ModeAll, "", WithNER(noNER())) + e := mustTestEngine(ModeAll, "", WithNER(noNER())) text := "Contact alice@example.com for help" out := e.RedactText(text, []KnownIdentity{{ @@ -240,27 +240,27 @@ func TestEngineMode(t *testing.T) { {ModeOff, ModeOff}, } for _, tt := range tests { - e := NewEngine(tt.mode, "") + e := mustTestEngine(tt.mode, "") if got := e.Mode(); got != tt.want { - t.Fatalf("NewEngine(%q).Mode() = %q, want %q", tt.mode, got, tt.want) + t.Fatalf("mustTestEngine(%q).Mode() = %q, want %q", tt.mode, got, tt.want) } } } func TestEngineEnabled(t *testing.T) { - if NewEngine(ModeOff, "").Enabled() { + if mustTestEngine(ModeOff, "").Enabled() { t.Fatal("off engine should not be enabled") } - if !NewEngine(ModeAll, "").Enabled() { + if !mustTestEngine(ModeAll, "").Enabled() { t.Fatal("all engine should be enabled") } - if !NewEngine(ModeCustomers, "").Enabled() { + if !mustTestEngine(ModeCustomers, "").Enabled() { t.Fatal("customers engine should be enabled") } } func TestEngineShouldRedactType(t *testing.T) { - e := NewEngine(ModeCustomers, "") + e := mustTestEngine(ModeCustomers, "") if !e.ShouldRedactType("customer") { t.Fatal("customers mode should redact customer type") } @@ -270,7 +270,7 @@ func TestEngineShouldRedactType(t *testing.T) { } func TestRedactPerson_EmptyInputs(t *testing.T) { - e := NewEngine(ModeAll, "") + e := mustTestEngine(ModeAll, "") // All empty → passthrough f, l, em := e.RedactPerson("", "", "") if f != "" || l != "" || em != "" { @@ -279,7 +279,7 @@ func TestRedactPerson_EmptyInputs(t *testing.T) { } func TestRedactPerson_EmailOnly(t *testing.T) { - e := NewEngine(ModeAll, "") + e := mustTestEngine(ModeAll, "") f, l, em := e.RedactPerson("", "", "test@example.com") if f != "" || l != "" { t.Fatalf("expected empty name for email-only, got %q %q", f, l) @@ -290,7 +290,7 @@ func TestRedactPerson_EmailOnly(t *testing.T) { } func TestRedactPerson_NameOnly(t *testing.T) { - e := NewEngine(ModeAll, "") + e := mustTestEngine(ModeAll, "") f, l, em := e.RedactPerson("Alice", "Smith", "") if f == "Alice" || l == "Smith" { t.Fatalf("name should be redacted, got %q %q", f, l) @@ -301,8 +301,8 @@ func TestRedactPerson_NameOnly(t *testing.T) { } func TestRedactPerson_SecretChangesOutput(t *testing.T) { - e1 := NewEngine(ModeAll, "secret1") - e2 := NewEngine(ModeAll, "secret2") + e1 := mustTestEngine(ModeAll, "secret1") + e2 := mustTestEngine(ModeAll, "secret2") _, _, em1 := e1.RedactPerson("Alice", "Smith", "alice@example.com") _, _, em2 := e2.RedactPerson("Alice", "Smith", "alice@example.com") if em1 == em2 { @@ -311,7 +311,7 @@ func TestRedactPerson_SecretChangesOutput(t *testing.T) { } func TestRedactEmail_Standalone(t *testing.T) { - e := NewEngine(ModeAll, "") + e := mustTestEngine(ModeAll, "") out := e.RedactEmail("test@example.com") if out == "test@example.com" { t.Fatal("email should be redacted") @@ -322,7 +322,7 @@ func TestRedactEmail_Standalone(t *testing.T) { } func TestRedactEmail_Empty(t *testing.T) { - e := NewEngine(ModeAll, "") + e := mustTestEngine(ModeAll, "") if out := e.RedactEmail(""); out != "" { t.Fatalf("expected empty passthrough, got %q", out) } @@ -332,7 +332,7 @@ func TestRedactEmail_Empty(t *testing.T) { } func TestRedactEmail_Deterministic(t *testing.T) { - e := NewEngine(ModeAll, "") + e := mustTestEngine(ModeAll, "") a := e.RedactEmail("test@example.com") b := e.RedactEmail("test@example.com") if a != b { @@ -341,7 +341,7 @@ func TestRedactEmail_Deterministic(t *testing.T) { } func TestRedactPhone_Standalone(t *testing.T) { - e := NewEngine(ModeAll, "") + e := mustTestEngine(ModeAll, "") out := e.RedactPhone("+1 (555) 123-4567") if out == "+1 (555) 123-4567" { t.Fatal("phone should be redacted") @@ -353,14 +353,14 @@ func TestRedactPhone_Standalone(t *testing.T) { } func TestRedactPhone_Empty(t *testing.T) { - e := NewEngine(ModeAll, "") + e := mustTestEngine(ModeAll, "") if out := e.RedactPhone(""); out != "" { t.Fatalf("expected empty passthrough, got %q", out) } } func TestRedactPhone_Deterministic(t *testing.T) { - e := NewEngine(ModeAll, "") + e := mustTestEngine(ModeAll, "") a := e.RedactPhone("555-123-4567") b := e.RedactPhone("555-123-4567") if a != b { @@ -369,7 +369,7 @@ func TestRedactPhone_Deterministic(t *testing.T) { } func TestRedactPhone_DigitsOnly(t *testing.T) { - e := NewEngine(ModeAll, "") + e := mustTestEngine(ModeAll, "") out := e.RedactPhone("5551234567") if out == "5551234567" { t.Fatal("phone should be redacted") @@ -381,7 +381,7 @@ func TestRedactPhone_DigitsOnly(t *testing.T) { func TestWithNER_AttachesDetector(t *testing.T) { d := noNER() - e := NewEngine(ModeAll, "", WithNER(d)) + e := mustTestEngine(ModeAll, "", WithNER(d)) // Should not return notice when NER is attached out := e.RedactText("hello world", nil) if out == RedactTextNotice { @@ -390,7 +390,7 @@ func TestWithNER_AttachesDetector(t *testing.T) { } func TestRedactJSON(t *testing.T) { - e := NewEngine(ModeAll, "") + e := mustTestEngine(ModeAll, "") input := json.RawMessage(`{ "subject":"Email from Alice Smith", "primaryCustomer":{"type":"customer","first":"Alice","last":"Smith","email":"alice@example.com"}, @@ -408,7 +408,7 @@ func TestRedactJSON(t *testing.T) { } func TestRedactJSON_WithoutNER_FreeformIsNotice(t *testing.T) { - e := NewEngine(ModeAll, "") + e := mustTestEngine(ModeAll, "") input := json.RawMessage(`{ "subject":"Email from Alice Smith", "primaryCustomer":{"type":"customer","first":"Alice","last":"Smith","email":"alice@example.com"} @@ -429,7 +429,7 @@ func TestRedactJSON_WithoutNER_FreeformIsNotice(t *testing.T) { func TestRedactJSON_WithNER_FreeformRedacted(t *testing.T) { d := nerWith(NameSpan{Text: "Alice Smith", Start: 11, End: 22, Score: 0.95}) - e := NewEngine(ModeAll, "", WithNER(d)) + e := mustTestEngine(ModeAll, "", WithNER(d)) input := json.RawMessage(`{ "subject":"Email from Alice Smith", "primaryCustomer":{"type":"customer","first":"Alice","last":"Smith","email":"alice@example.com"} diff --git a/internal/pii/json_test.go b/internal/pii/json_test.go index da99e58..9fcae70 100644 --- a/internal/pii/json_test.go +++ b/internal/pii/json_test.go @@ -7,7 +7,7 @@ import ( ) func TestRedactJSON_Disabled(t *testing.T) { - e := NewEngine(ModeOff, "") + e := mustTestEngine(ModeOff, "") input := json.RawMessage(`{"subject":"Hello Alice","email":"alice@test.com"}`) out, err := e.RedactJSON(input) if err != nil { @@ -19,7 +19,7 @@ func TestRedactJSON_Disabled(t *testing.T) { } func TestRedactJSON_EmptyInput(t *testing.T) { - e := NewEngine(ModeAll, "") + e := mustTestEngine(ModeAll, "") out, err := e.RedactJSON(nil) if err != nil { t.Fatalf("RedactJSON error: %v", err) @@ -30,7 +30,7 @@ func TestRedactJSON_EmptyInput(t *testing.T) { } func TestRedactJSON_InvalidJSON(t *testing.T) { - e := NewEngine(ModeAll, "") + e := mustTestEngine(ModeAll, "") _, err := e.RedactJSON(json.RawMessage(`{invalid`)) if err == nil { t.Fatal("expected error for invalid JSON") @@ -38,7 +38,7 @@ func TestRedactJSON_InvalidJSON(t *testing.T) { } func TestRedactJSON_StructuredCustomerFields(t *testing.T) { - e := NewEngine(ModeAll, "", WithNER(noNER())) + e := mustTestEngine(ModeAll, "", WithNER(noNER())) input := json.RawMessage(`{ "primaryCustomer": { "type": "customer", @@ -58,7 +58,7 @@ func TestRedactJSON_StructuredCustomerFields(t *testing.T) { } func TestRedactJSON_StructuredUserFields(t *testing.T) { - e := NewEngine(ModeAll, "", WithNER(noNER())) + e := mustTestEngine(ModeAll, "", WithNER(noNER())) input := json.RawMessage(`{ "assignee": { "type": "user", @@ -78,7 +78,7 @@ func TestRedactJSON_StructuredUserFields(t *testing.T) { } func TestRedactJSON_CustomersMode_SkipsUser(t *testing.T) { - e := NewEngine(ModeCustomers, "", WithNER(noNER())) + e := mustTestEngine(ModeCustomers, "", WithNER(noNER())) input := json.RawMessage(`{ "assignee": { "type": "user", @@ -99,7 +99,7 @@ func TestRedactJSON_CustomersMode_SkipsUser(t *testing.T) { } func TestRedactJSON_FirstNameLastNameVariant(t *testing.T) { - e := NewEngine(ModeAll, "", WithNER(noNER())) + e := mustTestEngine(ModeAll, "", WithNER(noNER())) input := json.RawMessage(`{ "customer": { "type": "customer", @@ -122,7 +122,7 @@ func TestRedactJSON_FirstNameLastNameVariant(t *testing.T) { func TestRedactJSONWithContext_TopLevelEntityPolicy(t *testing.T) { input := json.RawMessage(`{"firstName":"Alice","lastName":"Smith","email":"alice@test.com"}`) - customerEngine := NewEngine(ModeCustomers, "", WithNER(noNER())) + customerEngine := mustTestEngine(ModeCustomers, "", WithNER(noNER())) customer, err := customerEngine.RedactJSONWithContext(input, JSONContext{RootEntity: "customer", Resource: ResourceCustomer}) if err != nil { t.Fatalf("customer context: %v", err) @@ -131,7 +131,7 @@ func TestRedactJSONWithContext_TopLevelEntityPolicy(t *testing.T) { t.Fatalf("explicit customer root should be redacted: %s", customer) } - userEngine := NewEngine(ModeCustomers, "", WithNER(noNER())) + userEngine := mustTestEngine(ModeCustomers, "", WithNER(noNER())) user, err := userEngine.RedactJSONWithContext(input, JSONContext{RootEntity: "user", Resource: ResourceUser}) if err != nil { t.Fatalf("user context: %v", err) @@ -142,7 +142,7 @@ func TestRedactJSONWithContext_TopLevelEntityPolicy(t *testing.T) { } func TestRedactJSONWithContext_PathAwareSensitiveValues(t *testing.T) { - e := NewEngine(ModeAll, "", WithNER(noNER())) + e := mustTestEngine(ModeAll, "", WithNER(noNER())) input := json.RawMessage(`{ "status": {"value": "active"}, "customFields": [{"name": "contact", "value": "alice@test.com"}], @@ -167,7 +167,7 @@ func TestRedactJSONWithContext_PathAwareSensitiveValues(t *testing.T) { } func TestRedactJSON_SentinelPersonSkipped(t *testing.T) { - e := NewEngine(ModeAll, "", WithNER(noNER())) + e := mustTestEngine(ModeAll, "", WithNER(noNER())) // Sentinel: id=0 should be skipped input := json.RawMessage(`{ "assignee": { @@ -190,7 +190,7 @@ func TestRedactJSON_SentinelPersonSkipped(t *testing.T) { } func TestRedactJSON_EmailsArray(t *testing.T) { - e := NewEngine(ModeAll, "", WithNER(noNER())) + e := mustTestEngine(ModeAll, "", WithNER(noNER())) input := json.RawMessage(`{ "customer": { "type": "customer", @@ -210,7 +210,7 @@ func TestRedactJSON_EmailsArray(t *testing.T) { } func TestRedactJSON_PhonesArray(t *testing.T) { - e := NewEngine(ModeAll, "", WithNER(noNER())) + e := mustTestEngine(ModeAll, "", WithNER(noNER())) input := json.RawMessage(`{ "customer": { "type": "customer", @@ -231,7 +231,7 @@ func TestRedactJSON_PhonesArray(t *testing.T) { func TestRedactJSON_FreeformSubject(t *testing.T) { d := nerWith(NameSpan{Text: "Alice Smith", Start: 11, End: 22, Score: 0.95}) - e := NewEngine(ModeAll, "", WithNER(d)) + e := mustTestEngine(ModeAll, "", WithNER(d)) input := json.RawMessage(`{ "subject": "Email from Alice Smith", "primaryCustomer": {"type":"customer","first":"Alice","last":"Smith","email":"alice@test.com"} @@ -247,7 +247,7 @@ func TestRedactJSON_FreeformSubject(t *testing.T) { } func TestRedactJSON_NestedObjects(t *testing.T) { - e := NewEngine(ModeAll, "", WithNER(noNER())) + e := mustTestEngine(ModeAll, "", WithNER(noNER())) input := json.RawMessage(`{ "conversation": { "threads": [{ @@ -272,7 +272,7 @@ func TestRedactJSON_NestedObjects(t *testing.T) { } func TestRedactJSON_ToCcBccArrays(t *testing.T) { - e := NewEngine(ModeAll, "", WithNER(noNER())) + e := mustTestEngine(ModeAll, "", WithNER(noNER())) input := json.RawMessage(`{ "to": ["alice@test.com", "bob@test.com"], "cc": ["carol@test.com"], @@ -291,7 +291,7 @@ func TestRedactJSON_ToCcBccArrays(t *testing.T) { } func TestRedactJSON_NonRedactableFieldPassthrough(t *testing.T) { - e := NewEngine(ModeAll, "", WithNER(noNER())) + e := mustTestEngine(ModeAll, "", WithNER(noNER())) input := json.RawMessage(`{ "id": 12345, "status": "active", @@ -309,7 +309,7 @@ func TestRedactJSON_NonRedactableFieldPassthrough(t *testing.T) { } func TestRedactJSON_InferEntityType_FromKey(t *testing.T) { - e := NewEngine(ModeCustomers, "", WithNER(noNER())) + e := mustTestEngine(ModeCustomers, "", WithNER(noNER())) // No explicit "type" field — should infer from key "primaryCustomer" input := json.RawMessage(`{ "primaryCustomer": { @@ -329,7 +329,7 @@ func TestRedactJSON_InferEntityType_FromKey(t *testing.T) { } func TestRedactJSON_Deterministic(t *testing.T) { - e := NewEngine(ModeAll, "", WithNER(noNER())) + e := mustTestEngine(ModeAll, "", WithNER(noNER())) input := json.RawMessage(`{ "primaryCustomer": {"type":"customer","first":"Alice","last":"Smith","email":"alice@test.com"} }`) @@ -347,7 +347,7 @@ func TestRedactJSON_Deterministic(t *testing.T) { func TestRedactJSON_StructuredAndFreeformTogether(t *testing.T) { // NER detects name in subject; structured fields also redacted d := nerWith(NameSpan{Text: "Alice Smith", Start: 0, End: 11, Score: 0.95}) - e := NewEngine(ModeAll, "", WithNER(d)) + e := mustTestEngine(ModeAll, "", WithNER(d)) input := json.RawMessage(`{ "subject": "Alice Smith needs help", "primaryCustomer": {"type":"customer","first":"Alice","last":"Smith","email":"alice@test.com"} diff --git a/internal/pii/policy.go b/internal/pii/policy.go index 4c5c5ae..619c64e 100644 --- a/internal/pii/policy.go +++ b/internal/pii/policy.go @@ -26,6 +26,10 @@ func (m Mode) String() string { } } +func (m Mode) Valid() bool { + return m == ModeOff || m == ModeCustomers || m == ModeAll +} + // ParseMode converts configured text into a validated policy mode. func ParseMode(v string) (Mode, error) { switch strings.ToLower(strings.TrimSpace(v)) { diff --git a/internal/pii/secret.go b/internal/pii/secret.go new file mode 100644 index 0000000..986920f --- /dev/null +++ b/internal/pii/secret.go @@ -0,0 +1,37 @@ +package pii + +import ( + "fmt" + "strings" +) + +// Secret is validated key material used for deterministic PII pseudonyms. Its +// value is deliberately opaque so callers cannot accidentally log it. +type Secret struct { + key string +} + +// NewSecret copies arbitrary non-empty key bytes into an opaque Secret. +func NewSecret(value []byte) (Secret, error) { + if len(value) == 0 { + return Secret{}, fmt.Errorf("PII secret must not be empty") + } + return Secret{key: string(append([]byte(nil), value...))}, nil +} + +// NewSecretString validates an operator-supplied secret without trimming it. +// Leading and trailing bytes are part of the established identity contract. +func NewSecretString(value string) (Secret, error) { + if strings.TrimSpace(value) == "" { + return Secret{}, fmt.Errorf("PII secret must not be blank") + } + return Secret{key: value}, nil +} + +func (s Secret) IsZero() bool { + return s.key == "" +} + +func (s Secret) bytes() []byte { + return []byte(s.key) +} diff --git a/internal/pii/secret_test.go b/internal/pii/secret_test.go new file mode 100644 index 0000000..298cf6d --- /dev/null +++ b/internal/pii/secret_test.go @@ -0,0 +1,53 @@ +package pii + +import ( + "strings" + "testing" +) + +func TestNewSecretStringPreservesExplicitBytes(t *testing.T) { + secret, err := NewSecretString(" stable-secret ") + if err != nil { + t.Fatalf("NewSecretString returned error: %v", err) + } + engine, err := NewEngine(ModeAll, secret) + if err != nil { + t.Fatalf("NewEngine returned error: %v", err) + } + + first, last, email := engine.RedactPerson("Alice", "Smith", "ALICE@example.com ") + if first != "Noel" || last != "Barnes" || email != "noel.barnes-8362@anon.local" { + t.Fatalf("explicit secret bytes changed: got %q %q <%s>", first, last, email) + } +} + +func TestNewSecretStringRejectsBlankValues(t *testing.T) { + for _, raw := range []string{"", " ", "\t\r\n"} { + if _, err := NewSecretString(raw); err == nil { + t.Fatalf("NewSecretString(%q) returned no error", raw) + } + } +} + +func TestNewEngineRequiresSecretOnlyWhenEnabled(t *testing.T) { + if _, err := NewEngine(ModeAll, Secret{}); err == nil { + t.Fatal("enabled engine accepted an empty secret") + } + if _, err := NewEngine(ModeCustomers, Secret{}); err == nil { + t.Fatal("customers engine accepted an empty secret") + } + if _, err := NewEngine(ModeOff, Secret{}); err != nil { + t.Fatalf("disabled engine rejected an empty secret: %v", err) + } +} + +func TestNewEngineRejectsInvalidMode(t *testing.T) { + secret, err := NewSecretString("test-secret") + if err != nil { + t.Fatal(err) + } + _, err = NewEngine(Mode(255), secret) + if err == nil || !strings.Contains(err.Error(), "mode") { + t.Fatalf("invalid mode error = %v", err) + } +} diff --git a/internal/pii/secretstore/keyring.go b/internal/pii/secretstore/keyring.go new file mode 100644 index 0000000..3d06fe6 --- /dev/null +++ b/internal/pii/secretstore/keyring.go @@ -0,0 +1,72 @@ +package secretstore + +import ( + "context" + "encoding/base64" + "errors" + "fmt" + + "github.com/operator-kit/hs-cli/internal/pii/setup" + "github.com/zalando/go-keyring" +) + +const ( + keyringService = "hs-cli" + keyringRecord = "pii_identity_secret_v1" +) + +type keyringBackend interface { + Get(service, user string) (string, error) + Set(service, user, password string) error +} + +type packageKeyringBackend struct{} + +func (packageKeyringBackend) Get(service, user string) (string, error) { + return keyring.Get(service, user) +} + +func (packageKeyringBackend) Set(service, user, password string) error { + return keyring.Set(service, user, password) +} + +type KeyringStore struct { + backend keyringBackend +} + +func NewKeyringStore() *KeyringStore { + return newKeyringStore(packageKeyringBackend{}) +} + +func newKeyringStore(backend keyringBackend) *KeyringStore { + return &KeyringStore{backend: backend} +} + +func (s *KeyringStore) Load(ctx context.Context) ([]byte, error) { + if err := ctx.Err(); err != nil { + return nil, err + } + encoded, err := s.backend.Get(keyringService, keyringRecord) + if errors.Is(err, keyring.ErrNotFound) { + return nil, setup.ErrSecretNotFound + } + if err != nil { + return nil, fmt.Errorf("loading PII secret from OS keyring") + } + raw, err := base64.RawURLEncoding.DecodeString(encoded) + if err != nil { + return nil, fmt.Errorf("decoding PII secret from OS keyring") + } + return raw, nil +} + +func (s *KeyringStore) Save(ctx context.Context, raw []byte) error { + if err := ctx.Err(); err != nil { + return err + } + encoded := base64.RawURLEncoding.EncodeToString(raw) + if err := s.backend.Set(keyringService, keyringRecord, encoded); err != nil { + return fmt.Errorf("saving PII secret to OS keyring") + } + return nil +} diff --git a/internal/pii/secretstore/keyring_test.go b/internal/pii/secretstore/keyring_test.go new file mode 100644 index 0000000..96653b9 --- /dev/null +++ b/internal/pii/secretstore/keyring_test.go @@ -0,0 +1,71 @@ +package secretstore + +import ( + "context" + "encoding/base64" + "errors" + "strings" + "testing" + + "github.com/operator-kit/hs-cli/internal/pii/setup" + "github.com/zalando/go-keyring" +) + +type fakeKeyringBackend struct { + value string + getErr error + setErr error +} + +func (b *fakeKeyringBackend) Get(string, string) (string, error) { + return b.value, b.getErr +} + +func (b *fakeKeyringBackend) Set(_, _, value string) error { + b.value = value + return b.setErr +} + +func TestKeyringStoreRoundTrip(t *testing.T) { + backend := &fakeKeyringBackend{} + store := newKeyringStore(backend) + raw := []byte("01234567890123456789012345678901") + + if err := store.Save(context.Background(), raw); err != nil { + t.Fatalf("Save returned error: %v", err) + } + if backend.value != base64.RawURLEncoding.EncodeToString(raw) { + t.Fatal("keyring value did not use the fixed storage encoding") + } + got, err := store.Load(context.Background()) + if err != nil { + t.Fatalf("Load returned error: %v", err) + } + if string(got) != string(raw) { + t.Fatal("keyring round trip changed secret bytes") + } +} + +func TestKeyringStoreMapsNotFound(t *testing.T) { + store := newKeyringStore(&fakeKeyringBackend{getErr: keyring.ErrNotFound}) + _, err := store.Load(context.Background()) + if !errors.Is(err, setup.ErrSecretNotFound) { + t.Fatalf("Load error = %v, want ErrSecretNotFound", err) + } +} + +func TestKeyringStoreRejectsCorruptValueWithoutEchoingIt(t *testing.T) { + const corrupt = "private-corrupt-value!" + store := newKeyringStore(&fakeKeyringBackend{value: corrupt}) + _, err := store.Load(context.Background()) + if err == nil { + t.Fatal("Load accepted corrupt keyring data") + } + if contains := errorContains(err, corrupt); contains { + t.Fatalf("Load error exposed keyring value: %v", err) + } +} + +func errorContains(err error, value string) bool { + return err != nil && len(value) > 0 && strings.Contains(err.Error(), value) +} diff --git a/internal/pii/secretstore/lock.go b/internal/pii/secretstore/lock.go new file mode 100644 index 0000000..576e3fd --- /dev/null +++ b/internal/pii/secretstore/lock.go @@ -0,0 +1,49 @@ +package secretstore + +import ( + "context" + "fmt" + "os" + "path/filepath" +) + +type FileLock struct { + path string +} + +func NewFileLock(path string) *FileLock { + return &FileLock{path: path} +} + +func (l *FileLock) WithLock(ctx context.Context, fn func() error) error { + if l == nil || l.path == "" { + return fmt.Errorf("PII secret initialization lock path is empty") + } + if err := ctx.Err(); err != nil { + return err + } + if err := os.MkdirAll(filepath.Dir(l.path), 0o700); err != nil { + return fmt.Errorf("creating PII secret lock directory: %w", err) + } + file, err := os.OpenFile(l.path, os.O_CREATE|os.O_RDWR, 0o600) + if err != nil { + return fmt.Errorf("opening PII secret initialization lock: %w", err) + } + defer file.Close() + if err := file.Chmod(0o600); err != nil { + return fmt.Errorf("securing PII secret initialization lock: %w", err) + } + if err := acquireFileLock(ctx, file); err != nil { + return fmt.Errorf("acquiring PII secret initialization lock: %w", err) + } + + runErr := fn() + unlockErr := releaseFileLock(file) + if runErr != nil { + return runErr + } + if unlockErr != nil { + return fmt.Errorf("releasing PII secret initialization lock: %w", unlockErr) + } + return nil +} diff --git a/internal/pii/secretstore/lock_test.go b/internal/pii/secretstore/lock_test.go new file mode 100644 index 0000000..a57d654 --- /dev/null +++ b/internal/pii/secretstore/lock_test.go @@ -0,0 +1,85 @@ +package secretstore + +import ( + "context" + "errors" + "path/filepath" + "testing" + "time" +) + +func TestFileLockSerializesCallers(t *testing.T) { + path := filepath.Join(t.TempDir(), "pii-secret.lock") + first := NewFileLock(path) + second := NewFileLock(path) + firstEntered := make(chan struct{}) + releaseFirst := make(chan struct{}) + secondEntered := make(chan struct{}) + errs := make(chan error, 2) + + go func() { + errs <- first.WithLock(context.Background(), func() error { + close(firstEntered) + <-releaseFirst + return nil + }) + }() + <-firstEntered + + go func() { + errs <- second.WithLock(context.Background(), func() error { + close(secondEntered) + return nil + }) + }() + + select { + case <-secondEntered: + t.Fatal("second caller entered while first held the lock") + case <-time.After(75 * time.Millisecond): + } + close(releaseFirst) + + select { + case <-secondEntered: + case <-time.After(2 * time.Second): + t.Fatal("second caller did not enter after lock release") + } + for range 2 { + if err := <-errs; err != nil { + t.Fatalf("WithLock returned error: %v", err) + } + } +} + +func TestFileLockHonorsCancelledContext(t *testing.T) { + path := filepath.Join(t.TempDir(), "pii-secret.lock") + first := NewFileLock(path) + second := NewFileLock(path) + firstEntered := make(chan struct{}) + releaseFirst := make(chan struct{}) + firstDone := make(chan error, 1) + + go func() { + firstDone <- first.WithLock(context.Background(), func() error { + close(firstEntered) + <-releaseFirst + return nil + }) + }() + <-firstEntered + + ctx, cancel := context.WithCancel(context.Background()) + cancel() + err := second.WithLock(ctx, func() error { + t.Fatal("cancelled waiter acquired the lock") + return nil + }) + if !errors.Is(err, context.Canceled) { + t.Fatalf("WithLock error = %v, want context.Canceled", err) + } + close(releaseFirst) + if err := <-firstDone; err != nil { + t.Fatalf("first WithLock returned error: %v", err) + } +} diff --git a/internal/pii/secretstore/lock_unix.go b/internal/pii/secretstore/lock_unix.go new file mode 100644 index 0000000..46bc021 --- /dev/null +++ b/internal/pii/secretstore/lock_unix.go @@ -0,0 +1,33 @@ +//go:build darwin || dragonfly || freebsd || linux || netbsd || openbsd + +package secretstore + +import ( + "context" + "errors" + "os" + "time" + + "golang.org/x/sys/unix" +) + +func acquireFileLock(ctx context.Context, file *os.File) error { + for { + err := unix.Flock(int(file.Fd()), unix.LOCK_EX|unix.LOCK_NB) + if err == nil { + return nil + } + if !errors.Is(err, unix.EWOULDBLOCK) && !errors.Is(err, unix.EAGAIN) { + return err + } + select { + case <-ctx.Done(): + return ctx.Err() + case <-time.After(20 * time.Millisecond): + } + } +} + +func releaseFileLock(file *os.File) error { + return unix.Flock(int(file.Fd()), unix.LOCK_UN) +} diff --git a/internal/pii/secretstore/lock_unsupported.go b/internal/pii/secretstore/lock_unsupported.go new file mode 100644 index 0000000..fdbc3f0 --- /dev/null +++ b/internal/pii/secretstore/lock_unsupported.go @@ -0,0 +1,17 @@ +//go:build !(darwin || dragonfly || freebsd || linux || netbsd || openbsd || windows) + +package secretstore + +import ( + "context" + "fmt" + "os" +) + +func acquireFileLock(context.Context, *os.File) error { + return fmt.Errorf("cross-process file locking is unsupported on this platform") +} + +func releaseFileLock(*os.File) error { + return nil +} diff --git a/internal/pii/secretstore/lock_windows.go b/internal/pii/secretstore/lock_windows.go new file mode 100644 index 0000000..de4826b --- /dev/null +++ b/internal/pii/secretstore/lock_windows.go @@ -0,0 +1,43 @@ +//go:build windows + +package secretstore + +import ( + "context" + "errors" + "os" + "time" + + "golang.org/x/sys/windows" +) + +func acquireFileLock(ctx context.Context, file *os.File) error { + handle := windows.Handle(file.Fd()) + for { + overlapped := new(windows.Overlapped) + err := windows.LockFileEx( + handle, + windows.LOCKFILE_EXCLUSIVE_LOCK|windows.LOCKFILE_FAIL_IMMEDIATELY, + 0, + 1, + 0, + overlapped, + ) + if err == nil { + return nil + } + if !errors.Is(err, windows.ERROR_LOCK_VIOLATION) { + return err + } + select { + case <-ctx.Done(): + return ctx.Err() + case <-time.After(20 * time.Millisecond): + } + } +} + +func releaseFileLock(file *os.File) error { + overlapped := new(windows.Overlapped) + return windows.UnlockFileEx(windows.Handle(file.Fd()), 0, 1, 0, overlapped) +} diff --git a/internal/pii/setup/secret.go b/internal/pii/setup/secret.go new file mode 100644 index 0000000..2e8d7ff --- /dev/null +++ b/internal/pii/setup/secret.go @@ -0,0 +1,132 @@ +package setup + +import ( + "context" + "crypto/rand" + "errors" + "fmt" + "io" + "os" + "strings" + + "github.com/operator-kit/hs-cli/internal/pii" +) + +const ( + EnvSecret = "HS_INBOX_PII_SECRET" + GeneratedSecretBytes = 32 +) + +var ErrSecretNotFound = errors.New("PII secret not found") + +type SecretStore interface { + Load(context.Context) ([]byte, error) + Save(context.Context, []byte) error +} + +type InitializationLock interface { + WithLock(context.Context, func() error) error +} + +// SecretResolver turns operator configuration or installation-local key +// material into the opaque secret required by an enabled PII engine. +type SecretResolver struct { + Store SecretStore + Lock InitializationLock + Random io.Reader + LookupEnv func(string) (string, bool) +} + +func (r *SecretResolver) Resolve(ctx context.Context, mode pii.Mode) (pii.Secret, error) { + if !mode.Valid() { + return pii.Secret{}, fmt.Errorf("invalid PII mode") + } + if !pii.IsEnabled(mode) { + return pii.Secret{}, nil + } + + lookup := r.LookupEnv + if lookup == nil { + lookup = os.LookupEnv + } + if raw, ok := lookup(EnvSecret); ok && strings.TrimSpace(raw) != "" { + secret, err := pii.NewSecretString(raw) + if err != nil { + return pii.Secret{}, unavailableSecretError() + } + return secret, nil + } + + if r.Store == nil { + return pii.Secret{}, unavailableSecretError() + } + raw, err := r.Store.Load(ctx) + switch { + case err == nil: + return storedSecret(raw) + case !errors.Is(err, ErrSecretNotFound): + return pii.Secret{}, unavailableSecretError() + } + + if r.Lock == nil { + return pii.Secret{}, unavailableSecretError() + } + + var resolved pii.Secret + err = r.Lock.WithLock(ctx, func() error { + // Another process may have initialized the key while this caller waited. + raw, loadErr := r.Store.Load(ctx) + switch { + case loadErr == nil: + var secretErr error + resolved, secretErr = storedSecret(raw) + return secretErr + case !errors.Is(loadErr, ErrSecretNotFound): + return unavailableSecretError() + } + + random := r.Random + if random == nil { + random = rand.Reader + } + generated := make([]byte, GeneratedSecretBytes) + if _, randomErr := io.ReadFull(random, generated); randomErr != nil { + return unavailableSecretError() + } + if saveErr := r.Store.Save(ctx, generated); saveErr != nil { + return unavailableSecretError() + } + + // Use the persisted value, not the local candidate. This verifies that + // the backing store accepted the write exactly. + persisted, loadErr := r.Store.Load(ctx) + if loadErr != nil { + return unavailableSecretError() + } + var secretErr error + resolved, secretErr = storedSecret(persisted) + return secretErr + }) + if err != nil { + if ctxErr := ctx.Err(); ctxErr != nil { + return pii.Secret{}, ctxErr + } + return pii.Secret{}, unavailableSecretError() + } + return resolved, nil +} + +func storedSecret(raw []byte) (pii.Secret, error) { + if len(raw) != GeneratedSecretBytes { + return pii.Secret{}, unavailableSecretError() + } + secret, err := pii.NewSecret(raw) + if err != nil { + return pii.Secret{}, unavailableSecretError() + } + return secret, nil +} + +func unavailableSecretError() error { + return fmt.Errorf("PII redaction secret unavailable; set %s to a non-blank private value", EnvSecret) +} diff --git a/internal/pii/setup/secret_test.go b/internal/pii/setup/secret_test.go new file mode 100644 index 0000000..501d326 --- /dev/null +++ b/internal/pii/setup/secret_test.go @@ -0,0 +1,243 @@ +package setup + +import ( + "bytes" + "context" + "errors" + "strings" + "sync" + "testing" + + "github.com/operator-kit/hs-cli/internal/pii" +) + +type memorySecretStore struct { + mu sync.Mutex + value []byte + loadErr error + saveErr error + loadCalls int + saveCalls int +} + +func (s *memorySecretStore) Load(context.Context) ([]byte, error) { + s.mu.Lock() + defer s.mu.Unlock() + s.loadCalls++ + if s.loadErr != nil { + return nil, s.loadErr + } + if s.value == nil { + return nil, ErrSecretNotFound + } + return append([]byte(nil), s.value...), nil +} + +func (s *memorySecretStore) Save(_ context.Context, value []byte) error { + s.mu.Lock() + defer s.mu.Unlock() + s.saveCalls++ + if s.saveErr != nil { + return s.saveErr + } + s.value = append([]byte(nil), value...) + return nil +} + +type memoryInitializationLock struct { + mu sync.Mutex + calls int +} + +func (l *memoryInitializationLock) WithLock(_ context.Context, fn func() error) error { + l.mu.Lock() + defer l.mu.Unlock() + l.calls++ + return fn() +} + +func fixedSecretBytes(value byte) []byte { + return bytes.Repeat([]byte{value}, GeneratedSecretBytes) +} + +func TestSecretResolverEnvironmentOverridesStoreAndPreservesBytes(t *testing.T) { + store := &memorySecretStore{loadErr: errors.New("store must not be called")} + resolver := &SecretResolver{ + Store: store, + LookupEnv: func(string) (string, bool) { + return " stable-secret ", true + }, + } + + got, err := resolver.Resolve(context.Background(), pii.ModeAll) + if err != nil { + t.Fatalf("Resolve returned error: %v", err) + } + want, err := pii.NewSecretString(" stable-secret ") + if err != nil { + t.Fatal(err) + } + if got != want { + t.Fatal("resolver changed explicit environment-secret bytes") + } + if store.loadCalls != 0 || store.saveCalls != 0 { + t.Fatalf("environment override touched store: loads=%d saves=%d", store.loadCalls, store.saveCalls) + } +} + +func TestSecretResolverBlankEnvironmentUsesStoredSecret(t *testing.T) { + stored := fixedSecretBytes(0x21) + store := &memorySecretStore{value: stored} + resolver := &SecretResolver{ + Store: store, + LookupEnv: func(string) (string, bool) { + return " \t ", true + }, + } + + got, err := resolver.Resolve(context.Background(), pii.ModeCustomers) + if err != nil { + t.Fatalf("Resolve returned error: %v", err) + } + want, err := pii.NewSecret(stored) + if err != nil { + t.Fatal(err) + } + if got != want { + t.Fatal("resolver did not use stored secret") + } +} + +func TestSecretResolverGeneratesStoresAndReusesSecret(t *testing.T) { + store := &memorySecretStore{} + lock := &memoryInitializationLock{} + random := fixedSecretBytes(0x42) + resolver := &SecretResolver{ + Store: store, + Lock: lock, + Random: bytes.NewReader(random), + LookupEnv: func(string) (string, bool) { return "", false }, + } + + first, err := resolver.Resolve(context.Background(), pii.ModeAll) + if err != nil { + t.Fatalf("first Resolve returned error: %v", err) + } + second, err := resolver.Resolve(context.Background(), pii.ModeAll) + if err != nil { + t.Fatalf("second Resolve returned error: %v", err) + } + if first != second { + t.Fatal("stored secret was not reused") + } + if !bytes.Equal(store.value, random) { + t.Fatal("generated secret was not persisted exactly") + } + if store.saveCalls != 1 { + t.Fatalf("save calls = %d, want 1", store.saveCalls) + } +} + +func TestSecretResolverOffDoesNotTouchDependencies(t *testing.T) { + resolver := &SecretResolver{ + Store: &memorySecretStore{loadErr: errors.New("store must not be called")}, + Random: errorReader{err: errors.New("random must not be called")}, + LookupEnv: func(string) (string, bool) { + panic("environment must not be read") + }, + } + + got, err := resolver.Resolve(context.Background(), pii.ModeOff) + if err != nil { + t.Fatalf("Resolve returned error: %v", err) + } + if !got.IsZero() { + t.Fatal("off mode returned a secret") + } +} + +func TestSecretResolverStoreFailureIsSafeAndActionable(t *testing.T) { + store := &memorySecretStore{loadErr: errors.New("dbus path /private/user leaked")} + resolver := &SecretResolver{ + Store: store, + LookupEnv: func(string) (string, bool) { return "", false }, + } + + _, err := resolver.Resolve(context.Background(), pii.ModeAll) + if err == nil { + t.Fatal("Resolve returned no error") + } + if !strings.Contains(err.Error(), EnvSecret) { + t.Fatalf("error does not explain environment recovery: %v", err) + } + if strings.Contains(err.Error(), "dbus") || strings.Contains(err.Error(), "/private/user") { + t.Fatalf("error leaked backend details: %v", err) + } +} + +func TestSecretResolverRejectsInvalidStoredSecret(t *testing.T) { + store := &memorySecretStore{value: []byte("short")} + resolver := &SecretResolver{ + Store: store, + LookupEnv: func(string) (string, bool) { return "", false }, + } + + if _, err := resolver.Resolve(context.Background(), pii.ModeAll); err == nil { + t.Fatal("Resolve accepted an invalid stored secret") + } +} + +func TestSecretResolverConcurrentInitializersConverge(t *testing.T) { + const workers = 12 + store := &memorySecretStore{} + lock := &memoryInitializationLock{} + resolver := &SecretResolver{ + Store: store, + Lock: lock, + Random: bytes.NewReader(bytes.Repeat([]byte{0x7c}, GeneratedSecretBytes*workers)), + LookupEnv: func(string) (string, bool) { return "", false }, + } + + results := make(chan pii.Secret, workers) + errs := make(chan error, workers) + var wg sync.WaitGroup + for range workers { + wg.Add(1) + go func() { + defer wg.Done() + secret, err := resolver.Resolve(context.Background(), pii.ModeAll) + results <- secret + errs <- err + }() + } + wg.Wait() + close(results) + close(errs) + + for err := range errs { + if err != nil { + t.Fatalf("Resolve returned error: %v", err) + } + } + var first pii.Secret + for secret := range results { + if first.IsZero() { + first = secret + continue + } + if secret != first { + t.Fatal("concurrent initializers returned different secrets") + } + } + if store.saveCalls != 1 { + t.Fatalf("save calls = %d, want 1", store.saveCalls) + } +} + +type errorReader struct { + err error +} + +func (r errorReader) Read([]byte) (int, error) { + return 0, r.err +} diff --git a/internal/pii/test_helpers_test.go b/internal/pii/test_helpers_test.go new file mode 100644 index 0000000..9052d66 --- /dev/null +++ b/internal/pii/test_helpers_test.go @@ -0,0 +1,22 @@ +package pii + +import "strings" + +func mustTestEngine(mode Mode, rawSecret string, opts ...EngineOption) *Engine { + var secret Secret + if IsEnabled(mode) { + if strings.TrimSpace(rawSecret) == "" { + rawSecret = "unit-test-only-secret" + } + var err error + secret, err = NewSecretString(rawSecret) + if err != nil { + panic(err) + } + } + engine, err := NewEngine(mode, secret, opts...) + if err != nil { + panic(err) + } + return engine +} diff --git a/internal/pii/text_test.go b/internal/pii/text_test.go index 5b5eb9d..6624a7f 100644 --- a/internal/pii/text_test.go +++ b/internal/pii/text_test.go @@ -9,7 +9,7 @@ import ( // --- RedactText regex sweep tests (requires NER to be attached) --- func TestRedactText_EmailInText(t *testing.T) { - e := NewEngine(ModeAll, "", WithNER(noNER())) + e := mustTestEngine(ModeAll, "", WithNER(noNER())) out := e.RedactText("Please email support@example.com for help", nil) if strings.Contains(out, "support@example.com") { t.Fatalf("email should be redacted: %q", out) @@ -17,7 +17,7 @@ func TestRedactText_EmailInText(t *testing.T) { } func TestRedactText_PhoneInText(t *testing.T) { - e := NewEngine(ModeAll, "", WithNER(noNER())) + e := mustTestEngine(ModeAll, "", WithNER(noNER())) out := e.RedactText("Call us at 555-123-4567 for support", nil) if strings.Contains(out, "555-123-4567") { t.Fatalf("phone should be redacted: %q", out) @@ -25,7 +25,7 @@ func TestRedactText_PhoneInText(t *testing.T) { } func TestRedactText_PhoneWithExtension(t *testing.T) { - e := NewEngine(ModeAll, "", WithNER(noNER())) + e := mustTestEngine(ModeAll, "", WithNER(noNER())) out := e.RedactText("Call (800) 555-1234 ext 5678", nil) if strings.Contains(out, "555-1234") { t.Fatalf("phone with ext should be redacted: %q", out) @@ -33,7 +33,7 @@ func TestRedactText_PhoneWithExtension(t *testing.T) { } func TestRedactText_SSN_Formatted(t *testing.T) { - e := NewEngine(ModeAll, "", WithNER(noNER())) + e := mustTestEngine(ModeAll, "", WithNER(noNER())) out := e.RedactText("SSN is 123-45-6789", nil) if strings.Contains(out, "123-45-6789") { t.Fatalf("formatted SSN should be redacted: %q", out) @@ -41,7 +41,7 @@ func TestRedactText_SSN_Formatted(t *testing.T) { } func TestRedactText_SSN_ContextTriggered(t *testing.T) { - e := NewEngine(ModeAll, "", WithNER(noNER())) + e := mustTestEngine(ModeAll, "", WithNER(noNER())) out := e.RedactText("Social security number: 123456789", nil) if strings.Contains(out, "123456789") { t.Fatalf("SSN with context should be redacted: %q", out) @@ -49,7 +49,7 @@ func TestRedactText_SSN_ContextTriggered(t *testing.T) { } func TestRedactText_CreditCard(t *testing.T) { - e := NewEngine(ModeAll, "", WithNER(noNER())) + e := mustTestEngine(ModeAll, "", WithNER(noNER())) out := e.RedactText("Card: 4111-1111-1111-1111", nil) if strings.Contains(out, "4111-1111-1111-1111") { t.Fatalf("credit card should be redacted: %q", out) @@ -57,7 +57,7 @@ func TestRedactText_CreditCard(t *testing.T) { } func TestRedactText_IPv4(t *testing.T) { - e := NewEngine(ModeAll, "", WithNER(noNER())) + e := mustTestEngine(ModeAll, "", WithNER(noNER())) out := e.RedactText("Server at 192.168.1.100 is down", nil) if strings.Contains(out, "192.168.1.100") { t.Fatalf("IPv4 should be redacted: %q", out) @@ -65,7 +65,7 @@ func TestRedactText_IPv4(t *testing.T) { } func TestRedactText_MAC(t *testing.T) { - e := NewEngine(ModeAll, "", WithNER(noNER())) + e := mustTestEngine(ModeAll, "", WithNER(noNER())) out := e.RedactText("Device MAC: AA:BB:CC:DD:EE:FF", nil) if strings.Contains(out, "AA:BB:CC:DD:EE:FF") { t.Fatalf("MAC should be redacted: %q", out) @@ -73,7 +73,7 @@ func TestRedactText_MAC(t *testing.T) { } func TestRedactText_URL(t *testing.T) { - e := NewEngine(ModeAll, "", WithNER(noNER())) + e := mustTestEngine(ModeAll, "", WithNER(noNER())) out := e.RedactText("Visit https://example.com/account/settings for details", nil) if strings.Contains(out, "https://example.com") { t.Fatalf("URL should be redacted: %q", out) @@ -81,7 +81,7 @@ func TestRedactText_URL(t *testing.T) { } func TestRedactText_Address(t *testing.T) { - e := NewEngine(ModeAll, "", WithNER(noNER())) + e := mustTestEngine(ModeAll, "", WithNER(noNER())) out := e.RedactText("Located at 123 Main Street", nil) if strings.Contains(out, "123 Main Street") { t.Fatalf("address should be redacted: %q", out) @@ -89,7 +89,7 @@ func TestRedactText_Address(t *testing.T) { } func TestRedactText_POBox(t *testing.T) { - e := NewEngine(ModeAll, "", WithNER(noNER())) + e := mustTestEngine(ModeAll, "", WithNER(noNER())) out := e.RedactText("Send to P.O. Box 1234", nil) if strings.Contains(out, "P.O. Box 1234") { t.Fatalf("PO Box should be redacted: %q", out) @@ -97,7 +97,7 @@ func TestRedactText_POBox(t *testing.T) { } func TestRedactText_ZipCode(t *testing.T) { - e := NewEngine(ModeAll, "", WithNER(noNER())) + e := mustTestEngine(ModeAll, "", WithNER(noNER())) out := e.RedactText("Zip code is 90210-1234", nil) if strings.Contains(out, "90210-1234") { t.Fatalf("zip code should be redacted: %q", out) @@ -111,7 +111,7 @@ func TestRedactText_MultipleNERSpans(t *testing.T) { NameSpan{Text: "Alice Smith", Start: 0, End: 11, Score: 0.95}, NameSpan{Text: "Bob Jones", Start: 16, End: 25, Score: 0.90}, ) - e := NewEngine(ModeAll, "", WithNER(d)) + e := mustTestEngine(ModeAll, "", WithNER(d)) out := e.RedactText("Alice Smith met Bob Jones today", nil) if strings.Contains(out, "Alice Smith") || strings.Contains(out, "Bob Jones") { t.Fatalf("both NER names should be redacted: %q", out) @@ -123,7 +123,7 @@ func TestRedactText_OverlappingNERSpansCoverUnion(t *testing.T) { NameSpan{Text: "Alice Smith", Start: 0, End: 11, Score: 0.95}, NameSpan{Text: "Smith-Jones", Start: 6, End: 17, Score: 0.90}, ) - e := NewEngine(ModeAll, "", WithNER(d)) + e := mustTestEngine(ModeAll, "", WithNER(d)) out := e.RedactText("Alice Smith-Jones replied", nil) if strings.Contains(out, "Alice") || strings.Contains(out, "Smith") || strings.Contains(out, "Jones") { t.Fatalf("overlapping NER spans should redact their full union: %q", out) @@ -151,7 +151,7 @@ func TestPIIRegression_Critical04_NERNamesWithUnicodeBoundariesAreRedacted(t *te End: start + len(tt.pii), Score: 0.99, }) - e := NewEngine(ModeAll, "", WithNER(d)) + e := mustTestEngine(ModeAll, "", WithNER(d)) out := e.RedactText(tt.text, nil) if strings.Contains(out, tt.pii) { @@ -165,7 +165,7 @@ func TestRedactText_NERAndKnownOverlap(t *testing.T) { // NER detects "Alice Smith", known identity also has Alice Smith // Should not double-redact d := nerWith(NameSpan{Text: "Alice Smith", Start: 0, End: 11, Score: 0.95}) - e := NewEngine(ModeAll, "", WithNER(d)) + e := mustTestEngine(ModeAll, "", WithNER(d)) out := e.RedactText("Alice Smith sent a message", []KnownIdentity{{ Type: "customer", First: "Alice", @@ -184,7 +184,7 @@ func TestRedactText_NERSpanContainsKnownWord(t *testing.T) { // NER detects "Alice Johnson" but known identity has "Alice Smith" // "Alice" is in inserted set, so NER span should be skipped d := nerWith(NameSpan{Text: "Alice Johnson", Start: 0, End: 13, Score: 0.90}) - e := NewEngine(ModeAll, "", WithNER(d)) + e := mustTestEngine(ModeAll, "", WithNER(d)) out := e.RedactText("Alice Johnson wrote a letter", []KnownIdentity{{ Type: "customer", First: "Alice", @@ -199,7 +199,7 @@ func TestRedactText_NERSpanContainsKnownWord(t *testing.T) { func TestRedactText_NERWithRegexSweep(t *testing.T) { // Both a name and an email in the same text d := nerWith(NameSpan{Text: "John Williams", Start: 8, End: 21, Score: 0.95}) - e := NewEngine(ModeAll, "", WithNER(d)) + e := mustTestEngine(ModeAll, "", WithNER(d)) out := e.RedactText("Contact John Williams at john@example.com for help", nil) if strings.Contains(out, "John Williams") { t.Fatalf("NER name should be redacted: %q", out) @@ -210,7 +210,7 @@ func TestRedactText_NERWithRegexSweep(t *testing.T) { } func TestRedactText_ModeCustomers_RedactsCustomer(t *testing.T) { - e := NewEngine(ModeCustomers, "", WithNER(noNER())) + e := mustTestEngine(ModeCustomers, "", WithNER(noNER())) out := e.RedactText("Hello Alice", []KnownIdentity{{ Type: "customer", First: "Alice", @@ -223,7 +223,7 @@ func TestRedactText_ModeCustomers_RedactsCustomer(t *testing.T) { } func TestRedactText_ModeCustomers_ProtectsUserNames(t *testing.T) { - e := NewEngine(ModeCustomers, "", WithNER(noNER())) + e := mustTestEngine(ModeCustomers, "", WithNER(noNER())) known := []KnownIdentity{ {Type: "customer", First: "Alice", Last: "Smith", Email: "alice@example.com"}, {Type: "user", First: "Brenda", Last: "Torres", Email: "brenda@company.com"}, @@ -244,7 +244,7 @@ func TestRedactText_ModeCustomers_NERProtectsUserNames(t *testing.T) { NameSpan{Text: "Brenda Torres", Start: 0, End: 13, Score: 0.95}, NameSpan{Text: "Alice Smith", Start: 22, End: 33, Score: 0.93}, ) - e := NewEngine(ModeCustomers, "", WithNER(d)) + e := mustTestEngine(ModeCustomers, "", WithNER(d)) known := []KnownIdentity{ {Type: "customer", First: "Alice", Last: "Smith", Email: "alice@example.com"}, {Type: "user", First: "Brenda", Last: "Torres", Email: "brenda@company.com"}, @@ -262,7 +262,7 @@ func TestRedactText_ModeAll_RedactsBothTypes(t *testing.T) { d := nerWith( NameSpan{Text: "Brenda Torres", Start: 0, End: 13, Score: 0.95}, ) - e := NewEngine(ModeAll, "", WithNER(d)) + e := mustTestEngine(ModeAll, "", WithNER(d)) known := []KnownIdentity{ {Type: "customer", First: "Alice", Last: "Smith", Email: "alice@example.com"}, {Type: "user", First: "Brenda", Last: "Torres", Email: "brenda@company.com"}, @@ -278,7 +278,7 @@ func TestRedactText_ModeAll_RedactsBothTypes(t *testing.T) { func TestRedactText_MixedPIITypes(t *testing.T) { d := nerWith(NameSpan{Text: "Alice Smith", Start: 0, End: 11, Score: 0.92}) - e := NewEngine(ModeAll, "", WithNER(d)) + e := mustTestEngine(ModeAll, "", WithNER(d)) text := "Alice Smith, email: alice@example.com, phone: 555-123-4567, SSN: 123-45-6789" out := e.RedactText(text, nil) if strings.Contains(out, "Alice Smith") { @@ -296,7 +296,7 @@ func TestRedactText_MixedPIITypes(t *testing.T) { } func TestRedactText_PlainTextNoNames(t *testing.T) { - e := NewEngine(ModeAll, "", WithNER(noNER())) + e := mustTestEngine(ModeAll, "", WithNER(noNER())) // Text with no PII should pass through mostly unchanged text := "The weather is nice today" out := e.RedactText(text, nil) @@ -312,7 +312,7 @@ func (failingNameDetector) DetectNames(string) ([]NameSpan, error) { } func TestRedactText_NERFailureFailsClosed(t *testing.T) { - e := NewEngine(ModeAll, "", WithNER(failingNameDetector{})) + e := mustTestEngine(ModeAll, "", WithNER(failingNameDetector{})) if out := e.RedactText("Alice Smith needs help", nil); out != RedactTextNotice { t.Fatalf("detector failure must hide the field, got %q", out) } @@ -322,8 +322,8 @@ func TestRedactText_NERDeterministicAcrossEngines(t *testing.T) { // Same secret, same NER spans → same output d1 := nerWith(NameSpan{Text: "John Doe", Start: 0, End: 8, Score: 0.95}) d2 := nerWith(NameSpan{Text: "John Doe", Start: 0, End: 8, Score: 0.95}) - e1 := NewEngine(ModeAll, "same-secret", WithNER(d1)) - e2 := NewEngine(ModeAll, "same-secret", WithNER(d2)) + e1 := mustTestEngine(ModeAll, "same-secret", WithNER(d1)) + e2 := mustTestEngine(ModeAll, "same-secret", WithNER(d2)) out1 := e1.RedactText("John Doe is here", nil) out2 := e2.RedactText("John Doe is here", nil) if out1 != out2 { From 0c71c59cb18494f610ee10c121b42fb60c79ce05 Mon Sep 17 00:00:00 2001 From: Ross Morsali Date: Wed, 15 Jul 2026 20:51:05 +0200 Subject: [PATCH 08/34] test: make secret lock assertions race-safe --- internal/pii/secretstore/lock_test.go | 58 +++++++++++++++++++++++---- 1 file changed, 50 insertions(+), 8 deletions(-) diff --git a/internal/pii/secretstore/lock_test.go b/internal/pii/secretstore/lock_test.go index a57d654..4fd2e91 100644 --- a/internal/pii/secretstore/lock_test.go +++ b/internal/pii/secretstore/lock_test.go @@ -15,19 +15,32 @@ func TestFileLockSerializesCallers(t *testing.T) { firstEntered := make(chan struct{}) releaseFirst := make(chan struct{}) secondEntered := make(chan struct{}) - errs := make(chan error, 2) + firstDone := make(chan error, 1) + secondDone := make(chan error, 1) go func() { - errs <- first.WithLock(context.Background(), func() error { + firstDone <- first.WithLock(context.Background(), func() error { close(firstEntered) <-releaseFirst return nil }) }() - <-firstEntered + select { + case <-firstEntered: + case err := <-firstDone: + t.Fatalf("first caller failed to acquire lock: %v", err) + case <-time.After(2 * time.Second): + t.Fatal("first caller did not acquire lock") + } + releasedFirst := false + defer func() { + if !releasedFirst { + close(releaseFirst) + } + }() go func() { - errs <- second.WithLock(context.Background(), func() error { + secondDone <- second.WithLock(context.Background(), func() error { close(secondEntered) return nil }) @@ -36,18 +49,34 @@ func TestFileLockSerializesCallers(t *testing.T) { select { case <-secondEntered: t.Fatal("second caller entered while first held the lock") + case err := <-secondDone: + t.Fatalf("second caller returned while first held the lock: %v", err) case <-time.After(75 * time.Millisecond): } close(releaseFirst) + releasedFirst = true select { case <-secondEntered: + case err := <-secondDone: + secondDone = nil + if err != nil { + t.Fatalf("second caller failed while waiting for lock: %v", err) + } + select { + case <-secondEntered: + default: + t.Fatal("second caller returned without entering the lock") + } case <-time.After(2 * time.Second): t.Fatal("second caller did not enter after lock release") } - for range 2 { - if err := <-errs; err != nil { - t.Fatalf("WithLock returned error: %v", err) + if err := <-firstDone; err != nil { + t.Fatalf("first WithLock returned error: %v", err) + } + if secondDone != nil { + if err := <-secondDone; err != nil { + t.Fatalf("second WithLock returned error: %v", err) } } } @@ -67,7 +96,19 @@ func TestFileLockHonorsCancelledContext(t *testing.T) { return nil }) }() - <-firstEntered + select { + case <-firstEntered: + case err := <-firstDone: + t.Fatalf("first caller failed to acquire lock: %v", err) + case <-time.After(2 * time.Second): + t.Fatal("first caller did not acquire lock") + } + releasedFirst := false + defer func() { + if !releasedFirst { + close(releaseFirst) + } + }() ctx, cancel := context.WithCancel(context.Background()) cancel() @@ -79,6 +120,7 @@ func TestFileLockHonorsCancelledContext(t *testing.T) { t.Fatalf("WithLock error = %v, want context.Canceled", err) } close(releaseFirst) + releasedFirst = true if err := <-firstDone; err != nil { t.Fatalf("first WithLock returned error: %v", err) } From f304833e744f605a9ed551b394dd7c378333b1f8 Mon Sep 17 00:00:00 2001 From: Ross Morsali Date: Wed, 15 Jul 2026 20:51:45 +0200 Subject: [PATCH 09/34] fix: gate PII models by runtime capability --- internal/cmd/pii_model.go | 35 ++++-- internal/pii/ner/model.go | 147 +++++++++++++++++++++----- internal/pii/ner/model_status_test.go | 94 ++++++++++++++++ internal/pii/ner/model_test.go | 6 +- internal/pii/ner/platform.go | 51 +++++++++ internal/pii/ner/platform_test.go | 42 ++++++++ scripts/prepare-pii-model.sh | 27 ++--- 7 files changed, 343 insertions(+), 59 deletions(-) create mode 100644 internal/pii/ner/model_status_test.go create mode 100644 internal/pii/ner/platform.go create mode 100644 internal/pii/ner/platform_test.go diff --git a/internal/cmd/pii_model.go b/internal/cmd/pii_model.go index dc99e3c..f4f4c29 100644 --- a/internal/cmd/pii_model.go +++ b/internal/cmd/pii_model.go @@ -26,7 +26,11 @@ func piiModelInstallCmd() *cobra.Command { Use: "install", Short: "Download PII redaction model for the current platform", RunE: func(cmd *cobra.Command, args []string) error { - if ner.IsModelReady() { + status := ner.Status() + if status.State == ner.ModelUnsupported { + return fmt.Errorf("cannot install PII model: %s", status.Reason) + } + if status.Usable() { fmt.Fprintln(cmd.OutOrStdout(), "PII model already installed.") return nil } @@ -58,15 +62,29 @@ func piiModelStatusCmd() *cobra.Command { Use: "status", Short: "Show PII model installation status", RunE: func(cmd *cobra.Command, args []string) error { - if !ner.IsModelReady() { + status := ner.Status() + switch status.State { + case ner.ModelUnsupported: + fmt.Fprintf(cmd.OutOrStdout(), "PII model: unsupported on %s\n", status.Platform.Key()) + fmt.Fprintln(cmd.OutOrStdout(), status.Reason) + return nil + case ner.ModelAbsent: fmt.Fprintln(cmd.OutOrStdout(), "PII model: not installed") fmt.Fprintln(cmd.OutOrStdout(), "Run 'hs pii-model install' to download.") return nil + case ner.ModelCorrupt: + fmt.Fprintln(cmd.OutOrStdout(), "PII model: corrupt or incomplete") + fmt.Fprintln(cmd.OutOrStdout(), status.Reason) + fmt.Fprintln(cmd.OutOrStdout(), "Run 'hs pii-model install' to replace it.") + return nil + case ner.ModelInstalledUnverified: + fmt.Fprintf(cmd.OutOrStdout(), "PII model: installed, unverified legacy bundle (v%s)\n", ner.ModelVersion) + fmt.Fprintln(cmd.OutOrStdout(), "The files predate trusted-manifest verification.") + case ner.ModelReady: + fmt.Fprintf(cmd.OutOrStdout(), "PII model: installed and verified (v%s)\n", ner.ModelVersion) } - dir, _ := ner.CacheDir() - fmt.Fprintf(cmd.OutOrStdout(), "PII model: installed (v%s)\n", ner.ModelVersion) - fmt.Fprintf(cmd.OutOrStdout(), "Location: %s\n", dir) + fmt.Fprintf(cmd.OutOrStdout(), "Location: %s\n", status.Dir) fmt.Fprintln(cmd.OutOrStdout(), "Model: distilbert-base-multilingual-cased-ner-hrl (INT8)") fmt.Fprintln(cmd.OutOrStdout(), "Languages: Arabic, German, English, Spanish, French, Italian, Latvian, Dutch, Portuguese, Chinese") return nil @@ -79,18 +97,17 @@ func piiModelUninstallCmd() *cobra.Command { Use: "uninstall", Short: "Remove cached PII model files", RunE: func(cmd *cobra.Command, args []string) error { - if !ner.IsModelReady() { + status := ner.Status() + if !status.Present { fmt.Fprintln(cmd.OutOrStdout(), "PII model is not installed.") return nil } - dir, _ := ner.CacheDir() if err := ner.RemoveModel(); err != nil { return fmt.Errorf("uninstall failed: %w", err) } - fmt.Fprintf(cmd.OutOrStdout(), "Removed PII model from %s\n", dir) + fmt.Fprintf(cmd.OutOrStdout(), "Removed PII model from %s\n", status.Dir) return nil }, } } - diff --git a/internal/pii/ner/model.go b/internal/pii/ner/model.go index 991b547..124d9a2 100644 --- a/internal/pii/ner/model.go +++ b/internal/pii/ner/model.go @@ -22,6 +22,33 @@ type Paths struct { ConfigJSON string // config.json } +// ModelState describes whether the current platform can run the model and +// whether a locally cached bundle is complete enough to use. +type ModelState string + +const ( + ModelUnsupported ModelState = "unsupported" + ModelAbsent ModelState = "absent" + ModelInstalledUnverified ModelState = "installed-unverified" + ModelCorrupt ModelState = "corrupt" + ModelReady ModelState = "ready" +) + +// ModelStatus is the read-only result of inspecting the local model cache. +type ModelStatus struct { + State ModelState + Platform Platform + Dir string + Present bool + Reason string +} + +// Usable reports whether the current runtime may load this installation. +// Legacy bundles remain usable during the migration to verified installs. +func (s ModelStatus) Usable() bool { + return s.State == ModelInstalledUnverified || s.State == ModelReady +} + // baseURL is the GitHub release download URL template. const baseURL = "https://github.com/operator-kit/hs-cli/releases/download/pii-model-v%s/pii-model-%s-%s-%s.tar.gz" @@ -61,18 +88,62 @@ func CacheDir() (string, error) { } } -// IsModelReady checks whether the model bundle is present and matches -// the expected version without downloading anything. -func IsModelReady() bool { +// Status inspects the local model cache without downloading anything. +func Status() ModelStatus { + platform := CurrentPlatform() dir, err := CacheDir() if err != nil { - return false + return ModelStatus{State: ModelCorrupt, Platform: platform, Reason: err.Error()} + } + return statusAt(dir, platform) +} + +func statusAt(dir string, platform Platform) ModelStatus { + status := ModelStatus{Platform: platform, Dir: dir} + if info, err := os.Stat(dir); err == nil && info.IsDir() { + status.Present = true } + capability := RuntimeCapabilityFor(platform) + if !capability.Supported { + status.State = ModelUnsupported + status.Reason = capability.Reason + return status + } + data, err := os.ReadFile(filepath.Join(dir, ".version")) + if os.IsNotExist(err) { + status.State = ModelAbsent + return status + } if err != nil { - return false + status.State = ModelCorrupt + status.Reason = fmt.Sprintf("read version marker: %v", err) + return status + } + if strings.TrimSpace(string(data)) != ModelVersion { + status.State = ModelCorrupt + status.Reason = "installed model version does not match this hs version" + return status + } + + paths := pathsAt(dir, platform) + for _, path := range []string{paths.RuntimeLib, paths.ModelONNX, paths.TokenizerJSON, paths.ConfigJSON} { + info, statErr := os.Stat(path) + if statErr != nil || !info.Mode().IsRegular() || info.Size() == 0 { + status.State = ModelCorrupt + status.Reason = fmt.Sprintf("missing or invalid model file %s", filepath.Base(path)) + return status + } } - return strings.TrimSpace(string(data)) == ModelVersion + + status.State = ModelInstalledUnverified + status.Reason = "legacy installation has not been verified against a trusted manifest" + return status +} + +// IsModelReady reports whether the model is usable on the current platform. +func IsModelReady() bool { + return Status().Usable() } // ModelPaths returns resolved paths if the model is installed, or an error. @@ -81,43 +152,51 @@ func ModelPaths() (*Paths, error) { if err != nil { return nil, err } - if !IsModelReady() { - return nil, fmt.Errorf("model not installed (run \"hs pii-model install\")") + status := statusAt(dir, CurrentPlatform()) + if !status.Usable() { + if status.Reason != "" { + return nil, fmt.Errorf("PII model %s: %s", status.State, status.Reason) + } + return nil, fmt.Errorf("PII model %s (run \"hs pii-model install\")", status.State) } + return pathsAt(dir, CurrentPlatform()), nil +} - libName := runtimeLibName() - p := &Paths{ - RuntimeLib: filepath.Join(dir, libName), +func pathsAt(dir string, platform Platform) *Paths { + return &Paths{ + RuntimeLib: filepath.Join(dir, runtimeLibNameFor(platform)), ModelONNX: filepath.Join(dir, "model_quantized.onnx"), TokenizerJSON: filepath.Join(dir, "tokenizer.json"), ConfigJSON: filepath.Join(dir, "config.json"), } - - // Verify all files exist - for _, f := range []string{p.RuntimeLib, p.ModelONNX, p.TokenizerJSON, p.ConfigJSON} { - if _, err := os.Stat(f); err != nil { - return nil, fmt.Errorf("missing file %s: %w", filepath.Base(f), err) - } - } - return p, nil } // EnsureModel downloads and extracts the model bundle if not present. func EnsureModel(progress ProgressFunc) (*Paths, error) { - if IsModelReady() { - return ModelPaths() - } - dir, err := CacheDir() if err != nil { return nil, err } + return ensureModelAt(CurrentPlatform(), dir, progress, downloadAndExtract) +} + +type modelDownloader func(url, dir string, progress ProgressFunc) error + +func ensureModelAt(platform Platform, dir string, progress ProgressFunc, download modelDownloader) (*Paths, error) { + capability := RuntimeCapabilityFor(platform) + if !capability.Supported { + return nil, fmt.Errorf("PII model unsupported: %s", capability.Reason) + } + if status := statusAt(dir, platform); status.Usable() { + return pathsAt(dir, platform), nil + } + if err := os.MkdirAll(dir, 0o755); err != nil { return nil, fmt.Errorf("creating cache dir: %w", err) } - url := bundleURL() - if err := downloadAndExtract(url, dir, progress); err != nil { + url := bundleURLFor(platform) + if err := download(url, dir, progress); err != nil { return nil, fmt.Errorf("download: %w", err) } @@ -126,7 +205,11 @@ func EnsureModel(progress ProgressFunc) (*Paths, error) { return nil, err } - return ModelPaths() + status := statusAt(dir, platform) + if !status.Usable() { + return nil, fmt.Errorf("downloaded PII model is %s: %s", status.State, status.Reason) + } + return pathsAt(dir, platform), nil } // RemoveModel deletes the cached model bundle. @@ -139,11 +222,19 @@ func RemoveModel() error { } func bundleURL() string { - return fmt.Sprintf(baseURL, ModelVersion, ModelVersion, runtime.GOOS, runtime.GOARCH) + return bundleURLFor(CurrentPlatform()) +} + +func bundleURLFor(platform Platform) string { + return fmt.Sprintf(baseURL, ModelVersion, ModelVersion, platform.OS, platform.Arch) } func runtimeLibName() string { - switch runtime.GOOS { + return runtimeLibNameFor(CurrentPlatform()) +} + +func runtimeLibNameFor(platform Platform) string { + switch platform.OS { case "darwin": return "libonnxruntime.dylib" case "windows": diff --git a/internal/pii/ner/model_status_test.go b/internal/pii/ner/model_status_test.go new file mode 100644 index 0000000..444d5ea --- /dev/null +++ b/internal/pii/ner/model_status_test.go @@ -0,0 +1,94 @@ +package ner + +import ( + "os" + "path/filepath" + "testing" +) + +func writeLegacyBundle(t *testing.T, dir string, platform Platform, includeFiles bool) { + t.Helper() + if err := os.MkdirAll(dir, 0o755); err != nil { + t.Fatal(err) + } + if err := os.WriteFile(filepath.Join(dir, ".version"), []byte(ModelVersion), 0o600); err != nil { + t.Fatal(err) + } + if !includeFiles { + return + } + for _, name := range []string{runtimeLibNameFor(platform), "model_quantized.onnx", "tokenizer.json", "config.json"} { + if err := os.WriteFile(filepath.Join(dir, name), []byte("fixture"), 0o600); err != nil { + t.Fatal(err) + } + } +} + +func TestModelStatusUnsupportedEvenWithInstalledFiles(t *testing.T) { + dir := t.TempDir() + platform := Platform{OS: "windows", Arch: "amd64"} + writeLegacyBundle(t, dir, platform, true) + + status := statusAt(dir, platform) + if status.State != ModelUnsupported { + t.Fatalf("status = %s, want %s", status.State, ModelUnsupported) + } + if status.Usable() { + t.Fatal("unsupported runtime reported a usable model") + } +} + +func TestModelStatusVersionMarkerAloneIsCorrupt(t *testing.T) { + dir := t.TempDir() + platform := Platform{OS: "linux", Arch: "amd64"} + writeLegacyBundle(t, dir, platform, false) + + status := statusAt(dir, platform) + if status.State != ModelCorrupt { + t.Fatalf("status = %s, want %s", status.State, ModelCorrupt) + } + if status.Usable() { + t.Fatal("version marker alone reported a usable model") + } +} + +func TestModelStatusDistinguishesAbsentAndInstalledUnverified(t *testing.T) { + platform := Platform{OS: "linux", Arch: "amd64"} + dir := t.TempDir() + if status := statusAt(dir, platform); status.State != ModelAbsent { + t.Fatalf("empty status = %s, want %s", status.State, ModelAbsent) + } + + writeLegacyBundle(t, dir, platform, true) + status := statusAt(dir, platform) + if status.State != ModelInstalledUnverified { + t.Fatalf("installed status = %s, want %s", status.State, ModelInstalledUnverified) + } + if !status.Usable() { + t.Fatal("supported legacy bundle should remain usable until trusted migration is installed") + } +} + +func TestEnsureModelUnsupportedPlatformDoesNotDownloadOrMutateCache(t *testing.T) { + cacheParent := t.TempDir() + cacheDir := filepath.Join(cacheParent, "pii-model") + downloadCalls := 0 + _, err := ensureModelAt( + Platform{OS: "windows", Arch: "amd64"}, + cacheDir, + nil, + func(string, string, ProgressFunc) error { + downloadCalls++ + return nil + }, + ) + if err == nil { + t.Fatal("unsupported install returned no error") + } + if downloadCalls != 0 { + t.Fatalf("download calls = %d, want 0", downloadCalls) + } + if _, statErr := os.Stat(cacheDir); !os.IsNotExist(statErr) { + t.Fatalf("unsupported install mutated cache: %v", statErr) + } +} diff --git a/internal/pii/ner/model_test.go b/internal/pii/ner/model_test.go index 0790fd2..c24ebd4 100644 --- a/internal/pii/ner/model_test.go +++ b/internal/pii/ner/model_test.go @@ -35,7 +35,7 @@ func TestIsModelReady_FalseByDefault(t *testing.T) { } } -func TestIsModelReady_TrueWhenVersionMatches(t *testing.T) { +func TestIsModelReady_FalseWhenOnlyVersionMatches(t *testing.T) { tmpDir := t.TempDir() t.Setenv("XDG_CACHE_HOME", tmpDir) t.Setenv("LOCALAPPDATA", tmpDir) @@ -50,8 +50,8 @@ func TestIsModelReady_TrueWhenVersionMatches(t *testing.T) { if err := os.WriteFile(filepath.Join(dir, ".version"), []byte(ModelVersion), 0o644); err != nil { t.Fatal(err) } - if !IsModelReady() { - t.Fatal("IsModelReady should be true when .version matches") + if IsModelReady() { + t.Fatal("IsModelReady should be false when only .version matches") } } diff --git a/internal/pii/ner/platform.go b/internal/pii/ner/platform.go new file mode 100644 index 0000000..b865cde --- /dev/null +++ b/internal/pii/ner/platform.go @@ -0,0 +1,51 @@ +package ner + +import ( + "fmt" + "runtime" +) + +type Platform struct { + OS string + Arch string +} + +func CurrentPlatform() Platform { + return Platform{OS: runtime.GOOS, Arch: runtime.GOARCH} +} + +func (p Platform) Key() string { + return p.OS + "-" + p.Arch +} + +type RuntimeCapability struct { + Platform Platform + Supported bool + Reason string +} + +var supportedPlatforms = []Platform{ + {OS: "darwin", Arch: "amd64"}, + {OS: "darwin", Arch: "arm64"}, + {OS: "linux", Arch: "amd64"}, + {OS: "linux", Arch: "arm64"}, +} + +func SupportedPlatforms() []Platform { + return append([]Platform(nil), supportedPlatforms...) +} + +func RuntimeCapabilityFor(platform Platform) RuntimeCapability { + for _, supported := range supportedPlatforms { + if platform == supported { + return RuntimeCapability{Platform: platform, Supported: true} + } + } + return RuntimeCapability{ + Platform: platform, + Reason: fmt.Sprintf( + "local NER runtime is not supported on %s; free-form content remains hidden", + platform.Key(), + ), + } +} diff --git a/internal/pii/ner/platform_test.go b/internal/pii/ner/platform_test.go new file mode 100644 index 0000000..02bee50 --- /dev/null +++ b/internal/pii/ner/platform_test.go @@ -0,0 +1,42 @@ +package ner + +import ( + "strings" + "testing" +) + +func TestRuntimeCapabilityMatrix(t *testing.T) { + tests := []struct { + platform Platform + supported bool + }{ + {Platform{OS: "linux", Arch: "amd64"}, true}, + {Platform{OS: "linux", Arch: "arm64"}, true}, + {Platform{OS: "darwin", Arch: "amd64"}, true}, + {Platform{OS: "darwin", Arch: "arm64"}, true}, + {Platform{OS: "windows", Arch: "amd64"}, false}, + {Platform{OS: "windows", Arch: "arm64"}, false}, + {Platform{OS: "freebsd", Arch: "amd64"}, false}, + {Platform{OS: "linux", Arch: "riscv64"}, false}, + } + + for _, tt := range tests { + t.Run(tt.platform.Key(), func(t *testing.T) { + got := RuntimeCapabilityFor(tt.platform) + if got.Supported != tt.supported { + t.Fatalf("Supported = %v, want %v (%s)", got.Supported, tt.supported, got.Reason) + } + if !tt.supported && !strings.Contains(got.Reason, tt.platform.Key()) { + t.Fatalf("unsupported reason %q does not name platform %q", got.Reason, tt.platform.Key()) + } + }) + } +} + +func TestSupportedPlatformsExcludeWindows(t *testing.T) { + for _, platform := range SupportedPlatforms() { + if platform.OS == "windows" { + t.Fatalf("Windows must not be advertised before its runtime smoke test: %+v", platform) + } + } +} diff --git a/scripts/prepare-pii-model.sh b/scripts/prepare-pii-model.sh index 6f8f020..1d83fef 100755 --- a/scripts/prepare-pii-model.sh +++ b/scripts/prepare-pii-model.sh @@ -25,8 +25,6 @@ declare -A ORT_URLS=( ["linux-arm64"]="https://github.com/microsoft/onnxruntime/releases/download/v${ORT_VERSION}/onnxruntime-linux-aarch64-${ORT_VERSION}.tgz" ["darwin-amd64"]="https://github.com/microsoft/onnxruntime/releases/download/v${ORT_VERSION}/onnxruntime-osx-x86_64-${ORT_VERSION}.tgz" ["darwin-arm64"]="https://github.com/microsoft/onnxruntime/releases/download/v${ORT_VERSION}/onnxruntime-osx-arm64-${ORT_VERSION}.tgz" - ["windows-amd64"]="https://github.com/microsoft/onnxruntime/releases/download/v${ORT_VERSION}/onnxruntime-win-x64-${ORT_VERSION}.zip" - ["windows-arm64"]="https://github.com/microsoft/onnxruntime/releases/download/v${ORT_VERSION}/onnxruntime-win-arm64-${ORT_VERSION}.zip" ) # Runtime lib filenames per platform (target name in bundle) @@ -35,11 +33,9 @@ declare -A ORT_LIBS=( ["linux-arm64"]="libonnxruntime.so" ["darwin-amd64"]="libonnxruntime.dylib" ["darwin-arm64"]="libonnxruntime.dylib" - ["windows-amd64"]="onnxruntime.dll" - ["windows-arm64"]="onnxruntime.dll" ) -# Real (versioned) filenames inside ORT archives — avoids symlink issues on Windows. +# Real (versioned) filenames inside ORT archives. # Linux/macOS tarballs ship symlinks (e.g. .so → .so.1 → .so.1.23.0); we extract # the versioned file directly and rename it to the canonical name. declare -A ORT_REAL_LIBS=( @@ -47,8 +43,6 @@ declare -A ORT_REAL_LIBS=( ["linux-arm64"]="libonnxruntime.so.${ORT_VERSION}" ["darwin-amd64"]="libonnxruntime.${ORT_VERSION}.dylib" ["darwin-arm64"]="libonnxruntime.${ORT_VERSION}.dylib" - ["windows-amd64"]="onnxruntime.dll" - ["windows-arm64"]="onnxruntime.dll" ) TMPDIR="$(mktemp -d)" @@ -79,18 +73,13 @@ for platform in "${!ORT_URLS[@]}"; do mkdir -p "$bundledir" real_lib="${ORT_REAL_LIBS[$platform]}" - if [[ "$url" == *.zip ]]; then - unzip -q -j "$ort_file" "**/lib/${lib}" -d "$bundledir" 2>/dev/null || \ - unzip -q -j "$ort_file" "**/${lib}" -d "$bundledir" - else - # Extract the real (versioned) file, not the symlink - ort_extract="$TMPDIR/ort-extract-${platform}" - mkdir -p "$ort_extract" - tar xzf "$ort_file" -C "$ort_extract" --wildcards "**/lib/${real_lib}" 2>/dev/null || \ - tar xzf "$ort_file" -C "$ort_extract" --wildcards "**/${real_lib}" - find "$ort_extract" -name "$real_lib" -exec cp {} "$bundledir/${lib}" \; - rm -rf "$ort_extract" - fi + # Extract the real (versioned) file, not the symlink. + ort_extract="$TMPDIR/ort-extract-${platform}" + mkdir -p "$ort_extract" + tar xzf "$ort_file" -C "$ort_extract" --wildcards "**/lib/${real_lib}" 2>/dev/null || \ + tar xzf "$ort_file" -C "$ort_extract" --wildcards "**/${real_lib}" + find "$ort_extract" -name "$real_lib" -exec cp {} "$bundledir/${lib}" \; + rm -rf "$ort_extract" if [[ ! -f "$bundledir/${lib}" ]]; then echo " ERROR: failed to extract ${lib} for ${platform}" From f4416c34310a2b7d48d8fefb17c0f927888c1860 Mon Sep 17 00:00:00 2001 From: Ross Morsali Date: Wed, 15 Jul 2026 21:19:30 +0200 Subject: [PATCH 10/34] fix: verify and atomically install PII models --- .github/workflows/pii-model.yml | 91 +++- internal/cmd/pii_model.go | 60 ++- internal/cmd/pii_model_test.go | 41 ++ internal/pii/ner/installer.go | 535 +++++++++++++++++++ internal/pii/ner/installer_test.go | 686 +++++++++++++++++++++++++ internal/pii/ner/manifest.go | 263 ++++++++++ internal/pii/ner/manifest_test.go | 100 ++++ internal/pii/ner/model.go | 338 ++++++------ internal/pii/ner/model_status_test.go | 23 +- internal/pii/ner/model_test.go | 261 ++-------- internal/pii/ner/ner.go | 26 + internal/pii/ner/release_test.go | 125 +++++ internal/pii/ner/runtime_smoke_test.go | 24 + internal/pii/ner/trusted_manifest.json | 105 ++++ internal/pii/text_test.go | 7 + scripts/pii-model-sources.json | 74 +++ scripts/prepare-pii-model.sh | 250 +++++---- 17 files changed, 2482 insertions(+), 527 deletions(-) create mode 100644 internal/cmd/pii_model_test.go create mode 100644 internal/pii/ner/installer.go create mode 100644 internal/pii/ner/installer_test.go create mode 100644 internal/pii/ner/manifest.go create mode 100644 internal/pii/ner/manifest_test.go create mode 100644 internal/pii/ner/release_test.go create mode 100644 internal/pii/ner/runtime_smoke_test.go create mode 100644 internal/pii/ner/trusted_manifest.json create mode 100644 scripts/pii-model-sources.json diff --git a/.github/workflows/pii-model.yml b/.github/workflows/pii-model.yml index d70c3f0..6bdf878 100644 --- a/.github/workflows/pii-model.yml +++ b/.github/workflows/pii-model.yml @@ -6,30 +6,111 @@ on: - "pii-model-v*" permissions: - contents: write + contents: read jobs: build: runs-on: ubuntu-latest + outputs: + version: ${{ steps.version.outputs.version }} steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6 + + - uses: actions/setup-go@924ae3a1cded613372ab5595356fb5720e22ba16 # v6 + with: + go-version-file: go.mod - name: Extract version from tag id: version run: | TAG="${GITHUB_REF#refs/tags/pii-model-v}" + LOCKED="$(jq -r '.bundle_version' scripts/pii-model-sources.json)" + if [[ "$TAG" != "$LOCKED" ]]; then + echo "tag version $TAG does not match source lock $LOCKED" >&2 + exit 1 + fi echo "version=$TAG" >> "$GITHUB_OUTPUT" + - name: Verify embedded trust manifest + run: go test ./internal/pii/ner -run 'TestTrustedManifest' -count=1 + - name: Build platform bundles run: ./scripts/prepare-pii-model.sh dist/pii-model env: PII_MODEL_VERSION: ${{ steps.version.outputs.version }} + - name: Verify release asset and manifest coverage + run: | + jq -S . internal/pii/ner/trusted_manifest.json > /tmp/expected-manifest.json + jq -S . dist/pii-model/trusted_manifest.json > /tmp/generated-manifest.json + cmp /tmp/expected-manifest.json /tmp/generated-manifest.json + + mapfile -t platforms < <(jq -r '.onnx_runtime.platforms[] | "\(.goos)-\(.goarch)"' scripts/pii-model-sources.json) + test "$(find dist/pii-model -maxdepth 1 -name 'pii-model-*.tar.gz' | wc -l)" -eq "${#platforms[@]}" + for platform in "${platforms[@]}"; do + asset="pii-model-${{ steps.version.outputs.version }}-${platform}.tar.gz" + test -f "dist/pii-model/${asset}" + test -f "dist/pii-model/${asset}.sha256" + (cd dist/pii-model && sha256sum -c "${asset}.sha256") + done + + - name: Upload verified bundle set + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 + with: + name: pii-model-bundles + path: dist/pii-model + + smoke: + needs: build + strategy: + fail-fast: false + matrix: + include: + - runner: ubuntu-24.04 + platform: linux-amd64 + - runner: ubuntu-24.04-arm + platform: linux-arm64 + - runner: macos-15-intel + platform: darwin-amd64 + - runner: macos-15 + platform: darwin-arm64 + runs-on: ${{ matrix.runner }} + steps: + - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6 + + - uses: actions/setup-go@924ae3a1cded613372ab5595356fb5720e22ba16 # v6 + with: + go-version-file: go.mod + + - uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8 + with: + name: pii-model-bundles + path: dist/pii-model + + - name: Execute runtime and model smoke test + run: | + mkdir -p smoke-model + tar xzf "dist/pii-model/pii-model-${{ needs.build.outputs.version }}-${{ matrix.platform }}.tar.gz" -C smoke-model + HS_PII_MODEL_SMOKE_DIR="$PWD/smoke-model" go test ./internal/pii/ner -run TestRuntimeBundleSmoke -count=1 -timeout=5m + + release: + needs: [build, smoke] + runs-on: ubuntu-latest + permissions: + contents: write + steps: + - uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8 + with: + name: pii-model-bundles + path: dist/pii-model + - name: Create release and upload assets run: | - gh release create "pii-model-v${{ steps.version.outputs.version }}" \ - --title "PII Model v${{ steps.version.outputs.version }}" \ + gh release create "pii-model-v${{ needs.build.outputs.version }}" \ + --title "PII Model v${{ needs.build.outputs.version }}" \ --notes "PII redaction model bundle (distilbert-base-multilingual-cased-ner-hrl, INT8 quantized) + ONNX Runtime." \ - dist/pii-model/pii-model-*.tar.gz + dist/pii-model/pii-model-*.tar.gz \ + dist/pii-model/pii-model-*.tar.gz.sha256 \ + dist/pii-model/trusted_manifest.json env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/internal/cmd/pii_model.go b/internal/cmd/pii_model.go index f4f4c29..bfec08f 100644 --- a/internal/cmd/pii_model.go +++ b/internal/cmd/pii_model.go @@ -2,6 +2,8 @@ package cmd import ( "fmt" + "io" + "path/filepath" "github.com/spf13/cobra" @@ -37,7 +39,7 @@ func piiModelInstallCmd() *cobra.Command { fmt.Fprintf(cmd.OutOrStdout(), "Downloading PII model v%s...\n", ner.ModelVersion) - _, err := ner.EnsureModel(func(read, total int64) { + paths, err := ner.EnsureModelContext(cmd.Context(), func(read, total int64) { if total > 0 { pct := float64(read) / float64(total) * 100 fmt.Fprintf(cmd.ErrOrStderr(), "\r %.0f%% (%d / %d MB)", pct, read/1024/1024, total/1024/1024) @@ -50,8 +52,7 @@ func piiModelInstallCmd() *cobra.Command { return fmt.Errorf("install failed: %w", err) } - dir, _ := ner.CacheDir() - fmt.Fprintf(cmd.OutOrStdout(), "Model installed to %s\n", dir) + fmt.Fprintf(cmd.OutOrStdout(), "Model installed to %s\n", filepath.Dir(paths.ModelONNX)) return nil }, } @@ -62,36 +63,39 @@ func piiModelStatusCmd() *cobra.Command { Use: "status", Short: "Show PII model installation status", RunE: func(cmd *cobra.Command, args []string) error { - status := ner.Status() - switch status.State { - case ner.ModelUnsupported: - fmt.Fprintf(cmd.OutOrStdout(), "PII model: unsupported on %s\n", status.Platform.Key()) - fmt.Fprintln(cmd.OutOrStdout(), status.Reason) - return nil - case ner.ModelAbsent: - fmt.Fprintln(cmd.OutOrStdout(), "PII model: not installed") - fmt.Fprintln(cmd.OutOrStdout(), "Run 'hs pii-model install' to download.") - return nil - case ner.ModelCorrupt: - fmt.Fprintln(cmd.OutOrStdout(), "PII model: corrupt or incomplete") - fmt.Fprintln(cmd.OutOrStdout(), status.Reason) - fmt.Fprintln(cmd.OutOrStdout(), "Run 'hs pii-model install' to replace it.") - return nil - case ner.ModelInstalledUnverified: - fmt.Fprintf(cmd.OutOrStdout(), "PII model: installed, unverified legacy bundle (v%s)\n", ner.ModelVersion) - fmt.Fprintln(cmd.OutOrStdout(), "The files predate trusted-manifest verification.") - case ner.ModelReady: - fmt.Fprintf(cmd.OutOrStdout(), "PII model: installed and verified (v%s)\n", ner.ModelVersion) - } - - fmt.Fprintf(cmd.OutOrStdout(), "Location: %s\n", status.Dir) - fmt.Fprintln(cmd.OutOrStdout(), "Model: distilbert-base-multilingual-cased-ner-hrl (INT8)") - fmt.Fprintln(cmd.OutOrStdout(), "Languages: Arabic, German, English, Spanish, French, Italian, Latvian, Dutch, Portuguese, Chinese") + writePIIModelStatus(cmd.OutOrStdout(), ner.Status()) return nil }, } } +func writePIIModelStatus(out io.Writer, status ner.ModelStatus) { + switch status.State { + case ner.ModelUnsupported: + fmt.Fprintf(out, "PII model: unsupported on %s\n", status.Platform.Key()) + fmt.Fprintln(out, status.Reason) + return + case ner.ModelAbsent: + fmt.Fprintln(out, "PII model: not installed") + fmt.Fprintln(out, "Run 'hs pii-model install' to download.") + return + case ner.ModelCorrupt: + fmt.Fprintln(out, "PII model: corrupt or incomplete") + fmt.Fprintln(out, status.Reason) + fmt.Fprintln(out, "Run 'hs pii-model install' to replace it.") + return + case ner.ModelInstalledUnverified: + fmt.Fprintf(out, "PII model: installed, unverified legacy bundle (v%s)\n", ner.ModelVersion) + fmt.Fprintln(out, "The files predate trusted-manifest verification and will not be loaded.") + case ner.ModelReady: + fmt.Fprintf(out, "PII model: installed and verified (v%s)\n", ner.ModelVersion) + } + + fmt.Fprintf(out, "Location: %s\n", status.Dir) + fmt.Fprintln(out, "Model: distilbert-base-multilingual-cased-ner-hrl (INT8)") + fmt.Fprintln(out, "Languages: Arabic, German, English, Spanish, French, Italian, Latvian, Dutch, Portuguese, Chinese") +} + func piiModelUninstallCmd() *cobra.Command { return &cobra.Command{ Use: "uninstall", diff --git a/internal/cmd/pii_model_test.go b/internal/cmd/pii_model_test.go new file mode 100644 index 0000000..193ccfd --- /dev/null +++ b/internal/cmd/pii_model_test.go @@ -0,0 +1,41 @@ +package cmd + +import ( + "bytes" + "strings" + "testing" + + "github.com/operator-kit/hs-cli/internal/pii/ner" +) + +func TestPIIModelCommandStatusExplainsUnsupportedRuntime(t *testing.T) { + var output bytes.Buffer + writePIIModelStatus(&output, ner.ModelStatus{ + State: ner.ModelUnsupported, + Platform: ner.Platform{OS: "windows", Arch: "amd64"}, + Reason: "local NER runtime is not supported on windows-amd64; free-form content remains hidden", + }) + got := output.String() + for _, want := range []string{"unsupported on windows-amd64", "free-form content remains hidden"} { + if !strings.Contains(got, want) { + t.Fatalf("status output %q does not contain %q", got, want) + } + } + if strings.Contains(got, "installed and verified") { + t.Fatalf("unsupported status claimed readiness: %q", got) + } +} + +func TestPIIModelCommandStatusRejectsLegacyTrust(t *testing.T) { + var output bytes.Buffer + writePIIModelStatus(&output, ner.ModelStatus{ + State: ner.ModelInstalledUnverified, + Dir: "legacy-cache", + }) + got := output.String() + for _, want := range []string{"unverified legacy bundle", "will not be loaded"} { + if !strings.Contains(got, want) { + t.Fatalf("status output %q does not contain %q", got, want) + } + } +} diff --git a/internal/pii/ner/installer.go b/internal/pii/ner/installer.go new file mode 100644 index 0000000..6203e2f --- /dev/null +++ b/internal/pii/ner/installer.go @@ -0,0 +1,535 @@ +package ner + +import ( + "archive/tar" + "compress/gzip" + "context" + "crypto/sha256" + "encoding/hex" + "fmt" + "io" + "net/http" + "os" + "path" + "path/filepath" + "strings" + "time" +) + +const ( + defaultInstallTimeout = 15 * time.Minute + defaultResponseHeaderTimeout = 30 * time.Second + defaultMaxRedirects = 3 + staleStagingAge = 24 * time.Hour +) + +type InstallLimits struct { + OperationTimeout time.Duration +} + +type RuntimeValidator func(context.Context, *Paths) error + +type BundleInstaller struct { + Client *http.Client + CacheRoot string + Platform Platform + Manifest TrustedManifest + Limits InstallLimits + ResolveURL func(BundleManifest) string + ValidateRuntime RuntimeValidator +} + +func NewBundleInstaller(cacheRoot string, platform Platform, manifest TrustedManifest) *BundleInstaller { + return &BundleInstaller{ + Client: defaultModelHTTPClient(), + CacheRoot: cacheRoot, + Platform: platform, + Manifest: manifest, + Limits: InstallLimits{OperationTimeout: defaultInstallTimeout}, + ValidateRuntime: validateRuntimeBundle, + } +} + +func defaultModelHTTPClient() *http.Client { + transport := http.DefaultTransport.(*http.Transport).Clone() + transport.ResponseHeaderTimeout = defaultResponseHeaderTimeout + return &http.Client{ + Transport: transport, + CheckRedirect: func(req *http.Request, via []*http.Request) error { + if len(via) >= defaultMaxRedirects { + return fmt.Errorf("stopped after %d redirects", defaultMaxRedirects) + } + if req.URL.Scheme != "https" || req.URL.Host == "" || req.URL.User != nil { + return fmt.Errorf("refusing non-HTTPS model redirect") + } + return nil + }, + } +} + +func (i *BundleInstaller) Install(ctx context.Context, progress ProgressFunc) (*Paths, error) { + if i == nil { + return nil, fmt.Errorf("PII model installer is nil") + } + capability := RuntimeCapabilityFor(i.Platform) + if !capability.Supported { + return nil, fmt.Errorf("PII model unsupported: %s", capability.Reason) + } + if i.CacheRoot == "" { + return nil, fmt.Errorf("PII model cache root is empty") + } + if err := i.Manifest.Validate(); err != nil { + return nil, fmt.Errorf("trusted PII model manifest: %w", err) + } + bundle, err := i.Manifest.BundleFor(i.Platform) + if err != nil { + return nil, err + } + if i.ValidateRuntime == nil { + return nil, fmt.Errorf("PII model runtime validator is required") + } + client := i.Client + if client == nil { + client = defaultModelHTTPClient() + } + + if status := statusAtWithManifest(i.CacheRoot, i.Platform, i.Manifest); status.State == ModelReady { + return pathsAt(status.Dir, i.Platform), nil + } + + timeout := i.Limits.OperationTimeout + if timeout <= 0 { + timeout = defaultInstallTimeout + } + ctx, cancel := context.WithTimeout(ctx, timeout) + defer cancel() + + stagingRoot, err := prepareStagingRoot(i.CacheRoot) + if err != nil { + return nil, fmt.Errorf("create PII model staging root: %w", err) + } + stage, err := os.MkdirTemp(stagingRoot, "install-") + if err != nil { + return nil, fmt.Errorf("create PII model staging directory: %w", err) + } + if err := os.Chmod(stage, 0o700); err != nil { + _ = os.RemoveAll(stage) + return nil, fmt.Errorf("secure PII model staging directory: %w", err) + } + cleanupStage := true + defer func() { + if cleanupStage { + _ = os.RemoveAll(stage) + } + }() + + archivePath := filepath.Join(stage, bundle.Archive.Filename) + rawURL := bundle.Archive.URL + if i.ResolveURL != nil { + rawURL = i.ResolveURL(bundle) + } + if err := downloadTrustedArchive(ctx, client, rawURL, archivePath, bundle.Archive, progress); err != nil { + return nil, fmt.Errorf("download trusted PII model archive: %w", err) + } + + contentDir := filepath.Join(stage, "content") + if err := os.Mkdir(contentDir, 0o700); err != nil { + return nil, fmt.Errorf("create staged PII model content: %w", err) + } + if err := extractTrustedArchive(archivePath, contentDir, bundle); err != nil { + return nil, fmt.Errorf("extract trusted PII model archive: %w", err) + } + + stagedPaths := pathsAt(contentDir, i.Platform) + validationDone := make(chan error, 1) + go func() { + validationDone <- i.ValidateRuntime(ctx, stagedPaths) + }() + select { + case err := <-validationDone: + if err != nil { + return nil, fmt.Errorf("validate staged PII model runtime: %w", err) + } + case <-ctx.Done(): + // The native runtime call cannot be forcibly interrupted safely. Leave + // its private staging directory in place while this process exits; the + // bounded stale-staging cleanup removes it on a later invocation. + cleanupStage = false + return nil, fmt.Errorf("validate staged PII model runtime: %w", ctx.Err()) + } + if err := ctx.Err(); err != nil { + return nil, fmt.Errorf("validate staged PII model runtime: %w", err) + } + if err := writeReadyMarker(contentDir, i.Platform, bundle, i.Manifest); err != nil { + return nil, fmt.Errorf("write PII model ready marker: %w", err) + } + + finalDir := trustedInstallDir(i.CacheRoot, i.Platform, bundle) + if err := promoteTrustedInstall(contentDir, finalDir, i.CacheRoot, i.Platform, i.Manifest); err != nil { + return nil, fmt.Errorf("promote trusted PII model: %w", err) + } + + status := statusAtWithManifest(i.CacheRoot, i.Platform, i.Manifest) + if status.State != ModelReady { + return nil, fmt.Errorf("promoted PII model is %s: %s", status.State, status.Reason) + } + return pathsAt(status.Dir, i.Platform), nil +} + +func downloadTrustedArchive( + ctx context.Context, + client *http.Client, + rawURL string, + destination string, + expected ArchiveManifest, + progress ProgressFunc, +) error { + request, err := http.NewRequestWithContext(ctx, http.MethodGet, rawURL, nil) + if err != nil { + return fmt.Errorf("create request: %w", err) + } + response, err := client.Do(request) + if err != nil { + return fmt.Errorf("request archive: %w", err) + } + defer response.Body.Close() + if response.StatusCode != http.StatusOK { + return fmt.Errorf("HTTP %d", response.StatusCode) + } + if response.ContentLength >= 0 && response.ContentLength != expected.Size { + return fmt.Errorf("declared content length %d, want %d", response.ContentLength, expected.Size) + } + if expected.Size > expected.MaxSize { + return fmt.Errorf("trusted archive size %d exceeds limit %d", expected.Size, expected.MaxSize) + } + + file, err := os.OpenFile(destination, os.O_CREATE|os.O_EXCL|os.O_WRONLY, 0o600) + if err != nil { + return fmt.Errorf("create staged archive: %w", err) + } + hash := sha256.New() + written, copyErr := copyExactArchive(io.MultiWriter(file, hash), response.Body, expected.Size, progress) + closeErr := file.Close() + if copyErr != nil { + return copyErr + } + if closeErr != nil { + return fmt.Errorf("close staged archive: %w", closeErr) + } + if written != expected.Size { + return fmt.Errorf("archive size %d, want %d", written, expected.Size) + } + actualHash := hex.EncodeToString(hash.Sum(nil)) + if actualHash != expected.SHA256 { + return fmt.Errorf("archive SHA-256 %s does not match trusted manifest", actualHash) + } + return nil +} + +func copyExactArchive(destination io.Writer, source io.Reader, expected int64, progress ProgressFunc) (int64, error) { + if expected <= 0 { + return 0, fmt.Errorf("expected archive size must be positive") + } + buffer := make([]byte, 32*1024) + var written int64 + emptyReads := 0 + for { + remaining := expected - written + readSize := int64(len(buffer)) + if remaining < readSize { + readSize = remaining + 1 + } + if readSize <= 0 { + readSize = 1 + } + n, readErr := source.Read(buffer[:readSize]) + if n == 0 && readErr == nil { + emptyReads++ + if emptyReads >= 100 { + return written, io.ErrNoProgress + } + continue + } + emptyReads = 0 + if n > 0 { + if int64(n) > remaining { + return written, fmt.Errorf("archive exceeds trusted size %d", expected) + } + count, writeErr := destination.Write(buffer[:n]) + written += int64(count) + if writeErr != nil { + return written, fmt.Errorf("write staged archive: %w", writeErr) + } + if count != n { + return written, io.ErrShortWrite + } + if progress != nil { + progress(written, expected) + } + } + if readErr != nil { + if readErr == io.EOF { + break + } + return written, fmt.Errorf("read archive response: %w", readErr) + } + } + if written != expected { + return written, fmt.Errorf("archive ended at %d bytes, want %d", written, expected) + } + return written, nil +} + +func extractTrustedArchive(archivePath, destination string, bundle BundleManifest) error { + archive, err := os.Open(archivePath) + if err != nil { + return err + } + defer archive.Close() + gzipReader, err := gzip.NewReader(archive) + if err != nil { + return fmt.Errorf("gzip header: %w", err) + } + defer gzipReader.Close() + + expected := make(map[string]FileManifest, len(bundle.Files)) + for _, file := range bundle.Files { + expected[file.Name] = file + } + seen := make(map[string]struct{}, len(expected)) + tarReader := tar.NewReader(gzipReader) + var expanded int64 + for { + header, nextErr := tarReader.Next() + if nextErr == io.EOF { + break + } + if nextErr != nil { + return fmt.Errorf("tar stream: %w", nextErr) + } + + name, root, nameErr := strictArchiveName(header.Name) + if nameErr != nil { + return nameErr + } + if root { + if header.Typeflag != tar.TypeDir { + return fmt.Errorf("archive root entry must be a directory") + } + continue + } + if header.Typeflag != tar.TypeReg && header.Typeflag != tar.TypeRegA { + return fmt.Errorf("archive entry %q has forbidden type %d", header.Name, header.Typeflag) + } + spec, ok := expected[name] + if !ok { + return fmt.Errorf("archive contains unexpected file %q", name) + } + if _, duplicate := seen[name]; duplicate { + return fmt.Errorf("archive contains duplicate file %q", name) + } + if header.Size != spec.Size { + return fmt.Errorf("archive file %q has size %d, want %d", name, header.Size, spec.Size) + } + if header.Size > bundle.MaxExpandedSize-expanded { + return fmt.Errorf("archive exceeds expanded size limit %d", bundle.MaxExpandedSize) + } + expanded += header.Size + if err := extractTrustedFile(tarReader, filepath.Join(destination, name), spec); err != nil { + return err + } + seen[name] = struct{}{} + } + // tar stops at its end markers; drain gzip so its checksum and trailer are + // verified before the staged content can be promoted. + if _, err := io.Copy(io.Discard, gzipReader); err != nil { + return fmt.Errorf("gzip trailer: %w", err) + } + if len(seen) != len(expected) { + missing := make([]string, 0, len(expected)-len(seen)) + for name := range expected { + if _, ok := seen[name]; !ok { + missing = append(missing, name) + } + } + return fmt.Errorf("archive is missing required files: %s", strings.Join(missing, ", ")) + } + return nil +} + +func strictArchiveName(raw string) (name string, root bool, err error) { + if raw == "." || raw == "./" { + return "", true, nil + } + if raw == "" || strings.ContainsRune(raw, '\x00') || strings.Contains(raw, "\\") || path.IsAbs(raw) { + return "", false, fmt.Errorf("archive entry has unsafe path %q", raw) + } + name = strings.TrimPrefix(raw, "./") + if name == "" || name == "." || name == ".." || path.Clean(name) != name || + strings.HasPrefix(name, "../") || strings.Contains(name, "/") { + return "", false, fmt.Errorf("archive entry has unsafe path %q", raw) + } + return name, false, nil +} + +func extractTrustedFile(reader io.Reader, destination string, expected FileManifest) error { + file, err := os.OpenFile(destination, os.O_CREATE|os.O_EXCL|os.O_WRONLY, 0o600) + if err != nil { + return fmt.Errorf("create staged file %q: %w", expected.Name, err) + } + hash := sha256.New() + written, copyErr := io.CopyN(io.MultiWriter(file, hash), reader, expected.Size) + if copyErr != nil { + _ = file.Close() + return fmt.Errorf("extract file %q: %w", expected.Name, copyErr) + } + if written != expected.Size { + _ = file.Close() + return fmt.Errorf("file %q size %d, want %d", expected.Name, written, expected.Size) + } + actualHash := hex.EncodeToString(hash.Sum(nil)) + if actualHash != expected.SHA256 { + _ = file.Close() + return fmt.Errorf("file %q SHA-256 %s does not match trusted manifest", expected.Name, actualHash) + } + if err := file.Sync(); err != nil { + _ = file.Close() + return fmt.Errorf("sync staged file %q: %w", expected.Name, err) + } + if err := file.Close(); err != nil { + return fmt.Errorf("close staged file %q: %w", expected.Name, err) + } + return nil +} + +func promoteTrustedInstall(contentDir, finalDir, cacheRoot string, platform Platform, manifest TrustedManifest) error { + if status := statusAtWithManifest(cacheRoot, platform, manifest); status.State == ModelReady { + return nil + } + parent := filepath.Dir(finalDir) + if err := ensureInstallParent(cacheRoot, parent); err != nil { + return err + } + + var replaced string + if _, err := os.Lstat(finalDir); err == nil { + placeholder, tempErr := os.MkdirTemp(parent, ".replaced-") + if tempErr != nil { + return tempErr + } + if removeErr := os.Remove(placeholder); removeErr != nil { + return removeErr + } + replaced = placeholder + if renameErr := os.Rename(finalDir, replaced); renameErr != nil { + return renameErr + } + } else if !os.IsNotExist(err) { + return err + } + + if err := os.Rename(contentDir, finalDir); err != nil { + if replaced != "" { + _ = os.Rename(replaced, finalDir) + } + if status := statusAtWithManifest(cacheRoot, platform, manifest); status.State == ModelReady { + if replaced != "" { + _ = os.RemoveAll(replaced) + } + return nil + } + return err + } + if replaced != "" { + _ = os.RemoveAll(replaced) + } + return nil +} + +func prepareStagingRoot(cacheRoot string) (string, error) { + if err := ensurePrivateDirectory(cacheRoot); err != nil { + return "", err + } + stagingRoot := filepath.Join(cacheRoot, ".staging") + if err := ensurePrivateDirectory(stagingRoot); err != nil { + return "", err + } + if err := cleanupStaleStaging(stagingRoot, time.Now()); err != nil { + return "", err + } + return stagingRoot, nil +} + +func cleanupStaleStaging(stagingRoot string, now time.Time) error { + entries, err := os.ReadDir(stagingRoot) + if err != nil { + return err + } + cutoff := now.Add(-staleStagingAge) + for _, entry := range entries { + if !strings.HasPrefix(entry.Name(), "install-") { + continue + } + target := filepath.Join(stagingRoot, entry.Name()) + info, err := os.Lstat(target) + if err != nil { + if os.IsNotExist(err) { + continue + } + return err + } + if info.ModTime().After(cutoff) { + continue + } + if err := os.RemoveAll(target); err != nil { + return fmt.Errorf("remove stale staging entry %s: %w", entry.Name(), err) + } + } + return nil +} + +func ensureInstallParent(cacheRoot, parent string) error { + root, err := filepath.Abs(cacheRoot) + if err != nil { + return err + } + target, err := filepath.Abs(parent) + if err != nil { + return err + } + relative, err := filepath.Rel(root, target) + if err != nil || relative == "." || relative == ".." || strings.HasPrefix(relative, ".."+string(filepath.Separator)) { + return fmt.Errorf("install path escapes cache root") + } + if err := ensurePrivateDirectory(root); err != nil { + return err + } + current := root + for _, component := range strings.Split(relative, string(filepath.Separator)) { + if component == "" || component == "." || component == ".." { + return fmt.Errorf("install path contains unsafe component %q", component) + } + current = filepath.Join(current, component) + if err := ensurePrivateDirectory(current); err != nil { + return err + } + } + return nil +} + +func ensurePrivateDirectory(dir string) error { + info, err := os.Lstat(dir) + if os.IsNotExist(err) { + if err := os.MkdirAll(dir, 0o700); err != nil { + return err + } + info, err = os.Lstat(dir) + } + if err != nil { + return err + } + if info.Mode()&os.ModeSymlink != 0 || !info.IsDir() { + return fmt.Errorf("%s is not a real directory", dir) + } + return os.Chmod(dir, 0o700) +} diff --git a/internal/pii/ner/installer_test.go b/internal/pii/ner/installer_test.go new file mode 100644 index 0000000..e979f28 --- /dev/null +++ b/internal/pii/ner/installer_test.go @@ -0,0 +1,686 @@ +package ner + +import ( + "archive/tar" + "bytes" + "compress/gzip" + "context" + "crypto/sha256" + "encoding/hex" + "errors" + "io" + "net/http" + "net/http/httptest" + "os" + "path/filepath" + "strings" + "sync" + "sync/atomic" + "testing" + "time" +) + +var fixturePlatform = Platform{OS: "linux", Arch: "amd64"} + +type roundTripFunc func(*http.Request) (*http.Response, error) + +func (f roundTripFunc) RoundTrip(request *http.Request) (*http.Response, error) { + return f(request) +} + +type tarFixtureEntry struct { + Name string + Body []byte + Typeflag byte + Linkname string +} + +func fixtureContents(platform Platform) map[string][]byte { + return map[string][]byte{ + "config.json": []byte("{\"id2label\":{\"0\":\"O\",\"1\":\"B-PER\"}}"), + "model_quantized.onnx": []byte("tiny-model-fixture"), + "tokenizer.json": []byte("{\"model\":{\"type\":\"WordPiece\"}}"), + runtimeLibNameFor(platform): []byte("tiny-runtime-fixture"), + } +} + +func regularFixtureEntries(platform Platform, contents map[string][]byte) []tarFixtureEntry { + names := []string{"config.json", "model_quantized.onnx", "tokenizer.json", runtimeLibNameFor(platform)} + entries := []tarFixtureEntry{{Name: "./", Typeflag: tar.TypeDir}} + for _, name := range names { + entries = append(entries, tarFixtureEntry{Name: "./" + name, Body: contents[name], Typeflag: tar.TypeReg}) + } + return entries +} + +func makeFixtureArchive(t *testing.T, entries []tarFixtureEntry) []byte { + t.Helper() + var buffer bytes.Buffer + gzipWriter := gzip.NewWriter(&buffer) + tarWriter := tar.NewWriter(gzipWriter) + for _, entry := range entries { + typeflag := entry.Typeflag + if typeflag == 0 { + typeflag = tar.TypeReg + } + size := int64(0) + if typeflag == tar.TypeReg || typeflag == tar.TypeRegA { + size = int64(len(entry.Body)) + } + header := &tar.Header{ + Name: entry.Name, + Mode: 0o777, + Size: size, + Typeflag: typeflag, + Linkname: entry.Linkname, + } + if err := tarWriter.WriteHeader(header); err != nil { + t.Fatal(err) + } + if size > 0 { + if _, err := tarWriter.Write(entry.Body); err != nil { + t.Fatal(err) + } + } + } + if err := tarWriter.Close(); err != nil { + t.Fatal(err) + } + if err := gzipWriter.Close(); err != nil { + t.Fatal(err) + } + return buffer.Bytes() +} + +func fixtureManifestForArchive( + t *testing.T, + platform Platform, + archive []byte, + contents map[string][]byte, + mutate func(*BundleManifest), +) TrustedManifest { + t.Helper() + manifest, err := LoadTrustedManifest() + if err != nil { + t.Fatal(err) + } + manifest.Bundles = append([]BundleManifest(nil), manifest.Bundles...) + index := -1 + for candidate := range manifest.Bundles { + if manifest.Bundles[candidate].Platform() == platform { + index = candidate + break + } + } + if index < 0 { + t.Fatalf("fixture platform %s missing from manifest", platform.Key()) + } + bundle := manifest.Bundles[index] + bundle.Files = nil + var expanded int64 + for _, name := range []string{"config.json", "model_quantized.onnx", "tokenizer.json", runtimeLibNameFor(platform)} { + data := contents[name] + sum := sha256.Sum256(data) + bundle.Files = append(bundle.Files, FileManifest{ + Name: name, + SHA256: hex.EncodeToString(sum[:]), + Size: int64(len(data)), + }) + expanded += int64(len(data)) + } + archiveSum := sha256.Sum256(archive) + bundle.Archive.SHA256 = hex.EncodeToString(archiveSum[:]) + bundle.Archive.Size = int64(len(archive)) + bundle.Archive.MaxSize = int64(len(archive)) + 1024 + bundle.MaxExpandedSize = expanded + 1024 + if mutate != nil { + mutate(&bundle) + } + manifest.Bundles[index] = bundle + manifest.fingerprint = "" + if err := manifest.Validate(); err != nil { + t.Fatalf("fixture manifest is invalid: %v", err) + } + return manifest +} + +type servedInstaller struct { + installer *BundleInstaller + requests *atomic.Int32 +} + +func newServedInstaller( + t *testing.T, + manifest TrustedManifest, + archive []byte, + status int, + validator RuntimeValidator, +) servedInstaller { + t.Helper() + requests := new(atomic.Int32) + server := httptest.NewServer(http.HandlerFunc(func(writer http.ResponseWriter, request *http.Request) { + requests.Add(1) + if status != http.StatusOK { + writer.WriteHeader(status) + return + } + writer.Header().Set("Content-Type", "application/gzip") + writer.WriteHeader(http.StatusOK) + _, _ = writer.Write(archive) + })) + t.Cleanup(server.Close) + installer := NewBundleInstaller(t.TempDir(), fixturePlatform, manifest) + installer.Client = server.Client() + installer.ResolveURL = func(BundleManifest) string { return server.URL } + installer.ValidateRuntime = validator + return servedInstaller{installer: installer, requests: requests} +} + +func TestInstallerTrustedBundlePromotesAtomically(t *testing.T) { + contents := fixtureContents(fixturePlatform) + archive := makeFixtureArchive(t, regularFixtureEntries(fixturePlatform, contents)) + manifest := fixtureManifestForArchive(t, fixturePlatform, archive, contents, nil) + validatorCalls := 0 + served := newServedInstaller(t, manifest, archive, http.StatusOK, func(ctx context.Context, paths *Paths) error { + validatorCalls++ + for _, path := range []string{paths.RuntimeLib, paths.ModelONNX, paths.TokenizerJSON, paths.ConfigJSON} { + if _, err := os.Stat(path); err != nil { + return err + } + } + return ctx.Err() + }) + + var progress [][2]int64 + paths, err := served.installer.Install(context.Background(), func(read, total int64) { + progress = append(progress, [2]int64{read, total}) + }) + if err != nil { + t.Fatalf("Install: %v", err) + } + if validatorCalls != 1 { + t.Fatalf("validator calls = %d, want 1", validatorCalls) + } + if served.requests.Load() != 1 { + t.Fatalf("requests = %d, want 1", served.requests.Load()) + } + if len(progress) == 0 { + t.Fatal("progress callback was not called") + } + var previous int64 + for _, event := range progress { + if event[0] < previous || event[0] > event[1] || event[1] != int64(len(archive)) { + t.Fatalf("invalid progress sequence: %v", progress) + } + previous = event[0] + } + if previous != int64(len(archive)) { + t.Fatalf("final progress = %d, want %d", previous, len(archive)) + } + + status := statusAtWithManifest(served.installer.CacheRoot, fixturePlatform, manifest) + if status.State != ModelReady || !status.Usable() { + t.Fatalf("status = %+v, want ready", status) + } + if filepath.Dir(paths.ModelONNX) != status.Dir { + t.Fatalf("paths resolve to %q, status dir is %q", filepath.Dir(paths.ModelONNX), status.Dir) + } + bundle, err := manifest.BundleFor(fixturePlatform) + if err != nil { + t.Fatal(err) + } + if _, err := os.Stat(filepath.Join(status.Dir, bundle.Archive.Filename)); !os.IsNotExist(err) { + t.Fatalf("download archive was promoted with content: %v", err) + } + for name, want := range contents { + got, err := os.ReadFile(filepath.Join(status.Dir, name)) + if err != nil { + t.Fatal(err) + } + if !bytes.Equal(got, want) { + t.Fatalf("%s content changed", name) + } + } + + again, err := served.installer.Install(context.Background(), nil) + if err != nil { + t.Fatalf("second Install: %v", err) + } + if served.requests.Load() != 1 || validatorCalls != 1 { + t.Fatalf("idempotent install repeated work: requests=%d validators=%d", served.requests.Load(), validatorCalls) + } + if again.ModelONNX != paths.ModelONNX { + t.Fatalf("idempotent paths changed: %q != %q", again.ModelONNX, paths.ModelONNX) + } +} + +func TestInstallerRejectsMutatedArchiveBeforeExtraction(t *testing.T) { + contents := fixtureContents(fixturePlatform) + archive := makeFixtureArchive(t, regularFixtureEntries(fixturePlatform, contents)) + manifest := fixtureManifestForArchive(t, fixturePlatform, archive, contents, nil) + mutated := append([]byte(nil), archive...) + mutated[len(mutated)/2] ^= 0xff + served := newServedInstaller(t, manifest, mutated, http.StatusOK, func(context.Context, *Paths) error { + t.Fatal("runtime validator ran for a mutated archive") + return nil + }) + + _, err := served.installer.Install(context.Background(), nil) + if err == nil || !strings.Contains(err.Error(), "SHA-256") { + t.Fatalf("mutated archive error = %v", err) + } + assertNoFinalInstall(t, served.installer, manifest) +} + +func TestInstallerRejectsInnerFileHashMismatch(t *testing.T) { + contents := fixtureContents(fixturePlatform) + archive := makeFixtureArchive(t, regularFixtureEntries(fixturePlatform, contents)) + manifest := fixtureManifestForArchive(t, fixturePlatform, archive, contents, func(bundle *BundleManifest) { + bundle.Files[0].SHA256 = strings.Repeat("0", 64) + }) + served := newServedInstaller(t, manifest, archive, http.StatusOK, func(context.Context, *Paths) error { + t.Fatal("runtime validator ran for an inner hash mismatch") + return nil + }) + if _, err := served.installer.Install(context.Background(), nil); err == nil || !strings.Contains(err.Error(), "file") { + t.Fatalf("inner hash error = %v", err) + } + assertNoFinalInstall(t, served.installer, manifest) +} + +func TestInstallerRejectsUnsafeOrIncompleteArchive(t *testing.T) { + contents := fixtureContents(fixturePlatform) + regular := regularFixtureEntries(fixturePlatform, contents) + wrongSize := append([]tarFixtureEntry(nil), regular...) + wrongSize[1].Body = append(append([]byte(nil), wrongSize[1].Body...), 'x') + tests := []struct { + name string + entries []tarFixtureEntry + }{ + {"missing", regular[:len(regular)-1]}, + {"unexpected", append([]tarFixtureEntry{{Name: "unexpected.txt", Body: []byte("x"), Typeflag: tar.TypeReg}}, regular...)}, + {"duplicate", append([]tarFixtureEntry{{Name: "config.json", Body: contents["config.json"], Typeflag: tar.TypeReg}}, regular...)}, + {"traversal", append([]tarFixtureEntry{{Name: "../outside", Body: []byte("x"), Typeflag: tar.TypeReg}}, regular...)}, + {"absolute", append([]tarFixtureEntry{{Name: "/outside", Body: []byte("x"), Typeflag: tar.TypeReg}}, regular...)}, + {"windows-separator", append([]tarFixtureEntry{{Name: "..\\outside", Body: []byte("x"), Typeflag: tar.TypeReg}}, regular...)}, + {"symlink", append([]tarFixtureEntry{{Name: "config.json", Typeflag: tar.TypeSymlink, Linkname: "outside"}}, regular[2:]...)}, + {"hardlink", append([]tarFixtureEntry{{Name: "config.json", Typeflag: tar.TypeLink, Linkname: "outside"}}, regular[2:]...)}, + {"fifo", append([]tarFixtureEntry{{Name: "config.json", Typeflag: tar.TypeFifo}}, regular[2:]...)}, + {"device", append([]tarFixtureEntry{{Name: "config.json", Typeflag: tar.TypeChar}}, regular[2:]...)}, + {"nested-directory", append([]tarFixtureEntry{{Name: "nested/", Typeflag: tar.TypeDir}}, regular...)}, + {"wrong-file-size", wrongSize}, + } + for _, test := range tests { + t.Run(test.name, func(t *testing.T) { + archive := makeFixtureArchive(t, test.entries) + manifest := fixtureManifestForArchive(t, fixturePlatform, archive, contents, nil) + served := newServedInstaller(t, manifest, archive, http.StatusOK, func(context.Context, *Paths) error { + t.Fatal("runtime validator ran for an unsafe archive") + return nil + }) + if _, err := served.installer.Install(context.Background(), nil); err == nil { + t.Fatal("unsafe archive was accepted") + } + assertNoFinalInstall(t, served.installer, manifest) + }) + } +} + +func TestInstallerRejectsOversizedAndTruncatedResponses(t *testing.T) { + contents := fixtureContents(fixturePlatform) + archive := makeFixtureArchive(t, regularFixtureEntries(fixturePlatform, contents)) + manifest := fixtureManifestForArchive(t, fixturePlatform, archive, contents, nil) + + t.Run("oversized", func(t *testing.T) { + oversized := append(append([]byte(nil), archive...), 0) + served := newServedInstaller(t, manifest, oversized, http.StatusOK, func(context.Context, *Paths) error { + return nil + }) + var maxProgress int64 + _, err := served.installer.Install(context.Background(), func(read, _ int64) { + if read > maxProgress { + maxProgress = read + } + }) + if err == nil { + t.Fatal("oversized response was accepted") + } + if maxProgress > int64(len(archive)) { + t.Fatalf("progress exceeded trusted size: %d > %d", maxProgress, len(archive)) + } + }) + + t.Run("truncated-gzip", func(t *testing.T) { + truncated := archive[:len(archive)-8] + truncatedManifest := fixtureManifestForArchive(t, fixturePlatform, truncated, contents, nil) + served := newServedInstaller(t, truncatedManifest, truncated, http.StatusOK, func(context.Context, *Paths) error { + return nil + }) + if _, err := served.installer.Install(context.Background(), nil); err == nil { + t.Fatal("truncated gzip stream was accepted") + } + }) +} + +func TestInstallerFailureLeavesPriorTrustedInstallUntouched(t *testing.T) { + firstContents := fixtureContents(fixturePlatform) + firstArchive := makeFixtureArchive(t, regularFixtureEntries(fixturePlatform, firstContents)) + firstManifest := fixtureManifestForArchive(t, fixturePlatform, firstArchive, firstContents, nil) + first := newServedInstaller(t, firstManifest, firstArchive, http.StatusOK, func(context.Context, *Paths) error { + return nil + }) + paths, err := first.installer.Install(context.Background(), nil) + if err != nil { + t.Fatal(err) + } + before, err := os.ReadFile(paths.ConfigJSON) + if err != nil { + t.Fatal(err) + } + + secondContents := fixtureContents(fixturePlatform) + secondContents["config.json"] = []byte("{\"replacement\":true}") + secondArchive := makeFixtureArchive(t, regularFixtureEntries(fixturePlatform, secondContents)) + secondManifest := fixtureManifestForArchive(t, fixturePlatform, secondArchive, secondContents, nil) + second := newServedInstaller(t, secondManifest, secondArchive, http.StatusOK, func(context.Context, *Paths) error { + return errors.New("smoke inference failed") + }) + second.installer.CacheRoot = first.installer.CacheRoot + if _, err := second.installer.Install(context.Background(), nil); err == nil || !strings.Contains(err.Error(), "smoke inference failed") { + t.Fatalf("replacement error = %v", err) + } + + after, err := os.ReadFile(paths.ConfigJSON) + if err != nil { + t.Fatalf("previous installation disappeared: %v", err) + } + if !bytes.Equal(after, before) { + t.Fatal("failed replacement changed the previous installation") + } + if status := statusAtWithManifest(first.installer.CacheRoot, fixturePlatform, firstManifest); status.State != ModelReady { + t.Fatalf("previous manifest status = %+v", status) + } + assertNoFinalInstall(t, second.installer, secondManifest) +} + +func TestInstallerConcurrentInstallsConverge(t *testing.T) { + contents := fixtureContents(fixturePlatform) + archive := makeFixtureArchive(t, regularFixtureEntries(fixturePlatform, contents)) + manifest := fixtureManifestForArchive(t, fixturePlatform, archive, contents, nil) + validationBarrier := make(chan struct{}) + var validations atomic.Int32 + var release sync.Once + served := newServedInstaller(t, manifest, archive, http.StatusOK, func(context.Context, *Paths) error { + if validations.Add(1) == 2 { + release.Do(func() { close(validationBarrier) }) + } + <-validationBarrier + return nil + }) + + errorsFound := make(chan error, 2) + for range 2 { + go func() { + _, err := served.installer.Install(context.Background(), nil) + errorsFound <- err + }() + } + for range 2 { + if err := <-errorsFound; err != nil { + t.Fatalf("concurrent Install: %v", err) + } + } + if status := statusAtWithManifest(served.installer.CacheRoot, fixturePlatform, manifest); status.State != ModelReady { + t.Fatalf("concurrent status = %+v", status) + } + stagingEntries, err := os.ReadDir(filepath.Join(served.installer.CacheRoot, ".staging")) + if err != nil { + t.Fatal(err) + } + if len(stagingEntries) != 0 { + t.Fatalf("concurrent install left staging entries: %v", stagingEntries) + } +} + +func TestInstallerRejectsHTTPFailureAndCancellation(t *testing.T) { + contents := fixtureContents(fixturePlatform) + archive := makeFixtureArchive(t, regularFixtureEntries(fixturePlatform, contents)) + manifest := fixtureManifestForArchive(t, fixturePlatform, archive, contents, nil) + + t.Run("non-200", func(t *testing.T) { + served := newServedInstaller(t, manifest, nil, http.StatusNotFound, func(context.Context, *Paths) error { + return nil + }) + if _, err := served.installer.Install(context.Background(), nil); err == nil || !strings.Contains(err.Error(), "404") { + t.Fatalf("HTTP failure error = %v", err) + } + assertNoFinalInstall(t, served.installer, manifest) + }) + + t.Run("cancelled", func(t *testing.T) { + requests := new(atomic.Int32) + server := httptest.NewServer(http.HandlerFunc(func(writer http.ResponseWriter, request *http.Request) { + requests.Add(1) + <-request.Context().Done() + })) + defer server.Close() + installer := NewBundleInstaller(t.TempDir(), fixturePlatform, manifest) + installer.Client = server.Client() + installer.ResolveURL = func(BundleManifest) string { return server.URL } + installer.ValidateRuntime = func(context.Context, *Paths) error { return nil } + ctx, cancel := context.WithTimeout(context.Background(), 20*time.Millisecond) + defer cancel() + if _, err := installer.Install(ctx, nil); err == nil { + t.Fatal("cancelled request returned no error") + } + if requests.Load() != 1 { + t.Fatalf("requests = %d, want 1", requests.Load()) + } + assertNoFinalInstall(t, installer, manifest) + }) +} + +func TestInstallerRuntimeValidationHonorsContextCancellation(t *testing.T) { + contents := fixtureContents(fixturePlatform) + archive := makeFixtureArchive(t, regularFixtureEntries(fixturePlatform, contents)) + manifest := fixtureManifestForArchive(t, fixturePlatform, archive, contents, nil) + started := make(chan struct{}) + release := make(chan struct{}) + finished := make(chan struct{}) + served := newServedInstaller(t, manifest, archive, http.StatusOK, func(context.Context, *Paths) error { + close(started) + <-release + close(finished) + return nil + }) + ctx, cancel := context.WithCancel(context.Background()) + result := make(chan error, 1) + go func() { + _, err := served.installer.Install(ctx, nil) + result <- err + }() + <-started + begin := time.Now() + cancel() + var err error + select { + case err = <-result: + case <-time.After(time.Second): + t.Fatal("cancelled runtime validation did not return") + } + if err == nil || !errors.Is(err, context.Canceled) { + t.Fatalf("runtime cancellation error = %v", err) + } + if elapsed := time.Since(begin); elapsed > time.Second { + t.Fatalf("runtime cancellation took %v", elapsed) + } + close(release) + <-finished + + bundle, _ := manifest.BundleFor(fixturePlatform) + if _, err := os.Stat(trustedInstallDir(served.installer.CacheRoot, fixturePlatform, bundle)); !os.IsNotExist(err) { + t.Fatalf("timed-out runtime produced a final install: %v", err) + } + staging := filepath.Join(served.installer.CacheRoot, ".staging") + entries, err := os.ReadDir(staging) + if err != nil { + t.Fatal(err) + } + if len(entries) != 1 { + t.Fatalf("timed-out native validation staging entries = %d, want 1", len(entries)) + } + old := time.Now().Add(-staleStagingAge - time.Hour) + if err := os.Chtimes(filepath.Join(staging, entries[0].Name()), old, old); err != nil { + t.Fatal(err) + } + if err := cleanupStaleStaging(staging, time.Now()); err != nil { + t.Fatal(err) + } + if entries, err := os.ReadDir(staging); err != nil || len(entries) != 0 { + t.Fatalf("stale timed-out staging was not cleaned: entries=%v error=%v", entries, err) + } +} + +func TestInstallerRejectsInvalidManifestBeforeRequestOrCacheMutation(t *testing.T) { + contents := fixtureContents(fixturePlatform) + archive := makeFixtureArchive(t, regularFixtureEntries(fixturePlatform, contents)) + manifest := fixtureManifestForArchive(t, fixturePlatform, archive, contents, nil) + manifest.ModelVersion = "wrong" + cacheRoot := filepath.Join(t.TempDir(), "pii-model") + requests := 0 + installer := &BundleInstaller{ + Client: &http.Client{Transport: roundTripFunc(func(*http.Request) (*http.Response, error) { + requests++ + return nil, errors.New("unexpected request") + })}, + CacheRoot: cacheRoot, + Platform: fixturePlatform, + Manifest: manifest, + ValidateRuntime: func(context.Context, *Paths) error { return nil }, + } + if _, err := installer.Install(context.Background(), nil); err == nil { + t.Fatal("invalid manifest was accepted") + } + if requests != 0 { + t.Fatalf("invalid manifest issued %d requests", requests) + } + if _, err := os.Stat(cacheRoot); !os.IsNotExist(err) { + t.Fatalf("invalid manifest mutated cache: %v", err) + } +} + +func TestInstallerRejectsSymlinkedStagingRoot(t *testing.T) { + contents := fixtureContents(fixturePlatform) + archive := makeFixtureArchive(t, regularFixtureEntries(fixturePlatform, contents)) + manifest := fixtureManifestForArchive(t, fixturePlatform, archive, contents, nil) + served := newServedInstaller(t, manifest, archive, http.StatusOK, func(context.Context, *Paths) error { + return nil + }) + cacheRoot := t.TempDir() + outside := t.TempDir() + if err := os.Symlink(outside, filepath.Join(cacheRoot, ".staging")); err != nil { + t.Skipf("symlinks unavailable: %v", err) + } + served.installer.CacheRoot = cacheRoot + if _, err := served.installer.Install(context.Background(), nil); err == nil || !strings.Contains(err.Error(), "real directory") { + t.Fatalf("symlinked staging error = %v", err) + } + if served.requests.Load() != 0 { + t.Fatalf("symlinked staging issued %d requests", served.requests.Load()) + } + entries, err := os.ReadDir(outside) + if err != nil { + t.Fatal(err) + } + if len(entries) != 0 { + t.Fatalf("symlink target was mutated: %v", entries) + } +} + +func TestCleanupStaleStagingIsBoundedToOldInstallerEntries(t *testing.T) { + staging := t.TempDir() + old := filepath.Join(staging, "install-old") + fresh := filepath.Join(staging, "install-fresh") + unrelated := filepath.Join(staging, "operator-note") + for _, path := range []string{old, fresh, unrelated} { + if err := os.Mkdir(path, 0o700); err != nil { + t.Fatal(err) + } + } + now := time.Now() + oldTime := now.Add(-staleStagingAge - time.Hour) + if err := os.Chtimes(old, oldTime, oldTime); err != nil { + t.Fatal(err) + } + if err := cleanupStaleStaging(staging, now); err != nil { + t.Fatal(err) + } + if _, err := os.Stat(old); !os.IsNotExist(err) { + t.Fatalf("old installer staging survived: %v", err) + } + for _, path := range []string{fresh, unrelated} { + if _, err := os.Stat(path); err != nil { + t.Fatalf("cleanup removed %s: %v", filepath.Base(path), err) + } + } +} + +func TestReadyMarkerIsWrittenOnlyOnceAndStatusDetectsDamage(t *testing.T) { + contents := fixtureContents(fixturePlatform) + archive := makeFixtureArchive(t, regularFixtureEntries(fixturePlatform, contents)) + manifest := fixtureManifestForArchive(t, fixturePlatform, archive, contents, nil) + served := newServedInstaller(t, manifest, archive, http.StatusOK, func(context.Context, *Paths) error { + return nil + }) + paths, err := served.installer.Install(context.Background(), nil) + if err != nil { + t.Fatal(err) + } + bundle, _ := manifest.BundleFor(fixturePlatform) + if err := writeReadyMarker(filepath.Dir(paths.ModelONNX), fixturePlatform, bundle, manifest); err == nil { + t.Fatal("ready marker was overwritten") + } + if err := os.Truncate(paths.ConfigJSON, 1); err != nil { + t.Fatal(err) + } + status := statusAtWithManifest(served.installer.CacheRoot, fixturePlatform, manifest) + if status.State != ModelCorrupt || status.Usable() { + t.Fatalf("damaged install status = %+v", status) + } +} + +func assertNoFinalInstall(t *testing.T, installer *BundleInstaller, manifest TrustedManifest) { + t.Helper() + bundle, err := manifest.BundleFor(installer.Platform) + if err != nil { + t.Fatal(err) + } + final := trustedInstallDir(installer.CacheRoot, installer.Platform, bundle) + if _, err := os.Lstat(final); !os.IsNotExist(err) { + t.Fatalf("failed install left final directory %q: %v", final, err) + } + staging := filepath.Join(installer.CacheRoot, ".staging") + entries, err := os.ReadDir(staging) + if err != nil && !os.IsNotExist(err) { + t.Fatal(err) + } + if len(entries) != 0 { + t.Fatalf("failed install left staging entries: %v", entries) + } +} + +func TestCopyExactArchiveRejectsShortWrite(t *testing.T) { + writer := shortWriter{} + if _, err := copyExactArchive(writer, bytes.NewReader([]byte("abcd")), 4, nil); !errors.Is(err, io.ErrShortWrite) { + t.Fatalf("short write error = %v", err) + } +} + +type shortWriter struct{} + +func (shortWriter) Write(data []byte) (int, error) { + if len(data) == 0 { + return 0, nil + } + return len(data) - 1, nil +} diff --git a/internal/pii/ner/manifest.go b/internal/pii/ner/manifest.go new file mode 100644 index 0000000..c52c1b7 --- /dev/null +++ b/internal/pii/ner/manifest.go @@ -0,0 +1,263 @@ +package ner + +import ( + "bytes" + "crypto/sha256" + _ "embed" + "encoding/hex" + "encoding/json" + "fmt" + "io" + "net/url" + "path" + "strings" + "sync" +) + +const ( + trustedManifestSchema = 1 + maximumArchiveSizeLimit = 512 << 20 + maximumExpandedSizeLimit = 1 << 30 + maximumRuntimeSourceSize = 512 << 20 +) + +//go:embed trusted_manifest.json +var embeddedTrustedManifest []byte + +type TrustedManifest struct { + SchemaVersion int `json:"schema_version"` + ModelVersion string `json:"model_version"` + ModelRepository string `json:"model_repository"` + ModelRevision string `json:"model_revision"` + ONNXRuntimeVersion string `json:"onnx_runtime_version"` + Bundles []BundleManifest `json:"bundles"` + fingerprint string +} + +type BundleManifest struct { + GOOS string `json:"goos"` + GOARCH string `json:"goarch"` + Archive ArchiveManifest `json:"archive"` + RuntimeSource SourceArchive `json:"runtime_source"` + RuntimeLibrary string `json:"runtime_library"` + MaxExpandedSize int64 `json:"max_expanded_size"` + Files []FileManifest `json:"files"` +} + +type ArchiveManifest struct { + URL string `json:"url"` + Filename string `json:"filename"` + SHA256 string `json:"sha256"` + Size int64 `json:"size"` + MaxSize int64 `json:"max_size"` +} + +type SourceArchive struct { + URL string `json:"url"` + SHA256 string `json:"sha256"` + Size int64 `json:"size"` +} + +type FileManifest struct { + Name string `json:"name"` + SHA256 string `json:"sha256"` + Size int64 `json:"size"` +} + +func (b BundleManifest) Platform() Platform { + return Platform{OS: b.GOOS, Arch: b.GOARCH} +} + +func (m TrustedManifest) BundleFor(platform Platform) (BundleManifest, error) { + for _, bundle := range m.Bundles { + if bundle.Platform() == platform { + return bundle, nil + } + } + return BundleManifest{}, fmt.Errorf("trusted manifest has no bundle for %s", platform.Key()) +} + +func (m TrustedManifest) Fingerprint() string { + if m.fingerprint != "" { + return m.fingerprint + } + copy := m + copy.fingerprint = "" + data, err := json.Marshal(copy) + if err != nil { + return "" + } + sum := sha256.Sum256(data) + return hex.EncodeToString(sum[:]) +} + +var ( + manifestOnce sync.Once + manifest TrustedManifest + manifestErr error +) + +func LoadTrustedManifest() (TrustedManifest, error) { + manifestOnce.Do(func() { + manifest, manifestErr = decodeTrustedManifest(embeddedTrustedManifest) + }) + return manifest, manifestErr +} + +func decodeTrustedManifest(data []byte) (TrustedManifest, error) { + var parsed TrustedManifest + decoder := json.NewDecoder(bytes.NewReader(data)) + decoder.DisallowUnknownFields() + if err := decoder.Decode(&parsed); err != nil { + return TrustedManifest{}, fmt.Errorf("decode trusted PII model manifest: %w", err) + } + if err := ensureJSONEOF(decoder); err != nil { + return TrustedManifest{}, err + } + sum := sha256.Sum256(data) + parsed.fingerprint = hex.EncodeToString(sum[:]) + if err := parsed.Validate(); err != nil { + return TrustedManifest{}, fmt.Errorf("validate trusted PII model manifest: %w", err) + } + return parsed, nil +} + +func ensureJSONEOF(decoder *json.Decoder) error { + var trailing any + if err := decoder.Decode(&trailing); err != io.EOF { + if err == nil { + return fmt.Errorf("trusted PII model manifest contains trailing JSON") + } + return fmt.Errorf("decode trusted PII model manifest trailer: %w", err) + } + return nil +} + +func (m TrustedManifest) Validate() error { + if m.SchemaVersion != trustedManifestSchema { + return fmt.Errorf("schema version %d is unsupported", m.SchemaVersion) + } + if m.ModelVersion != ModelVersion { + return fmt.Errorf("model version %q does not match compiled version %q", m.ModelVersion, ModelVersion) + } + if m.ModelRepository == "" { + return fmt.Errorf("model repository is empty") + } + if !validHexDigest(m.ModelRevision, 40) { + return fmt.Errorf("model revision must be a 40-character hexadecimal commit") + } + if m.ONNXRuntimeVersion == "" { + return fmt.Errorf("ONNX Runtime version is empty") + } + + requiredPlatforms := SupportedPlatforms() + if len(m.Bundles) != len(requiredPlatforms) { + return fmt.Errorf("bundle count %d does not match supported platform count %d", len(m.Bundles), len(requiredPlatforms)) + } + seenPlatforms := make(map[Platform]struct{}, len(m.Bundles)) + for _, bundle := range m.Bundles { + platform := bundle.Platform() + if _, duplicate := seenPlatforms[platform]; duplicate { + return fmt.Errorf("duplicate bundle for %s", platform.Key()) + } + seenPlatforms[platform] = struct{}{} + if !RuntimeCapabilityFor(platform).Supported { + return fmt.Errorf("bundle advertises unsupported platform %s", platform.Key()) + } + if err := validateBundle(m, bundle); err != nil { + return fmt.Errorf("%s: %w", platform.Key(), err) + } + } + for _, platform := range requiredPlatforms { + if _, ok := seenPlatforms[platform]; !ok { + return fmt.Errorf("missing bundle for supported platform %s", platform.Key()) + } + } + return nil +} + +func validateBundle(manifest TrustedManifest, bundle BundleManifest) error { + if bundle.RuntimeLibrary != runtimeLibNameFor(bundle.Platform()) { + return fmt.Errorf("runtime library %q does not match platform", bundle.RuntimeLibrary) + } + expectedFilename := fmt.Sprintf("pii-model-%s-%s.tar.gz", manifest.ModelVersion, bundle.Platform().Key()) + if bundle.Archive.Filename != expectedFilename { + return fmt.Errorf("archive filename %q, want %q", bundle.Archive.Filename, expectedFilename) + } + if err := validateHTTPSURL(bundle.Archive.URL); err != nil { + return fmt.Errorf("archive URL: %w", err) + } + if path.Base(mustURLPath(bundle.Archive.URL)) != bundle.Archive.Filename { + return fmt.Errorf("archive URL does not end with %q", bundle.Archive.Filename) + } + if !validHexDigest(bundle.Archive.SHA256, 64) { + return fmt.Errorf("archive SHA-256 is invalid") + } + if bundle.Archive.Size <= 0 || bundle.Archive.MaxSize < bundle.Archive.Size || + bundle.Archive.MaxSize > maximumArchiveSizeLimit { + return fmt.Errorf("archive size bounds are invalid") + } + if err := validateHTTPSURL(bundle.RuntimeSource.URL); err != nil { + return fmt.Errorf("runtime source URL: %w", err) + } + if !validHexDigest(bundle.RuntimeSource.SHA256, 64) || bundle.RuntimeSource.Size <= 0 || + bundle.RuntimeSource.Size > maximumRuntimeSourceSize { + return fmt.Errorf("runtime source identity is invalid") + } + if bundle.MaxExpandedSize <= 0 || bundle.MaxExpandedSize > maximumExpandedSizeLimit { + return fmt.Errorf("expanded size limit is invalid") + } + + requiredNames := []string{"config.json", "model_quantized.onnx", "tokenizer.json", bundle.RuntimeLibrary} + if len(bundle.Files) != len(requiredNames) { + return fmt.Errorf("file count %d, want %d", len(bundle.Files), len(requiredNames)) + } + seenFiles := make(map[string]struct{}, len(bundle.Files)) + var expanded int64 + for _, file := range bundle.Files { + if file.Name == "" || path.Base(file.Name) != file.Name || strings.Contains(file.Name, "\\") { + return fmt.Errorf("file name %q is not a safe archive basename", file.Name) + } + if _, duplicate := seenFiles[file.Name]; duplicate { + return fmt.Errorf("duplicate file %q", file.Name) + } + seenFiles[file.Name] = struct{}{} + if !validHexDigest(file.SHA256, 64) || file.Size <= 0 { + return fmt.Errorf("file identity for %q is invalid", file.Name) + } + if file.Size > bundle.MaxExpandedSize-expanded { + return fmt.Errorf("declared files exceed expanded size limit") + } + expanded += file.Size + } + for _, required := range requiredNames { + if _, ok := seenFiles[required]; !ok { + return fmt.Errorf("required file %q is missing", required) + } + } + return nil +} + +func validHexDigest(value string, length int) bool { + if len(value) != length || value != strings.ToLower(value) { + return false + } + _, err := hex.DecodeString(value) + return err == nil +} + +func validateHTTPSURL(raw string) error { + parsed, err := url.Parse(raw) + if err != nil { + return err + } + if parsed.Scheme != "https" || parsed.Host == "" || parsed.User != nil || parsed.Fragment != "" { + return fmt.Errorf("must be an absolute HTTPS URL without credentials or fragment") + } + return nil +} + +func mustURLPath(raw string) string { + parsed, _ := url.Parse(raw) + return parsed.Path +} diff --git a/internal/pii/ner/manifest_test.go b/internal/pii/ner/manifest_test.go new file mode 100644 index 0000000..9eb3b8d --- /dev/null +++ b/internal/pii/ner/manifest_test.go @@ -0,0 +1,100 @@ +package ner + +import ( + "slices" + "strings" + "testing" +) + +func TestTrustedManifestCoversExactlySupportedPlatforms(t *testing.T) { + manifest, err := LoadTrustedManifest() + if err != nil { + t.Fatalf("LoadTrustedManifest: %v", err) + } + got := platformKeys(bundlePlatforms(manifest.Bundles)) + want := platformKeys(SupportedPlatforms()) + if !slices.Equal(got, want) { + t.Fatalf("manifest platforms = %v, want %v", got, want) + } + for _, platform := range SupportedPlatforms() { + bundle, err := manifest.BundleFor(platform) + if err != nil { + t.Fatal(err) + } + if bundle.Archive.SHA256 == "" || bundle.Archive.Size <= 0 { + t.Fatalf("%s has no trusted archive identity", platform.Key()) + } + } +} + +func TestTrustedManifestPinsPublishedReleaseDigests(t *testing.T) { + manifest, err := LoadTrustedManifest() + if err != nil { + t.Fatal(err) + } + want := map[string]string{ + "darwin-amd64": "6c42a556168d6f4251d34032b85a699a0e222c9ed14e1548f401525a0b51c5bd", + "darwin-arm64": "01c7675685a779519d8cf1cb8c506f17bb46aab9abdb127f0813e7a01a6bbd4c", + "linux-amd64": "17aaf46aecb79ce9758f7fcca813894a2a9d24e97976bcf1b91ecf93c9f6dbfb", + "linux-arm64": "a50e5abd1e665e2fae8476b741d11c90b09ef6259d7dae2a42bc7fd78b980cd9", + } + for _, bundle := range manifest.Bundles { + if got := bundle.Archive.SHA256; got != want[bundle.Platform().Key()] { + t.Fatalf("%s archive SHA-256 = %s, want %s", bundle.Platform().Key(), got, want[bundle.Platform().Key()]) + } + } +} + +func TestTrustedManifestRejectsUnknownFieldsAndTrailingJSON(t *testing.T) { + withUnknown := []byte(strings.Replace( + string(embeddedTrustedManifest), + "\"schema_version\": 1", + "\"schema_version\": 1, \"surprise\": true", + 1, + )) + if _, err := decodeTrustedManifest(withUnknown); err == nil { + t.Fatal("manifest accepted an unknown field") + } + withTrailing := append(append([]byte(nil), embeddedTrustedManifest...), []byte(" {}")...) + if _, err := decodeTrustedManifest(withTrailing); err == nil { + t.Fatal("manifest accepted trailing JSON") + } +} + +func TestTrustedManifestRejectsDuplicateOrUnsupportedCoverage(t *testing.T) { + manifest, err := LoadTrustedManifest() + if err != nil { + t.Fatal(err) + } + duplicate := manifest + duplicate.Bundles = append([]BundleManifest(nil), manifest.Bundles...) + duplicate.Bundles[len(duplicate.Bundles)-1].GOOS = duplicate.Bundles[0].GOOS + duplicate.Bundles[len(duplicate.Bundles)-1].GOARCH = duplicate.Bundles[0].GOARCH + if err := duplicate.Validate(); err == nil || !strings.Contains(err.Error(), "duplicate") { + t.Fatalf("duplicate coverage error = %v", err) + } + + unsupported := manifest + unsupported.Bundles = append([]BundleManifest(nil), manifest.Bundles...) + unsupported.Bundles[0].GOOS = "windows" + if err := unsupported.Validate(); err == nil || !strings.Contains(err.Error(), "unsupported") { + t.Fatalf("unsupported coverage error = %v", err) + } +} + +func bundlePlatforms(bundles []BundleManifest) []Platform { + platforms := make([]Platform, 0, len(bundles)) + for _, bundle := range bundles { + platforms = append(platforms, bundle.Platform()) + } + return platforms +} + +func platformKeys(platforms []Platform) []string { + keys := make([]string, 0, len(platforms)) + for _, platform := range platforms { + keys = append(keys, platform.Key()) + } + slices.Sort(keys) + return keys +} diff --git a/internal/pii/ner/model.go b/internal/pii/ner/model.go index 124d9a2..2b1c5e3 100644 --- a/internal/pii/ner/model.go +++ b/internal/pii/ner/model.go @@ -1,29 +1,31 @@ package ner import ( - "archive/tar" - "compress/gzip" - "crypto/sha256" - "encoding/hex" + "bytes" + "context" + "encoding/json" "fmt" "io" - "net/http" "os" "path/filepath" "runtime" "strings" ) +const ( + readyMarkerName = ".ready.json" + readyMarkerSchema = 1 + maxReadyMarkerSize = 8 * 1024 +) + // Paths holds resolved file paths for the model bundle. type Paths struct { - RuntimeLib string // platform-specific ONNX Runtime shared lib - ModelONNX string // model_quantized.onnx - TokenizerJSON string // tokenizer.json - ConfigJSON string // config.json + RuntimeLib string + ModelONNX string + TokenizerJSON string + ConfigJSON string } -// ModelState describes whether the current platform can run the model and -// whether a locally cached bundle is complete enough to use. type ModelState string const ( @@ -34,7 +36,6 @@ const ( ModelReady ModelState = "ready" ) -// ModelStatus is the read-only result of inspecting the local model cache. type ModelStatus struct { State ModelState Platform Platform @@ -43,20 +44,16 @@ type ModelStatus struct { Reason string } -// Usable reports whether the current runtime may load this installation. -// Legacy bundles remain usable during the migration to verified installs. +// Usable is deliberately strict: only a manifest-verified, smoke-tested bundle +// may be attached to the redaction engine. func (s ModelStatus) Usable() bool { - return s.State == ModelInstalledUnverified || s.State == ModelReady + return s.State == ModelReady } -// baseURL is the GitHub release download URL template. -const baseURL = "https://github.com/operator-kit/hs-cli/releases/download/pii-model-v%s/pii-model-%s-%s-%s.tar.gz" - -// ProgressFunc reports download progress (bytesRead, totalBytes). -// totalBytes may be -1 if unknown. +// ProgressFunc reports verified download progress. totalBytes is always the +// exact trusted archive size. type ProgressFunc func(bytesRead, totalBytes int64) -// CacheDir returns the OS-specific cache directory for the PII model. func CacheDir() (string, error) { switch runtime.GOOS { case "darwin": @@ -75,7 +72,7 @@ func CacheDir() (string, error) { dir = filepath.Join(home, "AppData", "Local") } return filepath.Join(dir, "hs", "pii-model"), nil - default: // linux, freebsd, etc + default: dir := os.Getenv("XDG_CACHE_HOME") if dir == "" { home, err := os.UserHomeDir() @@ -88,7 +85,6 @@ func CacheDir() (string, error) { } } -// Status inspects the local model cache without downloading anything. func Status() ModelStatus { platform := CurrentPlatform() dir, err := CacheDir() @@ -99,8 +95,21 @@ func Status() ModelStatus { } func statusAt(dir string, platform Platform) ModelStatus { - status := ModelStatus{Platform: platform, Dir: dir} - if info, err := os.Stat(dir); err == nil && info.IsDir() { + manifest, err := LoadTrustedManifest() + if err != nil { + return ModelStatus{ + State: ModelCorrupt, + Platform: platform, + Dir: dir, + Reason: err.Error(), + } + } + return statusAtWithManifest(dir, platform, manifest) +} + +func statusAtWithManifest(cacheRoot string, platform Platform, manifest TrustedManifest) ModelStatus { + status := ModelStatus{Platform: platform, Dir: cacheRoot} + if info, err := os.Stat(cacheRoot); err == nil && info.IsDir() { status.Present = true } capability := RuntimeCapabilityFor(platform) @@ -109,57 +118,109 @@ func statusAt(dir string, platform Platform) ModelStatus { status.Reason = capability.Reason return status } + bundle, err := manifest.BundleFor(platform) + if err != nil { + status.State = ModelCorrupt + status.Reason = err.Error() + return status + } - data, err := os.ReadFile(filepath.Join(dir, ".version")) + trustedDir := trustedInstallDir(cacheRoot, platform, bundle) + if info, err := os.Lstat(trustedDir); err == nil { + status.Dir = trustedDir + status.Present = true + if info.Mode()&os.ModeSymlink != 0 || !info.IsDir() { + status.State = ModelCorrupt + status.Reason = "trusted install path is not a real directory" + return status + } + if reason := validateTrustedInstall(trustedDir, platform, bundle, manifest); reason != "" { + status.State = ModelCorrupt + status.Reason = reason + return status + } + status.State = ModelReady + return status + } else if !os.IsNotExist(err) { + status.State = ModelCorrupt + status.Reason = fmt.Sprintf("inspect trusted install: %v", err) + return status + } + + version, err := os.ReadFile(filepath.Join(cacheRoot, ".version")) if os.IsNotExist(err) { status.State = ModelAbsent return status } if err != nil { status.State = ModelCorrupt - status.Reason = fmt.Sprintf("read version marker: %v", err) + status.Reason = fmt.Sprintf("read legacy version marker: %v", err) return status } - if strings.TrimSpace(string(data)) != ModelVersion { + if strings.TrimSpace(string(version)) != ModelVersion { status.State = ModelCorrupt - status.Reason = "installed model version does not match this hs version" + status.Reason = "legacy model version does not match this hs version" return status } - paths := pathsAt(dir, platform) - for _, path := range []string{paths.RuntimeLib, paths.ModelONNX, paths.TokenizerJSON, paths.ConfigJSON} { - info, statErr := os.Stat(path) + legacyPaths := pathsAt(cacheRoot, platform) + for _, file := range []string{ + legacyPaths.RuntimeLib, + legacyPaths.ModelONNX, + legacyPaths.TokenizerJSON, + legacyPaths.ConfigJSON, + } { + info, statErr := os.Lstat(file) if statErr != nil || !info.Mode().IsRegular() || info.Size() == 0 { status.State = ModelCorrupt - status.Reason = fmt.Sprintf("missing or invalid model file %s", filepath.Base(path)) + status.Reason = fmt.Sprintf("missing or invalid legacy model file %s", filepath.Base(file)) return status } } - status.State = ModelInstalledUnverified - status.Reason = "legacy installation has not been verified against a trusted manifest" + status.Reason = "legacy installation is not verified against the trusted manifest; reinstall it before use" return status } -// IsModelReady reports whether the model is usable on the current platform. +func validateTrustedInstall( + dir string, + platform Platform, + bundle BundleManifest, + manifest TrustedManifest, +) string { + marker, err := readReadyMarker(filepath.Join(dir, readyMarkerName)) + if err != nil { + return fmt.Sprintf("invalid ready marker: %v", err) + } + if marker.SchemaVersion != readyMarkerSchema || + marker.ModelVersion != manifest.ModelVersion || + marker.Platform != platform.Key() || + marker.ArchiveSHA256 != bundle.Archive.SHA256 || + marker.ManifestSHA256 != manifest.Fingerprint() { + return "ready marker does not match the trusted manifest" + } + for _, expected := range bundle.Files { + info, statErr := os.Lstat(filepath.Join(dir, expected.Name)) + if statErr != nil || !info.Mode().IsRegular() || info.Size() != expected.Size { + return fmt.Sprintf("missing or invalid trusted model file %s", expected.Name) + } + } + return "" +} + func IsModelReady() bool { - return Status().Usable() + return Status().State == ModelReady } -// ModelPaths returns resolved paths if the model is installed, or an error. func ModelPaths() (*Paths, error) { - dir, err := CacheDir() - if err != nil { - return nil, err - } - status := statusAt(dir, CurrentPlatform()) - if !status.Usable() { + status := Status() + if status.State != ModelReady { if status.Reason != "" { return nil, fmt.Errorf("PII model %s: %s", status.State, status.Reason) } return nil, fmt.Errorf("PII model %s (run \"hs pii-model install\")", status.State) } - return pathsAt(dir, CurrentPlatform()), nil + return pathsAt(status.Dir, status.Platform), nil } func pathsAt(dir string, platform Platform) *Paths { @@ -171,48 +232,23 @@ func pathsAt(dir string, platform Platform) *Paths { } } -// EnsureModel downloads and extracts the model bundle if not present. func EnsureModel(progress ProgressFunc) (*Paths, error) { - dir, err := CacheDir() - if err != nil { - return nil, err - } - return ensureModelAt(CurrentPlatform(), dir, progress, downloadAndExtract) + return EnsureModelContext(context.Background(), progress) } -type modelDownloader func(url, dir string, progress ProgressFunc) error - -func ensureModelAt(platform Platform, dir string, progress ProgressFunc, download modelDownloader) (*Paths, error) { - capability := RuntimeCapabilityFor(platform) - if !capability.Supported { - return nil, fmt.Errorf("PII model unsupported: %s", capability.Reason) - } - if status := statusAt(dir, platform); status.Usable() { - return pathsAt(dir, platform), nil - } - - if err := os.MkdirAll(dir, 0o755); err != nil { - return nil, fmt.Errorf("creating cache dir: %w", err) - } - - url := bundleURLFor(platform) - if err := download(url, dir, progress); err != nil { - return nil, fmt.Errorf("download: %w", err) - } - - // Write version marker - if err := os.WriteFile(filepath.Join(dir, ".version"), []byte(ModelVersion), 0o644); err != nil { +func EnsureModelContext(ctx context.Context, progress ProgressFunc) (*Paths, error) { + cacheRoot, err := CacheDir() + if err != nil { return nil, err } - - status := statusAt(dir, platform) - if !status.Usable() { - return nil, fmt.Errorf("downloaded PII model is %s: %s", status.State, status.Reason) + manifest, err := LoadTrustedManifest() + if err != nil { + return nil, err } - return pathsAt(dir, platform), nil + installer := NewBundleInstaller(cacheRoot, CurrentPlatform(), manifest) + return installer.Install(ctx, progress) } -// RemoveModel deletes the cached model bundle. func RemoveModel() error { dir, err := CacheDir() if err != nil { @@ -221,12 +257,14 @@ func RemoveModel() error { return os.RemoveAll(dir) } -func bundleURL() string { - return bundleURLFor(CurrentPlatform()) -} - -func bundleURLFor(platform Platform) string { - return fmt.Sprintf(baseURL, ModelVersion, ModelVersion, platform.OS, platform.Arch) +func trustedInstallDir(cacheRoot string, platform Platform, bundle BundleManifest) string { + return filepath.Join( + cacheRoot, + "versions", + ModelVersion, + platform.Key(), + bundle.Archive.SHA256, + ) } func runtimeLibName() string { @@ -244,86 +282,78 @@ func runtimeLibNameFor(platform Platform) string { } } -func downloadAndExtract(url, dir string, progress ProgressFunc) error { - resp, err := http.Get(url) - if err != nil { - return err - } - defer resp.Body.Close() - - if resp.StatusCode != http.StatusOK { - return fmt.Errorf("HTTP %d from %s", resp.StatusCode, url) - } +type readyMarker struct { + SchemaVersion int `json:"schema_version"` + ModelVersion string `json:"model_version"` + Platform string `json:"platform"` + ArchiveSHA256 string `json:"archive_sha256"` + ManifestSHA256 string `json:"manifest_sha256"` +} - var reader io.Reader = resp.Body - if progress != nil { - reader = &progressReader{r: resp.Body, total: resp.ContentLength, fn: progress} +func writeReadyMarker( + dir string, + platform Platform, + bundle BundleManifest, + manifest TrustedManifest, +) error { + marker := readyMarker{ + SchemaVersion: readyMarkerSchema, + ModelVersion: manifest.ModelVersion, + Platform: platform.Key(), + ArchiveSHA256: bundle.Archive.SHA256, + ManifestSHA256: manifest.Fingerprint(), } - - // Stream through gzip → tar → extract - gz, err := gzip.NewReader(reader) + data, err := json.MarshalIndent(marker, "", " ") if err != nil { - return fmt.Errorf("gzip: %w", err) - } - defer gz.Close() - - tr := tar.NewReader(gz) - for { - hdr, err := tr.Next() - if err == io.EOF { - break - } - if err != nil { - return fmt.Errorf("tar: %w", err) - } - - // Security: prevent path traversal - name := filepath.Base(hdr.Name) - if name == "." || name == ".." || strings.Contains(hdr.Name, "..") { - continue - } - - switch hdr.Typeflag { - case tar.TypeReg: - dst := filepath.Join(dir, name) - if err := extractFile(dst, tr, hdr.Mode); err != nil { - return err - } - } + return err } - return nil -} - -func extractFile(dst string, r io.Reader, mode int64) error { - // Compute SHA-256 while writing - h := sha256.New() - f, err := os.OpenFile(dst, os.O_CREATE|os.O_WRONLY|os.O_TRUNC, os.FileMode(mode)|0o644) + data = append(data, '\n') + file, err := os.OpenFile( + filepath.Join(dir, readyMarkerName), + os.O_CREATE|os.O_EXCL|os.O_WRONLY, + 0o600, + ) if err != nil { return err } - if _, err := io.Copy(io.MultiWriter(f, h), r); err != nil { - f.Close() + if written, err := file.Write(data); err != nil { + _ = file.Close() return err + } else if written != len(data) { + _ = file.Close() + return io.ErrShortWrite } - if err := f.Close(); err != nil { + if err := file.Sync(); err != nil { + _ = file.Close() return err } - - // Write sidecar hash file - hashHex := hex.EncodeToString(h.Sum(nil)) - return os.WriteFile(dst+".sha256", []byte(hashHex), 0o644) -} - -type progressReader struct { - r io.Reader - read int64 - total int64 - fn ProgressFunc + return file.Close() } -func (p *progressReader) Read(buf []byte) (int, error) { - n, err := p.r.Read(buf) - p.read += int64(n) - p.fn(p.read, p.total) - return n, err +func readReadyMarker(markerPath string) (readyMarker, error) { + info, err := os.Lstat(markerPath) + if err != nil { + return readyMarker{}, err + } + if !info.Mode().IsRegular() || info.Size() <= 0 || info.Size() > maxReadyMarkerSize { + return readyMarker{}, fmt.Errorf("marker is not a bounded regular file") + } + data, err := os.ReadFile(markerPath) + if err != nil { + return readyMarker{}, err + } + var marker readyMarker + decoder := json.NewDecoder(bytes.NewReader(data)) + decoder.DisallowUnknownFields() + if err := decoder.Decode(&marker); err != nil { + return readyMarker{}, err + } + var trailing any + if err := decoder.Decode(&trailing); err != io.EOF { + if err == nil { + return readyMarker{}, fmt.Errorf("marker contains trailing JSON") + } + return readyMarker{}, err + } + return marker, nil } diff --git a/internal/pii/ner/model_status_test.go b/internal/pii/ner/model_status_test.go index 444d5ea..b8d4a47 100644 --- a/internal/pii/ner/model_status_test.go +++ b/internal/pii/ner/model_status_test.go @@ -1,6 +1,9 @@ package ner import ( + "context" + "errors" + "net/http" "os" "path/filepath" "testing" @@ -64,8 +67,8 @@ func TestModelStatusDistinguishesAbsentAndInstalledUnverified(t *testing.T) { if status.State != ModelInstalledUnverified { t.Fatalf("installed status = %s, want %s", status.State, ModelInstalledUnverified) } - if !status.Usable() { - t.Fatal("supported legacy bundle should remain usable until trusted migration is installed") + if status.Usable() { + t.Fatal("unverified legacy bundle reported usable") } } @@ -73,15 +76,15 @@ func TestEnsureModelUnsupportedPlatformDoesNotDownloadOrMutateCache(t *testing.T cacheParent := t.TempDir() cacheDir := filepath.Join(cacheParent, "pii-model") downloadCalls := 0 - _, err := ensureModelAt( - Platform{OS: "windows", Arch: "amd64"}, - cacheDir, - nil, - func(string, string, ProgressFunc) error { + installer := &BundleInstaller{ + CacheRoot: cacheDir, + Platform: Platform{OS: "windows", Arch: "amd64"}, + Client: &http.Client{Transport: roundTripFunc(func(*http.Request) (*http.Response, error) { downloadCalls++ - return nil - }, - ) + return nil, errors.New("unexpected request") + })}, + } + _, err := installer.Install(context.Background(), nil) if err == nil { t.Fatal("unsupported install returned no error") } diff --git a/internal/pii/ner/model_test.go b/internal/pii/ner/model_test.go index c24ebd4..4c7a509 100644 --- a/internal/pii/ner/model_test.go +++ b/internal/pii/ner/model_test.go @@ -1,294 +1,101 @@ package ner import ( - "archive/tar" - "bytes" - "compress/gzip" - "io" - "net/http" - "net/http/httptest" "os" "path/filepath" "strings" "testing" ) -func TestCacheDir_ReturnsNonEmpty(t *testing.T) { +func TestCacheDirReturnsNonEmpty(t *testing.T) { dir, err := CacheDir() if err != nil { t.Fatalf("CacheDir: %v", err) } - if dir == "" { - t.Fatal("CacheDir should return non-empty path") - } - if !strings.Contains(dir, "pii-model") { - t.Fatalf("CacheDir should contain 'pii-model': %s", dir) + if dir == "" || !strings.Contains(dir, "pii-model") { + t.Fatalf("unexpected cache directory %q", dir) } } -func TestIsModelReady_FalseByDefault(t *testing.T) { - // Point to a temp dir that doesn't have .version +func TestIsModelReadyFalseByDefault(t *testing.T) { t.Setenv("XDG_CACHE_HOME", t.TempDir()) t.Setenv("LOCALAPPDATA", t.TempDir()) if IsModelReady() { - t.Fatal("IsModelReady should be false when no .version file exists") + t.Fatal("empty cache reported ready") } } -func TestIsModelReady_FalseWhenOnlyVersionMatches(t *testing.T) { +func TestIsModelReadyFalseWhenOnlyLegacyVersionMatches(t *testing.T) { tmpDir := t.TempDir() t.Setenv("XDG_CACHE_HOME", tmpDir) t.Setenv("LOCALAPPDATA", tmpDir) - dir, err := CacheDir() if err != nil { - t.Fatalf("CacheDir: %v", err) - } - if err := os.MkdirAll(dir, 0o755); err != nil { t.Fatal(err) } - if err := os.WriteFile(filepath.Join(dir, ".version"), []byte(ModelVersion), 0o644); err != nil { + if err := os.MkdirAll(dir, 0o700); err != nil { t.Fatal(err) } - if IsModelReady() { - t.Fatal("IsModelReady should be false when only .version matches") - } -} - -func TestIsModelReady_FalseWhenVersionMismatch(t *testing.T) { - tmpDir := t.TempDir() - t.Setenv("XDG_CACHE_HOME", tmpDir) - t.Setenv("LOCALAPPDATA", tmpDir) - - dir, err := CacheDir() - if err != nil { - t.Fatalf("CacheDir: %v", err) - } - if err := os.MkdirAll(dir, 0o755); err != nil { - t.Fatal(err) - } - if err := os.WriteFile(filepath.Join(dir, ".version"), []byte("0.0.0"), 0o644); err != nil { + if err := os.WriteFile(filepath.Join(dir, ".version"), []byte(ModelVersion), 0o600); err != nil { t.Fatal(err) } if IsModelReady() { - t.Fatal("IsModelReady should be false when version mismatches") - } -} - -func TestModelPaths_ErrorWhenNotInstalled(t *testing.T) { - tmpDir := t.TempDir() - t.Setenv("XDG_CACHE_HOME", tmpDir) - t.Setenv("LOCALAPPDATA", tmpDir) - - _, err := ModelPaths() - if err == nil { - t.Fatal("ModelPaths should error when model is not installed") + t.Fatal("legacy version marker reported ready") } } -func TestRemoveModel_NoErrorOnMissing(t *testing.T) { +func TestModelPathsErrorsWhenNotReady(t *testing.T) { tmpDir := t.TempDir() t.Setenv("XDG_CACHE_HOME", tmpDir) t.Setenv("LOCALAPPDATA", tmpDir) - - if err := RemoveModel(); err != nil { - t.Fatalf("RemoveModel should not error when dir doesn't exist: %v", err) + if _, err := ModelPaths(); err == nil { + t.Fatal("ModelPaths returned paths for an unready cache") } } -func TestRemoveModel_RemovesExistingDir(t *testing.T) { +func TestRemoveModelRemovesExistingDirectory(t *testing.T) { tmpDir := t.TempDir() t.Setenv("XDG_CACHE_HOME", tmpDir) t.Setenv("LOCALAPPDATA", tmpDir) - dir, err := CacheDir() if err != nil { t.Fatal(err) } - if err := os.MkdirAll(dir, 0o755); err != nil { + if err := os.MkdirAll(dir, 0o700); err != nil { t.Fatal(err) } - if err := os.WriteFile(filepath.Join(dir, ".version"), []byte(ModelVersion), 0o644); err != nil { + if err := os.WriteFile(filepath.Join(dir, "fixture"), []byte("data"), 0o600); err != nil { t.Fatal(err) } if err := RemoveModel(); err != nil { t.Fatalf("RemoveModel: %v", err) } if _, err := os.Stat(dir); !os.IsNotExist(err) { - t.Fatal("RemoveModel should delete cache dir") + t.Fatalf("cache still exists after removal: %v", err) } } -func TestRuntimeLibName(t *testing.T) { - name := runtimeLibName() - if name == "" { - t.Fatal("runtimeLibName should return non-empty") - } - // Should be one of the known lib names - valid := map[string]bool{ - "libonnxruntime.so": true, - "libonnxruntime.dylib": true, - "onnxruntime.dll": true, - } - if !valid[name] { - t.Fatalf("unexpected runtime lib name: %q", name) - } -} - -func TestBundleURL(t *testing.T) { - url := bundleURL() - if !strings.Contains(url, ModelVersion) { - t.Fatalf("bundle URL should contain version: %s", url) - } - if !strings.Contains(url, "github.com") { - t.Fatalf("bundle URL should be GitHub: %s", url) - } -} - -// makeTarGz creates a minimal tar.gz archive with the given files. -func makeTarGz(t *testing.T, files map[string]string) []byte { - t.Helper() - var buf bytes.Buffer - gw := gzip.NewWriter(&buf) - tw := tar.NewWriter(gw) - for name, content := range files { - hdr := &tar.Header{ - Name: name, - Mode: 0o644, - Size: int64(len(content)), - } - if err := tw.WriteHeader(hdr); err != nil { - t.Fatal(err) - } - if _, err := tw.Write([]byte(content)); err != nil { - t.Fatal(err) - } +func TestRemoveModelNoErrorWhenMissing(t *testing.T) { + tmpDir := t.TempDir() + t.Setenv("XDG_CACHE_HOME", tmpDir) + t.Setenv("LOCALAPPDATA", tmpDir) + if err := RemoveModel(); err != nil { + t.Fatalf("RemoveModel missing cache: %v", err) } - tw.Close() - gw.Close() - return buf.Bytes() } -func TestDownloadAndExtract(t *testing.T) { - archive := makeTarGz(t, map[string]string{ - "model_quantized.onnx": "fake-model-data", - "tokenizer.json": `{"model": "test"}`, - "config.json": `{"id2label": {"0": "O"}}`, - }) - - srv := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { - w.Header().Set("Content-Type", "application/gzip") - w.WriteHeader(http.StatusOK) - w.Write(archive) - })) - defer srv.Close() - - dir := t.TempDir() - var progressCalled bool - err := downloadAndExtract(srv.URL, dir, func(read, total int64) { - progressCalled = true - }) - if err != nil { - t.Fatalf("downloadAndExtract: %v", err) - } - - // Check extracted files - for _, name := range []string{"model_quantized.onnx", "tokenizer.json", "config.json"} { - path := filepath.Join(dir, name) - if _, err := os.Stat(path); err != nil { - t.Fatalf("missing extracted file %s: %v", name, err) - } - // Check sidecar hash - hashPath := path + ".sha256" - if _, err := os.Stat(hashPath); err != nil { - t.Fatalf("missing hash file %s: %v", hashPath, err) +func TestRuntimeLibNameForPlatform(t *testing.T) { + tests := []struct { + platform Platform + want string + }{ + {Platform{OS: "linux", Arch: "amd64"}, "libonnxruntime.so"}, + {Platform{OS: "darwin", Arch: "arm64"}, "libonnxruntime.dylib"}, + {Platform{OS: "windows", Arch: "amd64"}, "onnxruntime.dll"}, + } + for _, test := range tests { + if got := runtimeLibNameFor(test.platform); got != test.want { + t.Fatalf("%s runtime name = %q, want %q", test.platform.Key(), got, test.want) } } - - if !progressCalled { - t.Fatal("progress callback should have been called") - } -} - -func TestDownloadAndExtract_HTTPError(t *testing.T) { - srv := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { - w.WriteHeader(http.StatusNotFound) - })) - defer srv.Close() - - err := downloadAndExtract(srv.URL, t.TempDir(), nil) - if err == nil { - t.Fatal("expected error for 404") - } - if !strings.Contains(err.Error(), "404") { - t.Fatalf("error should mention status code: %v", err) - } -} - -func TestDownloadAndExtract_PathTraversal(t *testing.T) { - // Create an archive with a path-traversal attempt - var buf bytes.Buffer - gw := gzip.NewWriter(&buf) - tw := tar.NewWriter(gw) - hdr := &tar.Header{ - Name: "../../../etc/passwd", - Mode: 0o644, - Size: 4, - } - tw.WriteHeader(hdr) - tw.Write([]byte("evil")) - // Also add a normal file - hdr2 := &tar.Header{ - Name: "safe.txt", - Mode: 0o644, - Size: 4, - } - tw.WriteHeader(hdr2) - tw.Write([]byte("good")) - tw.Close() - gw.Close() - - srv := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { - w.WriteHeader(http.StatusOK) - w.Write(buf.Bytes()) - })) - defer srv.Close() - - dir := t.TempDir() - err := downloadAndExtract(srv.URL, dir, nil) - if err != nil { - t.Fatalf("downloadAndExtract: %v", err) - } - - // The path traversal file should NOT exist outside the target dir - // The safe file should exist - if _, err := os.Stat(filepath.Join(dir, "safe.txt")); err != nil { - t.Fatal("safe.txt should be extracted") - } -} - -func TestProgressReader(t *testing.T) { - data := bytes.NewReader([]byte("hello world")) - var lastRead, lastTotal int64 - pr := &progressReader{ - r: data, - total: 11, - fn: func(read, total int64) { - lastRead = read - lastTotal = total - }, - } - out, err := io.ReadAll(pr) - if err != nil { - t.Fatalf("read: %v", err) - } - if string(out) != "hello world" { - t.Fatalf("unexpected content: %q", out) - } - if lastRead != 11 { - t.Fatalf("expected read=11, got %d", lastRead) - } - if lastTotal != 11 { - t.Fatalf("expected total=11, got %d", lastTotal) - } } diff --git a/internal/pii/ner/ner.go b/internal/pii/ner/ner.go index ff05ee8..9e220f9 100644 --- a/internal/pii/ner/ner.go +++ b/internal/pii/ner/ner.go @@ -8,6 +8,7 @@ package ner import ( + "context" "fmt" "strings" "sync" @@ -41,7 +42,10 @@ func NewDetector() (*Detector, error) { if err != nil { return nil, fmt.Errorf("ner model not ready: %w", err) } + return newDetectorFromPaths(paths) +} +func newDetectorFromPaths(paths *Paths) (*Detector, error) { rt, err := NewRuntime(paths) if err != nil { return nil, fmt.Errorf("loading onnx runtime: %w", err) @@ -66,6 +70,28 @@ func NewDetector() (*Detector, error) { }, nil } +func validateRuntimeBundle(ctx context.Context, paths *Paths) error { + if err := ctx.Err(); err != nil { + return err + } + detector, err := newDetectorFromPaths(paths) + if err != nil { + return err + } + defer detector.Close() + spans, err := detector.DetectNames("Alice Smith contacted support.") + if err != nil { + return err + } + if err := ctx.Err(); err != nil { + return err + } + if len(spans) == 0 { + return fmt.Errorf("smoke inference did not detect the expected person entity") + } + return nil +} + // DetectNames returns person name spans found in text. // Long text is automatically chunked to stay within the model's 512-token limit. func (d *Detector) DetectNames(text string) ([]pii.NameSpan, error) { diff --git a/internal/pii/ner/release_test.go b/internal/pii/ner/release_test.go new file mode 100644 index 0000000..e211c45 --- /dev/null +++ b/internal/pii/ner/release_test.go @@ -0,0 +1,125 @@ +package ner + +import ( + "bytes" + "encoding/json" + "os" + "path/filepath" + "slices" + "strings" + "testing" + + "gopkg.in/yaml.v3" +) + +type releaseSourceLock struct { + SchemaVersion int `json:"schema_version"` + BundleVersion string `json:"bundle_version"` + Model struct { + Repository string `json:"repository"` + Revision string `json:"revision"` + Files []struct { + SourcePath string `json:"source_path"` + Name string `json:"name"` + SHA256 string `json:"sha256"` + Size int64 `json:"size"` + } `json:"files"` + } `json:"model"` + ONNXRuntime struct { + Version string `json:"version"` + Platforms []struct { + GOOS string `json:"goos"` + GOARCH string `json:"goarch"` + URL string `json:"url"` + SHA256 string `json:"sha256"` + Size int64 `json:"size"` + LibraryGlob string `json:"library_glob"` + LibraryName string `json:"library_name"` + } `json:"platforms"` + } `json:"onnx_runtime"` + Limits struct { + MaxArchiveSize int64 `json:"max_archive_size"` + MaxExpandedSize int64 `json:"max_expanded_size"` + } `json:"limits"` +} + +func TestPIIModelReleaseWorkflowParsesAndSmokesEverySupportedPlatform(t *testing.T) { + data, err := os.ReadFile(filepath.Join("..", "..", "..", ".github", "workflows", "pii-model.yml")) + if err != nil { + t.Fatal(err) + } + var workflow yaml.Node + if err := yaml.Unmarshal(data, &workflow); err != nil { + t.Fatalf("workflow YAML: %v", err) + } + text := string(data) + for _, platform := range SupportedPlatforms() { + if !strings.Contains(text, "platform: "+platform.Key()) { + t.Fatalf("release workflow has no smoke job for %s", platform.Key()) + } + } + if strings.Contains(text, "platform: windows-") { + t.Fatal("release workflow advertises unsupported Windows runtime") + } +} + +func TestReleaseSourceLockMatchesTrustedManifest(t *testing.T) { + data, err := os.ReadFile(filepath.Join("..", "..", "..", "scripts", "pii-model-sources.json")) + if err != nil { + t.Fatal(err) + } + var lock releaseSourceLock + decoder := json.NewDecoder(bytes.NewReader(data)) + decoder.DisallowUnknownFields() + if err := decoder.Decode(&lock); err != nil { + t.Fatal(err) + } + manifest, err := LoadTrustedManifest() + if err != nil { + t.Fatal(err) + } + if lock.SchemaVersion != 1 || lock.BundleVersion != manifest.ModelVersion || + lock.Model.Repository != manifest.ModelRepository || + lock.Model.Revision != manifest.ModelRevision || + lock.ONNXRuntime.Version != manifest.ONNXRuntimeVersion { + t.Fatal("release source identity does not match the embedded manifest") + } + + gotPlatforms := make([]Platform, 0, len(lock.ONNXRuntime.Platforms)) + for _, source := range lock.ONNXRuntime.Platforms { + platform := Platform{OS: source.GOOS, Arch: source.GOARCH} + gotPlatforms = append(gotPlatforms, platform) + bundle, err := manifest.BundleFor(platform) + if err != nil { + t.Fatal(err) + } + if source.URL != bundle.RuntimeSource.URL || source.SHA256 != bundle.RuntimeSource.SHA256 || + source.Size != bundle.RuntimeSource.Size || source.LibraryName != bundle.RuntimeLibrary { + t.Fatalf("%s runtime source does not match trusted bundle", platform.Key()) + } + if lock.Limits.MaxArchiveSize != bundle.Archive.MaxSize || + lock.Limits.MaxExpandedSize != bundle.MaxExpandedSize { + t.Fatalf("%s limits do not match trusted bundle", platform.Key()) + } + } + if got, want := platformKeys(gotPlatforms), platformKeys(SupportedPlatforms()); !slices.Equal(got, want) { + t.Fatalf("source-lock platforms = %v, want %v", got, want) + } + + for _, sourceFile := range lock.Model.Files { + for _, bundle := range manifest.Bundles { + found := false + for _, trustedFile := range bundle.Files { + if trustedFile.Name == sourceFile.Name { + found = true + if trustedFile.SHA256 != sourceFile.SHA256 || trustedFile.Size != sourceFile.Size { + t.Fatalf("%s differs in %s", sourceFile.Name, bundle.Platform().Key()) + } + } + } + if !found { + t.Fatalf("%s missing from %s", sourceFile.Name, bundle.Platform().Key()) + } + } + } +} diff --git a/internal/pii/ner/runtime_smoke_test.go b/internal/pii/ner/runtime_smoke_test.go new file mode 100644 index 0000000..cc5f3b6 --- /dev/null +++ b/internal/pii/ner/runtime_smoke_test.go @@ -0,0 +1,24 @@ +package ner + +import ( + "context" + "os" + "testing" + "time" +) + +func TestRuntimeBundleSmoke(t *testing.T) { + dir := os.Getenv("HS_PII_MODEL_SMOKE_DIR") + if dir == "" { + t.Skip("set HS_PII_MODEL_SMOKE_DIR to execute the real runtime/model smoke test") + } + platform := CurrentPlatform() + if capability := RuntimeCapabilityFor(platform); !capability.Supported { + t.Fatalf("workflow attempted smoke test on unsupported target %s", platform.Key()) + } + ctx, cancel := context.WithTimeout(context.Background(), 4*time.Minute) + defer cancel() + if err := validateRuntimeBundle(ctx, pathsAt(dir, platform)); err != nil { + t.Fatalf("runtime/model smoke validation: %v", err) + } +} diff --git a/internal/pii/ner/trusted_manifest.json b/internal/pii/ner/trusted_manifest.json new file mode 100644 index 0000000..29b2244 --- /dev/null +++ b/internal/pii/ner/trusted_manifest.json @@ -0,0 +1,105 @@ +{ + "schema_version": 1, + "model_version": "0.2.0", + "model_repository": "Xenova/distilbert-base-multilingual-cased-ner-hrl", + "model_revision": "c2a4dbf593c57f47004c5bc2d3770d311aee9c43", + "onnx_runtime_version": "1.23.0", + "bundles": [ + { + "goos": "darwin", + "goarch": "amd64", + "archive": { + "url": "https://github.com/operator-kit/hs-cli/releases/download/pii-model-v0.2.0/pii-model-0.2.0-darwin-amd64.tar.gz", + "filename": "pii-model-0.2.0-darwin-amd64.tar.gz", + "sha256": "6c42a556168d6f4251d34032b85a699a0e222c9ed14e1548f401525a0b51c5bd", + "size": 104434052, + "max_size": 115343360 + }, + "runtime_source": { + "url": "https://github.com/microsoft/onnxruntime/releases/download/v1.23.0/onnxruntime-osx-x86_64-1.23.0.tgz", + "sha256": "a8e43edcaa349cbfc51578a7fc61ea2b88793ccf077b4bc65aca58999d20cf0f", + "size": 11621905 + }, + "runtime_library": "libonnxruntime.dylib", + "max_expanded_size": 188743680, + "files": [ + {"name": "config.json", "sha256": "38847be4dc6699b1218a749ed69f888c2ccc7b4deba98e3c4a1cac8cb34d54c8", "size": 927}, + {"name": "model_quantized.onnx", "sha256": "24a0b98f4dd4cd92842f5a541272f86f760225a64a29928eddef14bdb2edb986", "size": 135359829}, + {"name": "tokenizer.json", "sha256": "bf1b59b7b11c95f194f51708d918eea378e09d05f84c0e1656dc5180e8117088", "size": 2919362}, + {"name": "libonnxruntime.dylib", "sha256": "091d265e49da84ac8eafd6ff76b67688555192a272d784a252d550a858797d6f", "size": 39582416} + ] + }, + { + "goos": "darwin", + "goarch": "arm64", + "archive": { + "url": "https://github.com/operator-kit/hs-cli/releases/download/pii-model-v0.2.0/pii-model-0.2.0-darwin-arm64.tar.gz", + "filename": "pii-model-0.2.0-darwin-arm64.tar.gz", + "sha256": "01c7675685a779519d8cf1cb8c506f17bb46aab9abdb127f0813e7a01a6bbd4c", + "size": 102767226, + "max_size": 115343360 + }, + "runtime_source": { + "url": "https://github.com/microsoft/onnxruntime/releases/download/v1.23.0/onnxruntime-osx-arm64-1.23.0.tgz", + "sha256": "8182db0ebb5caa21036a3c78178f17fabb98a7916bdab454467c8f4cf34bcfdf", + "size": 9962096 + }, + "runtime_library": "libonnxruntime.dylib", + "max_expanded_size": 188743680, + "files": [ + {"name": "config.json", "sha256": "38847be4dc6699b1218a749ed69f888c2ccc7b4deba98e3c4a1cac8cb34d54c8", "size": 927}, + {"name": "model_quantized.onnx", "sha256": "24a0b98f4dd4cd92842f5a541272f86f760225a64a29928eddef14bdb2edb986", "size": 135359829}, + {"name": "tokenizer.json", "sha256": "bf1b59b7b11c95f194f51708d918eea378e09d05f84c0e1656dc5180e8117088", "size": 2919362}, + {"name": "libonnxruntime.dylib", "sha256": "d3859aecdb70ea099f5b5f4185fe16f0527c6680b18731e6e96fc971ec767cca", "size": 35011904} + ] + }, + { + "goos": "linux", + "goarch": "amd64", + "archive": { + "url": "https://github.com/operator-kit/hs-cli/releases/download/pii-model-v0.2.0/pii-model-0.2.0-linux-amd64.tar.gz", + "filename": "pii-model-0.2.0-linux-amd64.tar.gz", + "sha256": "17aaf46aecb79ce9758f7fcca813894a2a9d24e97976bcf1b91ecf93c9f6dbfb", + "size": 101057017, + "max_size": 115343360 + }, + "runtime_source": { + "url": "https://github.com/microsoft/onnxruntime/releases/download/v1.23.0/onnxruntime-linux-x64-1.23.0.tgz", + "sha256": "b6deea7f2e22c10c043019f294a0ea4d2a6c0ae52a009c34847640db75ec5580", + "size": 8257032 + }, + "runtime_library": "libonnxruntime.so", + "max_expanded_size": 188743680, + "files": [ + {"name": "config.json", "sha256": "38847be4dc6699b1218a749ed69f888c2ccc7b4deba98e3c4a1cac8cb34d54c8", "size": 927}, + {"name": "model_quantized.onnx", "sha256": "24a0b98f4dd4cd92842f5a541272f86f760225a64a29928eddef14bdb2edb986", "size": 135359829}, + {"name": "tokenizer.json", "sha256": "bf1b59b7b11c95f194f51708d918eea378e09d05f84c0e1656dc5180e8117088", "size": 2919362}, + {"name": "libonnxruntime.so", "sha256": "98b0253652d36c706cd9b873f3e8dc74e107c26cf9694672fb4d88da1c00f250", "size": 22207288} + ] + }, + { + "goos": "linux", + "goarch": "arm64", + "archive": { + "url": "https://github.com/operator-kit/hs-cli/releases/download/pii-model-v0.2.0/pii-model-0.2.0-linux-arm64.tar.gz", + "filename": "pii-model-0.2.0-linux-arm64.tar.gz", + "sha256": "a50e5abd1e665e2fae8476b741d11c90b09ef6259d7dae2a42bc7fd78b980cd9", + "size": 100017916, + "max_size": 115343360 + }, + "runtime_source": { + "url": "https://github.com/microsoft/onnxruntime/releases/download/v1.23.0/onnxruntime-linux-aarch64-1.23.0.tgz", + "sha256": "0b9f47d140411d938e47915824d8daaa424df95a88b5f1fc843172a75168f7a0", + "size": 7216713 + }, + "runtime_library": "libonnxruntime.so", + "max_expanded_size": 188743680, + "files": [ + {"name": "config.json", "sha256": "38847be4dc6699b1218a749ed69f888c2ccc7b4deba98e3c4a1cac8cb34d54c8", "size": 927}, + {"name": "model_quantized.onnx", "sha256": "24a0b98f4dd4cd92842f5a541272f86f760225a64a29928eddef14bdb2edb986", "size": 135359829}, + {"name": "tokenizer.json", "sha256": "bf1b59b7b11c95f194f51708d918eea378e09d05f84c0e1656dc5180e8117088", "size": 2919362}, + {"name": "libonnxruntime.so", "sha256": "cb068adc50115db2cca077b385a15b35cc07a14ef3bb71aa5d7c66f1982f5264", "size": 18562312} + ] + } + ] +} diff --git a/internal/pii/text_test.go b/internal/pii/text_test.go index 6624a7f..4b33401 100644 --- a/internal/pii/text_test.go +++ b/internal/pii/text_test.go @@ -318,6 +318,13 @@ func TestRedactText_NERFailureFailsClosed(t *testing.T) { } } +func TestPIIRegression_High07_UnusableRuntimeKeepsFreeTextFailClosed(t *testing.T) { + e := mustTestEngine(ModeAll, "") + if out := e.RedactText("Alice Smith needs help", nil); out != RedactTextNotice { + t.Fatalf("engine without a usable runtime emitted free-form text: %q", out) + } +} + func TestRedactText_NERDeterministicAcrossEngines(t *testing.T) { // Same secret, same NER spans → same output d1 := nerWith(NameSpan{Text: "John Doe", Start: 0, End: 8, Score: 0.95}) diff --git a/scripts/pii-model-sources.json b/scripts/pii-model-sources.json new file mode 100644 index 0000000..ca4c44c --- /dev/null +++ b/scripts/pii-model-sources.json @@ -0,0 +1,74 @@ +{ + "schema_version": 1, + "bundle_version": "0.2.0", + "model": { + "repository": "Xenova/distilbert-base-multilingual-cased-ner-hrl", + "revision": "c2a4dbf593c57f47004c5bc2d3770d311aee9c43", + "files": [ + { + "source_path": "onnx/model_quantized.onnx", + "name": "model_quantized.onnx", + "sha256": "24a0b98f4dd4cd92842f5a541272f86f760225a64a29928eddef14bdb2edb986", + "size": 135359829 + }, + { + "source_path": "tokenizer.json", + "name": "tokenizer.json", + "sha256": "bf1b59b7b11c95f194f51708d918eea378e09d05f84c0e1656dc5180e8117088", + "size": 2919362 + }, + { + "source_path": "config.json", + "name": "config.json", + "sha256": "38847be4dc6699b1218a749ed69f888c2ccc7b4deba98e3c4a1cac8cb34d54c8", + "size": 927 + } + ] + }, + "onnx_runtime": { + "version": "1.23.0", + "platforms": [ + { + "goos": "darwin", + "goarch": "amd64", + "url": "https://github.com/microsoft/onnxruntime/releases/download/v1.23.0/onnxruntime-osx-x86_64-1.23.0.tgz", + "sha256": "a8e43edcaa349cbfc51578a7fc61ea2b88793ccf077b4bc65aca58999d20cf0f", + "size": 11621905, + "library_glob": "*/lib/libonnxruntime.1.23.0.dylib", + "library_name": "libonnxruntime.dylib" + }, + { + "goos": "darwin", + "goarch": "arm64", + "url": "https://github.com/microsoft/onnxruntime/releases/download/v1.23.0/onnxruntime-osx-arm64-1.23.0.tgz", + "sha256": "8182db0ebb5caa21036a3c78178f17fabb98a7916bdab454467c8f4cf34bcfdf", + "size": 9962096, + "library_glob": "*/lib/libonnxruntime.1.23.0.dylib", + "library_name": "libonnxruntime.dylib" + }, + { + "goos": "linux", + "goarch": "amd64", + "url": "https://github.com/microsoft/onnxruntime/releases/download/v1.23.0/onnxruntime-linux-x64-1.23.0.tgz", + "sha256": "b6deea7f2e22c10c043019f294a0ea4d2a6c0ae52a009c34847640db75ec5580", + "size": 8257032, + "library_glob": "*/lib/libonnxruntime.so.1.23.0", + "library_name": "libonnxruntime.so" + }, + { + "goos": "linux", + "goarch": "arm64", + "url": "https://github.com/microsoft/onnxruntime/releases/download/v1.23.0/onnxruntime-linux-aarch64-1.23.0.tgz", + "sha256": "0b9f47d140411d938e47915824d8daaa424df95a88b5f1fc843172a75168f7a0", + "size": 7216713, + "library_glob": "*/lib/libonnxruntime.so.1.23.0", + "library_name": "libonnxruntime.so" + } + ] + }, + "limits": { + "max_archive_size": 115343360, + "max_expanded_size": 188743680 + } +} + diff --git a/scripts/prepare-pii-model.sh b/scripts/prepare-pii-model.sh index 1d83fef..b6ab140 100755 --- a/scripts/prepare-pii-model.sh +++ b/scripts/prepare-pii-model.sh @@ -1,112 +1,156 @@ #!/usr/bin/env bash -# prepare-pii-model.sh — Download PII model + ONNX Runtime, create per-platform bundles. -# +# Build reproducible, provenance-locked PII model bundles. # Usage: ./scripts/prepare-pii-model.sh [output_dir] -# -# Output: per-platform tarballs + SHA-256 hashes ready for GitHub Release upload. set -euo pipefail -VERSION="${PII_MODEL_VERSION:-0.2.0}" -MODEL_REPO="Xenova/distilbert-base-multilingual-cased-ner-hrl" -ORT_VERSION="1.23.0" -OUTDIR="${1:-dist/pii-model}" - -# HuggingFace ONNX model files (universal) -HF_BASE="https://huggingface.co/${MODEL_REPO}/resolve/main" -MODEL_FILES=( - "onnx/model_quantized.onnx" - "tokenizer.json" - "config.json" -) - -# ONNX Runtime CPU releases per platform -declare -A ORT_URLS=( - ["linux-amd64"]="https://github.com/microsoft/onnxruntime/releases/download/v${ORT_VERSION}/onnxruntime-linux-x64-${ORT_VERSION}.tgz" - ["linux-arm64"]="https://github.com/microsoft/onnxruntime/releases/download/v${ORT_VERSION}/onnxruntime-linux-aarch64-${ORT_VERSION}.tgz" - ["darwin-amd64"]="https://github.com/microsoft/onnxruntime/releases/download/v${ORT_VERSION}/onnxruntime-osx-x86_64-${ORT_VERSION}.tgz" - ["darwin-arm64"]="https://github.com/microsoft/onnxruntime/releases/download/v${ORT_VERSION}/onnxruntime-osx-arm64-${ORT_VERSION}.tgz" -) - -# Runtime lib filenames per platform (target name in bundle) -declare -A ORT_LIBS=( - ["linux-amd64"]="libonnxruntime.so" - ["linux-arm64"]="libonnxruntime.so" - ["darwin-amd64"]="libonnxruntime.dylib" - ["darwin-arm64"]="libonnxruntime.dylib" -) - -# Real (versioned) filenames inside ORT archives. -# Linux/macOS tarballs ship symlinks (e.g. .so → .so.1 → .so.1.23.0); we extract -# the versioned file directly and rename it to the canonical name. -declare -A ORT_REAL_LIBS=( - ["linux-amd64"]="libonnxruntime.so.${ORT_VERSION}" - ["linux-arm64"]="libonnxruntime.so.${ORT_VERSION}" - ["darwin-amd64"]="libonnxruntime.${ORT_VERSION}.dylib" - ["darwin-arm64"]="libonnxruntime.${ORT_VERSION}.dylib" -) - -TMPDIR="$(mktemp -d)" -trap 'rm -rf "$TMPDIR"' EXIT - -echo "==> Downloading model files from HuggingFace..." -MODELDIR="$TMPDIR/model" -mkdir -p "$MODELDIR" -for f in "${MODEL_FILES[@]}"; do - out="$MODELDIR/$(basename "$f")" - echo " $f -> $(basename "$out")" - curl -fsSL "${HF_BASE}/${f}" -o "$out" -done - -mkdir -p "$OUTDIR" - -for platform in "${!ORT_URLS[@]}"; do - echo "==> Building bundle for $platform..." - url="${ORT_URLS[$platform]}" - lib="${ORT_LIBS[$platform]}" - - # Download ORT - ort_file="$TMPDIR/ort-${platform}" - curl -fsSL "$url" -o "$ort_file" +ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" +SOURCE_LOCK="${ROOT_DIR}/scripts/pii-model-sources.json" +OUTDIR="${1:-${ROOT_DIR}/dist/pii-model}" - # Extract the runtime lib (use versioned filename to avoid symlink issues on Windows) - bundledir="$TMPDIR/bundle-${platform}" - mkdir -p "$bundledir" - real_lib="${ORT_REAL_LIBS[$platform]}" - - # Extract the real (versioned) file, not the symlink. - ort_extract="$TMPDIR/ort-extract-${platform}" - mkdir -p "$ort_extract" - tar xzf "$ort_file" -C "$ort_extract" --wildcards "**/lib/${real_lib}" 2>/dev/null || \ - tar xzf "$ort_file" -C "$ort_extract" --wildcards "**/${real_lib}" - find "$ort_extract" -name "$real_lib" -exec cp {} "$bundledir/${lib}" \; - rm -rf "$ort_extract" +for command in curl gzip jq sha256sum tar; do + command -v "$command" >/dev/null || { echo "missing required command: $command" >&2; exit 1; } +done - if [[ ! -f "$bundledir/${lib}" ]]; then - echo " ERROR: failed to extract ${lib} for ${platform}" +LOCK_VERSION="$(jq -r '.bundle_version' "$SOURCE_LOCK")" +VERSION="${PII_MODEL_VERSION:-$LOCK_VERSION}" +if [[ "$VERSION" != "$LOCK_VERSION" ]]; then + echo "PII_MODEL_VERSION $VERSION does not match source lock $LOCK_VERSION" >&2 + exit 1 +fi + +MODEL_REPO="$(jq -r '.model.repository' "$SOURCE_LOCK")" +MODEL_REVISION="$(jq -r '.model.revision' "$SOURCE_LOCK")" +ORT_VERSION="$(jq -r '.onnx_runtime.version' "$SOURCE_LOCK")" +MAX_ARCHIVE_SIZE="$(jq -r '.limits.max_archive_size' "$SOURCE_LOCK")" +MAX_EXPANDED_SIZE="$(jq -r '.limits.max_expanded_size' "$SOURCE_LOCK")" +HF_BASE="https://huggingface.co/${MODEL_REPO}/resolve/${MODEL_REVISION}" + +TMPDIR_ROOT="$(mktemp -d)" +trap 'rm -rf "$TMPDIR_ROOT"' EXIT +MODELDIR="${TMPDIR_ROOT}/model" +FRAGMENTS="${TMPDIR_ROOT}/bundles.jsonl" +mkdir -p "$MODELDIR" "$OUTDIR" +: > "$FRAGMENTS" + +sha256_file() { + sha256sum "$1" | awk '{print $1}' +} + +file_size() { + wc -c < "$1" | tr -d '[:space:]' +} + +verify_file() { + local file="$1" expected_hash="$2" expected_size="$3" label="$4" + local actual_hash actual_size + actual_hash="$(sha256_file "$file")" + actual_size="$(file_size "$file")" + if [[ "$actual_hash" != "$expected_hash" || "$actual_size" != "$expected_size" ]]; then + echo "$label failed provenance check" >&2 + echo " size: $actual_size (want $expected_size)" >&2 + echo " sha256: $actual_hash (want $expected_hash)" >&2 + exit 1 + fi +} + +download_verified() { + local url="$1" destination="$2" expected_hash="$3" expected_size="$4" label="$5" + curl --fail --silent --show-error --location --proto '=https' --tlsv1.2 --retry 3 "$url" -o "$destination" + verify_file "$destination" "$expected_hash" "$expected_size" "$label" +} + +echo "==> Downloading model inputs at immutable revision ${MODEL_REVISION}" +while IFS= read -r file; do + source_path="$(jq -r '.source_path' <<<"$file")" + name="$(jq -r '.name' <<<"$file")" + expected_hash="$(jq -r '.sha256' <<<"$file")" + expected_size="$(jq -r '.size' <<<"$file")" + download_verified "${HF_BASE}/${source_path}" "${MODELDIR}/${name}" "$expected_hash" "$expected_size" "model input ${name}" +done < <(jq -c '.model.files[]' "$SOURCE_LOCK") + +while IFS= read -r target; do + goos="$(jq -r '.goos' <<<"$target")" + goarch="$(jq -r '.goarch' <<<"$target")" + platform="${goos}-${goarch}" + runtime_url="$(jq -r '.url' <<<"$target")" + runtime_hash="$(jq -r '.sha256' <<<"$target")" + runtime_size="$(jq -r '.size' <<<"$target")" + library_glob="$(jq -r '.library_glob' <<<"$target")" + library_name="$(jq -r '.library_name' <<<"$target")" + ort_archive="${TMPDIR_ROOT}/ort-${platform}.tgz" + bundle_dir="${TMPDIR_ROOT}/bundle-${platform}" + mkdir -p "$bundle_dir" + + echo "==> Building ${platform}" + download_verified "$runtime_url" "$ort_archive" "$runtime_hash" "$runtime_size" "ONNX Runtime ${platform}" + tar -xOf "$ort_archive" --wildcards "$library_glob" > "${bundle_dir}/${library_name}" + [[ -s "${bundle_dir}/${library_name}" ]] || { echo "runtime library extraction failed for ${platform}" >&2; exit 1; } + + cp "${MODELDIR}/config.json" "${bundle_dir}/config.json" + cp "${MODELDIR}/model_quantized.onnx" "${bundle_dir}/model_quantized.onnx" + cp "${MODELDIR}/tokenizer.json" "${bundle_dir}/tokenizer.json" + + tarball_name="pii-model-${VERSION}-${platform}.tar.gz" + tarball="${OUTDIR}/${tarball_name}" + LC_ALL=C tar --sort=name --format=ustar --mtime='UTC 1970-01-01' --owner=0 --group=0 --numeric-owner --mode=0644 -cf - -C "$bundle_dir" config.json model_quantized.onnx tokenizer.json "$library_name" | gzip -n -9 > "$tarball" + + archive_hash="$(sha256_file "$tarball")" + archive_size="$(file_size "$tarball")" + if (( archive_size > MAX_ARCHIVE_SIZE )); then + echo "archive ${platform} exceeds ${MAX_ARCHIVE_SIZE} bytes" >&2 + exit 1 + fi + printf '%s %s\n' "$archive_hash" "$tarball_name" > "${tarball}.sha256" + + config_hash="$(sha256_file "${bundle_dir}/config.json")" + config_size="$(file_size "${bundle_dir}/config.json")" + model_hash="$(sha256_file "${bundle_dir}/model_quantized.onnx")" + model_size="$(file_size "${bundle_dir}/model_quantized.onnx")" + tokenizer_hash="$(sha256_file "${bundle_dir}/tokenizer.json")" + tokenizer_size="$(file_size "${bundle_dir}/tokenizer.json")" + library_hash="$(sha256_file "${bundle_dir}/${library_name}")" + library_size="$(file_size "${bundle_dir}/${library_name}")" + expanded_size=$((config_size + model_size + tokenizer_size + library_size)) + if (( expanded_size > MAX_EXPANDED_SIZE )); then + echo "expanded bundle ${platform} exceeds ${MAX_EXPANDED_SIZE} bytes" >&2 exit 1 fi - # Copy model files - cp "$MODELDIR/model_quantized.onnx" "$bundledir/" - cp "$MODELDIR/tokenizer.json" "$bundledir/" - cp "$MODELDIR/config.json" "$bundledir/" - - # Create tarball - tarball="$OUTDIR/pii-model-${VERSION}-${platform}.tar.gz" - tar czf "$tarball" -C "$bundledir" . - sha256sum "$tarball" | awk '{print $1}' > "${tarball}.sha256" - - echo " Created: $(basename "$tarball") ($(du -h "$tarball" | awk '{print $1}'))" - echo " SHA-256: $(cat "${tarball}.sha256")" -done - -echo "" -echo "=== Done ===" -echo "Upload assets from $OUTDIR to GitHub Release: pii-model-v${VERSION}" -echo "" -echo "Go constants for embedding:" -for platform in "${!ORT_URLS[@]}"; do - sha=$(cat "$OUTDIR/pii-model-${VERSION}-${platform}.tar.gz.sha256") - govar=$(echo "$platform" | tr '-' '_' | tr '[:lower:]' '[:upper:]') - echo " SHA256_${govar} = \"${sha}\"" -done + files_json="$(jq -cn \ + --arg config_hash "$config_hash" --argjson config_size "$config_size" \ + --arg model_hash "$model_hash" --argjson model_size "$model_size" \ + --arg tokenizer_hash "$tokenizer_hash" --argjson tokenizer_size "$tokenizer_size" \ + --arg library_name "$library_name" --arg library_hash "$library_hash" --argjson library_size "$library_size" \ + '[ + {name:"config.json", sha256:$config_hash, size:$config_size}, + {name:"model_quantized.onnx", sha256:$model_hash, size:$model_size}, + {name:"tokenizer.json", sha256:$tokenizer_hash, size:$tokenizer_size}, + {name:$library_name, sha256:$library_hash, size:$library_size} + ]')" + + release_url="https://github.com/operator-kit/hs-cli/releases/download/pii-model-v${VERSION}/${tarball_name}" + jq -cn \ + --arg goos "$goos" --arg goarch "$goarch" \ + --arg archive_url "$release_url" --arg archive_filename "$tarball_name" --arg archive_hash "$archive_hash" \ + --argjson archive_size "$archive_size" --argjson max_archive_size "$MAX_ARCHIVE_SIZE" \ + --arg runtime_url "$runtime_url" --arg runtime_hash "$runtime_hash" --argjson runtime_size "$runtime_size" \ + --arg runtime_library "$library_name" --argjson max_expanded_size "$MAX_EXPANDED_SIZE" \ + --argjson files "$files_json" \ + '{ + goos:$goos, goarch:$goarch, + archive:{url:$archive_url, filename:$archive_filename, sha256:$archive_hash, size:$archive_size, max_size:$max_archive_size}, + runtime_source:{url:$runtime_url, sha256:$runtime_hash, size:$runtime_size}, + runtime_library:$runtime_library, max_expanded_size:$max_expanded_size, files:$files + }' >> "$FRAGMENTS" +done < <(jq -c '.onnx_runtime.platforms[]' "$SOURCE_LOCK") + +jq -s '.' "$FRAGMENTS" > "${TMPDIR_ROOT}/bundles.json" +jq -n \ + --arg model_version "$VERSION" --arg model_repository "$MODEL_REPO" --arg model_revision "$MODEL_REVISION" \ + --arg onnx_runtime_version "$ORT_VERSION" --slurpfile bundles "${TMPDIR_ROOT}/bundles.json" \ + '{ + schema_version:1, model_version:$model_version, model_repository:$model_repository, + model_revision:$model_revision, onnx_runtime_version:$onnx_runtime_version, bundles:$bundles[0] + }' > "${OUTDIR}/trusted_manifest.json" + +echo "==> Reproducible bundles and candidate manifest written to ${OUTDIR}" From 0c73687acf41cfe9e6d25f153ca1a312212b7687 Mon Sep 17 00:00:00 2001 From: Ross Morsali Date: Wed, 15 Jul 2026 21:21:47 +0200 Subject: [PATCH 11/34] docs: close remediated PII findings --- .agents/notes/pii-redaction-follow-ups.md | 110 ++++++-------- .agents/notes/pii-redaction-progress.md | 166 +++++++++++++++------- 2 files changed, 157 insertions(+), 119 deletions(-) diff --git a/.agents/notes/pii-redaction-follow-ups.md b/.agents/notes/pii-redaction-follow-ups.md index f8c7992..490966b 100644 --- a/.agents/notes/pii-redaction-follow-ups.md +++ b/.agents/notes/pii-redaction-follow-ups.md @@ -2,34 +2,32 @@ Last reviewed: 2026-07-15 -This local register tracks PII and privacy observations outside the agreed -remediation of the four critical regressions: +This local register tracks PII and privacy observations found outside the +original remediation of the four critical regressions: 1. top-level customer classification; 2. the mandatory Inbox presentation boundary; 3. safe HTTP diagnostics; 4. Unicode-safe name replacement. -Items needed to implement those four safely—fail-closed presentation, -custom-field handling, opaque attachment suppression, NER error handling, and -invocation-scoped detector cleanup—remain active scope and are not duplicated -below. +Completed follow-ups remain here as historical context; unresolved items stay +available for later planning. ## Tracking summary -| ID | Priority | Observation | Suggested follow-up | -| --- | --- | --- | --- | -| PII-F01 | High | One person can receive different pseudonyms when response shapes expose different identifiers. | Design and version a stable identity-key strategy. | -| PII-F02 | High | An empty HS_INBOX_PII_SECRET uses unkeyed SHA-256. | Generate/store or require a private local secret. | -| PII-F03 | High | Invalid PII modes silently normalize to off. | Reject invalid configuration at startup. | -| PII-F04 | High | Windows can install a model bundle but cannot run the bundled NER runtime. | Implement Windows runtime support or block installation clearly. | -| PII-F05 | High | Download hashes are generated after download and are not trust anchors. | Publish and verify a signed or pinned manifest. | -| PII-F06 | Medium | Model installation is not atomic and lacks explicit size/time limits. | Stage, validate, and atomically promote bundles. | -| PII-F07 | Medium | MCP and CLI arguments can expose PII through argv, shell history, and echoed errors. | Move sensitive inputs off argv and reduce MCP subprocess coupling. | -| PII-F08 | Medium | Fake display names come from small lists and can collide visually. | Add deterministic display disambiguation. | -| PII-F09 | Medium | Identity canonicalization does not normalize Unicode composition. | Define a versioned Unicode normalization policy. | -| PII-F10 | Medium | Secret rotation changes every displayed identity with no migration/version marker. | Add key versioning and a rotation policy. | -| PII-F11 | Medium | There is no measurable multilingual detection-quality corpus. | Build a privacy-focused evaluation suite. | +| ID | Priority | Status | Observation | Suggested follow-up | +| --- | --- | --- | --- | --- | +| PII-F01 | High | Open | One person can receive different pseudonyms when response shapes expose different identifiers. | Design and version a stable identity-key strategy. | +| PII-F02 | High | Complete | An empty HS_INBOX_PII_SECRET uses unkeyed SHA-256. | Resolved with a generated/keyring-backed private secret. | +| PII-F03 | High | Complete | Invalid PII modes silently normalize to off. | Resolved with strict parsing and preflight validation. | +| PII-F04 | High | Complete | Windows can install a model bundle but cannot run the bundled NER runtime. | Windows is now refused until a real runtime smoke test exists. | +| PII-F05 | High | Complete | Download hashes are generated after download and are not trust anchors. | Resolved with an embedded pinned manifest and source lock. | +| PII-F06 | Medium | Complete | Model installation is not atomic and lacks explicit size/time limits. | Resolved with the bounded transactional installer. | +| PII-F07 | Medium | Open | MCP and CLI arguments can expose PII through argv, shell history, and echoed errors. | Move sensitive inputs off argv and reduce MCP subprocess coupling. | +| PII-F08 | Medium | Open | Fake display names come from small lists and can collide visually. | Add deterministic display disambiguation. | +| PII-F09 | Medium | Open | Identity canonicalization does not normalize Unicode composition. | Define a versioned Unicode normalization policy. | +| PII-F10 | Medium | Open | Secret rotation changes every displayed identity with no migration/version marker. | Add key versioning and a rotation policy. | +| PII-F11 | Medium | Open | There is no measurable multilingual detection-quality corpus. | Build a privacy-focused evaluation suite. | ## PII-F01 — Identity keys vary across payload shapes @@ -57,65 +55,39 @@ Questions to resolve: one? - Is backwards-compatible display required after an upgrade? -## PII-F02 — Empty secrets are deterministic but not private +## PII-F02 — Empty secrets are deterministic but not private — complete -When HS_INBOX_PII_SECRET is empty, identity and token derivation uses plain -SHA-256. That provides stable output but permits cross-installation correlation -and offline guessing of low-entropy names, phone numbers, and common emails. +Resolved in `0cfa643`. Enabled engines can no longer use unkeyed SHA-256. An +explicit secret remains supported for intentional cross-machine consistency; +otherwise a random installation secret is initialized atomically in the OS +keyring. Rotation/version policy remains separately tracked in PII-F10. -Options: +## PII-F03 — Invalid mode values fail open — complete -- generate a random installation secret and store it in the OS keyring; -- require an explicitly configured secret whenever PII mode is enabled; -- support an organization-managed secret for intentional cross-machine - consistency. +Resolved in `fce500b`. Modes use strict parsing and invalid file/environment +values stop Inbox and MCP work before API access. File-only configuration +loading preserves a safe repair path. -Coordinate this with PII-F10 so rotation and key versioning are defined before -changing defaults. +## PII-F04 — Windows model/runtime mismatch — complete -## PII-F03 — Invalid mode values fail open +Resolved in `f304833` and `f4416c3`. Capability is explicit; unsupported +Windows installs fail before network/cache mutation, status is truthful, and +free-form content remains fail-closed. Windows can be reintroduced only after +a real loader/model smoke job passes. -NormalizeMode maps unknown values to off. A typo such as customer instead of -customers therefore disables redaction without an error. +## PII-F05 — Model provenance is not independently verified — complete -Parse configuration into a strong mode type and reject unknown values before -creating clients or running commands. Validate configuration before persisting -it. Cover config files, environment variables, case/whitespace, and MCP child -processes. +Resolved in `f4416c3`. The binary embeds independently reviewed release and +inner-file identities, while the release source lock pins upstream inputs. +Downloaded sidecars remain useful operator artifacts but are not trusted by +the installer. -## PII-F04 — Windows model/runtime mismatch +## PII-F06 — Model installation hardening — complete -Model cache paths and bundle selection support Windows and onnxruntime.dll, but -the runtime implementation is compiled only for Darwin, Linux, FreeBSD, and -NetBSD. Windows receives the unsupported runtime stub. - -The model installer can therefore succeed and report the model ready while -NewDetector can never run. Either implement and test Windows inference, or block -installation and clearly document the fail-closed behavior. - -## PII-F05 — Model provenance is not independently verified - -The installer downloads a GitHub release tarball and calculates SHA-256 while -extracting. The resulting .sha256 files only describe the bytes just received; -they are not compared with an independently trusted digest or signature. - -Follow-up: - -- ship a pinned manifest with expected names, sizes, and SHA-256 values; -- sign the manifest or release and verify it before extraction; -- reject unexpected and duplicate archive members; -- verify every file before marking the model ready; -- retain the existing path-traversal tests. - -## PII-F06 — Model installation hardening - -Extraction writes directly into the live cache. Interrupted or corrupt -downloads can leave partial files, and networking uses the default HTTP client -without an explicit timeout or total download limit. - -Install into a private temporary directory, enforce compressed/extracted size -limits, validate all files, then atomically rename the completed directory into -place. Clean stale staging directories on the next attempt. +Resolved in `f4416c3`. The installer is context-aware, size/hash bounded, +strictly allowlisted, runtime-smoke-tested, staged privately, content-addressed, +and atomically promoted. Failures preserve any prior trusted installation and +stale installer-owned staging is cleaned within a bounded policy. ## PII-F07 — Sensitive values in argv and MCP subprocesses diff --git a/.agents/notes/pii-redaction-progress.md b/.agents/notes/pii-redaction-progress.md index a297813..4a1c6d3 100644 --- a/.agents/notes/pii-redaction-progress.md +++ b/.agents/notes/pii-redaction-progress.md @@ -6,11 +6,29 @@ Last updated: 2026-07-15 - Original review findings: **14** - Critical findings: **4 of 4 complete** -- Remaining original findings: **10 open** +- High findings: **4 of 4 complete** +- Original findings complete: **9 of 14** +- Remaining original findings: **5 open** - Additional observations raised during remediation: **2 open** - Regression-test commit: `7eb27a9 test: reproduce critical PII redaction leaks` -- Fix commit: `5a7ea63 fix: enforce PII redaction boundaries` -- Latest verification: `go test ./... -count=1` passes across the repository. +- Critical-fix commit: `5a7ea63 fix: enforce PII redaction boundaries` +- High-fix commits: + - `fce500b fix: reject invalid PII modes before Inbox work` + - `0cfa643 fix: require private keys for PII pseudonyms` + - `f304833 fix: gate PII models by runtime capability` + - `f4416c3 fix: verify and atomically install PII models` +- Latest verification: + - `go test ./... -count=1 -timeout=5m` + - `go vet ./...` + - `go build -buildvcs=false ./...` for Linux and Darwin on amd64 and arm64 + - release-script syntax validation with Git Bash + - embedded archive sizes and SHA-256 values checked against all four + published `pii-model-v0.2.0` assets + +The local race run remains unavailable because this Windows environment has +CGO disabled. The release workflow now requires a real runtime/model smoke test +on each advertised Linux and Darwin target before publishing; those four jobs +will produce execution evidence when the model-tag workflow next runs. This document preserves the original 1–14 review numbering. The more detailed deferred register remains in `pii-redaction-follow-ups.md`. `PII-F01` was found @@ -18,7 +36,7 @@ during the remediation design discussion and was not part of the original numbered list, so it is tracked separately below rather than changing the historical numbering. -The implementation-ready design for remaining high issues 5–8 is recorded in +The implementation design used for high issues 5–8 is recorded in `pii-redaction-high-issues-implementation-plan.md`. It also includes issue 9 because provenance verification and transactional installation must ship as one model-install boundary. @@ -70,11 +88,11 @@ particular, `personKey` precedence and fake-person derivation were not changed. | 2 | Critical | The presentation boundary is opt-in, so commands and fields that call output directly can leak PII. | [x] Complete | Critical regression 02 | | 3 | Critical | HTTP debug logging persists raw URLs, headers, request bodies, and response bodies before output redaction. | [x] Complete | Critical regression 03 | | 4 | Critical | ASCII `\b` name replacement misses Unicode-script NER names and partial NER failures are not fail-closed. | [x] Complete | Critical regression 04 | -| 5 | High | An empty `HS_INBOX_PII_SECRET` falls back to unkeyed SHA-256. | [ ] Open | `PII-F02` | -| 6 | High | Invalid PII mode values silently normalize to `off`. | [ ] Open | `PII-F03` | -| 7 | High | Windows can install a model bundle that the bundled runtime cannot execute. | [ ] Open | `PII-F04` | -| 8 | High | Downloaded model hashes are generated after download and are not independent trust anchors. | [ ] Open | `PII-F05` | -| 9 | Medium | Model installation is non-atomic and lacks explicit download size, extraction size, and timeout limits. | [ ] Open | `PII-F06` | +| 5 | High | An empty `HS_INBOX_PII_SECRET` falls back to unkeyed SHA-256. | [x] Complete | `PII-F02` | +| 6 | High | Invalid PII mode values silently normalize to `off`. | [x] Complete | `PII-F03` | +| 7 | High | Windows can install a model bundle that the bundled runtime cannot execute. | [x] Complete | `PII-F04` | +| 8 | High | Downloaded model hashes are generated after download and are not independent trust anchors. | [x] Complete | `PII-F05` | +| 9 | Medium | Model installation is non-atomic and lacks explicit download size, extraction size, and timeout limits. | [x] Complete | `PII-F06` | | 10 | Medium | CLI and MCP arguments can expose PII through argv, shell history, process inspection, and echoed command errors. | [ ] Open | `PII-F07` | | 11 | Medium | The small fake-name lists permit visually identical pseudonyms for different people. | [ ] Open | `PII-F08` | | 12 | Medium | Identity canonicalization does not normalize Unicode composition or define broader Unicode case/space semantics. | [ ] Open | `PII-F09` | @@ -218,40 +236,88 @@ Evidence: - Additional tests cover overlapping spans, known/NER overlap, protected staff names in customers-only mode, deterministic output, and detector failure. -## Open original findings - -### 5. Empty secrets use unkeyed hashing — open - -Without `HS_INBOX_PII_SECRET`, tokens are stable but globally correlatable and -low-entropy values can be guessed offline. Decide whether to generate a private -installation secret, require one whenever redaction is enabled, or support an -organization-managed secret. Coordinate this with issue 13 before changing the -identity contract. - -### 6. Invalid modes fail open — open - -Unknown values currently normalize to `off`, so a typo can silently disable -redaction. Parse into a strong mode type and reject invalid config/environment -values before API clients or MCP child processes run. - -### 7. Windows installer/runtime mismatch — open +## Completed high-severity and model-installer work + +### 5. Private keyed display identities — complete + +- Enabled engines now require an opaque non-empty `pii.Secret` and always use + HMAC; the unkeyed SHA-256 branch no longer exists. +- An explicit `HS_INBOX_PII_SECRET` retains its exact bytes and preserves the + baseline deterministic display identities. +- When the environment variable is absent or blank, the application resolves + a generated 32-byte installation secret from the OS keyring. +- Cross-process initialization locking makes concurrent first use converge on + one secret. Keyring, RNG, and lock failures stop protected work before API + access and never persist secret material in YAML or diagnostics. + +Evidence includes resolver precedence, keyring round-trip, concurrent +initialization, lock, command preflight, failure-path, and golden identity +tests. Implemented in `0cfa643`. + +### 6. Strict mode parsing — complete + +- PII modes are parsed into a strong type and unknown file or environment + values return an actionable error instead of becoming `off`. +- Inbox and MCP paths validate before Help Scout API work. +- Config repair remains possible through file-only loading, and environment + overrides are not accidentally written back to YAML. + +Implemented with regression coverage in `fce500b`. + +### 7. Truthful runtime capability — complete + +- Runtime capability is explicit and currently limited to Linux and Darwin on + amd64 and arm64. +- Windows installation is rejected before HTTP or cache mutation, status + explains that free-form content remains hidden, and cached marker/files + cannot manufacture a ready state. +- Legacy bundles are reported as unverified and are not loaded. +- Release tooling publishes only supported targets and the model-tag workflow + now smoke-tests real inference on all four advertised runner targets before + release. + +Unit, command, fail-closed fallback, cross-build, release-matrix, and workflow +coverage is in `f304833` and `f4416c3`. The four executing CI smoke results are +pending the next model-tag workflow run. + +### 8. Independent model provenance — complete + +- The CLI embeds a schema-versioned trusted manifest for every supported + target, containing the immutable model revision, ONNX Runtime source + identity, archive URL/name/size/SHA-256, inner filenames/sizes/SHA-256 values, + runtime library name, and defensive limits. +- The embedded archive identities match the four currently published release + assets. A downloaded sidecar is not treated as a trust anchor. +- Manifest parsing rejects unknown schemas/fields, duplicates, missing target + coverage, unsupported targets, unsafe names, invalid hashes, and inconsistent + bounds. +- The release source lock pins every upstream input; the builder verifies them, + creates deterministic archives, emits public checksums and a candidate + manifest, and CI requires the generated and reviewed manifests to match. + +Implemented with offline manifest/release regressions in `f4416c3`. + +### 9. Transactional and bounded model installation — complete + +- Downloads use a context-aware client with response-header, redirect, and + total-operation bounds; exact compressed size and SHA-256 are required. +- Extraction accepts only the four manifest files and rejects traversal, + absolute/Windows paths, duplicates, unexpected entries, links, devices, + FIFOs, wrong sizes/hashes, expanded-size overflow, and truncated streams. +- Files are installed into a private staging directory, synced, runtime/model + smoke-tested, marked ready only after success, and atomically promoted to an + immutable content-addressed directory. +- Failures remove staging safely or leave a native validation timeout for + bounded stale cleanup. A prior trusted installation remains untouched. +- Normal readiness validates trusted marker identity and exact regular-file + sizes without rehashing the large model on every invocation. + +Fixture-only regressions cover success/idempotence, progress, tampering, +archive attacks, HTTP/cancellation/runtime failures, concurrency, stale +cleanup, marker/file damage, and preservation of a previous install. Implemented +in `f4416c3`. -Windows cache and bundle handling recognize `onnxruntime.dll`, but the runtime -implementation still resolves to the unsupported stub. Either implement and -test Windows inference or refuse installation with a clear explanation of the -fail-closed behavior. - -### 8. Model provenance is not independently verified — open - -Checksums produced from the bytes just downloaded do not prove provenance. -Ship and verify a pinned or signed manifest containing expected filenames, -sizes, and hashes before marking a model bundle ready. - -### 9. Model installation is not transactional or bounded — open - -Install into a private staging directory, enforce network and extraction -limits, validate the complete bundle, and atomically promote it. Clean up stale -staging directories after interrupted attempts. +## Open original findings ### 10. Sensitive arguments cross process boundaries — open @@ -305,12 +371,12 @@ engine/detector explicit ownership and deterministic cleanup. ## Suggested next sequence -1. Fix issue 6 first because configuration typos currently disable protection. -2. Design issues 5, 12, 13, and A1 together as one versioned identity-key and - secret-management contract. -3. Resolve issue 7 before presenting model installation as supported on - Windows. -4. Harden model provenance and installation transactionality in issues 8–9. -5. Reduce argv/MCP exposure in issue 10 before expanding sensitive write tools. -6. Build issue 14's evaluation corpus before changing model or normalization +1. Reduce argv/MCP exposure in issue 10 before expanding sensitive write tools. +2. Design issues 11–13 and A1 together as a versioned identity-key, + disambiguation, normalization, and secret-rotation contract. +3. Build issue 14's evaluation corpus before changing model or normalization behavior, so privacy regressions become measurable. +4. Give the NER detector explicit invocation-scoped ownership before moving + the CLI/MCP flow into a long-lived in-process service. +5. Treat native Windows inference as a separate capability: add it only after + a real Windows loader/model smoke job passes. From 951674e014035a1f7daf18d85a219e1a5eddd40d Mon Sep 17 00:00:00 2001 From: Ross Morsali Date: Thu, 16 Jul 2026 01:35:58 +0200 Subject: [PATCH 12/34] test: add Docker-first race coverage --- ...daction-high-issues-implementation-plan.md | 8 ++- .agents/notes/pii-redaction-progress.md | 18 ++++-- .github/workflows/test.yml | 56 ++++++++++++++++++ DEVELOPMENT.md | 36 ++++++++++++ scripts/test-docker.ps1 | 13 ++++- scripts/test-docker.sh | 12 +++- scripts/test-race-native-windows.ps1 | 57 +++++++++++++++++++ scripts/test-race.ps1 | 14 +++++ scripts/test-race.sh | 10 ++++ 9 files changed, 215 insertions(+), 9 deletions(-) create mode 100644 .github/workflows/test.yml create mode 100644 scripts/test-race-native-windows.ps1 create mode 100644 scripts/test-race.ps1 create mode 100755 scripts/test-race.sh diff --git a/.agents/notes/pii-redaction-high-issues-implementation-plan.md b/.agents/notes/pii-redaction-high-issues-implementation-plan.md index 2f566ce..154df2a 100644 --- a/.agents/notes/pii-redaction-high-issues-implementation-plan.md +++ b/.agents/notes/pii-redaction-high-issues-implementation-plan.md @@ -1,8 +1,12 @@ # PII Redaction — High-Severity Implementation Handoff -Last updated: 2026-07-15 +Last updated: 2026-07-16 -Status: design agreed; implementation not started +Status: implemented and verified; retained as the design and decision record + +All four high-severity findings and the coupled transactional-installer work +are complete. The full suite passes under the Docker/Linux and native Windows +race detectors; see `pii-redaction-progress.md` for the live status register. ## Purpose diff --git a/.agents/notes/pii-redaction-progress.md b/.agents/notes/pii-redaction-progress.md index 4a1c6d3..46fa2db 100644 --- a/.agents/notes/pii-redaction-progress.md +++ b/.agents/notes/pii-redaction-progress.md @@ -1,6 +1,6 @@ # PII Redaction — Progress Report -Last updated: 2026-07-15 +Last updated: 2026-07-16 ## Executive status @@ -20,15 +20,23 @@ Last updated: 2026-07-15 - Latest verification: - `go test ./... -count=1 -timeout=5m` - `go vet ./...` + - digest-pinned Docker race suite via `scripts/test-race.ps1` + - native Windows race suite via `scripts/test-race-native-windows.ps1` - `go build -buildvcs=false ./...` for Linux and Darwin on amd64 and arm64 - release-script syntax validation with Git Bash - embedded archive sizes and SHA-256 values checked against all four published `pii-model-v0.2.0` assets -The local race run remains unavailable because this Windows environment has -CGO disabled. The release workflow now requires a real runtime/model smoke test -on each advertised Linux and Darwin target before publishing; those four jobs -will produce execution evidence when the model-tag workflow next runs. +Race verification is now complete. CGO was present but disabled, and the +default GCC configured by Go was absent. The complete suite passes in the +digest-pinned Docker test environment and natively on Windows with a compatible +MinGW-w64 compiler, including the Windows-only PII secret-store lock tests. +Docker is the canonical local dependency; a preflighted native Windows wrapper +runs in CI for platform-specific coverage. + +The release workflow requires a real runtime/model smoke test on each +advertised Linux and Darwin target before publishing; those four jobs will +produce execution evidence when the model-tag workflow next runs. This document preserves the original 1–14 review numbering. The more detailed deferred register remains in `pii-redaction-follow-ups.md`. `PII-F01` was found diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml new file mode 100644 index 0000000..f9ea4c6 --- /dev/null +++ b/.github/workflows/test.yml @@ -0,0 +1,56 @@ +name: Test + +on: + push: + pull_request: + workflow_dispatch: + +permissions: + contents: read + +concurrency: + group: test-${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +jobs: + unit: + name: Unit tests and vet + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - uses: actions/setup-go@v5 + with: + go-version-file: go.mod + cache: true + + - name: Test + run: go test ./... + + - name: Vet + run: go vet ./... + + race-linux: + name: Race detector (Docker/Linux) + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - name: Test with race detector + shell: bash + run: bash ./scripts/test-race.sh + + race-windows: + name: Race detector (Windows) + runs-on: windows-2025 + steps: + - uses: actions/checkout@v4 + + - uses: actions/setup-go@v5 + with: + go-version-file: go.mod + cache: true + + - name: Test Windows-specific code with race detector + shell: pwsh + run: .\scripts\test-race-native-windows.ps1 diff --git a/DEVELOPMENT.md b/DEVELOPMENT.md index 736b2bb..c5f0cbd 100644 --- a/DEVELOPMENT.md +++ b/DEVELOPMENT.md @@ -3,6 +3,7 @@ ## Prerequisites - Go 1.25+ +- Docker Desktop or Docker Engine for recommended local unit and race-test runs ## Project structure @@ -114,6 +115,41 @@ The Docker wrappers set an isolated `HOME`, `USERPROFILE`, `XDG_CONFIG_HOME`, `APPDATA`, `GOCACHE`, and `GOMODCACHE` inside the container. This keeps full test runs from reading or deleting credentials/config from the host dev environment while still reusing Docker volumes for Go module/build caches. +The wrappers use a digest-pinned `golang:1.25.9-bookworm` image. + +### Race detector + +The canonical local race suite runs in the same isolated Docker environment as +the full unit suite. Developers do not need to install or configure CGO or a C +compiler on the host: + +```bash +bash ./scripts/test-race.sh +bash ./scripts/test-race.sh ./internal/pii/... -count=1 +``` + +```powershell +.\scripts\test-race.ps1 +.\scripts\test-race.ps1 ./internal/pii/... -count=1 +``` + +CI runs this Docker suite for broad concurrency coverage and a separate native +Windows job for Windows-only files such as the PII secret-store lock. A +developer changing Windows-specific code can run that job locally when a +recent MinGW-w64 GCC is already available on `PATH`: + +```powershell +.\scripts\test-race-native-windows.ps1 +``` + +The native wrapper validates that GCC provides `libsynchronization.a`, enables +CGO, and selects the compiler only for its own process. Native Windows tooling +is optional for normal development because the authoritative Windows run is in +CI. + +See the official Go documentation for the +[race detector requirements](https://go.dev/doc/articles/race_detector) and +[Go 1.25+ Windows CGO requirements](https://go.dev/wiki/MinimumRequirements). ## Test architecture diff --git a/scripts/test-docker.ps1 b/scripts/test-docker.ps1 index c96ebb1..aa8732d 100644 --- a/scripts/test-docker.ps1 +++ b/scripts/test-docker.ps1 @@ -5,6 +5,15 @@ param( $ErrorActionPreference = "Stop" +if (-not (Get-Command docker -ErrorAction SilentlyContinue)) { + throw "Docker is required to run the isolated test suite." +} + +& docker info --format "{{.ServerVersion}}" *> $null +if ($LASTEXITCODE -ne 0) { + throw "The Docker engine is unavailable. Start Docker Desktop or Docker Engine and retry." +} + if (-not $GoTestArgs -or $GoTestArgs.Count -eq 0) { $GoTestArgs = @("./...") } @@ -23,5 +32,7 @@ docker run --rm ` -e GOCACHE=/tmp/go-cache ` -e GOMODCACHE=/go/pkg/mod ` -e GOTELEMETRY=off ` - golang:1.25 ` + golang:1.25.9-bookworm@sha256:298734aec230b5f3e8cee450ce6d7eccc39f1797ba548ee90d57e9803030c6c3 ` go test @GoTestArgs + +exit $LASTEXITCODE diff --git a/scripts/test-docker.sh b/scripts/test-docker.sh index 10e6b4e..249ec54 100755 --- a/scripts/test-docker.sh +++ b/scripts/test-docker.sh @@ -1,6 +1,16 @@ #!/usr/bin/env sh set -eu +if ! command -v docker >/dev/null 2>&1; then + echo "Docker is required to run the isolated test suite." >&2 + exit 1 +fi + +if ! docker info >/dev/null 2>&1; then + echo "The Docker engine is unavailable. Start Docker Desktop or Docker Engine and retry." >&2 + exit 1 +fi + repo_root="$(CDPATH= cd -- "$(dirname -- "$0")/.." && pwd)" if [ "$#" -eq 0 ]; then @@ -19,5 +29,5 @@ exec docker run --rm \ -e GOCACHE=/tmp/go-cache \ -e GOMODCACHE=/go/pkg/mod \ -e GOTELEMETRY=off \ - golang:1.25 \ + golang:1.25.9-bookworm@sha256:298734aec230b5f3e8cee450ce6d7eccc39f1797ba548ee90d57e9803030c6c3 \ go test "$@" diff --git a/scripts/test-race-native-windows.ps1 b/scripts/test-race-native-windows.ps1 new file mode 100644 index 0000000..934a81b --- /dev/null +++ b/scripts/test-race-native-windows.ps1 @@ -0,0 +1,57 @@ +param( + [Parameter(ValueFromRemainingArguments = $true)] + [string[]]$GoTestArgs +) + +Set-StrictMode -Version Latest +$ErrorActionPreference = "Stop" + +if (-not $GoTestArgs -or $GoTestArgs.Count -eq 0) { + $GoTestArgs = @("./...") +} + +if ($env:OS -ne "Windows_NT") { + throw "This native race wrapper supports Windows only. Use scripts/test-race.sh for the Docker-based suite." +} + +if (-not (Get-Command go -ErrorAction SilentlyContinue)) { + throw "Go is required to run the native race test suite." +} + +$goOS = (& go env GOOS).Trim() +$goArch = (& go env GOARCH).Trim() +if ($LASTEXITCODE -ne 0 -or $goOS -ne "windows" -or $goArch -ne "amd64") { + throw "Native Windows race tests require GOOS=windows and GOARCH=amd64; found $goOS/$goArch." +} + +$gcc = Get-Command gcc -CommandType Application -ErrorAction SilentlyContinue | Select-Object -First 1 +if (-not $gcc) { + throw "A recent MinGW-w64 GCC is required for native Windows race tests. Use .\scripts\test-race.ps1 for the Docker suite, or install a compiler that meets Go's Windows race-detector requirements." +} + +$synchronizationLibrary = [string](& $gcc.Source --print-file-name=libsynchronization.a) +$synchronizationLibrary = $synchronizationLibrary.Trim() +if ( + $LASTEXITCODE -ne 0 -or + $synchronizationLibrary -eq "libsynchronization.a" -or + -not (Test-Path -LiteralPath $synchronizationLibrary -PathType Leaf) +) { + throw "The installed GCC does not provide the mingw-w64 synchronization library required by Go's Windows race detector." +} + +$previousCGO = [Environment]::GetEnvironmentVariable("CGO_ENABLED", "Process") +$previousCC = [Environment]::GetEnvironmentVariable("CC", "Process") +$exitCode = 1 + +try { + [Environment]::SetEnvironmentVariable("CGO_ENABLED", "1", "Process") + [Environment]::SetEnvironmentVariable("CC", "gcc", "Process") + + & go test -race @GoTestArgs + $exitCode = $LASTEXITCODE +} finally { + [Environment]::SetEnvironmentVariable("CGO_ENABLED", $previousCGO, "Process") + [Environment]::SetEnvironmentVariable("CC", $previousCC, "Process") +} + +exit $exitCode diff --git a/scripts/test-race.ps1 b/scripts/test-race.ps1 new file mode 100644 index 0000000..9788109 --- /dev/null +++ b/scripts/test-race.ps1 @@ -0,0 +1,14 @@ +param( + [Parameter(ValueFromRemainingArguments = $true)] + [string[]]$GoTestArgs +) + +$ErrorActionPreference = "Stop" + +if (-not $GoTestArgs -or $GoTestArgs.Count -eq 0) { + $GoTestArgs = @("./...") +} + +$dockerTestScript = Join-Path $PSScriptRoot "test-docker.ps1" +& $dockerTestScript "-race" @GoTestArgs +exit $LASTEXITCODE diff --git a/scripts/test-race.sh b/scripts/test-race.sh new file mode 100755 index 0000000..42a5dbe --- /dev/null +++ b/scripts/test-race.sh @@ -0,0 +1,10 @@ +#!/usr/bin/env sh +set -eu + +script_dir="$(CDPATH= cd -- "$(dirname -- "$0")" && pwd)" + +if [ "$#" -eq 0 ]; then + set -- ./... +fi + +exec sh "${script_dir}/test-docker.sh" -race "$@" From 63574353a977de86e85e1a5ba8f4d9b12af7853c Mon Sep 17 00:00:00 2001 From: Ross Morsali Date: Thu, 16 Jul 2026 13:14:23 +0200 Subject: [PATCH 13/34] test: reproduce medium PII redaction gaps --- .agents/notes/pii-redaction-follow-ups.md | 28 ++++- .agents/notes/pii-redaction-progress.md | 46 ++++++- internal/cmd/pii_medium_regression_test.go | 73 +++++++++++ internal/pii/pii_medium_regression_test.go | 135 +++++++++++++++++++++ 4 files changed, 270 insertions(+), 12 deletions(-) create mode 100644 internal/cmd/pii_medium_regression_test.go create mode 100644 internal/pii/pii_medium_regression_test.go diff --git a/.agents/notes/pii-redaction-follow-ups.md b/.agents/notes/pii-redaction-follow-ups.md index 490966b..d3929b2 100644 --- a/.agents/notes/pii-redaction-follow-ups.md +++ b/.agents/notes/pii-redaction-follow-ups.md @@ -1,6 +1,6 @@ # PII Redaction — Deferred Observations -Last reviewed: 2026-07-15 +Last reviewed: 2026-07-16 This local register tracks PII and privacy observations found outside the original remediation of the four critical regressions: @@ -23,11 +23,11 @@ available for later planning. | PII-F04 | High | Complete | Windows can install a model bundle but cannot run the bundled NER runtime. | Windows is now refused until a real runtime smoke test exists. | | PII-F05 | High | Complete | Download hashes are generated after download and are not trust anchors. | Resolved with an embedded pinned manifest and source lock. | | PII-F06 | Medium | Complete | Model installation is not atomic and lacks explicit size/time limits. | Resolved with the bounded transactional installer. | -| PII-F07 | Medium | Open | MCP and CLI arguments can expose PII through argv, shell history, and echoed errors. | Move sensitive inputs off argv and reduce MCP subprocess coupling. | -| PII-F08 | Medium | Open | Fake display names come from small lists and can collide visually. | Add deterministic display disambiguation. | -| PII-F09 | Medium | Open | Identity canonicalization does not normalize Unicode composition. | Define a versioned Unicode normalization policy. | -| PII-F10 | Medium | Open | Secret rotation changes every displayed identity with no migration/version marker. | Add key versioning and a rotation policy. | -| PII-F11 | Medium | Open | There is no measurable multilingual detection-quality corpus. | Build a privacy-focused evaluation suite. | +| PII-F07 | Medium | Open — reproduced | MCP and CLI arguments can expose PII through argv, shell history, and echoed errors. | Move sensitive inputs off argv and reduce MCP subprocess coupling. | +| PII-F08 | Medium | Open — reproduced | Fake display names come from small lists and can collide visually. | Add deterministic display disambiguation. | +| PII-F09 | Medium | Open — reproduced | Identity canonicalization does not normalize Unicode composition. | Define a versioned Unicode normalization policy. | +| PII-F10 | Medium | Open — reproduced | Secret rotation changes every displayed identity with no migration/version marker. | Add key versioning and a rotation policy. | +| PII-F11 | Medium | Open — reproduced | There is no measurable multilingual detection-quality corpus. | Build a privacy-focused evaluation suite. | ## PII-F01 — Identity keys vary across payload shapes @@ -104,6 +104,10 @@ Shorter-term mitigations: - mark sensitive tool arguments and omit them from reconstructed errors; - never include raw argument values in diagnostic command lines. +Regression: `TestPIIRegression_Medium10_SensitiveMCPInputsStayOffProcessBoundaries` +currently fails because synthetic sensitive values occur in child argv and MCP +error output. + ## PII-F08 — Visual pseudonym collisions Fake first and last names come from small fixed lists. Different identities can @@ -113,6 +117,9 @@ email suffix. Consider a short deterministic display suffix or another collision-resolution strategy that remains readable and reveals no source identifier. +Regression: `TestPIIRegression_Medium11_DisplayNamesDisambiguateDistinctPeople` +currently fails on a deterministic `Casey Stewart` collision. + ## PII-F09 — Unicode normalization of identity keys Canonicalization lowercases and trims but does not normalize Unicode. Visually @@ -122,6 +129,9 @@ case-folding and whitespace semantics also need definition. Any normalization change affects deterministic output and should use a versioned key schema with compatibility fixtures. +Regression: `TestPIIRegression_Medium12_IdentityKeysNormalizeUnicodeComposition` +currently fails for equivalent NFC and NFD name fixtures. + ## PII-F10 — Secret rotation and pseudonym versioning Changing HS_INBOX_PII_SECRET intentionally changes every token and identity, but @@ -134,6 +144,9 @@ Define: - how operators intentionally reset all pseudonyms; - how future cached aliases are migrated or discarded. +Regression: `TestPIIRegression_Medium13_SecretRotationHasAnExplicitKeyIdentifier` +currently fails because the pseudonym boundary has no opaque rotation-key ID. + ## PII-F11 — Detection quality and observability There is no maintained multilingual privacy corpus measuring false negatives @@ -149,3 +162,6 @@ Build a synthetic, non-production corpus tracking: - performance and memory limits for large conversations and attachments. Never log raw production samples to build this corpus. + +Regression: `TestPIIRegression_Medium14_MultilingualPrivacyCorpusIsMaintained` +currently fails because the required synthetic, schema-checked corpus is absent. diff --git a/.agents/notes/pii-redaction-progress.md b/.agents/notes/pii-redaction-progress.md index 46fa2db..735c674 100644 --- a/.agents/notes/pii-redaction-progress.md +++ b/.agents/notes/pii-redaction-progress.md @@ -7,6 +7,7 @@ Last updated: 2026-07-16 - Original review findings: **14** - Critical findings: **4 of 4 complete** - High findings: **4 of 4 complete** +- Remaining medium findings: **5 of 5 regression-reproduced; 0 fixed** - Original findings complete: **9 of 14** - Remaining original findings: **5 open** - Additional observations raised during remediation: **2 open** @@ -17,7 +18,7 @@ Last updated: 2026-07-16 - `0cfa643 fix: require private keys for PII pseudonyms` - `f304833 fix: gate PII models by runtime capability` - `f4416c3 fix: verify and atomically install PII models` -- Latest verification: +- Last green baseline before the intentionally failing medium regressions: - `go test ./... -count=1 -timeout=5m` - `go vet ./...` - digest-pinned Docker race suite via `scripts/test-race.ps1` @@ -26,6 +27,11 @@ Last updated: 2026-07-16 - release-script syntax validation with Git Bash - embedded archive sizes and SHA-256 values checked against all four published `pii-model-v0.2.0` assets +- Current medium regression verification: + - expected failure: `go test ./internal/cmd -run '^TestPIIRegression_Medium10_' -count=1 -v` + - expected failure: `go test ./internal/pii -run '^TestPIIRegression_Medium(11|12|13|14)_' -count=1 -v` + - green control: `go test ./... -skip '^TestPIIRegression_Medium' -count=1 -timeout=5m` + - green static check: `go vet ./...` Race verification is now complete. CGO was present but disabled, and the default GCC configured by Go was absent. The complete suite passes in the @@ -34,6 +40,10 @@ MinGW-w64 compiler, including the Windows-only PII secret-store lock tests. Docker is the canonical local dependency; a preflighted native Windows wrapper runs in CI for platform-specific coverage. +The medium regression batch deliberately leaves the focused tests red, matching +the earlier critical workflow. Production fixes for findings 10–14 have not +started; the rest of the repository remains green when those tests are skipped. + The release workflow requires a real runtime/model smoke test on each advertised Linux and Darwin target before publishing; those four jobs will produce execution evidence when the model-tag workflow next runs. @@ -101,11 +111,11 @@ particular, `personKey` precedence and fake-person derivation were not changed. | 7 | High | Windows can install a model bundle that the bundled runtime cannot execute. | [x] Complete | `PII-F04` | | 8 | High | Downloaded model hashes are generated after download and are not independent trust anchors. | [x] Complete | `PII-F05` | | 9 | Medium | Model installation is non-atomic and lacks explicit download size, extraction size, and timeout limits. | [x] Complete | `PII-F06` | -| 10 | Medium | CLI and MCP arguments can expose PII through argv, shell history, process inspection, and echoed command errors. | [ ] Open | `PII-F07` | -| 11 | Medium | The small fake-name lists permit visually identical pseudonyms for different people. | [ ] Open | `PII-F08` | -| 12 | Medium | Identity canonicalization does not normalize Unicode composition or define broader Unicode case/space semantics. | [ ] Open | `PII-F09` | -| 13 | Medium | Secret rotation changes every identity without a key version or migration policy. | [ ] Open | `PII-F10` | -| 14 | Medium | There is no maintained multilingual privacy corpus measuring false negatives and false positives. | [ ] Open | `PII-F11` | +| 10 | Medium | CLI and MCP arguments can expose PII through argv, shell history, process inspection, and echoed command errors. | [ ] Reproduced; fix pending | `PII-F07` | +| 11 | Medium | The small fake-name lists permit visually identical pseudonyms for different people. | [ ] Reproduced; fix pending | `PII-F08` | +| 12 | Medium | Identity canonicalization does not normalize Unicode composition or define broader Unicode case/space semantics. | [ ] Reproduced; fix pending | `PII-F09` | +| 13 | Medium | Secret rotation changes every identity without a key version or migration policy. | [ ] Reproduced; fix pending | `PII-F10` | +| 14 | Medium | There is no maintained multilingual privacy corpus measuring false negatives and false positives. | [ ] Reproduced; fix pending | `PII-F11` | ## Completed critical work @@ -327,6 +337,10 @@ in `f4416c3`. ## Open original findings +The focused contracts below are intentionally failing until their production +fixes land. They use synthetic values and local process fixtures only; no Help +Scout API calls or production content are involved. + ### 10. Sensitive arguments cross process boundaries — open Emails, search terms, message bodies, and custom-field values can enter argv. @@ -334,24 +348,39 @@ The MCP runner also reconstructs command lines in errors. Prefer stdin or protected files for sensitive input, redact reconstructed errors, and eventually let MCP call application services without a CLI subprocess. +Regression evidence: `TestPIIRegression_Medium10_SensitiveMCPInputsStayOffProcessBoundaries` +shows the fixture email and body in child argv, reconstructed command text, and +returned MCP errors. + ### 11. Visual pseudonym collisions — open Different identities can receive the same fake first/last name because table views may omit the generated email suffix. Add a readable deterministic disambiguator without exposing a source identifier. +Regression evidence: `TestPIIRegression_Medium11_DisplayNamesDisambiguateDistinctPeople` +shows two distinct fixture identities rendering as `Casey Stewart`, despite +their generated emails being distinct. + ### 12. Unicode identity canonicalization is incomplete — open NFC and NFD spellings can derive different person keys despite appearing identical. Define normalization, case-folding, and whitespace rules as a versioned identity-key schema before changing current output. +Regression evidence: `TestPIIRegression_Medium12_IdentityKeysNormalizeUnicodeComposition` +shows visually identical NFC and NFD spellings producing different keys. + ### 13. Secret rotation is unversioned — open Changing the secret intentionally changes every display identity, but output has no key identifier and there is no migration or historical-correlation policy. Design rotation together with issues 5 and 12. +Regression evidence: `TestPIIRegression_Medium13_SecretRotationHasAnExplicitKeyIdentifier` +confirms rotation changes the fixture pseudonym and that the engine exposes no +opaque key identifier for callers to distinguish rotations. + ### 14. No multilingual quality corpus — open Build a synthetic, non-production evaluation corpus measuring privacy recall, @@ -359,6 +388,11 @@ false positives, customer/staff separation, long-content behavior, and performance across supported languages and scripts. Never use raw production content to construct it. +Regression evidence: `TestPIIRegression_Medium14_MultilingualPrivacyCorpusIsMaintained` +requires a schema-checked synthetic corpus covering Latin, Arabic, and Han +scripts; redact and preserve outcomes; and the originally identified quality +dimensions. The fixture is currently absent. + ## Additional observations raised during remediation ### A1 / PII-F01. Identity keys vary across payload shapes — open diff --git a/internal/cmd/pii_medium_regression_test.go b/internal/cmd/pii_medium_regression_test.go new file mode 100644 index 0000000..dd4c4e3 --- /dev/null +++ b/internal/cmd/pii_medium_regression_test.go @@ -0,0 +1,73 @@ +package cmd + +import ( + "context" + "encoding/json" + "path/filepath" + "strings" + "testing" + + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" +) + +const ( + mediumSensitiveEmail = "alice.medium@example.test" + mediumSensitiveBody = "Medical escalation for Alice Medium: diagnosis fixture 8472" +) + +func mediumSensitiveMCPFixture() (mcpToolSpec, map[string]json.RawMessage) { + spec := mcpToolSpec{ + CommandPath: []string{"inbox", "conversations", "threads", "reply"}, + PositionalArgs: []mcpPositionalArgSpec{ + {Name: "conversation-id", Property: "conversation_id", Required: true}, + }, + Flags: []mcpFlagSpec{ + {Name: "customer", Property: "customer", Type: "string", Required: true}, + {Name: "body", Property: "body", Type: "string", Required: true}, + }, + } + args := map[string]json.RawMessage{ + "conversation_id": json.RawMessage(`"42"`), + "customer": json.RawMessage(`"` + mediumSensitiveEmail + `"`), + "body": json.RawMessage(`"` + mediumSensitiveBody + `"`), + } + return spec, args +} + +func TestPIIRegression_Medium10_SensitiveMCPInputsStayOffProcessBoundaries(t *testing.T) { + spec, args := mediumSensitiveMCPFixture() + sensitiveValues := []string{mediumSensitiveEmail, mediumSensitiveBody} + + t.Run("child argv", func(t *testing.T) { + runner := &mcpCommandRunner{defaultOutputMode: mcpOutputJSON} + argv, commandLine, err := runner.buildInvocation(spec, args) + require.NoError(t, err) + + joinedArgv := strings.Join(argv, "\x00") + for _, value := range sensitiveValues { + assert.NotContains(t, joinedArgv, value, + "sensitive MCP input must be transported outside child-process argv") + assert.NotContains(t, commandLine, value, + "diagnostic command text must never reconstruct sensitive arguments") + } + }) + + t.Run("echoed command errors", func(t *testing.T) { + runner := &mcpCommandRunner{ + executablePath: filepath.Join(t.TempDir(), "missing-hs"), + defaultOutputMode: mcpOutputJSON, + } + result := runner.execute(context.Background(), spec, args) + require.True(t, result.IsError) + + var rendered strings.Builder + for _, content := range result.Content { + rendered.WriteString(content.Text) + } + for _, value := range sensitiveValues { + assert.NotContains(t, rendered.String(), value, + "MCP failures must not echo sensitive tool arguments") + } + }) +} diff --git a/internal/pii/pii_medium_regression_test.go b/internal/pii/pii_medium_regression_test.go new file mode 100644 index 0000000..78a439c --- /dev/null +++ b/internal/pii/pii_medium_regression_test.go @@ -0,0 +1,135 @@ +package pii + +import ( + "encoding/json" + "os" + "path/filepath" + "strings" + "testing" + + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" +) + +func TestPIIRegression_Medium11_DisplayNamesDisambiguateDistinctPeople(t *testing.T) { + engine := mustTestEngine(ModeAll, "medium-regression-secret") + + firstA, lastA, emailA := engine.RedactPerson( + "Alice", "Fixture", "medium-collision-0008@example.test", + ) + firstB, lastB, emailB := engine.RedactPerson( + "Bob", "Fixture", "medium-collision-0102@example.test", + ) + + require.NotEqual(t, emailA, emailB, + "fixture must represent distinct pseudonymous identities") + assert.NotEqual(t, firstA+" "+lastA, firstB+" "+lastB, + "table-safe display names must include deterministic disambiguation") +} + +func TestPIIRegression_Medium12_IdentityKeysNormalizeUnicodeComposition(t *testing.T) { + composed := personKey("Jos\u00e9", "Alvarez", "") + decomposed := personKey("Jose\u0301", "Alvarez", "") + + require.NotEqual(t, "", composed) + require.NotEqual(t, "", decomposed) + assert.Equal(t, composed, decomposed, + "visually identical NFC and NFD names must resolve to one identity key") +} + +// pseudonymKeyIdentifier is the minimum rotation boundary: callers that emit +// pseudonyms need an opaque, non-secret identifier for the active key. The +// eventual representation and migration policy remain design decisions. +type pseudonymKeyIdentifier interface { + PseudonymKeyID() string +} + +func TestPIIRegression_Medium13_SecretRotationHasAnExplicitKeyIdentifier(t *testing.T) { + firstEngine := mustTestEngine(ModeAll, "medium-rotation-secret-a") + secondEngine := mustTestEngine(ModeAll, "medium-rotation-secret-b") + + _, _, firstEmail := firstEngine.RedactPerson("Alice", "Fixture", "alice@example.test") + _, _, secondEmail := secondEngine.RedactPerson("Alice", "Fixture", "alice@example.test") + require.NotEqual(t, firstEmail, secondEmail, + "fixture must demonstrate that rotating the secret changes display identity") + + firstVersioned, firstOK := any(firstEngine).(pseudonymKeyIdentifier) + secondVersioned, secondOK := any(secondEngine).(pseudonymKeyIdentifier) + require.True(t, firstOK && secondOK, + "the pseudonym boundary must expose an opaque key identifier for rotation") + + firstKeyID := firstVersioned.PseudonymKeyID() + secondKeyID := secondVersioned.PseudonymKeyID() + assert.NotEmpty(t, firstKeyID) + assert.NotEmpty(t, secondKeyID) + assert.NotEqual(t, firstKeyID, secondKeyID, + "different rotation keys must have distinguishable identifiers") + assert.NotContains(t, firstKeyID, "medium-rotation-secret-a", + "a key identifier must never disclose key material") +} + +type multilingualPrivacyCorpus struct { + Schema int `json:"schema"` + Cases []multilingualCorpusCase `json:"cases"` +} + +type multilingualCorpusCase struct { + ID string `json:"id"` + Language string `json:"language"` + Script string `json:"script"` + Category string `json:"category"` + Expected string `json:"expected"` + Text string `json:"text"` +} + +func TestPIIRegression_Medium14_MultilingualPrivacyCorpusIsMaintained(t *testing.T) { + corpusPath := filepath.Join("testdata", "multilingual_privacy_corpus.json") + raw, err := os.ReadFile(corpusPath) + require.NoError(t, err, + "a synthetic multilingual corpus is required to measure privacy recall and false positives") + + var corpus multilingualPrivacyCorpus + require.NoError(t, json.Unmarshal(raw, &corpus)) + assert.Equal(t, 1, corpus.Schema) + assert.NotEmpty(t, corpus.Cases) + + requiredScripts := map[string]bool{"Latin": false, "Arabic": false, "Han": false} + requiredOutcomes := map[string]bool{"redact": false, "preserve": false} + requiredCategories := map[string]bool{ + "person": false, + "address": false, + "identifier": false, + "customer_staff": false, + "long_content": false, + } + + seenIDs := map[string]struct{}{} + for _, fixture := range corpus.Cases { + assert.NotEmpty(t, fixture.ID) + assert.NotEmpty(t, fixture.Language) + assert.NotEmpty(t, fixture.Text) + if _, exists := seenIDs[fixture.ID]; fixture.ID != "" { + assert.False(t, exists, "duplicate corpus case %q", fixture.ID) + seenIDs[fixture.ID] = struct{}{} + } + if _, ok := requiredScripts[fixture.Script]; ok { + requiredScripts[fixture.Script] = true + } + if _, ok := requiredOutcomes[fixture.Expected]; ok { + requiredOutcomes[fixture.Expected] = true + } + if _, ok := requiredCategories[fixture.Category]; ok { + requiredCategories[fixture.Category] = true + } + } + + for script, covered := range requiredScripts { + assert.True(t, covered, "corpus must cover the %s script", script) + } + for outcome, covered := range requiredOutcomes { + assert.True(t, covered, "corpus must include %s expectations", outcome) + } + for category, covered := range requiredCategories { + assert.True(t, covered, "corpus must cover %s behavior", strings.ReplaceAll(category, "_", "/")) + } +} From 8b237e4426077fd4414d3aa326412a046eabe1b2 Mon Sep 17 00:00:00 2001 From: Ross Morsali Date: Thu, 16 Jul 2026 14:17:07 +0200 Subject: [PATCH 14/34] fix: close remaining PII redaction gaps --- .agents/notes/pii-redaction-follow-ups.md | 94 ++--- .agents/notes/pii-redaction-progress.md | 214 +++++++----- DEVELOPMENT.md | 40 +++ README.md | 96 ++++-- docs/docs-api.md | 26 ++ docs/inbox-api.md | 52 ++- go.mod | 2 +- internal/api/debug_sanitizer.go | 6 +- internal/cmd/auth_fallback_test.go | 12 +- internal/cmd/cmd_test.go | 117 ++++++- internal/cmd/config.go | 1 + internal/cmd/config_test.go | 22 +- internal/cmd/docs_articles.go | 5 + internal/cmd/docs_assets.go | 2 + internal/cmd/docs_categories.go | 2 + internal/cmd/docs_collections.go | 2 + internal/cmd/docs_redirects.go | 3 + internal/cmd/docs_sites.go | 3 + internal/cmd/error_output_test.go | 10 +- internal/cmd/inbox_attachments.go | 1 + internal/cmd/inbox_attachments_test.go | 8 +- internal/cmd/inbox_conversations.go | 8 +- internal/cmd/inbox_conversations_test.go | 22 +- internal/cmd/inbox_customers.go | 21 +- internal/cmd/inbox_customers_test.go | 20 +- internal/cmd/inbox_mailbox_extras_test.go | 8 +- internal/cmd/inbox_mailboxes_test.go | 6 +- internal/cmd/inbox_mock_client_test.go | 8 +- internal/cmd/inbox_namespace_test.go | 2 +- internal/cmd/inbox_organizations.go | 5 + internal/cmd/inbox_organizations_test.go | 24 +- internal/cmd/inbox_pii_helpers.go | 32 +- internal/cmd/inbox_pii_regression_test.go | 16 +- internal/cmd/inbox_properties_test.go | 8 +- internal/cmd/inbox_ratings_test.go | 2 +- internal/cmd/inbox_reports.go | 3 +- internal/cmd/inbox_reports_test.go | 20 +- internal/cmd/inbox_saved_replies.go | 2 + internal/cmd/inbox_saved_replies_test.go | 10 +- internal/cmd/inbox_tags_test.go | 4 +- internal/cmd/inbox_teams_test.go | 4 +- internal/cmd/inbox_threads.go | 4 + internal/cmd/inbox_threads_test.go | 28 +- internal/cmd/inbox_tools_test.go | 18 +- internal/cmd/inbox_users.go | 2 + internal/cmd/inbox_users_test.go | 16 +- internal/cmd/inbox_webhooks.go | 2 + internal/cmd/inbox_webhooks_test.go | 10 +- internal/cmd/inbox_workflows_test.go | 14 +- internal/cmd/mcp_catalog.go | 22 +- internal/cmd/mcp_catalog_test.go | 19 ++ internal/cmd/mcp_execute.go | 126 +++++-- internal/cmd/mcp_execute_test.go | 37 +- internal/cmd/pii_medium_regression_test.go | 29 +- internal/cmd/protected_input.go | 323 ++++++++++++++++++ internal/cmd/protected_input_test.go | 165 +++++++++ internal/cmd/root.go | 19 +- internal/pii/identity.go | 61 +++- internal/pii/identity_test.go | 26 +- internal/pii/ner/runtime_smoke_test.go | 110 ++++++ internal/pii/pii_medium_regression_test.go | 86 ++++- internal/pii/pseudonym.go | 62 ++++ internal/pii/pseudonym_test.go | 27 ++ internal/pii/secret_test.go | 26 +- internal/pii/setup/secret.go | 192 ++++++++--- internal/pii/setup/secret_test.go | 241 ++++++++++--- internal/pii/test_helpers_test.go | 22 +- .../testdata/multilingual_privacy_corpus.json | 118 +++++++ internal/pii/text.go | 28 +- internal/pii/text_test.go | 20 +- npm/README.md | 12 +- 71 files changed, 2276 insertions(+), 532 deletions(-) create mode 100644 internal/cmd/protected_input.go create mode 100644 internal/cmd/protected_input_test.go create mode 100644 internal/pii/pseudonym.go create mode 100644 internal/pii/pseudonym_test.go create mode 100644 internal/pii/testdata/multilingual_privacy_corpus.json diff --git a/.agents/notes/pii-redaction-follow-ups.md b/.agents/notes/pii-redaction-follow-ups.md index d3929b2..354965e 100644 --- a/.agents/notes/pii-redaction-follow-ups.md +++ b/.agents/notes/pii-redaction-follow-ups.md @@ -23,11 +23,13 @@ available for later planning. | PII-F04 | High | Complete | Windows can install a model bundle but cannot run the bundled NER runtime. | Windows is now refused until a real runtime smoke test exists. | | PII-F05 | High | Complete | Download hashes are generated after download and are not trust anchors. | Resolved with an embedded pinned manifest and source lock. | | PII-F06 | Medium | Complete | Model installation is not atomic and lacks explicit size/time limits. | Resolved with the bounded transactional installer. | -| PII-F07 | Medium | Open — reproduced | MCP and CLI arguments can expose PII through argv, shell history, and echoed errors. | Move sensitive inputs off argv and reduce MCP subprocess coupling. | -| PII-F08 | Medium | Open — reproduced | Fake display names come from small lists and can collide visually. | Add deterministic display disambiguation. | -| PII-F09 | Medium | Open — reproduced | Identity canonicalization does not normalize Unicode composition. | Define a versioned Unicode normalization policy. | -| PII-F10 | Medium | Open — reproduced | Secret rotation changes every displayed identity with no migration/version marker. | Add key versioning and a rotation policy. | -| PII-F11 | Medium | Open — reproduced | There is no measurable multilingual detection-quality corpus. | Build a privacy-focused evaluation suite. | +| PII-F07 | Medium | Complete | MCP and CLI arguments can expose PII through argv, shell history, and echoed errors. | Resolved with protected stdin/private-file envelopes and safe MCP errors. | +| PII-F08 | Medium | Complete | Fake display names come from small lists and can collide visually. | Resolved with deterministic keyed display disambiguation. | +| PII-F09 | Medium | Complete | Identity canonicalization does not normalize Unicode composition. | Resolved by versioned Unicode canonicalization schema v2. | +| PII-F10 | Medium | Complete | Secret rotation changes every displayed identity with no migration/version marker. | Resolved with explicit key IDs and locked legacy-record migration. | +| PII-F11 | Medium | Complete | There is no measurable multilingual detection-quality corpus. | Resolved with hermetic and real-model corpus evaluators. | +| PII-F12 | Medium | Open | Disabled low-level identity methods still pseudonymize when called directly. | Enforce mode at each public identity-redaction boundary. | +| PII-F13 | Medium | Open | The compatibility-preserved generated-email namespace can collide at scale. | Version any email-format expansion and define migration expectations. | ## PII-F01 — Identity keys vary across payload shapes @@ -89,7 +91,7 @@ strictly allowlisted, runtime-smoke-tested, staged privately, content-addressed, and atomically promoted. Failures preserve any prior trusted installation and stale installer-owned staging is cleaned within a bounded policy. -## PII-F07 — Sensitive values in argv and MCP subprocesses +## PII-F07 — Sensitive values in argv and MCP subprocesses — complete CLI flags can contain customer emails, search terms, message bodies, and custom field values. Shell history and process listings can retain those values. @@ -98,56 +100,41 @@ The MCP runner also converts tool arguments into child-process argv and includes the reconstructed command line in failures. A future application-service API would let MCP invoke use cases directly instead of shelling out through the CLI. -Shorter-term mitigations: +Resolved with a strict, bounded protected-input envelope. Annotated direct CLI +flags require stdin or private regular files, MCP supplies the envelope +automatically, and safe error displays never reconstruct protected values. The +focused regression also proves raw direct input stops before API work. -- accept sensitive bodies through stdin or protected temporary files; -- mark sensitive tool arguments and omit them from reconstructed errors; -- never include raw argument values in diagnostic command lines. - -Regression: `TestPIIRegression_Medium10_SensitiveMCPInputsStayOffProcessBoundaries` -currently fails because synthetic sensitive values occur in child argv and MCP -error output. - -## PII-F08 — Visual pseudonym collisions +## PII-F08 — Visual pseudonym collisions — complete Fake first and last names come from small fixed lists. Different identities can display the same full name, especially in table views that omit the generated email suffix. -Consider a short deterministic display suffix or another collision-resolution -strategy that remains readable and reveals no source identifier. - -Regression: `TestPIIRegression_Medium11_DisplayNamesDisambiguateDistinctPeople` -currently fails on a deterministic `Casey Stewart` collision. +A short HMAC-derived display suffix plus public key ID now disambiguates the +former deterministic `Casey Stewart` collision without exposing source IDs. -## PII-F09 — Unicode normalization of identity keys +## PII-F09 — Unicode normalization of identity keys — complete Canonicalization lowercases and trims but does not normalize Unicode. Visually identical NFC and NFD names can therefore hash to different identities. Broader case-folding and whitespace semantics also need definition. -Any normalization change affects deterministic output and should use a -versioned key schema with compatibility fixtures. +Schema v2 defines NFC, Unicode case folding, NFC recomposition, and Unicode +whitespace collapse for names; emails add NFC while retaining established +trim/lowercase behavior. Compatibility fixtures pin legacy canonical outputs. -Regression: `TestPIIRegression_Medium12_IdentityKeysNormalizeUnicodeComposition` -currently fails for equivalent NFC and NFD name fixtures. - -## PII-F10 — Secret rotation and pseudonym versioning +## PII-F10 — Secret rotation and pseudonym versioning — complete Changing HS_INBOX_PII_SECRET intentionally changes every token and identity, but output has no key-version marker and there is no rotation workflow. -Define: - -- a key identifier/version; -- whether old keys remain available for historical correlation; -- how operators intentionally reset all pseudonyms; -- how future cached aliases are migrated or discarded. - -Regression: `TestPIIRegression_Medium13_SecretRotationHasAnExplicitKeyIdentifier` -currently fails because the pseudonym boundary has no opaque rotation-key ID. +Every enabled engine now receives a versioned pseudonym context with explicit +public key ID. Keyring records migrate atomically while preserving legacy +secret bytes. Explicit operators set and rotate the secret and ID together; +the current stateless design retains no old key or alias cache to migrate. -## PII-F11 — Detection quality and observability +## PII-F11 — Detection quality and observability — complete There is no maintained multilingual privacy corpus measuring false negatives and false positives across names, addresses, identifiers, HTML, custom fields, @@ -161,7 +148,32 @@ Build a synthetic, non-production corpus tracking: - behavior with and without the NER model; - performance and memory limits for large conversations and attachments. -Never log raw production samples to build this corpus. +The checked-in corpus is entirely synthetic. Hermetic tests cover policy and +redaction mechanics; the real model release smoke measures full expected-name +coverage, unexpected person spans, chunked long content, and runtime budget. + +## PII-F12 — Disabled low-level identity methods bypass the mode invariant + +`RedactJSONWithContext` and `RedactText` return input unchanged when the engine +is disabled, but `RedactPerson`, `RedactEmail`, and `RedactPhone` do not check +the mode themselves. Supported command paths currently enter through guarded +presentation methods, so this is not a known CLI leak. It is nevertheless a +fragile public API contract: a future direct caller can pseudonymize with the +zero context accepted by `NewEngine(ModeOff, ...)`. + +Add direct `ModeOff` pass-through tests for all three methods, then put the +guard at those lowest public boundaries. Keep the higher-level guards as cheap +early exits. + +## PII-F13 — Legacy generated-email namespace can collide at scale + +The issue-11 fix adds a 40-bit keyed disambiguator and public key ID to display +names while intentionally preserving the established generated email format. +That format has 50 first-name choices, 50 last-name choices, and a 16-bit +suffix: roughly 164 million possible values, so birthday collisions become +plausible at tens of thousands of identities. -Regression: `TestPIIRegression_Medium14_MultilingualPrivacyCorpusIsMaintained` -currently fails because the required synthetic, schema-checked corpus is absent. +This is not a regression in `v2`, and the strengthened full name remains +deterministic and visually distinct. A future display schema should consider a +longer email suffix or key-ID component, with compatibility fixtures and an +explicit decision about whether already displayed pseudonym emails may change. diff --git a/.agents/notes/pii-redaction-progress.md b/.agents/notes/pii-redaction-progress.md index 735c674..371b1de 100644 --- a/.agents/notes/pii-redaction-progress.md +++ b/.agents/notes/pii-redaction-progress.md @@ -7,10 +7,10 @@ Last updated: 2026-07-16 - Original review findings: **14** - Critical findings: **4 of 4 complete** - High findings: **4 of 4 complete** -- Remaining medium findings: **5 of 5 regression-reproduced; 0 fixed** -- Original findings complete: **9 of 14** -- Remaining original findings: **5 open** -- Additional observations raised during remediation: **2 open** +- Remaining medium findings: **5 of 5 complete** +- Original findings complete: **14 of 14** +- Remaining original findings: **0 open** +- Additional observations raised during remediation: **4 open; 2 complete** - Regression-test commit: `7eb27a9 test: reproduce critical PII redaction leaks` - Critical-fix commit: `5a7ea63 fix: enforce PII redaction boundaries` - High-fix commits: @@ -18,6 +18,8 @@ Last updated: 2026-07-16 - `0cfa643 fix: require private keys for PII pseudonyms` - `f304833 fix: gate PII models by runtime capability` - `f4416c3 fix: verify and atomically install PII models` +- Medium regression commit: `6357435 test: reproduce medium PII redaction gaps` +- Medium fixes: current `fix: close remaining PII redaction gaps` change set - Last green baseline before the intentionally failing medium regressions: - `go test ./... -count=1 -timeout=5m` - `go vet ./...` @@ -27,22 +29,26 @@ Last updated: 2026-07-16 - release-script syntax validation with Git Bash - embedded archive sizes and SHA-256 values checked against all four published `pii-model-v0.2.0` assets -- Current medium regression verification: - - expected failure: `go test ./internal/cmd -run '^TestPIIRegression_Medium10_' -count=1 -v` - - expected failure: `go test ./internal/pii -run '^TestPIIRegression_Medium(11|12|13|14)_' -count=1 -v` - - green control: `go test ./... -skip '^TestPIIRegression_Medium' -count=1 -timeout=5m` +- Current medium-fix verification: + - green focused regressions: `go test ./internal/pii ./internal/cmd -count=1` + - green full suite: `go test ./... -count=1 -timeout=5m` - green static check: `go vet ./...` - -Race verification is now complete. CGO was present but disabled, and the -default GCC configured by Go was absent. The complete suite passes in the -digest-pinned Docker test environment and natively on Windows with a compatible -MinGW-w64 compiler, including the Windows-only PII secret-store lock tests. -Docker is the canonical local dependency; a preflighted native Windows wrapper -runs in CI for platform-specific coverage. - -The medium regression batch deliberately leaves the focused tests red, matching -the earlier critical workflow. Production fixes for findings 10–14 have not -started; the rest of the repository remains green when those tests are skipped. + - green local build: `go build -buildvcs=false ./...` + - green cross-builds: Linux and Darwin on amd64 and arm64 with + `CGO_ENABLED=0` + - clean module graph: `go mod tidy -diff` + +The preceding race baseline passed in the digest-pinned Docker environment and +natively on Windows with a compatible MinGW-w64 compiler, including the +Windows-only PII secret-store lock tests. Docker remains the canonical local +dependency and a preflighted native Windows wrapper runs in CI. The medium-fix +change set has not been rerun with the race detector in this workstation +session because Docker Desktop is stopped and no compatible GCC is currently +on `PATH`; the portable full suite, vet, and build checks are green. + +The medium regressions and their production fixes are now green. Normal CI uses +a synthetic, non-production multilingual corpus; the existing real bundle +smoke job scores the same cases when model artifacts are available. The release workflow requires a real runtime/model smoke test on each advertised Linux and Darwin target before publishing; those four jobs will @@ -111,11 +117,11 @@ particular, `personKey` precedence and fake-person derivation were not changed. | 7 | High | Windows can install a model bundle that the bundled runtime cannot execute. | [x] Complete | `PII-F04` | | 8 | High | Downloaded model hashes are generated after download and are not independent trust anchors. | [x] Complete | `PII-F05` | | 9 | Medium | Model installation is non-atomic and lacks explicit download size, extraction size, and timeout limits. | [x] Complete | `PII-F06` | -| 10 | Medium | CLI and MCP arguments can expose PII through argv, shell history, process inspection, and echoed command errors. | [ ] Reproduced; fix pending | `PII-F07` | -| 11 | Medium | The small fake-name lists permit visually identical pseudonyms for different people. | [ ] Reproduced; fix pending | `PII-F08` | -| 12 | Medium | Identity canonicalization does not normalize Unicode composition or define broader Unicode case/space semantics. | [ ] Reproduced; fix pending | `PII-F09` | -| 13 | Medium | Secret rotation changes every identity without a key version or migration policy. | [ ] Reproduced; fix pending | `PII-F10` | -| 14 | Medium | There is no maintained multilingual privacy corpus measuring false negatives and false positives. | [ ] Reproduced; fix pending | `PII-F11` | +| 10 | Medium | CLI and MCP arguments can expose PII through argv, shell history, process inspection, and echoed command errors. | [x] Complete | `PII-F07` | +| 11 | Medium | The small fake-name lists permit visually identical pseudonyms for different people. | [x] Complete | `PII-F08` | +| 12 | Medium | Identity canonicalization does not normalize Unicode composition or define broader Unicode case/space semantics. | [x] Complete | `PII-F09` | +| 13 | Medium | Secret rotation changes every identity without a key version or migration policy. | [x] Complete | `PII-F10` | +| 14 | Medium | There is no maintained multilingual privacy corpus measuring false negatives and false positives. | [x] Complete | `PII-F11` | ## Completed critical work @@ -335,63 +341,61 @@ archive attacks, HTTP/cancellation/runtime failures, concurrency, stale cleanup, marker/file damage, and preservation of a previous install. Implemented in `f4416c3`. -## Open original findings - -The focused contracts below are intentionally failing until their production -fixes land. They use synthetic values and local process fixtures only; no Help -Scout API calls or production content are involved. - -### 10. Sensitive arguments cross process boundaries — open - -Emails, search terms, message bodies, and custom-field values can enter argv. -The MCP runner also reconstructs command lines in errors. Prefer stdin or -protected files for sensitive input, redact reconstructed errors, and -eventually let MCP call application services without a CLI subprocess. - -Regression evidence: `TestPIIRegression_Medium10_SensitiveMCPInputsStayOffProcessBoundaries` -shows the fixture email and body in child argv, reconstructed command text, and -returned MCP errors. - -### 11. Visual pseudonym collisions — open - -Different identities can receive the same fake first/last name because table -views may omit the generated email suffix. Add a readable deterministic -disambiguator without exposing a source identifier. - -Regression evidence: `TestPIIRegression_Medium11_DisplayNamesDisambiguateDistinctPeople` -shows two distinct fixture identities rendering as `Casey Stewart`, despite -their generated emails being distinct. - -### 12. Unicode identity canonicalization is incomplete — open - -NFC and NFD spellings can derive different person keys despite appearing -identical. Define normalization, case-folding, and whitespace rules as a -versioned identity-key schema before changing current output. - -Regression evidence: `TestPIIRegression_Medium12_IdentityKeysNormalizeUnicodeComposition` -shows visually identical NFC and NFD spellings producing different keys. - -### 13. Secret rotation is unversioned — open - -Changing the secret intentionally changes every display identity, but output -has no key identifier and there is no migration or historical-correlation -policy. Design rotation together with issues 5 and 12. - -Regression evidence: `TestPIIRegression_Medium13_SecretRotationHasAnExplicitKeyIdentifier` -confirms rotation changes the fixture pseudonym and that the engine exposes no -opaque key identifier for callers to distinguish rotations. - -### 14. No multilingual quality corpus — open - -Build a synthetic, non-production evaluation corpus measuring privacy recall, -false positives, customer/staff separation, long-content behavior, and -performance across supported languages and scripts. Never use raw production -content to construct it. - -Regression evidence: `TestPIIRegression_Medium14_MultilingualPrivacyCorpusIsMaintained` -requires a schema-checked synthetic corpus covering Latin, Arabic, and Han -scripts; redact and preserve outcomes; and the originally identified quality -dimensions. The fixture is currently absent. +## Completed medium work + +### 10. Protected command boundaries — complete + +- MCP string inputs travel in a bounded schema-1 stdin envelope; child argv and + safe command displays contain placeholders. +- Errors, stdout, and stderr are scrubbed using only values classified as + protected, preserving useful public IDs. +- Direct CLI flags that can carry PII, credentials, authored content, or local + paths are annotated and rejected on argv. Help identifies them as + `protected input only`; stdin and private regular files are supported. +- The command suite itself moves sensitive fixtures through this boundary, and + the focused regression proves raw direct-CLI input is stopped before API + work without echoing its value. + +Longer-term service-layer MCP execution remains a worthwhile architectural +improvement, but is no longer required to keep protected values off the current +subprocess boundary. + +### 11. Collision-safe display identities — complete + +Displayed last names now carry a stable 40-bit HMAC-derived disambiguator and +the public key ID. The original deterministic first name, base last name, and +generated email remain pinned for already-canonical inputs; two fixture people +that formerly both displayed as `Casey Stewart` are now visually distinct. + +### 12. Versioned Unicode canonicalization — complete + +Identity schema `v2` applies NFC, Unicode case folding, NFC recomposition, and +Unicode whitespace collapsing to names. Emails retain established +trim/lowercase semantics with NFC added. Tests cover NFC/NFD equivalence, +non-ASCII folding, and Unicode whitespace. + +### 13. Explicit rotation context and migration — complete + +- Enabled engines require one encapsulated `PseudonymContext` containing the + private HMAC key, public key ID, and identity schema; no secret-only engine + composition path remains. +- New keyring records are schema-versioned JSON. Existing raw 32-byte records + are migrated under the cross-process initialization lock, preserving the + exact secret and adding an independently random public ID. +- Explicit deployments must set `HS_INBOX_PII_SECRET` and + `HS_INBOX_PII_KEY_ID` together. IDs are validated and never derived from the + secret. Rotation means changing both intentionally; the displayed marker + identifies the active rotation. + +### 14. Multilingual quality corpus — complete + +The maintained synthetic corpus covers Latin, Arabic, and Han scripts; +redaction and preservation; people, addresses, identifiers, customer/staff +policy, and long content. Normal tests are hermetic. The real model release +smoke uses the same corpus to require complete expected-name span coverage, +zero unexpected person spans in the fixtures, long-content chunking, and a +two-minute evaluation budget. Execution evidence awaits the next model-tag +workflow because the model bundle is intentionally not part of the repository. ## Additional observations raised during remediation @@ -411,14 +415,50 @@ current CLI and MCP subprocess model lets process exit reclaim the runtime, but an in-process server or future application-service integration should give the engine/detector explicit ownership and deterministic cleanup. +### A3. Plain five-digit values were treated as ZIP codes — complete + +The new preserve corpus exposed `Order 12345` as a false positive. Plain +five-digit values now require nearby ZIP/postal context or an already-redacted +address/PO box; ZIP+4 remains independently specific enough to redact. + +### A4. Customer JSON creation relied on stale Cobra flag state — complete + +`customers create --json` marked `--first-name` required even though JSON is an +alternative source, so a clean process would reject it and the old test passed +only after another singleton-command test set the flag. Required `firstName` +is now validated from the assembled protected body for both scalar and JSON +input. + +### A5 / PII-F12. Disabled low-level identity methods can still pseudonymize — open + +The public `RedactPerson`, `RedactEmail`, and `RedactPhone` methods do not +individually short-circuit when the engine mode is `off`. Current JSON and text +entry points guard on `Enabled`, so supported command paths remain pass-through, +but a future caller using an identity method directly could receive a +pseudonym derived from an empty context. The engine API should enforce the +mode invariant at its lowest public boundary and pin direct disabled-mode +tests. + +### A6 / PII-F13. Legacy generated-email namespace can collide at scale — open + +Issue 11 deliberately preserved the established generated email format while +adding strong disambiguation to full display names. That email format contains +50 first-name choices, 50 last-name choices, and a 16-bit suffix—about 164 +million possible addresses, with birthday collisions becoming plausible around +tens of thousands of identities. Email-only views therefore retain a residual +collision risk. Expanding the suffix or adding the public key ID should be an +explicit display/schema compatibility decision, not an implicit change inside +the completed `v2` name fix. + ## Suggested next sequence -1. Reduce argv/MCP exposure in issue 10 before expanding sensitive write tools. -2. Design issues 11–13 and A1 together as a versioned identity-key, - disambiguation, normalization, and secret-rotation contract. -3. Build issue 14's evaluation corpus before changing model or normalization - behavior, so privacy regressions become measurable. -4. Give the NER detector explicit invocation-scoped ownership before moving +1. Design A1 as a future identity-alias schema without changing the completed + `v2` email/name precedence implicitly. +2. Decide whether a future display schema may expand generated emails, and pin + the migration/compatibility contract before changing the legacy format. +3. Give the NER detector explicit invocation-scoped ownership before moving the CLI/MCP flow into a long-lived in-process service. +4. Make every public identity-redaction method honor `ModeOff` directly before + those methods are reused outside the guarded JSON/text presentation paths. 5. Treat native Windows inference as a separate capability: add it only after a real Windows loader/model smoke job passes. diff --git a/DEVELOPMENT.md b/DEVELOPMENT.md index c5f0cbd..9fafc84 100644 --- a/DEVELOPMENT.md +++ b/DEVELOPMENT.md @@ -159,6 +159,46 @@ See the official Go documentation for the - **output package**: Formatters write to `bytes.Buffer` for assertion - **selfupdate package**: Uses `httptest.Server` for GitHub API mocking, `DirOverride`/`InstallDirOverride` for filesystem isolation +### PII regression architecture + +Normal tests use the synthetic corpus at +`internal/pii/testdata/multilingual_privacy_corpus.json`; it contains no +production or Help Scout API data. The hermetic evaluator injects exact fixture +name spans and checks redaction, preservation, customer/staff separation, and +long-content behavior. The existing model-release smoke test loads the real +bundle and scores the same corpus for complete expected-name coverage, +unexpected person spans, chunking, and a two-minute evaluation budget: + +```bash +HS_PII_MODEL_SMOKE_DIR=/path/to/extracted/bundle \ + go test ./internal/pii/ner -run TestRuntimeBundleSmoke -count=1 -v -timeout=5m +``` + +The model-tag workflow runs that smoke on every advertised Linux and macOS +target. Normal unit jobs skip it when `HS_PII_MODEL_SMOKE_DIR` is absent. + +Command tests call `setRootArgs`, which automatically moves annotated fixture +values into the protected stdin envelope before Cobra parses argv. A regression +that intentionally proves raw-argv rejection must call `rootCmd.SetArgs` +directly and reset Cobra's changed flags first. + +### Protected inputs and pseudonym keys + +Use `markProtectedFlags` for any new flag that can contain PII, credentials, +authored free text, or a private local path. The root preflight accepts those +values only from the schema-1 `--protected-input` envelope. MCP transports all +string values through that channel and uses the annotation to scrub genuinely +sensitive values from child failures without erasing public IDs from output. + +Enabled PII engines accept only a `pii.PseudonymContext`, never bare secret +material. The context combines the private HMAC key, explicit public key ID, +and identity schema. The setup resolver persists a versioned keyring record; +under the cross-process lock it migrates the pre-versioning 32-byte record by +preserving those exact secret bytes and generating an independent random key +ID. Never derive a public key ID from secret material: that would provide an +offline verifier. Explicit deployments must set `HS_INBOX_PII_SECRET` and +`HS_INBOX_PII_KEY_ID` together and rotate them together. + ## Release Releases are automated via GitHub Actions. Push a `v*` tag to trigger a draft release with platform binaries: diff --git a/README.md b/README.md index aaf365c..ae5164c 100644 --- a/README.md +++ b/README.md @@ -37,6 +37,49 @@ go build -o build/hs ./cmd/hs ## Quick start +### Protected command input + +Values such as customer emails, search queries, message bodies, authored Docs +content, credential secrets, and local upload paths must not be typed on the +command line. Direct use is rejected, and flags marked `protected input only` +in `--help` must be supplied in a schema-versioned JSON envelope over stdin or +through a private regular file. To keep values out of shell history, start the +command first and only then paste the envelope—do not embed it in a shell +pipeline: + +```bash +hs --protected-input - inbox conversations threads reply 67890 +``` + +Then paste the envelope into its stdin and signal EOF (`Ctrl-D` on Unix; +`Ctrl-Z`, then Enter, in a Windows terminal): + +```json +{ + "schema": 1, + "command": ["inbox", "conversations", "threads", "reply"], + "flags": { + "customer": "user@example.com", + "body": "Thanks for reaching out!" + } +} +``` + +The `command` array must match the invoked command exactly. `flags` accepts +string and string-array values. Protected files are limited to 4 MiB, must be +regular files, and on Unix must not be accessible to group or other users: + +```bash +chmod 600 request.json +hs --protected-input request.json inbox conversations threads reply 67890 +``` + +On Windows, prefer stdin or restrict the file ACL yourself; the CLI can verify +the regular file type but cannot infer privacy from Go's portable mode bits. + +MCP performs this transport automatically. Its child argv and rendered command +errors contain placeholders, never the supplied protected values. + ### Inbox API (conversations, customers, mailboxes, etc.) ```bash @@ -46,24 +89,14 @@ hs inbox auth login # List conversations hs inbox conversations list -# Filter by status, mailbox, tag, search +# Filter by status, mailbox, and tag hs inbox conversations list --status pending --mailbox 12345 -hs inbox conversations list --query "billing issue" # Get a conversation with threads hs inbox conversations get 67890 --embed threads -# Reply to a conversation -hs inbox conversations threads reply 67890 --customer user@example.com --body "Thanks for reaching out!" - -# Add an internal note -hs inbox conversations threads note 67890 --body "Escalated to engineering" - -# Create a conversation -hs inbox conversations create --mailbox 12345 --subject "New issue" --customer user@example.com --body "Details here" - # List customers, users, tags -hs inbox customers list --query "alice@example.com" +hs inbox customers list hs inbox users list hs inbox tags list @@ -81,7 +114,6 @@ hs inbox workflows run 33333 --conversation-ids 100,200,300 # Webhooks hs inbox webhooks list -hs inbox webhooks create --url https://example.com/hook --events "convo.created" --secret my-secret ``` See [full Inbox API reference](docs/inbox-api.md) for all commands, flags, and options. @@ -96,26 +128,15 @@ hs docs auth login hs docs sites list hs docs collections list --site -# List and search articles +# List articles hs docs articles list --collection -hs docs articles search --query "password reset" # Get article details (including draft version) hs docs articles get hs docs articles get --draft -# Create an article -hs docs articles create --collection --name "Getting Started" --text "

Welcome...

" - # Manage categories hs docs categories list -hs docs categories create --collection --name "FAQs" - -# Redirects -hs docs redirects create --site --url-mapping /old --redirect /new - -# Upload assets -hs docs assets article upload --file ./screenshot.png ``` See [full Docs API reference](docs/docs-api.md) for all commands, flags, and options. @@ -173,9 +194,10 @@ hs inbox conversations list --no-paginate # fetch all pages ```bash # Set config values -hs inbox config set --inbox-app-id xxx --inbox-app-secret yyy +hs inbox config set --inbox-app-id xxx hs inbox config set --inbox-default-mailbox 12345 --format json -hs inbox config set --docs-api-key your-docs-key + +# Use auth login prompts or the protected-input envelope for credential values. # View config hs inbox config get @@ -196,7 +218,8 @@ Config file: `~/.config/hs/config.yaml` (Linux/macOS) or `%APPDATA%\helpscout\co | `HS_FORMAT` | Output format | | `HS_INBOX_PII_MODE` | PII redaction mode: `off`, `customers`, `all` | | `HS_INBOX_PII_ALLOW_UNREDACTED` | Allow `--unredacted` bypass | -| `HS_INBOX_PII_SECRET` | Secret salt for deterministic pseudonyms | +| `HS_INBOX_PII_SECRET` | Optional explicit private HMAC key; requires `HS_INBOX_PII_KEY_ID` | +| `HS_INBOX_PII_KEY_ID` | Public rotation ID paired with an explicit PII secret | | `HS_INBOX_PERMISSIONS` | Inbox permission policy | | `HS_DOCS_PERMISSIONS` | Docs permission policy | | `HS_NO_UPDATE_CHECK` | Disable daily update check (`1`) | @@ -253,11 +276,20 @@ Redaction is applied in layered stages: ### Deterministic anonymization — no PII stored -Fake names are **computed, not stored**. The CLI never writes a mapping of real identities to fake ones — not to disk, not to a database, nowhere. Each time you run a command, fake names are derived on-the-fly from the original using a one-way hash. Because the hash is deterministic, the same real identity always produces the same fake name across commands and sessions — so you can follow conversations and cross-reference outputs naturally, without any PII being persisted. +Fake names are **computed, not stored**. The CLI never writes a mapping of real identities to fake ones — not to disk, not to a database, nowhere. Each time you run a command, fake names are derived on-the-fly with keyed HMAC. Because the derivation is deterministic, the same real identity produces the same fake name across commands and sessions — so you can follow conversations and cross-reference outputs naturally, without any PII mapping being persisted. Display names include a short deterministic disambiguator and the public key ID so distinct people and secret rotations remain visually distinguishable; generated emails retain their established deterministic format. When the command finishes, all in-memory mappings are discarded. -Setting `HS_INBOX_PII_SECRET` (optional) adds a secret salt to the hash, making fake names unique to your environment and harder to reverse-engineer. +When neither key variable is set, the CLI generates a private 32-byte secret and +an independent public key ID, then stores the versioned record in the OS +keyring. Existing raw secret records are migrated under the initialization lock +without changing the secret bytes. For an explicit cross-machine identity +domain, set both `HS_INBOX_PII_SECRET` and `HS_INBOX_PII_KEY_ID`; the key ID is +normalized to lowercase and must contain 1–32 letters, numbers, `.`, `_`, or +`-`. Keep both stable for +deterministic display identities, and change both intentionally during a +rotation. The public ID is supplied independently and is never derived from the +secret. ### NER model management @@ -269,7 +301,9 @@ hs pii-model status # check install status hs pii-model uninstall # remove the model from disk ``` -The model supports Linux (amd64/arm64), macOS (amd64/arm64), and Windows (amd64/arm64). +The model runtime currently supports Linux (amd64/arm64) and macOS +(amd64/arm64). Windows keeps free-form content fail-closed until a native +runtime/model smoke test is available. ### Quick start diff --git a/docs/docs-api.md b/docs/docs-api.md index d9853a4..e97e696 100644 --- a/docs/docs-api.md +++ b/docs/docs-api.md @@ -24,6 +24,32 @@ hs docs auth logout | `HS_DOCS_API_KEY` | Docs API key (overrides `docs_api_key`) | | `HS_DOCS_PERMISSIONS` | Docs permission policy | +## Protected command input + +Search text, authored content, email lists, URL mappings, credential values, +and upload paths marked `protected input only` are rejected on argv. Use the +schema-versioned stdin/private-file envelope described in the +[Inbox reference](inbox-api.md#protected-command-input), changing `command` to +the exact Docs path, for example: + +```bash +hs --protected-input - docs articles search +``` + +After the process starts, paste this envelope into stdin and signal EOF: + +```json +{ + "schema": 1, + "command": ["docs", "articles", "search"], + "flags": {"query": "password reset"} +} +``` + +MCP performs this automatically. Later inline examples show logical API values +for compactness; protected flag/value pairs must be moved into the envelope +before execution. + ## Permissions Same mechanism as Inbox permissions. When `HS_DOCS_PERMISSIONS` is set, only explicitly granted `resource:operation` pairs are allowed. When unset, everything is allowed. diff --git a/docs/inbox-api.md b/docs/inbox-api.md index 1495772..bd23fa7 100644 --- a/docs/inbox-api.md +++ b/docs/inbox-api.md @@ -43,7 +43,8 @@ hs inbox auth logout | `HS_FORMAT` | Output format (overrides `format`) | | `HS_INBOX_PII_MODE` | PII redaction mode (overrides `inbox_pii_mode`) | | `HS_INBOX_PII_ALLOW_UNREDACTED` | Allow `--unredacted` bypass (overrides `inbox_pii_allow_unredacted`) | -| `HS_INBOX_PII_SECRET` | Optional secret salt for deterministic pseudonyms | +| `HS_INBOX_PII_SECRET` | Optional explicit private HMAC key; requires `HS_INBOX_PII_KEY_ID` | +| `HS_INBOX_PII_KEY_ID` | Public rotation ID paired with an explicit PII secret | | `HS_INBOX_PERMISSIONS` | Inbox permission policy | | `HS_NO_UPDATE_CHECK` | Disable daily update check (`1`) | @@ -75,6 +76,53 @@ HS_INBOX_PERMISSIONS="*:*" **Source priority**: `HS_INBOX_PERMISSIONS` env var > `inbox_permissions` in config.yaml > unrestricted default +## Protected command input + +Flags whose values can contain PII, authored content, credentials, or local +paths are marked `protected input only` in command help. The CLI rejects those +values on argv. Do not type a rejected value into a shell first—the shell may +already have recorded it. Supply values in a schema-1 envelope over stdin or in +a private regular file instead: + +```bash +hs --protected-input - inbox conversations list --status all +``` + +After the process starts, paste the envelope into stdin and signal EOF +(`Ctrl-D` on Unix; `Ctrl-Z`, then Enter, in a Windows terminal): + +```json +{ + "schema": 1, + "command": ["inbox", "conversations", "list"], + "flags": {"query": "(email:\"alice@example.com\")"} +} +``` + +For a reply: + +```bash +hs --protected-input - inbox conversations threads reply 67890 +``` + +```json +{ + "schema": 1, + "command": ["inbox", "conversations", "threads", "reply"], + "flags": { + "customer": "user@example.com", + "body": "Thanks for reaching out!", + "to": ["recipient@example.com"] + } +} +``` + +The command path must match exactly. Envelopes are limited to 4 MiB; Unix +files must not grant group/other access. MCP applies this transport +automatically. To keep the API catalogue compact, later examples that show a +protected flag inline illustrate its logical API value; move that flag/value +into the envelope before running the command. + ### MCP / LLM setup Use permissions to restrict what an LLM can do via MCP or shell access: @@ -116,7 +164,7 @@ To allow, add conversations:write to HS_INBOX_PERMISSIONS ```bash # Set one or more config values -hs inbox config set --inbox-app-id xxx --inbox-app-secret yyy +hs inbox config set --inbox-app-id xxx hs inbox config set --inbox-default-mailbox 12345 hs inbox config set --format json hs inbox config set --inbox-pii-mode customers diff --git a/go.mod b/go.mod index a9ea383..c08d456 100644 --- a/go.mod +++ b/go.mod @@ -13,6 +13,7 @@ require ( github.com/zalando/go-keyring v0.2.6 golang.org/x/oauth2 v0.35.0 golang.org/x/sys v0.38.0 + golang.org/x/text v0.31.0 golang.org/x/time v0.14.0 gopkg.in/yaml.v3 v3.0.1 ) @@ -39,5 +40,4 @@ require ( github.com/schollz/progressbar/v2 v2.15.0 // indirect github.com/sugarme/regexpset v0.0.0-20200920021344-4d4ec8eaf93c // indirect golang.org/x/net v0.47.0 // indirect - golang.org/x/text v0.31.0 // indirect ) diff --git a/internal/api/debug_sanitizer.go b/internal/api/debug_sanitizer.go index add037f..aa190ae 100644 --- a/internal/api/debug_sanitizer.go +++ b/internal/api/debug_sanitizer.go @@ -40,7 +40,11 @@ func newSafeDiagnosticSanitizerWithRandom(random io.Reader) diagnosticSanitizer if err != nil { return opaqueDiagnosticSanitizer{} } - engine, err := pii.NewEngine(pii.ModeAll, secret) + pseudonym, err := pii.NewPseudonymContext(secret, "diagnostic") + if err != nil { + return opaqueDiagnosticSanitizer{} + } + engine, err := pii.NewEngine(pii.ModeAll, pseudonym) if err != nil { return opaqueDiagnosticSanitizer{} } diff --git a/internal/cmd/auth_fallback_test.go b/internal/cmd/auth_fallback_test.go index 3c18abe..0f45aa2 100644 --- a/internal/cmd/auth_fallback_test.go +++ b/internal/cmd/auth_fallback_test.go @@ -100,7 +100,7 @@ func TestAuthStatus_ConfigFallback_E2E(t *testing.T) { })) cfgPath = cfgFile - rootCmd.SetArgs([]string{"inbox", "auth", "status"}) + setRootArgs(t, []string{"inbox", "auth", "status"}) require.NoError(t, rootCmd.Execute()) assert.Contains(t, buf.String(), "Authenticated") @@ -118,7 +118,7 @@ func TestDocsAuthStatus_ConfigFallback_E2E(t *testing.T) { })) cfgPath = cfgFile - rootCmd.SetArgs([]string{"docs", "auth", "status"}) + setRootArgs(t, []string{"docs", "auth", "status"}) require.NoError(t, rootCmd.Execute()) assert.Contains(t, buf.String(), "Authenticated") @@ -139,7 +139,7 @@ func TestAuthLogout_ClearsConfig_E2E(t *testing.T) { })) cfgPath = cfgFile - rootCmd.SetArgs([]string{"inbox", "auth", "logout"}) + setRootArgs(t, []string{"inbox", "auth", "logout"}) require.NoError(t, rootCmd.Execute()) assert.Contains(t, buf.String(), "Credentials removed") @@ -164,7 +164,7 @@ func TestDocsAuthLogout_ClearsConfig_E2E(t *testing.T) { })) cfgPath = cfgFile - rootCmd.SetArgs([]string{"docs", "auth", "logout"}) + setRootArgs(t, []string{"docs", "auth", "logout"}) require.NoError(t, rootCmd.Execute()) assert.Contains(t, buf.String(), "Docs API key removed") @@ -181,7 +181,7 @@ func TestAuthStatus_NotAuthenticated_NoKeyringNoConfig_E2E(t *testing.T) { t.Setenv("HS_INBOX_APP_ID", "") t.Setenv("HS_INBOX_APP_SECRET", "") - rootCmd.SetArgs([]string{"inbox", "auth", "status"}) + setRootArgs(t, []string{"inbox", "auth", "status"}) require.NoError(t, rootCmd.Execute()) assert.Contains(t, buf.String(), "Not authenticated") @@ -192,7 +192,7 @@ func TestDocsAuthStatus_NotAuthenticated_E2E(t *testing.T) { t.Setenv("HS_DOCS_API_KEY", "") - rootCmd.SetArgs([]string{"docs", "auth", "status"}) + setRootArgs(t, []string{"docs", "auth", "status"}) require.NoError(t, rootCmd.Execute()) assert.Contains(t, buf.String(), "Not authenticated") diff --git a/internal/cmd/cmd_test.go b/internal/cmd/cmd_test.go index a6db88d..e47e9ac 100644 --- a/internal/cmd/cmd_test.go +++ b/internal/cmd/cmd_test.go @@ -7,8 +7,10 @@ import ( "net/url" "os" "path/filepath" + "strings" "testing" + "github.com/spf13/cobra" "github.com/spf13/pflag" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" @@ -18,6 +20,99 @@ import ( "github.com/operator-kit/hs-cli/internal/selfupdate" ) +// setRootArgs lets command tests describe ordinary CLI inputs while exercising +// the same protected transport required from real callers. Values never enter +// the argv passed to Cobra when their flag is annotated as protected. +func setRootArgs(t *testing.T, args []string) { + t.Helper() + resetChangedFlags(rootCmd) + protectedInputPath = "" + + command := testCommandForArgs(rootCmd, args) + protected := make(map[string]any) + safeArgs := make([]string, 0, len(args)+2) + for index := 0; index < len(args); index++ { + arg := args[index] + if !strings.HasPrefix(arg, "--") { + safeArgs = append(safeArgs, arg) + continue + } + + nameValue := strings.TrimPrefix(arg, "--") + name, value, inline := strings.Cut(nameValue, "=") + flag := lookupCommandFlag(command, name) + if flag == nil || flag.Annotations == nil { + safeArgs = append(safeArgs, arg) + continue + } + if _, isProtected := flag.Annotations[protectedFlagAnnotation]; !isProtected { + safeArgs = append(safeArgs, arg) + continue + } + if !inline { + if index+1 >= len(args) { + t.Fatalf("test protected flag --%s has no value", name) + } + index++ + value = args[index] + } + + switch flag.Value.Type() { + case "stringSlice": + values, _ := protected[name].([]string) + values = append(values, strings.Split(value, ",")...) + protected[name] = values + case "stringArray": + values, _ := protected[name].([]string) + protected[name] = append(values, value) + default: + protected[name] = value + } + } + + if len(protected) > 0 { + envelope := protectedInputEnvelope{ + Schema: protectedInputSchema, + Command: commandPathSegments(command), + Flags: make(map[string]json.RawMessage, len(protected)), + } + for name, value := range protected { + raw, err := json.Marshal(value) + require.NoError(t, err) + envelope.Flags[name] = raw + } + raw, err := json.Marshal(envelope) + require.NoError(t, err) + rootCmd.SetIn(bytes.NewReader(raw)) + safeArgs = append([]string{"--" + protectedInputFlagName, "-"}, safeArgs...) + } + rootCmd.SetArgs(safeArgs) +} + +func testCommandForArgs(root *cobra.Command, args []string) *cobra.Command { + current := root + for _, arg := range args { + if strings.HasPrefix(arg, "-") { + continue + } + for _, child := range current.Commands() { + if child.Name() == arg || child.HasAlias(arg) { + current = child + break + } + } + } + return current +} + +func resetChangedFlags(command *cobra.Command) { + command.Flags().VisitAll(func(flag *pflag.Flag) { flag.Changed = false }) + command.PersistentFlags().VisitAll(func(flag *pflag.Flag) { flag.Changed = false }) + for _, child := range command.Commands() { + resetChangedFlags(child) + } +} + // isolateHome creates a sandboxed home directory so E2E tests don't touch // the real config, keyring, or shell rc files. func isolateHome(t *testing.T) string { @@ -57,10 +152,11 @@ func saveRestore(t *testing.T) { origSetFormat := setFormat origSetPIIMode := setInboxPIIMode origSetPIIAllowRaw := setInboxPIIAllow - origResolvePIISecret := resolvePIISecret + origResolvePIIContext := resolvePIIContext origInvocationPIIPrepared := invocationPIIPrepared origInvocationPIIMode := invocationPIIMode - origInvocationPIISecret := invocationPIISecret + origInvocationPIIContext := invocationPIIContext + origInvocationProtectedValues := append([]string(nil), invocationProtectedValues...) selfupdate.DirOverride = t.TempDir() resetPIIInvocation() @@ -84,10 +180,11 @@ func saveRestore(t *testing.T) { setFormat = origSetFormat setInboxPIIMode = origSetPIIMode setInboxPIIAllow = origSetPIIAllowRaw - resolvePIISecret = origResolvePIISecret + resolvePIIContext = origResolvePIIContext invocationPIIPrepared = origInvocationPIIPrepared invocationPIIMode = origInvocationPIIMode - invocationPIISecret = origInvocationPIISecret + invocationPIIContext = origInvocationPIIContext + invocationProtectedValues = origInvocationProtectedValues configSetCmd.Flags().VisitAll(func(f *pflag.Flag) { f.Changed = false }) @@ -122,7 +219,7 @@ func TestVersionCmd(t *testing.T) { buf := new(bytes.Buffer) rootCmd.SetOut(buf) - rootCmd.SetArgs([]string{"version"}) + setRootArgs(t, []string{"version"}) require.NoError(t, rootCmd.Execute()) assert.Contains(t, buf.String(), "1.0.0") @@ -136,7 +233,7 @@ func TestUpdateCmd_DevBuild(t *testing.T) { buf := new(bytes.Buffer) rootCmd.SetOut(buf) rootCmd.SetErr(buf) - rootCmd.SetArgs([]string{"update"}) + setRootArgs(t, []string{"update"}) require.NoError(t, rootCmd.Execute()) assert.Contains(t, buf.String(), "Skipping update: running dev build") @@ -151,7 +248,7 @@ func TestAuthStatus_NotAuthenticated_E2E(t *testing.T) { t.Setenv("HS_INBOX_APP_ID", "") t.Setenv("HS_INBOX_APP_SECRET", "") - rootCmd.SetArgs([]string{"inbox", "auth", "status"}) + setRootArgs(t, []string{"inbox", "auth", "status"}) require.NoError(t, rootCmd.Execute()) assert.Contains(t, buf.String(), "Not authenticated") @@ -171,7 +268,7 @@ func TestAuthStatus_WithConfigCreds_E2E(t *testing.T) { })) cfgPath = cfgFile - rootCmd.SetArgs([]string{"inbox", "auth", "status"}) + setRootArgs(t, []string{"inbox", "auth", "status"}) require.NoError(t, rootCmd.Execute()) assert.Contains(t, buf.String(), "Authenticated") } @@ -179,7 +276,7 @@ func TestAuthStatus_WithConfigCreds_E2E(t *testing.T) { func TestAuthLogout_E2E(t *testing.T) { _, buf := setupE2E(t) - rootCmd.SetArgs([]string{"inbox", "auth", "logout"}) + setRootArgs(t, []string{"inbox", "auth", "logout"}) require.NoError(t, rootCmd.Execute()) assert.Contains(t, buf.String(), "Credentials removed") @@ -263,7 +360,7 @@ func TestCommandWithEnvCreds_E2E(t *testing.T) { format = "table" t.Cleanup(func() { output.Out = os.Stdout }) - rootCmd.SetArgs([]string{"inbox", "mailboxes", "list"}) + setRootArgs(t, []string{"inbox", "mailboxes", "list"}) require.NoError(t, rootCmd.Execute()) assert.Contains(t, buf.String(), "Support") diff --git a/internal/cmd/config.go b/internal/cmd/config.go index 7e1a677..e475547 100644 --- a/internal/cmd/config.go +++ b/internal/cmd/config.go @@ -51,6 +51,7 @@ func newConfigSetCmd() *cobra.Command { cmd.Flags().BoolVar(&setInboxPIIAllow, "inbox-pii-allow-unredacted", false, "allow per-request --unredacted override") cmd.Flags().StringVar(&setDocsAPIKey, "docs-api-key", "", "HelpScout Docs API key") cmd.Flags().StringVar(&setDocsPermissions, "docs-permissions", "", "Docs permission policy") + markProtectedFlags(cmd, "inbox-app-secret", "docs-api-key") return cmd } diff --git a/internal/cmd/config_test.go b/internal/cmd/config_test.go index 607b5af..cc1387e 100644 --- a/internal/cmd/config_test.go +++ b/internal/cmd/config_test.go @@ -28,7 +28,7 @@ func TestConfigSet(t *testing.T) { buf := new(bytes.Buffer) rootCmd.SetOut(buf) - rootCmd.SetArgs([]string{"inbox", "config", "set", "--inbox-app-id", "myid", "--inbox-app-secret", "mysecret", "--inbox-default-mailbox", "42", "--format", "json", "--inbox-pii-mode", "customers", "--inbox-pii-allow-unredacted"}) + setRootArgs(t, []string{"inbox", "config", "set", "--inbox-app-id", "myid", "--inbox-app-secret", "mysecret", "--inbox-default-mailbox", "42", "--format", "json", "--inbox-pii-mode", "customers", "--inbox-pii-allow-unredacted"}) require.NoError(t, rootCmd.Execute()) assert.Contains(t, buf.String(), "Config saved") @@ -67,7 +67,7 @@ func TestConfigSet_Partial(t *testing.T) { buf := new(bytes.Buffer) rootCmd.SetOut(buf) - rootCmd.SetArgs([]string{"inbox", "config", "set", "--inbox-app-id", "new-id"}) + setRootArgs(t, []string{"inbox", "config", "set", "--inbox-app-id", "new-id"}) require.NoError(t, rootCmd.Execute()) loaded, err := config.Load(cfgFile) @@ -95,7 +95,7 @@ func TestConfigSet_MutualFields(t *testing.T) { buf := new(bytes.Buffer) rootCmd.SetOut(buf) - rootCmd.SetArgs([]string{"inbox", "config", "set", "--inbox-app-id", "myid", "--inbox-default-mailbox", "99"}) + setRootArgs(t, []string{"inbox", "config", "set", "--inbox-app-id", "myid", "--inbox-default-mailbox", "99"}) require.NoError(t, rootCmd.Execute()) loaded, err := config.Load(cfgFile) @@ -129,7 +129,7 @@ func TestConfigGet(t *testing.T) { buf := new(bytes.Buffer) rootCmd.SetOut(buf) - rootCmd.SetArgs([]string{"inbox", "config", "get"}) + setRootArgs(t, []string{"inbox", "config", "get"}) require.NoError(t, rootCmd.Execute()) output := buf.String() @@ -163,7 +163,7 @@ func TestConfigGet_SingleKey(t *testing.T) { buf := new(bytes.Buffer) rootCmd.SetOut(buf) - rootCmd.SetArgs([]string{"inbox", "config", "get", "inbox-app-id"}) + setRootArgs(t, []string{"inbox", "config", "get", "inbox-app-id"}) require.NoError(t, rootCmd.Execute()) assert.Equal(t, "myid\n", buf.String()) @@ -178,7 +178,7 @@ func TestConfigPath(t *testing.T) { buf := new(bytes.Buffer) rootCmd.SetOut(buf) - rootCmd.SetArgs([]string{"inbox", "config", "path"}) + setRootArgs(t, []string{"inbox", "config", "path"}) require.NoError(t, rootCmd.Execute()) assert.Equal(t, cfgFile+"\n", buf.String()) @@ -204,7 +204,7 @@ func TestConfigGet_SinglePIIModeKey(t *testing.T) { buf := new(bytes.Buffer) rootCmd.SetOut(buf) - rootCmd.SetArgs([]string{"inbox", "config", "get", "inbox-pii-mode"}) + setRootArgs(t, []string{"inbox", "config", "get", "inbox-pii-mode"}) require.NoError(t, rootCmd.Execute()) assert.Equal(t, "customers\n", buf.String()) @@ -220,7 +220,7 @@ func TestConfigSet_InvalidPIIMode(t *testing.T) { buf := new(bytes.Buffer) rootCmd.SetOut(buf) - rootCmd.SetArgs([]string{"inbox", "config", "set", "--inbox-pii-mode", "bad"}) + setRootArgs(t, []string{"inbox", "config", "set", "--inbox-pii-mode", "bad"}) err := rootCmd.Execute() require.Error(t, err) assert.Contains(t, err.Error(), "invalid --inbox-pii-mode") @@ -243,7 +243,7 @@ format: json buf := new(bytes.Buffer) rootCmd.SetOut(buf) - rootCmd.SetArgs([]string{"inbox", "config", "set", "--inbox-pii-mode", " Customers "}) + setRootArgs(t, []string{"inbox", "config", "set", "--inbox-pii-mode", " Customers "}) require.NoError(t, rootCmd.Execute()) stored, err := config.LoadFile(cfgPath) @@ -263,7 +263,7 @@ func TestConfigSet_InvalidStoredModeRequiresModeRepair(t *testing.T) { require.NoError(t, os.WriteFile(cfgPath, []byte("inbox_app_id: original\ninbox_pii_mode: typo\n"), 0o600)) t.Setenv("HS_INBOX_PII_MODE", "") - rootCmd.SetArgs([]string{"inbox", "config", "set", "--inbox-app-id", "replacement"}) + setRootArgs(t, []string{"inbox", "config", "set", "--inbox-app-id", "replacement"}) err := rootCmd.Execute() require.Error(t, err) assert.Contains(t, err.Error(), "inbox_pii_mode") @@ -281,7 +281,7 @@ func TestConfigSet_MalformedYAMLIsNotOverwritten(t *testing.T) { const malformed = "{{{invalid" require.NoError(t, os.WriteFile(cfgPath, []byte(malformed), 0o600)) - rootCmd.SetArgs([]string{"inbox", "config", "set", "--inbox-pii-mode", "all"}) + setRootArgs(t, []string{"inbox", "config", "set", "--inbox-pii-mode", "all"}) require.Error(t, rootCmd.Execute()) stored, err := os.ReadFile(cfgPath) diff --git a/internal/cmd/docs_articles.go b/internal/cmd/docs_articles.go index 0d5d5ed..2f9ebb3 100644 --- a/internal/cmd/docs_articles.go +++ b/internal/cmd/docs_articles.go @@ -35,6 +35,7 @@ func newDocsArticlesCmd() *cobra.Command { searchCmd.Flags().String("site", "", "filter by site ID") searchCmd.Flags().String("status", "", "filter by status") searchCmd.Flags().String("visibility", "", "filter by visibility") + markProtectedFlags(searchCmd, "query") searchCmd.MarkFlagRequired("query") getCmd := docsArticlesGetCmd() @@ -54,6 +55,7 @@ func newDocsArticlesCmd() *cobra.Command { createCmd.Flags().StringSlice("categories", nil, "category IDs") createCmd.Flags().StringSlice("related", nil, "related article IDs") createCmd.Flags().StringSlice("keywords", nil, "SEO keywords") + markProtectedFlags(createCmd, "name", "text", "keywords") createCmd.MarkFlagRequired("collection") createCmd.MarkFlagRequired("name") createCmd.MarkFlagRequired("text") @@ -67,6 +69,7 @@ func newDocsArticlesCmd() *cobra.Command { updateCmd.Flags().StringSlice("categories", nil, "category IDs") updateCmd.Flags().StringSlice("related", nil, "related article IDs") updateCmd.Flags().StringSlice("keywords", nil, "SEO keywords") + markProtectedFlags(updateCmd, "name", "text", "keywords") deleteCmd := docsArticlesDeleteCmd() permission.Annotate(deleteCmd, "articles", permission.OpDelete) @@ -74,6 +77,7 @@ func newDocsArticlesCmd() *cobra.Command { uploadCmd := docsArticlesUploadCmd() permission.Annotate(uploadCmd, "articles", permission.OpWrite) uploadCmd.Flags().String("file", "", "file path to upload (required)") + markProtectedFlags(uploadCmd, "file") uploadCmd.MarkFlagRequired("file") viewsCmd := docsArticlesViewsUpdateCmd() @@ -85,6 +89,7 @@ func newDocsArticlesCmd() *cobra.Command { draftSaveCmd := docsArticlesDraftSaveCmd() permission.Annotate(draftSaveCmd, "articles", permission.OpWrite) draftSaveCmd.Flags().String("text", "", "draft body HTML (required)") + markProtectedFlags(draftSaveCmd, "text") draftSaveCmd.MarkFlagRequired("text") draftDeleteCmd := docsArticlesDraftDeleteCmd() diff --git a/internal/cmd/docs_assets.go b/internal/cmd/docs_assets.go index b7b3268..d1c09ca 100644 --- a/internal/cmd/docs_assets.go +++ b/internal/cmd/docs_assets.go @@ -19,6 +19,7 @@ func newDocsAssetsCmd() *cobra.Command { articleUploadCmd := docsAssetsArticleUploadCmd() permission.Annotate(articleUploadCmd, "assets", permission.OpWrite) articleUploadCmd.Flags().String("file", "", "file path to upload (required)") + markProtectedFlags(articleUploadCmd, "file") articleUploadCmd.MarkFlagRequired("file") articleCmd.AddCommand(articleUploadCmd) @@ -26,6 +27,7 @@ func newDocsAssetsCmd() *cobra.Command { settingsUploadCmd := docsAssetsSettingsUploadCmd() permission.Annotate(settingsUploadCmd, "assets", permission.OpWrite) settingsUploadCmd.Flags().String("file", "", "file path to upload (required)") + markProtectedFlags(settingsUploadCmd, "file") settingsUploadCmd.MarkFlagRequired("file") settingsCmd.AddCommand(settingsUploadCmd) diff --git a/internal/cmd/docs_categories.go b/internal/cmd/docs_categories.go index 3878868..9c851a3 100644 --- a/internal/cmd/docs_categories.go +++ b/internal/cmd/docs_categories.go @@ -34,6 +34,7 @@ func newDocsCategoriesCmd() *cobra.Command { createCmd.Flags().String("visibility", "", "visibility (public|private)") createCmd.Flags().Int("order", 0, "display order") createCmd.Flags().String("default-sort", "", "default sort (name|number|popularity|manual)") + markProtectedFlags(createCmd, "name") createCmd.MarkFlagRequired("collection") createCmd.MarkFlagRequired("name") @@ -44,6 +45,7 @@ func newDocsCategoriesCmd() *cobra.Command { updateCmd.Flags().String("visibility", "", "visibility (public|private)") updateCmd.Flags().Int("order", 0, "display order") updateCmd.Flags().String("default-sort", "", "default sort (name|number|popularity|manual)") + markProtectedFlags(updateCmd, "name") reorderCmd := docsCategoriesReorderCmd() permission.Annotate(reorderCmd, "categories", permission.OpWrite) diff --git a/internal/cmd/docs_collections.go b/internal/cmd/docs_collections.go index 7a9b91a..c41d810 100644 --- a/internal/cmd/docs_collections.go +++ b/internal/cmd/docs_collections.go @@ -37,6 +37,7 @@ func newDocsCollectionsCmd() *cobra.Command { createCmd.Flags().String("visibility", "", "visibility (public|private)") createCmd.Flags().Int("order", 0, "display order") createCmd.Flags().String("description", "", "collection description") + markProtectedFlags(createCmd, "name", "description") createCmd.MarkFlagRequired("site") createCmd.MarkFlagRequired("name") @@ -46,6 +47,7 @@ func newDocsCollectionsCmd() *cobra.Command { updateCmd.Flags().String("visibility", "", "visibility (public|private)") updateCmd.Flags().Int("order", 0, "display order") updateCmd.Flags().String("description", "", "collection description") + markProtectedFlags(updateCmd, "name", "description") deleteCmd := docsCollectionsDeleteCmd() permission.Annotate(deleteCmd, "collections", permission.OpDelete) diff --git a/internal/cmd/docs_redirects.go b/internal/cmd/docs_redirects.go index 8859ac2..1f90b17 100644 --- a/internal/cmd/docs_redirects.go +++ b/internal/cmd/docs_redirects.go @@ -30,6 +30,7 @@ func newDocsRedirectsCmd() *cobra.Command { permission.Annotate(findCmd, "redirects", permission.OpRead) findCmd.Flags().String("site", "", "site ID (required)") findCmd.Flags().String("url", "", "URL to find redirect for (required)") + markProtectedFlags(findCmd, "url") findCmd.MarkFlagRequired("site") findCmd.MarkFlagRequired("url") @@ -38,6 +39,7 @@ func newDocsRedirectsCmd() *cobra.Command { createCmd.Flags().String("site", "", "site ID (required)") createCmd.Flags().String("url-mapping", "", "source URL path (required)") createCmd.Flags().String("redirect", "", "destination URL path (required)") + markProtectedFlags(createCmd, "url-mapping", "redirect") createCmd.MarkFlagRequired("site") createCmd.MarkFlagRequired("url-mapping") createCmd.MarkFlagRequired("redirect") @@ -46,6 +48,7 @@ func newDocsRedirectsCmd() *cobra.Command { permission.Annotate(updateCmd, "redirects", permission.OpWrite) updateCmd.Flags().String("url-mapping", "", "source URL path") updateCmd.Flags().String("redirect", "", "destination URL path") + markProtectedFlags(updateCmd, "url-mapping", "redirect") deleteCmd := docsRedirectsDeleteCmd() permission.Annotate(deleteCmd, "redirects", permission.OpDelete) diff --git a/internal/cmd/docs_sites.go b/internal/cmd/docs_sites.go index 5a979ff..09ebc0c 100644 --- a/internal/cmd/docs_sites.go +++ b/internal/cmd/docs_sites.go @@ -37,6 +37,7 @@ func newDocsSitesCmd() *cobra.Command { createCmd.Flags().String("favicon-url", "", "favicon URL") createCmd.Flags().String("color", "", "primary color") createCmd.Flags().String("contact-email", "", "contact email") + markProtectedFlags(createCmd, "contact-email") createCmd.MarkFlagRequired("subdomain") createCmd.MarkFlagRequired("title") @@ -51,6 +52,7 @@ func newDocsSitesCmd() *cobra.Command { updateCmd.Flags().String("favicon-url", "", "favicon URL") updateCmd.Flags().String("color", "", "primary color") updateCmd.Flags().String("contact-email", "", "contact email") + markProtectedFlags(updateCmd, "contact-email") deleteCmd := docsSitesDeleteCmd() permission.Annotate(deleteCmd, "sites", permission.OpDelete) @@ -62,6 +64,7 @@ func newDocsSitesCmd() *cobra.Command { permission.Annotate(restrictionsUpdateCmd, "sites", permission.OpWrite) restrictionsUpdateCmd.Flags().StringSlice("emails", nil, "allowed email addresses") restrictionsUpdateCmd.Flags().StringSlice("domains", nil, "allowed domains") + markProtectedFlags(restrictionsUpdateCmd, "emails") restrictionsCmd.AddCommand(restrictionsGetCmd, restrictionsUpdateCmd) cmd.AddCommand(listCmd, getCmd, createCmd, updateCmd, deleteCmd, restrictionsCmd) diff --git a/internal/cmd/error_output_test.go b/internal/cmd/error_output_test.go index b43aa79..50f1feb 100644 --- a/internal/cmd/error_output_test.go +++ b/internal/cmd/error_output_test.go @@ -16,7 +16,7 @@ func TestShouldShowUsageForError_UnknownCommand(t *testing.T) { func TestExecute_UnknownFlag_PrintsUsage(t *testing.T) { _, buf := setupE2E(t) - rootCmd.SetArgs([]string{"inbox", "config", "get", "--wat"}) + setRootArgs(t, []string{"inbox", "config", "get", "--wat"}) err := Execute() require.Error(t, err) @@ -29,7 +29,7 @@ func TestExecute_UnknownFlag_PrintsUsage(t *testing.T) { func TestExecute_ArgCountMismatch_PrintsUsage(t *testing.T) { _, buf := setupE2E(t) - rootCmd.SetArgs([]string{"inbox", "config", "get", "a", "b"}) + setRootArgs(t, []string{"inbox", "config", "get", "a", "b"}) err := Execute() require.Error(t, err) @@ -44,7 +44,7 @@ func TestExecute_MissingRequiredFlag_PrintsUsage(t *testing.T) { t.Setenv("HS_INBOX_APP_ID", "test-id") t.Setenv("HS_INBOX_APP_SECRET", "test-secret") - rootCmd.SetArgs([]string{"inbox", "saved-replies", "create"}) + setRootArgs(t, []string{"inbox", "saved-replies", "create"}) err := Execute() require.Error(t, err) @@ -60,7 +60,7 @@ func TestExecute_RuntimeAuthError_DoesNotPrintUsage(t *testing.T) { t.Setenv("HS_INBOX_APP_SECRET", "") apiClient = nil - rootCmd.SetArgs([]string{"inbox", "customers", "list"}) + setRootArgs(t, []string{"inbox", "customers", "list"}) err := Execute() require.Error(t, err) @@ -78,7 +78,7 @@ func TestExecute_RuntimeAuthError_DoesNotPrintUsage(t *testing.T) { func TestExecute_RuntimeError_DoesNotPrintUsage(t *testing.T) { _, buf := setupE2E(t) - rootCmd.SetArgs([]string{"inbox", "config", "set", "--inbox-pii-mode", "invalid"}) + setRootArgs(t, []string{"inbox", "config", "set", "--inbox-pii-mode", "invalid"}) err := Execute() require.Error(t, err) diff --git a/internal/cmd/inbox_attachments.go b/internal/cmd/inbox_attachments.go index 9890fe9..a0fa7f7 100644 --- a/internal/cmd/inbox_attachments.go +++ b/internal/cmd/inbox_attachments.go @@ -65,6 +65,7 @@ func newConversationAttachmentsCmd() *cobra.Command { uploadCmd.Flags().String("file", "", "path to file (required)") uploadCmd.Flags().String("filename", "", "attachment filename override") uploadCmd.Flags().String("mime-type", "", "attachment MIME type") + markProtectedFlags(uploadCmd, "file", "filename") uploadCmd.MarkFlagRequired("thread-id") uploadCmd.MarkFlagRequired("file") diff --git a/internal/cmd/inbox_attachments_test.go b/internal/cmd/inbox_attachments_test.go index 05e3de0..228ef88 100644 --- a/internal/cmd/inbox_attachments_test.go +++ b/internal/cmd/inbox_attachments_test.go @@ -36,7 +36,7 @@ func TestConversationAttachmentsUpload(t *testing.T) { buf := setupTest(mock) defer func() { output.Out = os.Stdout }() - rootCmd.SetArgs([]string{ + setRootArgs(t, []string{ "inbox", "conversations", "attachments", "upload", "10", "--thread-id", "99", "--file", filePath, @@ -65,7 +65,7 @@ func TestConversationAttachmentsList(t *testing.T) { buf := setupTest(mock) defer func() { output.Out = os.Stdout }() - rootCmd.SetArgs([]string{"inbox", "conversations", "attachments", "list", "42"}) + setRootArgs(t, []string{"inbox", "conversations", "attachments", "list", "42"}) require.NoError(t, rootCmd.Execute()) assert.Contains(t, buf.String(), "file.txt") } @@ -82,7 +82,7 @@ func TestConversationAttachmentsGet(t *testing.T) { buf := setupTest(mock) defer func() { output.Out = os.Stdout }() - rootCmd.SetArgs([]string{"inbox", "conversations", "attachments", "get", "42", "7"}) + setRootArgs(t, []string{"inbox", "conversations", "attachments", "get", "42", "7"}) require.NoError(t, rootCmd.Execute()) assert.Contains(t, buf.String(), "invoice.pdf") } @@ -99,7 +99,7 @@ func TestConversationAttachmentsDelete(t *testing.T) { buf := setupTest(mock) defer func() { output.Out = os.Stdout }() - rootCmd.SetArgs([]string{"inbox", "conversations", "attachments", "delete", "42", "7"}) + setRootArgs(t, []string{"inbox", "conversations", "attachments", "delete", "42", "7"}) require.NoError(t, rootCmd.Execute()) assert.Contains(t, buf.String(), "Deleted attachment 7 from conversation 42") } diff --git a/internal/cmd/inbox_conversations.go b/internal/cmd/inbox_conversations.go index 5bc90e4..e7bb7f4 100644 --- a/internal/cmd/inbox_conversations.go +++ b/internal/cmd/inbox_conversations.go @@ -39,6 +39,7 @@ func newConversationsCmd() *cobra.Command { listCmd.Flags().String("custom-fields-by-ids", "", "custom field filters") listCmd.Flags().String("query", "", "search query") listCmd.Flags().String("embed", "", "embed resources (e.g. threads)") + markProtectedFlags(listCmd, "custom-fields-by-ids", "query") createCmd := conversationsCreateCmd() permission.Annotate(createCmd, "conversations", permission.OpWrite) @@ -54,6 +55,7 @@ func newConversationsCmd() *cobra.Command { createCmd.Flags().Bool("imported", false, "mark conversation as imported") createCmd.Flags().Bool("auto-reply", false, "trigger auto-reply behavior") createCmd.Flags().StringSlice("field", nil, "custom field assignment in = format (repeatable)") + markProtectedFlags(createCmd, "subject", "customer", "body", "field") createCmd.MarkFlagRequired("mailbox") createCmd.MarkFlagRequired("subject") createCmd.MarkFlagRequired("customer") @@ -63,6 +65,7 @@ func newConversationsCmd() *cobra.Command { permission.Annotate(updateCmd, "conversations", permission.OpWrite) updateCmd.Flags().String("subject", "", "new subject") updateCmd.Flags().String("status", "", "new status") + markProtectedFlags(updateCmd, "subject") getCmd := conversationsGetCmd() permission.Annotate(getCmd, "conversations", permission.OpRead) @@ -644,6 +647,7 @@ func newConversationFieldsCmd() *cobra.Command { } permission.Annotate(setCmd, "conversations", permission.OpWrite) setCmd.Flags().StringSlice("field", nil, "custom field assignment in = format (repeatable)") + markProtectedFlags(setCmd, "field") setCmd.MarkFlagRequired("field") cmd := &cobra.Command{ @@ -700,11 +704,11 @@ func parseConversationFieldAssignments(entries []string) ([]types.ConversationFi for _, entry := range entries { parts := strings.SplitN(entry, "=", 2) if len(parts) != 2 || strings.TrimSpace(parts[0]) == "" { - return nil, fmt.Errorf("invalid --field value %q: expected =", entry) + return nil, fmt.Errorf("invalid --field value: expected =") } fieldID, err := strconv.Atoi(strings.TrimSpace(parts[0])) if err != nil { - return nil, fmt.Errorf("invalid --field id %q: must be an integer", parts[0]) + return nil, fmt.Errorf("invalid --field id: must be an integer") } fields = append(fields, types.ConversationField{ ID: fieldID, diff --git a/internal/cmd/inbox_conversations_test.go b/internal/cmd/inbox_conversations_test.go index 777c3c0..dec14a5 100644 --- a/internal/cmd/inbox_conversations_test.go +++ b/internal/cmd/inbox_conversations_test.go @@ -25,7 +25,7 @@ func TestConversationsList(t *testing.T) { buf := setupTest(mock) defer func() { output.Out = os.Stdout }() - rootCmd.SetArgs([]string{"inbox", "conversations", "list"}) + setRootArgs(t, []string{"inbox", "conversations", "list"}) require.NoError(t, rootCmd.Execute()) out := buf.String() @@ -55,7 +55,7 @@ func TestConversationsListAdvancedFilters(t *testing.T) { setupTest(mock) defer func() { output.Out = os.Stdout }() - rootCmd.SetArgs([]string{ + setRootArgs(t, []string{ "inbox", "conversations", "list", "--status", "closed", "--mailbox", "12", @@ -91,7 +91,7 @@ func TestConversationsGet(t *testing.T) { buf := setupTest(mock) defer func() { output.Out = os.Stdout }() - rootCmd.SetArgs([]string{"inbox", "conversations", "get", "42"}) + setRootArgs(t, []string{"inbox", "conversations", "get", "42"}) require.NoError(t, rootCmd.Execute()) out := buf.String() @@ -127,7 +127,7 @@ func TestConversationsGetWithThreads(t *testing.T) { buf := setupTest(mock) defer func() { output.Out = os.Stdout }() - rootCmd.SetArgs([]string{"inbox", "conversations", "get", "42", "--embed", "threads"}) + setRootArgs(t, []string{"inbox", "conversations", "get", "42", "--embed", "threads"}) require.NoError(t, rootCmd.Execute()) out := buf.String() @@ -163,7 +163,7 @@ func TestConversationsCreate(t *testing.T) { buf := setupTest(mock) defer func() { output.Out = os.Stdout }() - rootCmd.SetArgs([]string{"inbox", "conversations", "create", + setRootArgs(t, []string{"inbox", "conversations", "create", "--mailbox", "1", "--subject", "New", "--customer", "a@b.com", @@ -189,7 +189,7 @@ func TestConversationsCreateRejectsInvalidFieldFormat(t *testing.T) { setupTest(mock) defer func() { output.Out = os.Stdout }() - rootCmd.SetArgs([]string{"inbox", "conversations", "create", + setRootArgs(t, []string{"inbox", "conversations", "create", "--mailbox", "1", "--subject", "New", "--customer", "a@b.com", @@ -218,7 +218,7 @@ func TestConversationsUpdate(t *testing.T) { buf := setupTest(mock) defer func() { output.Out = os.Stdout }() - rootCmd.SetArgs([]string{"inbox", "conversations", "update", "42", "--subject", "Updated"}) + setRootArgs(t, []string{"inbox", "conversations", "update", "42", "--subject", "Updated"}) require.NoError(t, rootCmd.Execute()) assert.Contains(t, buf.String(), "Updated conversation 42") @@ -234,7 +234,7 @@ func TestConversationsDelete(t *testing.T) { buf := setupTest(mock) defer func() { output.Out = os.Stdout }() - rootCmd.SetArgs([]string{"inbox", "conversations", "delete", "42"}) + setRootArgs(t, []string{"inbox", "conversations", "delete", "42"}) require.NoError(t, rootCmd.Execute()) assert.Contains(t, buf.String(), "Deleted conversation 42") @@ -380,7 +380,7 @@ func TestConversationFieldsSet(t *testing.T) { buf := setupTest(mock) defer func() { output.Out = os.Stdout }() - rootCmd.SetArgs([]string{"inbox", "conversations", "fields", "set", "42", "--field", "10=foo", "--field", "11=bar"}) + setRootArgs(t, []string{"inbox", "conversations", "fields", "set", "42", "--field", "10=foo", "--field", "11=bar"}) require.NoError(t, rootCmd.Execute()) assert.Contains(t, buf.String(), "Updated custom fields for conversation 42") } @@ -433,12 +433,12 @@ func TestConversationSnoozeSetAndClear(t *testing.T) { buf := setupTest(mock) defer func() { output.Out = os.Stdout }() - rootCmd.SetArgs([]string{"inbox", "conversations", "snooze", "set", "42", "--until", "2026-02-20T00:00:00Z"}) + setRootArgs(t, []string{"inbox", "conversations", "snooze", "set", "42", "--until", "2026-02-20T00:00:00Z"}) require.NoError(t, rootCmd.Execute()) assert.Contains(t, buf.String(), "Snoozed conversation 42") buf.Reset() - rootCmd.SetArgs([]string{"inbox", "conversations", "snooze", "clear", "42"}) + setRootArgs(t, []string{"inbox", "conversations", "snooze", "clear", "42"}) require.NoError(t, rootCmd.Execute()) assert.Contains(t, buf.String(), "Cleared snooze for conversation 42") } diff --git a/internal/cmd/inbox_customers.go b/internal/cmd/inbox_customers.go index 74f7b77..df476c8 100644 --- a/internal/cmd/inbox_customers.go +++ b/internal/cmd/inbox_customers.go @@ -32,23 +32,23 @@ func newCustomersCmd() *cobra.Command { listCmd.Flags().String("sort-order", "", "sort order") listCmd.Flags().String("query", "", "search query (e.g. email)") listCmd.Flags().String("embed", "", "embed resources (e.g. emails)") + markProtectedFlags(listCmd, "first-name", "last-name", "query") listCmd.Flags().MarkDeprecated("embed", "does not map to the Inbox API customers endpoint and will be removed") createCmd := customersCreateCmd() permission.Annotate(createCmd, "customers", permission.OpWrite) registerCustomerBodyFlags(createCmd) - createCmd.MarkFlagRequired("first-name") updateCmd := customersUpdateCmd() permission.Annotate(updateCmd, "customers", permission.OpWrite) updateCmd.Flags().String("first-name", "", "first name") updateCmd.Flags().String("last-name", "", "last name") updateCmd.Flags().String("phone", "", "phone number") + markProtectedFlags(updateCmd, "first-name", "last-name", "phone") overwriteCmd := customersOverwriteCmd() permission.Annotate(overwriteCmd, "customers", permission.OpWrite) registerCustomerBodyFlags(overwriteCmd) - overwriteCmd.MarkFlagRequired("first-name") deleteCmd := customersDeleteCmd() permission.Annotate(deleteCmd, "customers", permission.OpDelete) @@ -75,6 +75,9 @@ func registerCustomerBodyFlags(cmd *cobra.Command) { cmd.Flags().String("photo-url", "", "photo URL") cmd.Flags().Int("organization-id", 0, "organization ID") cmd.Flags().String("json", "", "raw JSON body (overrides all other flags)") + markProtectedFlags(cmd, + "first-name", "last-name", "email", "phone", "job-title", "background", + "location", "gender", "age", "photo-url", "json") } // customerBodyFromFlags builds a request body from flags or --json. @@ -120,6 +123,14 @@ func customerBodyFromFlags(cmd *cobra.Command) (map[string]any, error) { return body, nil } +func requireCustomerFirstName(body map[string]any) error { + firstName, _ := body["firstName"].(string) + if firstName == "" { + return fmt.Errorf("customer firstName is required in protected --first-name or --json input") + } + return nil +} + func customersListCmd() *cobra.Command { return &cobra.Command{ Use: "list", @@ -254,6 +265,9 @@ func customersCreateCmd() *cobra.Command { if err != nil { return fmt.Errorf("invalid --json payload: %w", err) } + if err := requireCustomerFirstName(body); err != nil { + return err + } id, err := apiClient.CreateCustomer(context.Background(), body) if err != nil { @@ -322,6 +336,9 @@ func customersOverwriteCmd() *cobra.Command { if err != nil { return fmt.Errorf("invalid --json payload: %w", err) } + if err := requireCustomerFirstName(body); err != nil { + return err + } if err := apiClient.OverwriteCustomer(context.Background(), args[0], body); err != nil { return err diff --git a/internal/cmd/inbox_customers_test.go b/internal/cmd/inbox_customers_test.go index 9eb4257..6ebaa4e 100644 --- a/internal/cmd/inbox_customers_test.go +++ b/internal/cmd/inbox_customers_test.go @@ -23,7 +23,7 @@ func TestCustomersList(t *testing.T) { buf := setupTest(mock) defer func() { output.Out = os.Stdout }() - rootCmd.SetArgs([]string{"inbox", "customers", "list"}) + setRootArgs(t, []string{"inbox", "customers", "list"}) require.NoError(t, rootCmd.Execute()) out := buf.String() @@ -48,7 +48,7 @@ func TestCustomersListAdvancedFilters(t *testing.T) { setupTest(mock) defer func() { output.Out = os.Stdout }() - rootCmd.SetArgs([]string{ + setRootArgs(t, []string{ "inbox", "customers", "list", "--mailbox", "12", "--first-name", "Alice", @@ -73,7 +73,7 @@ func TestCustomersGet(t *testing.T) { buf := setupTest(mock) defer func() { output.Out = os.Stdout }() - rootCmd.SetArgs([]string{"inbox", "customers", "get", "5"}) + setRootArgs(t, []string{"inbox", "customers", "get", "5"}) require.NoError(t, rootCmd.Execute()) out := buf.String() @@ -93,7 +93,7 @@ func TestCustomersCreate(t *testing.T) { buf := setupTest(mock) defer func() { output.Out = os.Stdout }() - rootCmd.SetArgs([]string{"inbox", "customers", "create", "--first-name", "Carol"}) + setRootArgs(t, []string{"inbox", "customers", "create", "--first-name", "Carol"}) require.NoError(t, rootCmd.Execute()) assert.Contains(t, buf.String(), "Created customer 77") @@ -117,7 +117,7 @@ func TestCustomersCreateWithExtraFlags(t *testing.T) { buf := setupTest(mock) defer func() { output.Out = os.Stdout }() - rootCmd.SetArgs([]string{ + setRootArgs(t, []string{ "inbox", "customers", "create", "--first-name", "Carol", "--job-title", "Engineer", @@ -146,7 +146,7 @@ func TestCustomersCreateWithJSON(t *testing.T) { buf := setupTest(mock) defer func() { output.Out = os.Stdout }() - rootCmd.SetArgs([]string{ + setRootArgs(t, []string{ "inbox", "customers", "create", "--json", `{"firstName":"Test","emails":[{"type":"work","value":"test@example.com"}]}`, }) @@ -173,7 +173,7 @@ func TestCustomersUpdate(t *testing.T) { buf := setupTest(mock) defer func() { output.Out = os.Stdout }() - rootCmd.SetArgs([]string{"inbox", "customers", "update", "5", "--first-name", "Updated"}) + setRootArgs(t, []string{"inbox", "customers", "update", "5", "--first-name", "Updated"}) require.NoError(t, rootCmd.Execute()) assert.Contains(t, buf.String(), "Updated customer 5") @@ -192,7 +192,7 @@ func TestCustomersOverwrite(t *testing.T) { buf := setupTest(mock) defer func() { output.Out = os.Stdout }() - rootCmd.SetArgs([]string{"inbox", "customers", "overwrite", "5", "--first-name", "Updated"}) + setRootArgs(t, []string{"inbox", "customers", "overwrite", "5", "--first-name", "Updated"}) require.NoError(t, rootCmd.Execute()) assert.Contains(t, buf.String(), "Overwrote customer 5") @@ -209,7 +209,7 @@ func TestCustomersDelete(t *testing.T) { buf := setupTest(mock) defer func() { output.Out = os.Stdout }() - rootCmd.SetArgs([]string{"inbox", "customers", "delete", "5"}) + setRootArgs(t, []string{"inbox", "customers", "delete", "5"}) require.NoError(t, rootCmd.Execute()) assert.Contains(t, buf.String(), "Deleted customer 5") @@ -226,7 +226,7 @@ func TestCustomersDeleteAsync(t *testing.T) { buf := setupTest(mock) defer func() { output.Out = os.Stdout }() - rootCmd.SetArgs([]string{"inbox", "customers", "delete", "10", "--async"}) + setRootArgs(t, []string{"inbox", "customers", "delete", "10", "--async"}) require.NoError(t, rootCmd.Execute()) assert.Contains(t, buf.String(), "Deleted customer 10") diff --git a/internal/cmd/inbox_mailbox_extras_test.go b/internal/cmd/inbox_mailbox_extras_test.go index c467f0d..f07e3f0 100644 --- a/internal/cmd/inbox_mailbox_extras_test.go +++ b/internal/cmd/inbox_mailbox_extras_test.go @@ -25,7 +25,7 @@ func TestMailboxFoldersList(t *testing.T) { buf := setupTest(mock) defer func() { output.Out = os.Stdout }() - rootCmd.SetArgs([]string{"inbox", "mailboxes", "folders", "list", "10"}) + setRootArgs(t, []string{"inbox", "mailboxes", "folders", "list", "10"}) require.NoError(t, rootCmd.Execute()) assert.Contains(t, buf.String(), "Inbox") } @@ -41,7 +41,7 @@ func TestMailboxCustomFieldsList(t *testing.T) { buf := setupTest(mock) defer func() { output.Out = os.Stdout }() - rootCmd.SetArgs([]string{"inbox", "mailboxes", "custom-fields", "list", "10"}) + setRootArgs(t, []string{"inbox", "mailboxes", "custom-fields", "list", "10"}) require.NoError(t, rootCmd.Execute()) assert.Contains(t, buf.String(), "Priority") } @@ -57,7 +57,7 @@ func TestMailboxRoutingGet(t *testing.T) { buf := setupTest(mock) defer func() { output.Out = os.Stdout }() - rootCmd.SetArgs([]string{"inbox", "mailboxes", "routing", "get", "10"}) + setRootArgs(t, []string{"inbox", "mailboxes", "routing", "get", "10"}) require.NoError(t, rootCmd.Execute()) assert.Contains(t, buf.String(), "enabled") } @@ -76,7 +76,7 @@ func TestMailboxRoutingUpdate(t *testing.T) { buf := setupTest(mock) defer func() { output.Out = os.Stdout }() - rootCmd.SetArgs([]string{"inbox", "mailboxes", "routing", "update", "10", "--json", `{"enabled":true}`}) + setRootArgs(t, []string{"inbox", "mailboxes", "routing", "update", "10", "--json", `{"enabled":true}`}) require.NoError(t, rootCmd.Execute()) assert.Contains(t, buf.String(), "Updated routing for mailbox 10") } diff --git a/internal/cmd/inbox_mailboxes_test.go b/internal/cmd/inbox_mailboxes_test.go index 6495620..d11a455 100644 --- a/internal/cmd/inbox_mailboxes_test.go +++ b/internal/cmd/inbox_mailboxes_test.go @@ -21,7 +21,7 @@ func TestMailboxesList_Table(t *testing.T) { buf := setupTest(mock) defer func() { output.Out = os.Stdout }() - rootCmd.SetArgs([]string{"inbox", "mailboxes", "list"}) + setRootArgs(t, []string{"inbox", "mailboxes", "list"}) require.NoError(t, rootCmd.Execute()) out := buf.String() @@ -39,7 +39,7 @@ func TestMailboxesList_JSON(t *testing.T) { format = "json" defer func() { output.Out = os.Stdout }() - rootCmd.SetArgs([]string{"inbox", "mailboxes", "list", "--format", "json"}) + setRootArgs(t, []string{"inbox", "mailboxes", "list", "--format", "json"}) require.NoError(t, rootCmd.Execute()) out := buf.String() @@ -57,7 +57,7 @@ func TestMailboxesGet(t *testing.T) { buf := setupTest(mock) defer func() { output.Out = os.Stdout }() - rootCmd.SetArgs([]string{"inbox", "mailboxes", "get", "1"}) + setRootArgs(t, []string{"inbox", "mailboxes", "get", "1"}) require.NoError(t, rootCmd.Execute()) out := buf.String() diff --git a/internal/cmd/inbox_mock_client_test.go b/internal/cmd/inbox_mock_client_test.go index c6fccf2..012da64 100644 --- a/internal/cmd/inbox_mock_client_test.go +++ b/internal/cmd/inbox_mock_client_test.go @@ -338,8 +338,12 @@ func useTestPIISecretResolver() { if err != nil { panic(err) } - resolvePIISecret = func(context.Context, pii.Mode, string) (pii.Secret, error) { - return secret, nil + pseudonym, err := pii.NewPseudonymContext(secret, "command-test") + if err != nil { + panic(err) + } + resolvePIIContext = func(context.Context, pii.Mode, string) (pii.PseudonymContext, error) { + return pseudonym, nil } resetPIIInvocation() } diff --git a/internal/cmd/inbox_namespace_test.go b/internal/cmd/inbox_namespace_test.go index 523797a..5561efe 100644 --- a/internal/cmd/inbox_namespace_test.go +++ b/internal/cmd/inbox_namespace_test.go @@ -24,7 +24,7 @@ func TestInboxNamespaceConversationsList(t *testing.T) { buf := setupTest(mock) defer func() { output.Out = os.Stdout }() - rootCmd.SetArgs([]string{"inbox", "conversations", "list"}) + setRootArgs(t, []string{"inbox", "conversations", "list"}) require.NoError(t, rootCmd.Execute()) out := buf.String() diff --git a/internal/cmd/inbox_organizations.go b/internal/cmd/inbox_organizations.go index 40d2ff8..8b52d1d 100644 --- a/internal/cmd/inbox_organizations.go +++ b/internal/cmd/inbox_organizations.go @@ -62,6 +62,7 @@ func newOrganizationsCmd() *cobra.Command { } permission.Annotate(listCmd, "organizations", permission.OpRead) listCmd.Flags().String("query", "", "search query") + markProtectedFlags(listCmd, "query") getCmd := &cobra.Command{ Use: "get ", @@ -110,6 +111,7 @@ func newOrganizationsCmd() *cobra.Command { createCmd.Flags().String("name", "", "organization name (required)") createCmd.Flags().String("domain", "", "organization domain") createCmd.Flags().String("json", "", "full organization payload as JSON object") + markProtectedFlags(createCmd, "name", "domain", "json") createCmd.MarkFlagRequired("name") updateCmd := &cobra.Command{ @@ -135,6 +137,7 @@ func newOrganizationsCmd() *cobra.Command { updateCmd.Flags().String("name", "", "organization name") updateCmd.Flags().String("domain", "", "organization domain") updateCmd.Flags().String("json", "", "full organization payload as JSON object") + markProtectedFlags(updateCmd, "name", "domain", "json") deleteCmd := &cobra.Command{ Use: "delete ", @@ -368,6 +371,7 @@ func newOrganizationPropertiesCmd() *cobra.Command { createCmd.Flags().String("name", "", "property name (required)") createCmd.Flags().String("type", "", "property type") createCmd.Flags().String("json", "", "full property payload as JSON object") + markProtectedFlags(createCmd, "json") createCmd.MarkFlagRequired("name") updateCmd := &cobra.Command{ @@ -392,6 +396,7 @@ func newOrganizationPropertiesCmd() *cobra.Command { updateCmd.Flags().String("name", "", "property name") updateCmd.Flags().String("type", "", "property type") updateCmd.Flags().String("json", "", "full property payload as JSON object") + markProtectedFlags(updateCmd, "json") deleteCmd := &cobra.Command{ Use: "delete ", diff --git a/internal/cmd/inbox_organizations_test.go b/internal/cmd/inbox_organizations_test.go index 75efefe..dd0caed 100644 --- a/internal/cmd/inbox_organizations_test.go +++ b/internal/cmd/inbox_organizations_test.go @@ -22,7 +22,7 @@ func TestOrganizationsList(t *testing.T) { buf := setupTest(mock) defer func() { output.Out = os.Stdout }() - rootCmd.SetArgs([]string{"inbox", "organizations", "list", "--query", "acme"}) + setRootArgs(t, []string{"inbox", "organizations", "list", "--query", "acme"}) require.NoError(t, rootCmd.Execute()) assert.Contains(t, buf.String(), "Acme") } @@ -37,7 +37,7 @@ func TestOrganizationsGet(t *testing.T) { buf := setupTest(mock) defer func() { output.Out = os.Stdout }() - rootCmd.SetArgs([]string{"inbox", "organizations", "get", "1"}) + setRootArgs(t, []string{"inbox", "organizations", "get", "1"}) require.NoError(t, rootCmd.Execute()) assert.Contains(t, buf.String(), "acme.com") } @@ -66,17 +66,17 @@ func TestOrganizationsCreateUpdateDelete(t *testing.T) { buf := setupTest(mock) defer func() { output.Out = os.Stdout }() - rootCmd.SetArgs([]string{"inbox", "organizations", "create", "--name", "Acme", "--domain", "acme.com"}) + setRootArgs(t, []string{"inbox", "organizations", "create", "--name", "Acme", "--domain", "acme.com"}) require.NoError(t, rootCmd.Execute()) assert.Contains(t, buf.String(), "Created organization 1") buf.Reset() - rootCmd.SetArgs([]string{"inbox", "organizations", "update", "1", "--name", "Acme 2"}) + setRootArgs(t, []string{"inbox", "organizations", "update", "1", "--name", "Acme 2"}) require.NoError(t, rootCmd.Execute()) assert.Contains(t, buf.String(), "Updated organization 1") buf.Reset() - rootCmd.SetArgs([]string{"inbox", "organizations", "delete", "1"}) + setRootArgs(t, []string{"inbox", "organizations", "delete", "1"}) require.NoError(t, rootCmd.Execute()) assert.Contains(t, buf.String(), "Deleted organization 1") } @@ -95,12 +95,12 @@ func TestOrganizationRelatedLists(t *testing.T) { buf := setupTest(mock) defer func() { output.Out = os.Stdout }() - rootCmd.SetArgs([]string{"inbox", "organizations", "conversations", "list", "1"}) + setRootArgs(t, []string{"inbox", "organizations", "conversations", "list", "1"}) require.NoError(t, rootCmd.Execute()) assert.Contains(t, buf.String(), "Billing") buf.Reset() - rootCmd.SetArgs([]string{"inbox", "organizations", "customers", "list", "1"}) + setRootArgs(t, []string{"inbox", "organizations", "customers", "list", "1"}) require.NoError(t, rootCmd.Execute()) assert.Contains(t, buf.String(), "alice@example.com") } @@ -135,27 +135,27 @@ func TestOrganizationPropertiesCRUD(t *testing.T) { buf := setupTest(mock) defer func() { output.Out = os.Stdout }() - rootCmd.SetArgs([]string{"inbox", "organizations", "properties", "list"}) + setRootArgs(t, []string{"inbox", "organizations", "properties", "list"}) require.NoError(t, rootCmd.Execute()) assert.Contains(t, buf.String(), "Tier") buf.Reset() - rootCmd.SetArgs([]string{"inbox", "organizations", "properties", "get", "1"}) + setRootArgs(t, []string{"inbox", "organizations", "properties", "get", "1"}) require.NoError(t, rootCmd.Execute()) assert.Contains(t, buf.String(), "text") buf.Reset() - rootCmd.SetArgs([]string{"inbox", "organizations", "properties", "create", "--name", "Tier", "--type", "text"}) + setRootArgs(t, []string{"inbox", "organizations", "properties", "create", "--name", "Tier", "--type", "text"}) require.NoError(t, rootCmd.Execute()) assert.Contains(t, buf.String(), "Created organization property 1") buf.Reset() - rootCmd.SetArgs([]string{"inbox", "organizations", "properties", "update", "1", "--name", "Tier2"}) + setRootArgs(t, []string{"inbox", "organizations", "properties", "update", "1", "--name", "Tier2"}) require.NoError(t, rootCmd.Execute()) assert.Contains(t, buf.String(), "Updated organization property 1") buf.Reset() - rootCmd.SetArgs([]string{"inbox", "organizations", "properties", "delete", "1"}) + setRootArgs(t, []string{"inbox", "organizations", "properties", "delete", "1"}) require.NoError(t, rootCmd.Execute()) assert.Contains(t, buf.String(), "Deleted organization property 1") } diff --git a/internal/cmd/inbox_pii_helpers.go b/internal/cmd/inbox_pii_helpers.go index 72cbf3d..54f4a47 100644 --- a/internal/cmd/inbox_pii_helpers.go +++ b/internal/cmd/inbox_pii_helpers.go @@ -24,10 +24,10 @@ var ( reportPIIContext = pii.JSONContext{Resource: pii.ResourceReport} attachmentPIIContext = pii.JSONContext{Resource: pii.ResourceAttachment} - resolvePIISecret = defaultResolvePIISecret + resolvePIIContext = defaultResolvePIIContext invocationPIIPrepared bool invocationPIIMode pii.Mode - invocationPIISecret pii.Secret + invocationPIIContext pii.PseudonymContext ) func effectivePIIMode() (pii.Mode, error) { @@ -45,7 +45,7 @@ func newPIIEngine() (*pii.Engine, error) { if err != nil { return nil, err } - secret, err := secretForPIIMode(context.Background(), mode) + pseudonym, err := contextForPIIMode(context.Background(), mode) if err != nil { return nil, err } @@ -56,26 +56,26 @@ func newPIIEngine() (*pii.Engine, error) { opts = append(opts, pii.WithNER(d)) } } - engine, err := pii.NewEngine(mode, secret, opts...) + engine, err := pii.NewEngine(mode, pseudonym, opts...) if err != nil { return nil, fmt.Errorf("creating PII engine: %w", err) } return engine, nil } -func defaultResolvePIISecret(ctx context.Context, mode pii.Mode, configPath string) (pii.Secret, error) { +func defaultResolvePIIContext(ctx context.Context, mode pii.Mode, configPath string) (pii.PseudonymContext, error) { path := config.ResolvedPath(configPath) resolver := &piisetup.SecretResolver{ Store: secretstore.NewKeyringStore(), Lock: secretstore.NewFileLock(filepath.Join(filepath.Dir(path), ".pii-secret.lock")), } - return resolver.Resolve(ctx, mode) + return resolver.ResolveContext(ctx, mode) } func resetPIIInvocation() { invocationPIIPrepared = false invocationPIIMode = pii.ModeOff - invocationPIISecret = pii.Secret{} + invocationPIIContext = pii.PseudonymContext{} } func preflightPIISecret(ctx context.Context) error { @@ -83,29 +83,29 @@ func preflightPIISecret(ctx context.Context) error { if err != nil { return err } - _, err = secretForPIIMode(ctx, mode) + _, err = contextForPIIMode(ctx, mode) return err } -func secretForPIIMode(ctx context.Context, mode pii.Mode) (pii.Secret, error) { +func contextForPIIMode(ctx context.Context, mode pii.Mode) (pii.PseudonymContext, error) { if invocationPIIPrepared && invocationPIIMode == mode { - return invocationPIISecret, nil + return invocationPIIContext, nil } if !pii.IsEnabled(mode) { invocationPIIPrepared = true invocationPIIMode = mode - invocationPIISecret = pii.Secret{} - return pii.Secret{}, nil + invocationPIIContext = pii.PseudonymContext{} + return pii.PseudonymContext{}, nil } - secret, err := resolvePIISecret(ctx, mode, cfgPath) + pseudonym, err := resolvePIIContext(ctx, mode, cfgPath) if err != nil { - return pii.Secret{}, fmt.Errorf("resolving PII redaction secret: %w", err) + return pii.PseudonymContext{}, fmt.Errorf("resolving PII redaction key: %w", err) } invocationPIIPrepared = true invocationPIIMode = mode - invocationPIISecret = secret - return secret, nil + invocationPIIContext = pseudonym + return pseudonym, nil } // redactRawWithPII is the mandatory presentation boundary for Inbox JSON. Once diff --git a/internal/cmd/inbox_pii_regression_test.go b/internal/cmd/inbox_pii_regression_test.go index f28a021..eb2aa91 100644 --- a/internal/cmd/inbox_pii_regression_test.go +++ b/internal/cmd/inbox_pii_regression_test.go @@ -234,7 +234,7 @@ func TestPIIRegression_High06_InvalidModeStopsBeforeInboxAPI(t *testing.T) { output.Out = buf t.Cleanup(func() { output.Out = previousOutput }) - rootCmd.SetArgs([]string{"inbox", "mailboxes", "list"}) + setRootArgs(t, []string{"inbox", "mailboxes", "list"}) err := rootCmd.Execute() require.Error(t, err) assert.Contains(t, err.Error(), "PII mode") @@ -250,7 +250,7 @@ func TestPIIRegression_High06_InvalidModeStopsMCPStartup(t *testing.T) { require.NoError(t, os.WriteFile(cfgFile, []byte("inbox_pii_mode: typo\n"), 0o600)) t.Setenv("HS_INBOX_PII_MODE", "") - rootCmd.SetArgs([]string{"mcp"}) + setRootArgs(t, []string{"mcp"}) err := rootCmd.Execute() require.Error(t, err) assert.Contains(t, err.Error(), "PII mode") @@ -263,7 +263,7 @@ func TestPIIRegression_High06_InvalidModeDoesNotBlockVersion(t *testing.T) { t.Setenv("HS_INBOX_PII_MODE", "") SetVersion("1.2.3", "abc123", "2026-07-15") - rootCmd.SetArgs([]string{"version"}) + setRootArgs(t, []string{"version"}) require.NoError(t, rootCmd.Execute()) assert.Contains(t, buf.String(), "1.2.3") } @@ -286,13 +286,13 @@ func TestPIIRegression_High05_SecretFailureStopsBeforeInboxAPI(t *testing.T) { output.Out = buf t.Cleanup(func() { output.Out = previousOutput }) - originalResolver := resolvePIISecret - resolvePIISecret = func(context.Context, pii.Mode, string) (pii.Secret, error) { - return pii.Secret{}, errors.New("PII redaction secret unavailable; set HS_INBOX_PII_SECRET") + originalResolver := resolvePIIContext + resolvePIIContext = func(context.Context, pii.Mode, string) (pii.PseudonymContext, error) { + return pii.PseudonymContext{}, errors.New("PII redaction key unavailable; set HS_INBOX_PII_SECRET") } - t.Cleanup(func() { resolvePIISecret = originalResolver }) + t.Cleanup(func() { resolvePIIContext = originalResolver }) - rootCmd.SetArgs([]string{"inbox", "mailboxes", "list"}) + setRootArgs(t, []string{"inbox", "mailboxes", "list"}) err := rootCmd.Execute() require.Error(t, err) assert.Contains(t, err.Error(), "HS_INBOX_PII_SECRET") diff --git a/internal/cmd/inbox_properties_test.go b/internal/cmd/inbox_properties_test.go index f039063..6f47012 100644 --- a/internal/cmd/inbox_properties_test.go +++ b/internal/cmd/inbox_properties_test.go @@ -21,7 +21,7 @@ func TestCustomerPropertiesList(t *testing.T) { buf := setupTest(mock) defer func() { output.Out = os.Stdout }() - rootCmd.SetArgs([]string{"inbox", "properties", "customers", "list"}) + setRootArgs(t, []string{"inbox", "properties", "customers", "list"}) require.NoError(t, rootCmd.Execute()) assert.Contains(t, buf.String(), "Tier") } @@ -36,7 +36,7 @@ func TestCustomerPropertiesGet(t *testing.T) { buf := setupTest(mock) defer func() { output.Out = os.Stdout }() - rootCmd.SetArgs([]string{"inbox", "properties", "customers", "get", "1"}) + setRootArgs(t, []string{"inbox", "properties", "customers", "get", "1"}) require.NoError(t, rootCmd.Execute()) assert.Contains(t, buf.String(), "text") } @@ -50,7 +50,7 @@ func TestConversationPropertiesList(t *testing.T) { buf := setupTest(mock) defer func() { output.Out = os.Stdout }() - rootCmd.SetArgs([]string{"inbox", "properties", "conversations", "list"}) + setRootArgs(t, []string{"inbox", "properties", "conversations", "list"}) require.NoError(t, rootCmd.Execute()) assert.Contains(t, buf.String(), "Priority") } @@ -65,7 +65,7 @@ func TestConversationPropertiesGet(t *testing.T) { buf := setupTest(mock) defer func() { output.Out = os.Stdout }() - rootCmd.SetArgs([]string{"inbox", "properties", "conversations", "get", "2"}) + setRootArgs(t, []string{"inbox", "properties", "conversations", "get", "2"}) require.NoError(t, rootCmd.Execute()) assert.Contains(t, buf.String(), "select") } diff --git a/internal/cmd/inbox_ratings_test.go b/internal/cmd/inbox_ratings_test.go index 80a7cb3..3b7c498 100644 --- a/internal/cmd/inbox_ratings_test.go +++ b/internal/cmd/inbox_ratings_test.go @@ -21,7 +21,7 @@ func TestRatingsGet(t *testing.T) { buf := setupTest(mock) defer func() { output.Out = os.Stdout }() - rootCmd.SetArgs([]string{"inbox", "ratings", "get", "7"}) + setRootArgs(t, []string{"inbox", "ratings", "get", "7"}) require.NoError(t, rootCmd.Execute()) assert.Contains(t, buf.String(), "great") } diff --git a/internal/cmd/inbox_reports.go b/internal/cmd/inbox_reports.go index 68beae4..a256165 100644 --- a/internal/cmd/inbox_reports.go +++ b/internal/cmd/inbox_reports.go @@ -60,7 +60,7 @@ func newReportFamilyCmd(name string, path string) *cobra.Command { for _, p := range paramFlags { parts := strings.SplitN(p, "=", 2) if len(parts) != 2 || strings.TrimSpace(parts[0]) == "" { - return fmt.Errorf("invalid --param value %q: expected key=value", p) + return fmt.Errorf("invalid --param value: expected key=value") } params.Set(strings.TrimSpace(parts[0]), parts[1]) } @@ -87,5 +87,6 @@ func newReportFamilyCmd(name string, path string) *cobra.Command { cmd.Flags().String("mailbox", "", "mailbox ID filter") cmd.Flags().String("view", "", "report view filter") cmd.Flags().StringSlice("param", nil, "additional query params as key=value (repeatable)") + markProtectedFlags(cmd, "param") return cmd } diff --git a/internal/cmd/inbox_reports_test.go b/internal/cmd/inbox_reports_test.go index 3313d15..3f78b41 100644 --- a/internal/cmd/inbox_reports_test.go +++ b/internal/cmd/inbox_reports_test.go @@ -27,7 +27,7 @@ func TestReportsCompany(t *testing.T) { buf := setupTest(mock) defer func() { output.Out = os.Stdout }() - rootCmd.SetArgs([]string{ + setRootArgs(t, []string{ "inbox", "reports", "company", "--start", "2026-01-01", "--end", "2026-01-31", @@ -39,6 +39,18 @@ func TestReportsCompany(t *testing.T) { assert.Contains(t, buf.String(), "company") } +func TestReportsInvalidProtectedParamDoesNotEchoValue(t *testing.T) { + setupTest(&mockClient{}) + defer func() { output.Out = os.Stdout }() + sensitive := "customer_email@example.test" + + setRootArgs(t, []string{"inbox", "reports", "company", "--param", sensitive}) + err := rootCmd.Execute() + require.Error(t, err) + assert.NotContains(t, err.Error(), sensitive) + assert.Contains(t, err.Error(), "expected key=value") +} + func TestReportsEmailPathMapping(t *testing.T) { mock := &mockClient{ GetReportFn: func(ctx context.Context, family string, params url.Values) (json.RawMessage, error) { @@ -49,7 +61,7 @@ func TestReportsEmailPathMapping(t *testing.T) { setupTest(mock) defer func() { output.Out = os.Stdout }() - rootCmd.SetArgs([]string{"inbox", "reports", "email"}) + setRootArgs(t, []string{"inbox", "reports", "email"}) require.NoError(t, rootCmd.Execute()) } @@ -63,7 +75,7 @@ func TestReportsRatingsPathMapping(t *testing.T) { setupTest(mock) defer func() { output.Out = os.Stdout }() - rootCmd.SetArgs([]string{"inbox", "reports", "ratings"}) + setRootArgs(t, []string{"inbox", "reports", "ratings"}) require.NoError(t, rootCmd.Execute()) } @@ -77,7 +89,7 @@ func TestReportsUsersPathMapping(t *testing.T) { setupTest(mock) defer func() { output.Out = os.Stdout }() - rootCmd.SetArgs([]string{"inbox", "reports", "users"}) + setRootArgs(t, []string{"inbox", "reports", "users"}) require.NoError(t, rootCmd.Execute()) } diff --git a/internal/cmd/inbox_saved_replies.go b/internal/cmd/inbox_saved_replies.go index d58144a..5c72ae4 100644 --- a/internal/cmd/inbox_saved_replies.go +++ b/internal/cmd/inbox_saved_replies.go @@ -69,6 +69,7 @@ func newSavedRepliesCmd() *cobra.Command { } listCmd.Flags().String("mailbox-id", "", "filter by mailbox ID") listCmd.Flags().String("query", "", "search query") + markProtectedFlags(listCmd, "query") getCmd := &cobra.Command{ Use: "get ", @@ -176,6 +177,7 @@ func savedReplyCreateUpdateFlags(cmd *cobra.Command) { cmd.Flags().String("body", "", "saved reply body text") cmd.Flags().Bool("private", false, "mark saved reply as private") cmd.Flags().String("json", "", "full request body as JSON object") + markProtectedFlags(cmd, "name", "subject", "body", "json") } func savedReplyBodyFromFlags(cmd *cobra.Command, isCreate bool) (map[string]any, error) { diff --git a/internal/cmd/inbox_saved_replies_test.go b/internal/cmd/inbox_saved_replies_test.go index 18c5728..30658ed 100644 --- a/internal/cmd/inbox_saved_replies_test.go +++ b/internal/cmd/inbox_saved_replies_test.go @@ -24,7 +24,7 @@ func TestSavedRepliesList(t *testing.T) { buf := setupTest(mock) defer func() { output.Out = os.Stdout }() - rootCmd.SetArgs([]string{"inbox", "saved-replies", "list", "--mailbox-id", "10", "--query", "welcome"}) + setRootArgs(t, []string{"inbox", "saved-replies", "list", "--mailbox-id", "10", "--query", "welcome"}) require.NoError(t, rootCmd.Execute()) assert.Contains(t, buf.String(), "Welcome") } @@ -40,7 +40,7 @@ func TestSavedRepliesGet(t *testing.T) { buf := setupTest(mock) defer func() { output.Out = os.Stdout }() - rootCmd.SetArgs([]string{"inbox", "saved-replies", "get", "1"}) + setRootArgs(t, []string{"inbox", "saved-replies", "get", "1"}) require.NoError(t, rootCmd.Execute()) assert.Contains(t, buf.String(), "Hi there") } @@ -61,7 +61,7 @@ func TestSavedRepliesCreate(t *testing.T) { buf := setupTest(mock) defer func() { output.Out = os.Stdout }() - rootCmd.SetArgs([]string{ + setRootArgs(t, []string{ "inbox", "saved-replies", "create", "--mailbox-id", "10", "--name", "Welcome", @@ -86,7 +86,7 @@ func TestSavedRepliesUpdate(t *testing.T) { buf := setupTest(mock) defer func() { output.Out = os.Stdout }() - rootCmd.SetArgs([]string{"inbox", "saved-replies", "update", "55", "--name", "Updated"}) + setRootArgs(t, []string{"inbox", "saved-replies", "update", "55", "--name", "Updated"}) require.NoError(t, rootCmd.Execute()) assert.Contains(t, buf.String(), "Updated saved reply 55") } @@ -102,7 +102,7 @@ func TestSavedRepliesDelete(t *testing.T) { buf := setupTest(mock) defer func() { output.Out = os.Stdout }() - rootCmd.SetArgs([]string{"inbox", "saved-replies", "delete", "55"}) + setRootArgs(t, []string{"inbox", "saved-replies", "delete", "55"}) require.NoError(t, rootCmd.Execute()) assert.Contains(t, buf.String(), "Deleted saved reply 55") } diff --git a/internal/cmd/inbox_tags_test.go b/internal/cmd/inbox_tags_test.go index f3f3fa9..22376c8 100644 --- a/internal/cmd/inbox_tags_test.go +++ b/internal/cmd/inbox_tags_test.go @@ -21,7 +21,7 @@ func TestTagsList(t *testing.T) { buf := setupTest(mock) defer func() { output.Out = os.Stdout }() - rootCmd.SetArgs([]string{"inbox", "tags", "list"}) + setRootArgs(t, []string{"inbox", "tags", "list"}) require.NoError(t, rootCmd.Execute()) out := buf.String() @@ -39,7 +39,7 @@ func TestTagsGet(t *testing.T) { buf := setupTest(mock) defer func() { output.Out = os.Stdout }() - rootCmd.SetArgs([]string{"inbox", "tags", "get", "2"}) + setRootArgs(t, []string{"inbox", "tags", "get", "2"}) require.NoError(t, rootCmd.Execute()) out := buf.String() diff --git a/internal/cmd/inbox_teams_test.go b/internal/cmd/inbox_teams_test.go index 21dcfe9..f6baf82 100644 --- a/internal/cmd/inbox_teams_test.go +++ b/internal/cmd/inbox_teams_test.go @@ -23,7 +23,7 @@ func TestTeamsList(t *testing.T) { buf := setupTest(mock) defer func() { output.Out = os.Stdout }() - rootCmd.SetArgs([]string{"inbox", "teams", "list"}) + setRootArgs(t, []string{"inbox", "teams", "list"}) require.NoError(t, rootCmd.Execute()) assert.Contains(t, buf.String(), "Support") } @@ -40,7 +40,7 @@ func TestTeamsMembers(t *testing.T) { buf := setupTest(mock) defer func() { output.Out = os.Stdout }() - rootCmd.SetArgs([]string{"inbox", "teams", "members", "1"}) + setRootArgs(t, []string{"inbox", "teams", "members", "1"}) require.NoError(t, rootCmd.Execute()) assert.Contains(t, buf.String(), "agent@test.com") } diff --git a/internal/cmd/inbox_threads.go b/internal/cmd/inbox_threads.go index 561554e..96a1d92 100644 --- a/internal/cmd/inbox_threads.go +++ b/internal/cmd/inbox_threads.go @@ -36,6 +36,7 @@ func newThreadsCmd() *cobra.Command { replyCmd.Flags().String("created-at", "", "thread creation timestamp") replyCmd.Flags().String("type", "", "reply thread type") replyCmd.Flags().IntSlice("attachment-id", nil, "attachment IDs") + markProtectedFlags(replyCmd, "customer", "body", "to", "cc", "bcc") replyCmd.MarkFlagRequired("customer") replyCmd.MarkFlagRequired("body") @@ -45,6 +46,7 @@ func newThreadsCmd() *cobra.Command { noteCmd.Flags().Int("user-id", 0, "user ID for the note author") noteCmd.Flags().String("status", "", "set conversation status after note") noteCmd.Flags().IntSlice("attachment-id", nil, "attachment IDs") + markProtectedFlags(noteCmd, "body") noteCmd.MarkFlagRequired("body") chatCmd := threadsCreateVariantCmd( @@ -76,6 +78,7 @@ func newThreadsCmd() *cobra.Command { permission.Annotate(updateCmd, "conversations", permission.OpWrite) updateCmd.Flags().String("text", "", "updated thread body text") updateCmd.Flags().String("status", "", "updated thread status") + markProtectedFlags(updateCmd, "text") listCmd := threadsListCmd() permission.Annotate(listCmd, "conversations", permission.OpRead) @@ -293,6 +296,7 @@ func threadsCreateVariantCmd(use string, short string, createFn func(ctx context cmd.Flags().Bool("imported", false, "mark as imported") cmd.Flags().String("created-at", "", "thread creation timestamp") cmd.Flags().IntSlice("attachment-id", nil, "attachment IDs") + markProtectedFlags(cmd, "customer", "body") cmd.MarkFlagRequired("body") return cmd } diff --git a/internal/cmd/inbox_threads_test.go b/internal/cmd/inbox_threads_test.go index 2d5ed2f..8e1485c 100644 --- a/internal/cmd/inbox_threads_test.go +++ b/internal/cmd/inbox_threads_test.go @@ -26,7 +26,7 @@ func TestThreadsList(t *testing.T) { buf := setupTest(mock) defer func() { output.Out = os.Stdout }() - rootCmd.SetArgs([]string{"inbox", "conversations", "threads", "list", "10"}) + setRootArgs(t, []string{"inbox", "conversations", "threads", "list", "10"}) require.NoError(t, rootCmd.Execute()) out := buf.String() @@ -48,7 +48,7 @@ func TestThreadsListLineitemAction(t *testing.T) { buf := setupTest(mock) defer func() { output.Out = os.Stdout }() - rootCmd.SetArgs([]string{"inbox", "conversations", "threads", "list", "10"}) + setRootArgs(t, []string{"inbox", "conversations", "threads", "list", "10"}) require.NoError(t, rootCmd.Execute()) out := buf.String() @@ -82,7 +82,7 @@ func TestThreadsReply(t *testing.T) { buf := setupTest(mock) defer func() { output.Out = os.Stdout }() - rootCmd.SetArgs([]string{"inbox", "conversations", "threads", "reply", "10", + setRootArgs(t, []string{"inbox", "conversations", "threads", "reply", "10", "--customer", "a@b.com", "--body", "My reply", "--status", "closed", @@ -116,7 +116,7 @@ func TestThreadsNote(t *testing.T) { buf := setupTest(mock) defer func() { output.Out = os.Stdout }() - rootCmd.SetArgs([]string{"inbox", "conversations", "threads", "note", "10", + setRootArgs(t, []string{"inbox", "conversations", "threads", "note", "10", "--body", "Internal note", "--user-id", "6", "--status", "pending", @@ -145,7 +145,7 @@ func TestThreadsCreateChat(t *testing.T) { buf := setupTest(mock) defer func() { output.Out = os.Stdout }() - rootCmd.SetArgs([]string{"inbox", "conversations", "threads", "create-chat", "10", + setRootArgs(t, []string{"inbox", "conversations", "threads", "create-chat", "10", "--customer", "chat@example.com", "--body", "Chat body", "--imported", @@ -170,7 +170,7 @@ func TestThreadsCreateCustomer(t *testing.T) { buf := setupTest(mock) defer func() { output.Out = os.Stdout }() - rootCmd.SetArgs([]string{"inbox", "conversations", "threads", "create-customer", "10", + setRootArgs(t, []string{"inbox", "conversations", "threads", "create-customer", "10", "--customer", "customer@example.com", "--body", "Customer body"}) require.NoError(t, rootCmd.Execute()) @@ -191,7 +191,7 @@ func TestThreadsCreatePhone(t *testing.T) { buf := setupTest(mock) defer func() { output.Out = os.Stdout }() - rootCmd.SetArgs([]string{"inbox", "conversations", "threads", "create-phone", "10", + setRootArgs(t, []string{"inbox", "conversations", "threads", "create-phone", "10", "--body", "Phone body"}) require.NoError(t, rootCmd.Execute()) assert.Contains(t, buf.String(), "Created create-phone thread on conversation 10.") @@ -216,7 +216,7 @@ func TestThreadsUpdate(t *testing.T) { buf := setupTest(mock) defer func() { output.Out = os.Stdout }() - rootCmd.SetArgs([]string{"inbox", "conversations", "threads", "update", "10", "20", + setRootArgs(t, []string{"inbox", "conversations", "threads", "update", "10", "20", "--text", "Updated body", "--status", "closed"}) require.NoError(t, rootCmd.Execute()) @@ -235,7 +235,7 @@ func TestThreadsSource(t *testing.T) { buf := setupTest(mock) defer func() { output.Out = os.Stdout }() - rootCmd.SetArgs([]string{"inbox", "conversations", "threads", "source", "10", "20"}) + setRootArgs(t, []string{"inbox", "conversations", "threads", "source", "10", "20"}) require.NoError(t, rootCmd.Execute()) assert.Contains(t, buf.String(), "source payload") } @@ -252,7 +252,7 @@ func TestThreadsSourceRFC822(t *testing.T) { buf := setupTest(mock) defer func() { output.Out = os.Stdout }() - rootCmd.SetArgs([]string{"inbox", "conversations", "threads", "source-rfc822", "10", "20"}) + setRootArgs(t, []string{"inbox", "conversations", "threads", "source-rfc822", "10", "20"}) require.NoError(t, rootCmd.Execute()) assert.Contains(t, buf.String(), "From: test@example.com") } @@ -271,7 +271,7 @@ func TestThreadsList_PIIRedactsWhenEnabled(t *testing.T) { t.Setenv("HS_INBOX_PII_ALLOW_UNREDACTED", "0") defer func() { output.Out = os.Stdout }() - rootCmd.SetArgs([]string{"inbox", "conversations", "threads", "list", "10"}) + setRootArgs(t, []string{"inbox", "conversations", "threads", "list", "10"}) require.NoError(t, rootCmd.Execute()) out := buf.String() @@ -290,7 +290,7 @@ func TestThreadsList_UnredactedDeniedWhenDisallowed(t *testing.T) { t.Setenv("HS_INBOX_PII_ALLOW_UNREDACTED", "0") defer func() { output.Out = os.Stdout }() - rootCmd.SetArgs([]string{"inbox", "--unredacted", "conversations", "threads", "list", "10"}) + setRootArgs(t, []string{"inbox", "--unredacted", "conversations", "threads", "list", "10"}) err := rootCmd.Execute() require.Error(t, err) assert.Contains(t, err.Error(), "--unredacted is disabled") @@ -307,7 +307,7 @@ func TestThreadsSourceRFC822_RedactedWhenEnabled(t *testing.T) { t.Setenv("HS_INBOX_PII_ALLOW_UNREDACTED", "0") defer func() { output.Out = os.Stdout }() - rootCmd.SetArgs([]string{"inbox", "conversations", "threads", "source-rfc822", "10", "20"}) + setRootArgs(t, []string{"inbox", "conversations", "threads", "source-rfc822", "10", "20"}) require.NoError(t, rootCmd.Execute()) out := buf.String() @@ -327,7 +327,7 @@ func TestThreadsSourceRFC822_UnredactedAllowed(t *testing.T) { t.Setenv("HS_INBOX_PII_ALLOW_UNREDACTED", "1") defer func() { output.Out = os.Stdout }() - rootCmd.SetArgs([]string{"inbox", "--unredacted", "conversations", "threads", "source-rfc822", "10", "20"}) + setRootArgs(t, []string{"inbox", "--unredacted", "conversations", "threads", "source-rfc822", "10", "20"}) require.NoError(t, rootCmd.Execute()) assert.Contains(t, buf.String(), "From: test@example.com") diff --git a/internal/cmd/inbox_tools_test.go b/internal/cmd/inbox_tools_test.go index 538754e..b9eca34 100644 --- a/internal/cmd/inbox_tools_test.go +++ b/internal/cmd/inbox_tools_test.go @@ -48,7 +48,7 @@ func TestBriefingTeamOverview(t *testing.T) { buf := setupTest(mock) defer func() { output.Out = os.Stdout }() - rootCmd.SetArgs([]string{"inbox", "tools", "briefing"}) + setRootArgs(t, []string{"inbox", "tools", "briefing"}) require.NoError(t, rootCmd.Execute()) out := buf.String() @@ -107,7 +107,7 @@ func TestBriefingAgentSummary(t *testing.T) { buf := setupTest(mock) defer func() { output.Out = os.Stdout }() - rootCmd.SetArgs([]string{"inbox", "tools", "briefing", "--assigned-to", "99"}) + setRootArgs(t, []string{"inbox", "tools", "briefing", "--assigned-to", "99"}) require.NoError(t, rootCmd.Execute()) out := buf.String() @@ -157,7 +157,7 @@ func TestBriefingAgentSummaryJSON(t *testing.T) { format = "json" defer func() { output.Out = os.Stdout }() - rootCmd.SetArgs([]string{"inbox", "tools", "briefing", "--assigned-to", "99", "--format", "json"}) + setRootArgs(t, []string{"inbox", "tools", "briefing", "--assigned-to", "99", "--format", "json"}) require.NoError(t, rootCmd.Execute()) out := buf.String() @@ -208,7 +208,7 @@ func TestBriefingAgentWithThreads(t *testing.T) { buf := setupTest(mock) defer func() { output.Out = os.Stdout }() - rootCmd.SetArgs([]string{"inbox", "tools", "briefing", "--assigned-to", "99", "--embed", "threads"}) + setRootArgs(t, []string{"inbox", "tools", "briefing", "--assigned-to", "99", "--embed", "threads"}) require.NoError(t, rootCmd.Execute()) out := buf.String() @@ -263,7 +263,7 @@ func TestBriefingAgentThreadsJSON(t *testing.T) { format = "json" defer func() { output.Out = os.Stdout }() - rootCmd.SetArgs([]string{"inbox", "tools", "briefing", "--assigned-to", "99", "--embed", "threads", "--format", "json"}) + setRootArgs(t, []string{"inbox", "tools", "briefing", "--assigned-to", "99", "--embed", "threads", "--format", "json"}) require.NoError(t, rootCmd.Execute()) out := buf.String() @@ -336,7 +336,7 @@ func TestBriefingNoResults(t *testing.T) { buf := setupTest(mock) defer func() { output.Out = os.Stdout }() - rootCmd.SetArgs([]string{"inbox", "tools", "briefing", "--assigned-to", "99"}) + setRootArgs(t, []string{"inbox", "tools", "briefing", "--assigned-to", "99"}) require.NoError(t, rootCmd.Execute()) assert.Contains(t, buf.String(), "No results.") @@ -352,7 +352,7 @@ func TestBriefingEmbedWithoutAssignedTo(t *testing.T) { defer func() { output.Out = os.Stdout }() // Explicit --assigned-to "" to override cobra flag state from prior tests - rootCmd.SetArgs([]string{"inbox", "tools", "briefing", "--embed", "threads", "--assigned-to", ""}) + setRootArgs(t, []string{"inbox", "tools", "briefing", "--embed", "threads", "--assigned-to", ""}) err := rootCmd.Execute() require.Error(t, err) assert.Contains(t, err.Error(), "--embed threads requires --assigned-to") @@ -379,7 +379,7 @@ func TestBriefingTeamOverviewNoThreadEmbed(t *testing.T) { defer func() { output.Out = os.Stdout }() // Explicit --embed "" to reset cobra flag state from prior tests - rootCmd.SetArgs([]string{"inbox", "tools", "briefing", "--embed", ""}) + setRootArgs(t, []string{"inbox", "tools", "briefing", "--embed", ""}) require.NoError(t, rootCmd.Execute()) assert.Contains(t, buf.String(), "Alex M") } @@ -406,7 +406,7 @@ func TestBriefingAgentViewsAlwaysEmbedThreads(t *testing.T) { defer func() { output.Out = os.Stdout }() // Tier 2: no --embed threads flag, but API should still embed - rootCmd.SetArgs([]string{"inbox", "tools", "briefing", "--assigned-to", "99"}) + setRootArgs(t, []string{"inbox", "tools", "briefing", "--assigned-to", "99"}) require.NoError(t, rootCmd.Execute()) assert.Contains(t, buf.String(), "A") } diff --git a/internal/cmd/inbox_users.go b/internal/cmd/inbox_users.go index 8584bd9..1b5728b 100644 --- a/internal/cmd/inbox_users.go +++ b/internal/cmd/inbox_users.go @@ -24,6 +24,7 @@ func newUsersCmd() *cobra.Command { permission.Annotate(listCmd, "users", permission.OpRead) listCmd.Flags().String("email", "", "filter by email") listCmd.Flags().String("mailbox", "", "filter by mailbox ID") + markProtectedFlags(listCmd, "email") getCmd := usersGetCmd() permission.Annotate(getCmd, "users", permission.OpRead) @@ -287,6 +288,7 @@ func newUsersStatusCmd() *cobra.Command { } setCmd.Flags().String("status", "", "status value") setCmd.Flags().String("json", "", "full status payload as JSON object") + markProtectedFlags(setCmd, "json") permission.Annotate(listCmd, "users", permission.OpRead) permission.Annotate(getCmd, "users", permission.OpRead) diff --git a/internal/cmd/inbox_users_test.go b/internal/cmd/inbox_users_test.go index ca7d670..a010562 100644 --- a/internal/cmd/inbox_users_test.go +++ b/internal/cmd/inbox_users_test.go @@ -23,7 +23,7 @@ func TestUsersList(t *testing.T) { buf := setupTest(mock) defer func() { output.Out = os.Stdout }() - rootCmd.SetArgs([]string{"inbox", "users", "list"}) + setRootArgs(t, []string{"inbox", "users", "list"}) require.NoError(t, rootCmd.Execute()) out := buf.String() @@ -42,7 +42,7 @@ func TestUsersListFilters(t *testing.T) { setupTest(mock) defer func() { output.Out = os.Stdout }() - rootCmd.SetArgs([]string{"inbox", "users", "list", "--email", "agent@example.com", "--mailbox", "88"}) + setRootArgs(t, []string{"inbox", "users", "list", "--email", "agent@example.com", "--mailbox", "88"}) require.NoError(t, rootCmd.Execute()) } @@ -58,7 +58,7 @@ func TestUsersGet(t *testing.T) { buf := setupTest(mock) defer func() { output.Out = os.Stdout }() - rootCmd.SetArgs([]string{"inbox", "users", "get", "1"}) + setRootArgs(t, []string{"inbox", "users", "get", "1"}) require.NoError(t, rootCmd.Execute()) out := buf.String() @@ -77,7 +77,7 @@ func TestUsersMe(t *testing.T) { buf := setupTest(mock) defer func() { output.Out = os.Stdout }() - rootCmd.SetArgs([]string{"inbox", "users", "me"}) + setRootArgs(t, []string{"inbox", "users", "me"}) require.NoError(t, rootCmd.Execute()) assert.Contains(t, buf.String(), "Owner") } @@ -92,7 +92,7 @@ func TestUsersDelete(t *testing.T) { buf := setupTest(mock) defer func() { output.Out = os.Stdout }() - rootCmd.SetArgs([]string{"inbox", "users", "delete", "9"}) + setRootArgs(t, []string{"inbox", "users", "delete", "9"}) require.NoError(t, rootCmd.Execute()) assert.Contains(t, buf.String(), "Deleted user 9") } @@ -106,7 +106,7 @@ func TestUsersStatusList(t *testing.T) { buf := setupTest(mock) defer func() { output.Out = os.Stdout }() - rootCmd.SetArgs([]string{"inbox", "users", "status", "list"}) + setRootArgs(t, []string{"inbox", "users", "status", "list"}) require.NoError(t, rootCmd.Execute()) assert.Contains(t, buf.String(), "Active") } @@ -121,7 +121,7 @@ func TestUsersStatusGet(t *testing.T) { buf := setupTest(mock) defer func() { output.Out = os.Stdout }() - rootCmd.SetArgs([]string{"inbox", "users", "status", "get", "9"}) + setRootArgs(t, []string{"inbox", "users", "status", "get", "9"}) require.NoError(t, rootCmd.Execute()) assert.Contains(t, buf.String(), "away") } @@ -139,7 +139,7 @@ func TestUsersStatusSet(t *testing.T) { buf := setupTest(mock) defer func() { output.Out = os.Stdout }() - rootCmd.SetArgs([]string{"inbox", "users", "status", "set", "9", "--status", "away"}) + setRootArgs(t, []string{"inbox", "users", "status", "set", "9", "--status", "away"}) require.NoError(t, rootCmd.Execute()) assert.Contains(t, buf.String(), "Updated status for user 9") } diff --git a/internal/cmd/inbox_webhooks.go b/internal/cmd/inbox_webhooks.go index 3b68622..393308a 100644 --- a/internal/cmd/inbox_webhooks.go +++ b/internal/cmd/inbox_webhooks.go @@ -31,6 +31,7 @@ func newWebhooksCmd() *cobra.Command { createCmd.Flags().IntSlice("mailbox-ids", nil, "mailbox IDs to scope the webhook") createCmd.Flags().Bool("notification", false, "send lightweight notification payloads") createCmd.Flags().String("label", "", "human-readable webhook label") + markProtectedFlags(createCmd, "url", "secret", "label") createCmd.MarkFlagRequired("url") createCmd.MarkFlagRequired("events") createCmd.MarkFlagRequired("secret") @@ -44,6 +45,7 @@ func newWebhooksCmd() *cobra.Command { updateCmd.Flags().IntSlice("mailbox-ids", nil, "mailbox IDs to scope the webhook") updateCmd.Flags().Bool("notification", false, "send lightweight notification payloads") updateCmd.Flags().String("label", "", "human-readable webhook label") + markProtectedFlags(updateCmd, "url", "secret", "label") listCmd := webhooksListCmd() permission.Annotate(listCmd, "webhooks", permission.OpRead) diff --git a/internal/cmd/inbox_webhooks_test.go b/internal/cmd/inbox_webhooks_test.go index 039be5f..d14d161 100644 --- a/internal/cmd/inbox_webhooks_test.go +++ b/internal/cmd/inbox_webhooks_test.go @@ -24,7 +24,7 @@ func TestWebhooksList(t *testing.T) { buf := setupTest(mock) defer func() { output.Out = os.Stdout }() - rootCmd.SetArgs([]string{"inbox", "webhooks", "list"}) + setRootArgs(t, []string{"inbox", "webhooks", "list"}) require.NoError(t, rootCmd.Execute()) out := buf.String() @@ -45,7 +45,7 @@ func TestWebhooksGet(t *testing.T) { buf := setupTest(mock) defer func() { output.Out = os.Stdout }() - rootCmd.SetArgs([]string{"inbox", "webhooks", "get", "1"}) + setRootArgs(t, []string{"inbox", "webhooks", "get", "1"}) require.NoError(t, rootCmd.Execute()) out := buf.String() @@ -72,7 +72,7 @@ func TestWebhooksCreate(t *testing.T) { buf := setupTest(mock) defer func() { output.Out = os.Stdout }() - rootCmd.SetArgs([]string{"inbox", "webhooks", "create", + setRootArgs(t, []string{"inbox", "webhooks", "create", "--url", "https://example.com/hook", "--events", "convo.created", "--secret", "sec", @@ -103,7 +103,7 @@ func TestWebhooksUpdate(t *testing.T) { buf := setupTest(mock) defer func() { output.Out = os.Stdout }() - rootCmd.SetArgs([]string{"inbox", "webhooks", "update", "1", + setRootArgs(t, []string{"inbox", "webhooks", "update", "1", "--url", "https://new.com/hook", "--payload-version", "V1", "--mailbox-ids", "10", @@ -124,7 +124,7 @@ func TestWebhooksDelete(t *testing.T) { buf := setupTest(mock) defer func() { output.Out = os.Stdout }() - rootCmd.SetArgs([]string{"inbox", "webhooks", "delete", "1"}) + setRootArgs(t, []string{"inbox", "webhooks", "delete", "1"}) require.NoError(t, rootCmd.Execute()) assert.Contains(t, buf.String(), "Deleted webhook 1") diff --git a/internal/cmd/inbox_workflows_test.go b/internal/cmd/inbox_workflows_test.go index 755a96b..c82af8d 100644 --- a/internal/cmd/inbox_workflows_test.go +++ b/internal/cmd/inbox_workflows_test.go @@ -25,7 +25,7 @@ func TestWorkflowsList(t *testing.T) { buf := setupTest(mock) defer func() { output.Out = os.Stdout }() - rootCmd.SetArgs([]string{"inbox", "workflows", "list"}) + setRootArgs(t, []string{"inbox", "workflows", "list"}) require.NoError(t, rootCmd.Execute()) out := buf.String() @@ -44,7 +44,7 @@ func TestWorkflowsListFilters(t *testing.T) { setupTest(mock) defer func() { output.Out = os.Stdout }() - rootCmd.SetArgs([]string{"inbox", "workflows", "list", "--mailbox-id", "10", "--type", "manual"}) + setRootArgs(t, []string{"inbox", "workflows", "list", "--mailbox-id", "10", "--type", "manual"}) require.NoError(t, rootCmd.Execute()) } @@ -63,7 +63,7 @@ func TestWorkflowsUpdateStatus(t *testing.T) { buf := setupTest(mock) defer func() { output.Out = os.Stdout }() - rootCmd.SetArgs([]string{"inbox", "workflows", "update-status", "5", "--status", "inactive"}) + setRootArgs(t, []string{"inbox", "workflows", "update-status", "5", "--status", "inactive"}) require.NoError(t, rootCmd.Execute()) assert.Contains(t, buf.String(), "Workflow 5 status set to inactive") @@ -74,7 +74,7 @@ func TestWorkflowsUpdateStatusRejectsInvalid(t *testing.T) { setupTest(mock) defer func() { output.Out = os.Stdout }() - rootCmd.SetArgs([]string{"inbox", "workflows", "update-status", "5", "--status", "paused"}) + setRootArgs(t, []string{"inbox", "workflows", "update-status", "5", "--status", "paused"}) err := rootCmd.Execute() require.Error(t, err) assert.Contains(t, err.Error(), `"active" or "inactive"`) @@ -93,7 +93,7 @@ func TestWorkflowsRun(t *testing.T) { buf := setupTest(mock) defer func() { output.Out = os.Stdout }() - rootCmd.SetArgs([]string{"inbox", "workflows", "run", "1", "--conversation-ids", "100,200"}) + setRootArgs(t, []string{"inbox", "workflows", "run", "1", "--conversation-ids", "100,200"}) require.NoError(t, rootCmd.Execute()) assert.Contains(t, buf.String(), "Workflow 1 executed") @@ -109,7 +109,7 @@ func TestWorkflowsRunRejectsNonIntegerIDs(t *testing.T) { setupTest(mock) defer func() { output.Out = os.Stdout }() - rootCmd.SetArgs([]string{"inbox", "workflows", "run", "1", "--conversation-ids", "100,abc"}) + setRootArgs(t, []string{"inbox", "workflows", "run", "1", "--conversation-ids", "100,abc"}) err := rootCmd.Execute() require.Error(t, err) assert.Contains(t, err.Error(), `invalid conversation ID "abc"`) @@ -130,7 +130,7 @@ func TestWorkflowsRunRejectsMoreThan50IDs(t *testing.T) { ids[i] = fmt.Sprintf("%d", i+1) } - rootCmd.SetArgs([]string{"inbox", "workflows", "run", "1", "--conversation-ids", strings.Join(ids, ",")}) + setRootArgs(t, []string{"inbox", "workflows", "run", "1", "--conversation-ids", strings.Join(ids, ",")}) err := rootCmd.Execute() require.Error(t, err) assert.Contains(t, err.Error(), "at most 50 IDs") diff --git a/internal/cmd/mcp_catalog.go b/internal/cmd/mcp_catalog.go index cc4dd92..707eeb4 100644 --- a/internal/cmd/mcp_catalog.go +++ b/internal/cmd/mcp_catalog.go @@ -26,11 +26,12 @@ type mcpPositionalArgSpec struct { } type mcpFlagSpec struct { - Name string - Property string - Usage string - Type string - Required bool + Name string + Property string + Usage string + Type string + Required bool + Protected bool } func discoverMCPTools() ([]mcpToolSpec, error) { @@ -202,11 +203,12 @@ func collectMCPFlags(cmd *cobra.Command) []mcpFlagSpec { seen[flag.Name] = struct{}{} flags = append(flags, mcpFlagSpec{ - Name: flag.Name, - Property: sanitizeMCPPropertyName(flag.Name), - Usage: flag.Usage, - Type: flag.Value.Type(), - Required: required, + Name: flag.Name, + Property: sanitizeMCPPropertyName(flag.Name), + Usage: flag.Usage, + Type: flag.Value.Type(), + Required: required, + Protected: flag.Annotations != nil && len(flag.Annotations[protectedFlagAnnotation]) > 0, }) } diff --git a/internal/cmd/mcp_catalog_test.go b/internal/cmd/mcp_catalog_test.go index c2f5938..81115b4 100644 --- a/internal/cmd/mcp_catalog_test.go +++ b/internal/cmd/mcp_catalog_test.go @@ -48,3 +48,22 @@ func TestBuildMCPToolSpec_IncludesOutputModeSchema(t *testing.T) { } assert.True(t, found, "expected conversations list tool to be present") } + +func TestBuildMCPToolSpec_ClassifiesProtectedFlags(t *testing.T) { + tools, err := discoverMCPTools() + require.NoError(t, err) + for _, tool := range tools { + if tool.Name != "helpscout_inbox_conversations_threads_reply" { + continue + } + protected := map[string]bool{} + for _, flag := range tool.Flags { + protected[flag.Name] = flag.Protected + } + assert.True(t, protected["customer"]) + assert.True(t, protected["body"]) + assert.False(t, protected["status"]) + return + } + t.Fatal("reply MCP tool not found") +} diff --git a/internal/cmd/mcp_execute.go b/internal/cmd/mcp_execute.go index dec590d..45dcfb4 100644 --- a/internal/cmd/mcp_execute.go +++ b/internal/cmd/mcp_execute.go @@ -30,6 +30,13 @@ type mcpCommandRunner struct { debug bool } +type mcpInvocation struct { + Args []string + Stdin []byte + SafeDisplay string + ProtectedValues []string +} + func newMCPCommandRunner(defaultOutputMode, configPath string, debug bool) (*mcpCommandRunner, error) { exePath, err := os.Executable() if err != nil { @@ -44,13 +51,14 @@ func newMCPCommandRunner(defaultOutputMode, configPath string, debug bool) (*mcp } func (r *mcpCommandRunner) execute(ctx context.Context, spec mcpToolSpec, args map[string]json.RawMessage) mcpToolCallResult { - argv, commandLine, err := r.buildInvocation(spec, args) + invocation, err := r.buildExecutionInvocation(spec, args) if err != nil { return mcpErrorResult(err.Error()) } - command := exec.CommandContext(ctx, r.executablePath, argv...) + command := exec.CommandContext(ctx, r.executablePath, invocation.Args...) command.Env = setEnvVar(os.Environ(), "HS_NO_UPDATE_CHECK", "1") + command.Stdin = bytes.NewReader(invocation.Stdin) var stdout bytes.Buffer var stderr bytes.Buffer @@ -58,16 +66,17 @@ func (r *mcpCommandRunner) execute(ctx context.Context, spec mcpToolSpec, args m command.Stderr = &stderr runErr := command.Run() - stdoutText := strings.TrimSpace(stdout.String()) - stderrText := strings.TrimSpace(stderr.String()) + stdoutText := strings.TrimSpace(redactProtectedValues(stdout.String(), invocation.ProtectedValues)) + stderrText := strings.TrimSpace(redactProtectedValues(stderr.String(), invocation.ProtectedValues)) if runErr != nil { - msg := fmt.Sprintf("command failed: %s\n%s", commandLine, strings.TrimSpace(stderrText)) - if msg == fmt.Sprintf("command failed: %s\n", commandLine) && stdoutText != "" { - msg = fmt.Sprintf("command failed: %s\n%s", commandLine, stdoutText) + msg := fmt.Sprintf("command failed: %s\n%s", invocation.SafeDisplay, strings.TrimSpace(stderrText)) + if msg == fmt.Sprintf("command failed: %s\n", invocation.SafeDisplay) && stdoutText != "" { + msg = fmt.Sprintf("command failed: %s\n%s", invocation.SafeDisplay, stdoutText) } - if msg == fmt.Sprintf("command failed: %s\n", commandLine) { - msg = fmt.Sprintf("command failed: %s\n%s", commandLine, runErr.Error()) + if msg == fmt.Sprintf("command failed: %s\n", invocation.SafeDisplay) { + msg = fmt.Sprintf("command failed: %s\n%s", invocation.SafeDisplay, + redactProtectedValues(runErr.Error(), invocation.ProtectedValues)) } return mcpErrorResult(msg) } @@ -87,14 +96,29 @@ func (r *mcpCommandRunner) execute(ctx context.Context, spec mcpToolSpec, args m } func (r *mcpCommandRunner) buildInvocation(spec mcpToolSpec, args map[string]json.RawMessage) ([]string, string, error) { - argv := make([]string, 0, len(spec.CommandPath)+8) + invocation, err := r.buildExecutionInvocation(spec, args) + if err != nil { + return nil, "", err + } + return invocation.Args, invocation.SafeDisplay, nil +} + +func (r *mcpCommandRunner) buildExecutionInvocation(spec mcpToolSpec, args map[string]json.RawMessage) (mcpInvocation, error) { + globalArgs := make([]string, 0, 4) if r.configPath != "" { - argv = append(argv, "--config", r.configPath) + globalArgs = append(globalArgs, "--config", r.configPath) } if r.debug { - argv = append(argv, "--debug=true") + globalArgs = append(globalArgs, "--debug=true") + } + commandArgs := append([]string{}, spec.CommandPath...) + safeArgs := append([]string{}, spec.CommandPath...) + envelope := protectedInputEnvelope{ + Schema: protectedInputSchema, + Command: append([]string{}, spec.CommandPath...), + Flags: map[string]json.RawMessage{}, } - argv = append(argv, spec.CommandPath...) + protectedValues := make([]string, 0, len(args)) allowed := map[string]struct{}{ "output_mode": {}, @@ -114,30 +138,34 @@ func (r *mcpCommandRunner) buildInvocation(spec mcpToolSpec, args map[string]jso } if len(unknown) > 0 { sort.Strings(unknown) - return nil, "", fmt.Errorf("unknown arguments: %s", strings.Join(unknown, ", ")) + return mcpInvocation{}, fmt.Errorf("unknown arguments: %s", strings.Join(unknown, ", ")) } for _, arg := range spec.PositionalArgs { raw, ok := args[arg.Property] if !ok { if arg.Required { - return nil, "", fmt.Errorf("missing required argument: %s", arg.Property) + return mcpInvocation{}, fmt.Errorf("missing required argument: %s", arg.Property) } continue } value, err := mcpStringFromRaw(raw) if err != nil { - return nil, "", fmt.Errorf("invalid %s: %w", arg.Property, err) + return mcpInvocation{}, fmt.Errorf("invalid %s: %w", arg.Property, err) } value = strings.TrimSpace(value) if value == "" { if arg.Required { - return nil, "", fmt.Errorf("missing required argument: %s", arg.Property) + return mcpInvocation{}, fmt.Errorf("missing required argument: %s", arg.Property) } continue } - argv = append(argv, value) + position := len(commandArgs) - len(spec.CommandPath) + placeholder := protectedArgumentPlaceholder(position) + commandArgs = append(commandArgs, placeholder) + safeArgs = append(safeArgs, "[protected]") + envelope.Positionals = append(envelope.Positionals, protectedPositionalInput{Index: position, Value: value}) } for _, flag := range spec.Flags { @@ -150,29 +178,47 @@ func (r *mcpCommandRunner) buildInvocation(spec mcpToolSpec, args map[string]jso case "bool": v, err := mcpBoolFromRaw(raw) if err != nil { - return nil, "", fmt.Errorf("invalid %s: %w", flag.Property, err) + return mcpInvocation{}, fmt.Errorf("invalid %s: %w", flag.Property, err) } - argv = append(argv, fmt.Sprintf("--%s=%t", flag.Name, v)) + value := fmt.Sprintf("--%s=%t", flag.Name, v) + commandArgs = append(commandArgs, value) + safeArgs = append(safeArgs, value) case "int", "int64", "uint", "uint64": v, err := mcpIntFromRaw(raw) if err != nil { - return nil, "", fmt.Errorf("invalid %s: %w", flag.Property, err) + return mcpInvocation{}, fmt.Errorf("invalid %s: %w", flag.Property, err) } - argv = append(argv, "--"+flag.Name, strconv.FormatInt(v, 10)) + value := strconv.FormatInt(v, 10) + commandArgs = append(commandArgs, "--"+flag.Name, value) + safeArgs = append(safeArgs, "--"+flag.Name, value) case "stringSlice", "stringArray": values, err := mcpStringSliceFromRaw(raw) if err != nil { - return nil, "", fmt.Errorf("invalid %s: %w", flag.Property, err) + return mcpInvocation{}, fmt.Errorf("invalid %s: %w", flag.Property, err) } - for _, value := range values { - argv = append(argv, "--"+flag.Name, value) + normalized, marshalErr := json.Marshal(values) + if marshalErr != nil { + return mcpInvocation{}, fmt.Errorf("encode %s: %w", flag.Property, marshalErr) } + envelope.Flags[flag.Name] = normalized + if flag.Protected { + protectedValues = append(protectedValues, values...) + } + safeArgs = append(safeArgs, "--"+flag.Name, "[protected]") default: v, err := mcpStringFromRaw(raw) if err != nil { - return nil, "", fmt.Errorf("invalid %s: %w", flag.Property, err) + return mcpInvocation{}, fmt.Errorf("invalid %s: %w", flag.Property, err) + } + normalized, marshalErr := json.Marshal(v) + if marshalErr != nil { + return mcpInvocation{}, fmt.Errorf("encode %s: %w", flag.Property, marshalErr) + } + envelope.Flags[flag.Name] = normalized + if flag.Protected { + protectedValues = append(protectedValues, v) } - argv = append(argv, "--"+flag.Name, v) + safeArgs = append(safeArgs, "--"+flag.Name, "[protected]") } } @@ -180,14 +226,14 @@ func (r *mcpCommandRunner) buildInvocation(spec mcpToolSpec, args map[string]jso if raw, ok := args["output_mode"]; ok { mode, err := mcpStringFromRaw(raw) if err != nil { - return nil, "", fmt.Errorf("invalid output_mode: %w", err) + return mcpInvocation{}, fmt.Errorf("invalid output_mode: %w", err) } mode = strings.ToLower(strings.TrimSpace(mode)) if mode == "json-full" { mode = mcpOutputJSONFull } if !isValidMCPOutputMode(mode) { - return nil, "", fmt.Errorf("invalid output_mode: %q (expected json|json_full)", mode) + return mcpInvocation{}, fmt.Errorf("invalid output_mode: %q (expected json|json_full)", mode) } outputMode = mode } @@ -196,10 +242,26 @@ func (r *mcpCommandRunner) buildInvocation(spec mcpToolSpec, args map[string]jso if outputMode == mcpOutputJSONFull { formatFlag = "json-full" } - argv = append(argv, "--format", formatFlag) + commandArgs = append(commandArgs, "--format", formatFlag) + safeArgs = append(safeArgs, "--format", formatFlag) - commandLine := "hs " + strings.Join(argv, " ") - return argv, commandLine, nil + argv := append([]string{}, globalArgs...) + var stdin []byte + if len(envelope.Positionals) > 0 || len(envelope.Flags) > 0 { + var err error + stdin, err = json.Marshal(envelope) + if err != nil { + return mcpInvocation{}, fmt.Errorf("encode protected invocation: %w", err) + } + argv = append(argv, "--"+protectedInputFlagName, "-") + } + argv = append(argv, commandArgs...) + return mcpInvocation{ + Args: argv, + Stdin: stdin, + SafeDisplay: "hs " + strings.Join(safeArgs, " "), + ProtectedValues: compactProtectedValues(protectedValues), + }, nil } func mcpErrorResult(message string) mcpToolCallResult { diff --git a/internal/cmd/mcp_execute_test.go b/internal/cmd/mcp_execute_test.go index b3ec782..fd90a07 100644 --- a/internal/cmd/mcp_execute_test.go +++ b/internal/cmd/mcp_execute_test.go @@ -2,6 +2,7 @@ package cmd import ( "encoding/json" + "fmt" "testing" "github.com/stretchr/testify/assert" @@ -18,7 +19,7 @@ func TestMCPBuildInvocation_BuildsCLIArgs(t *testing.T) { Flags: []mcpFlagSpec{ {Name: "no-paginate", Property: "no_paginate", Type: "bool"}, {Name: "page", Property: "page", Type: "int"}, - {Name: "tag", Property: "tag", Type: "stringSlice"}, + {Name: "tag", Property: "tag", Type: "stringSlice", Protected: true}, }, } @@ -30,19 +31,36 @@ func TestMCPBuildInvocation_BuildsCLIArgs(t *testing.T) { "output_mode": json.RawMessage(`"json_full"`), } - argv, commandLine, err := runner.buildInvocation(spec, args) + invocation, err := runner.buildExecutionInvocation(spec, args) require.NoError(t, err) assert.Equal(t, []string{ + "--protected-input", "-", "inbox", "conversations", "get", - "12345", + "__HS_PROTECTED_ARG_0__", "--no-paginate=true", "--page", "2", - "--tag", "vip", - "--tag", "billing", "--format", "json-full", - }, argv) - assert.Equal(t, "hs inbox conversations get 12345 --no-paginate=true --page 2 --tag vip --tag billing --format json-full", commandLine) + }, invocation.Args) + assert.Equal(t, "hs inbox conversations get [protected] --no-paginate=true --page 2 --tag [protected] --format json-full", invocation.SafeDisplay) + assert.ElementsMatch(t, []string{"vip", "billing"}, invocation.ProtectedValues) + + var envelope protectedInputEnvelope + require.NoError(t, json.Unmarshal(invocation.Stdin, &envelope)) + assert.Equal(t, protectedInputSchema, envelope.Schema) + assert.Equal(t, spec.CommandPath, envelope.Command) + assert.Equal(t, []protectedPositionalInput{{Index: 0, Value: "12345"}}, envelope.Positionals) + assert.JSONEq(t, `["vip","billing"]`, string(envelope.Flags["tag"])) +} + +func TestRedactProtectedValues_CoversQuotedAndJSONEscapedErrors(t *testing.T) { + protected := "private line one\nline two " + rendered := fmt.Sprintf("raw=%s quoted=%q json=%s", protected, protected, `"private line one\nline two \u003ctag\u003e"`) + out := redactProtectedValues(rendered, []string{protected}) + assert.NotContains(t, out, "private line") + assert.NotContains(t, out, "line two") + assert.NotContains(t, out, "tag") + assert.Contains(t, out, "[protected]") } func TestMCPBuildInvocation_RejectsUnknownArguments(t *testing.T) { @@ -78,14 +96,15 @@ func TestMCPBuildInvocation_ForwardsGlobalConfigAndDebug(t *testing.T) { CommandPath: []string{"inbox", "mailboxes", "list"}, } - argv, _, err := runner.buildInvocation(spec, map[string]json.RawMessage{}) + invocation, err := runner.buildExecutionInvocation(spec, map[string]json.RawMessage{}) require.NoError(t, err) assert.Equal(t, []string{ "--config", "/tmp/hs-config.yaml", "--debug=true", "inbox", "mailboxes", "list", "--format", "json", - }, argv) + }, invocation.Args) + assert.Empty(t, invocation.Stdin) } func TestMCPBuildInvocation_RejectsEmptyRequiredPositionalArgument(t *testing.T) { diff --git a/internal/cmd/pii_medium_regression_test.go b/internal/cmd/pii_medium_regression_test.go index dd4c4e3..fc164b4 100644 --- a/internal/cmd/pii_medium_regression_test.go +++ b/internal/cmd/pii_medium_regression_test.go @@ -7,6 +7,7 @@ import ( "strings" "testing" + "github.com/operator-kit/hs-cli/internal/output" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) @@ -23,8 +24,8 @@ func mediumSensitiveMCPFixture() (mcpToolSpec, map[string]json.RawMessage) { {Name: "conversation-id", Property: "conversation_id", Required: true}, }, Flags: []mcpFlagSpec{ - {Name: "customer", Property: "customer", Type: "string", Required: true}, - {Name: "body", Property: "body", Type: "string", Required: true}, + {Name: "customer", Property: "customer", Type: "string", Required: true, Protected: true}, + {Name: "body", Property: "body", Type: "string", Required: true, Protected: true}, }, } args := map[string]json.RawMessage{ @@ -70,4 +71,28 @@ func TestPIIRegression_Medium10_SensitiveMCPInputsStayOffProcessBoundaries(t *te "MCP failures must not echo sensitive tool arguments") } }) + + t.Run("direct CLI requires protected transport", func(t *testing.T) { + previousOutput := output.Out + saveRestore(t) + apiCalled := false + setupTest(&mockClient{CreateReplyFn: func(context.Context, string, any) error { + apiCalled = true + return nil + }}) + t.Cleanup(func() { output.Out = previousOutput }) + resetChangedFlags(rootCmd) + rootCmd.SetArgs([]string{ + "inbox", "conversations", "threads", "reply", "42", + "--customer", mediumSensitiveEmail, + "--body", mediumSensitiveBody, + }) + + err := rootCmd.Execute() + require.Error(t, err) + assert.NotContains(t, err.Error(), mediumSensitiveBody) + assert.NotContains(t, err.Error(), mediumSensitiveEmail) + assert.Contains(t, err.Error(), "--protected-input") + assert.False(t, apiCalled, "unprotected PII must be rejected before API work") + }) } diff --git a/internal/cmd/protected_input.go b/internal/cmd/protected_input.go new file mode 100644 index 0000000..be3e348 --- /dev/null +++ b/internal/cmd/protected_input.go @@ -0,0 +1,323 @@ +package cmd + +import ( + "bytes" + "encoding/json" + "fmt" + "io" + "os" + "reflect" + "runtime" + "sort" + "strconv" + "strings" + + "github.com/spf13/cobra" + "github.com/spf13/pflag" +) + +const ( + protectedInputFlagName = "protected-input" + protectedFlagAnnotation = "operator-kit.io/protected-input" + protectedInputSchema = 1 + maxProtectedInputBytes = 4 << 20 +) + +var protectedInputPath string + +type protectedInputApplication struct { + flags map[*pflag.Flag]struct{} + values []string +} + +type protectedInputEnvelope struct { + Schema int `json:"schema"` + Command []string `json:"command"` + Positionals []protectedPositionalInput `json:"positionals,omitempty"` + Flags map[string]json.RawMessage `json:"flags,omitempty"` +} + +type protectedPositionalInput struct { + Index int `json:"index"` + Value string `json:"value"` +} + +func protectedArgumentPlaceholder(index int) string { + return fmt.Sprintf("__HS_PROTECTED_ARG_%d__", index) +} + +func applyProtectedInput(cmd *cobra.Command, args []string) (protectedInputApplication, error) { + applied := protectedInputApplication{flags: make(map[*pflag.Flag]struct{})} + path := strings.TrimSpace(protectedInputPath) + if path == "" { + return applied, nil + } + + // Cobra command trees are reused by tests. Clear the process-scoped control + // as soon as it has been captured so a later invocation cannot reread stdin. + protectedInputPath = "" + if flag := cmd.Root().PersistentFlags().Lookup(protectedInputFlagName); flag != nil { + flag.Changed = false + } + + raw, err := readProtectedInput(cmd, path) + if err != nil { + return protectedInputApplication{}, err + } + + var envelope protectedInputEnvelope + decoder := json.NewDecoder(bytes.NewReader(raw)) + decoder.DisallowUnknownFields() + if err := decoder.Decode(&envelope); err != nil { + return protectedInputApplication{}, fmt.Errorf("decode protected input: %w", err) + } + if err := requireJSONEOF(decoder); err != nil { + return protectedInputApplication{}, fmt.Errorf("decode protected input: %w", err) + } + if envelope.Schema != protectedInputSchema { + return protectedInputApplication{}, fmt.Errorf("unsupported protected input schema %d", envelope.Schema) + } + if !reflect.DeepEqual(envelope.Command, commandPathSegments(cmd)) { + return protectedInputApplication{}, fmt.Errorf("protected input command does not match %q", cmd.CommandPath()) + } + + seenPositions := make(map[int]struct{}, len(envelope.Positionals)) + for _, input := range envelope.Positionals { + if input.Index < 0 || input.Index >= len(args) { + return protectedInputApplication{}, fmt.Errorf("protected positional index %d is out of range", input.Index) + } + if _, exists := seenPositions[input.Index]; exists { + return protectedInputApplication{}, fmt.Errorf("duplicate protected positional index %d", input.Index) + } + seenPositions[input.Index] = struct{}{} + if args[input.Index] != protectedArgumentPlaceholder(input.Index) { + return protectedInputApplication{}, fmt.Errorf("protected positional index %d has no matching placeholder", input.Index) + } + args[input.Index] = input.Value + } + + for name, rawValue := range envelope.Flags { + if name == protectedInputFlagName { + return protectedInputApplication{}, fmt.Errorf("protected input cannot set --%s", protectedInputFlagName) + } + flag := lookupCommandFlag(cmd, name) + if flag == nil { + return protectedInputApplication{}, fmt.Errorf("protected input contains unknown flag --%s", name) + } + if err := setProtectedFlagValue(flag, rawValue); err != nil { + return protectedInputApplication{}, fmt.Errorf("protected input flag --%s: %w", name, err) + } + applied.flags[flag] = struct{}{} + if flag.Annotations != nil && len(flag.Annotations[protectedFlagAnnotation]) > 0 { + applied.values = append(applied.values, protectedValuesFromRaw(flag, rawValue)...) + } + } + + applied.values = compactProtectedValues(applied.values) + return applied, nil +} + +func protectedValuesFromRaw(flag *pflag.Flag, raw json.RawMessage) []string { + switch flag.Value.Type() { + case "string": + value, err := decodeProtectedString(raw) + if err == nil { + return []string{value} + } + case "stringSlice", "stringArray": + values, err := decodeProtectedStringSlice(raw) + if err == nil { + return values + } + } + return nil +} + +func markProtectedFlags(cmd *cobra.Command, names ...string) { + for _, name := range names { + flag := cmd.Flags().Lookup(name) + if flag == nil { + panic(fmt.Sprintf("protected flag --%s is not registered on %s", name, cmd.CommandPath())) + } + if flag.Annotations == nil { + flag.Annotations = make(map[string][]string) + } + flag.Annotations[protectedFlagAnnotation] = []string{"true"} + if !strings.Contains(flag.Usage, "protected input only") { + flag.Usage += " (protected input only)" + } + } +} + +func rejectUnprotectedFlagValues(cmd *cobra.Command, applied protectedInputApplication) error { + var rejected string + cmd.Flags().VisitAll(func(flag *pflag.Flag) { + if rejected != "" || !flag.Changed || flag.Annotations == nil { + return + } + if _, protected := flag.Annotations[protectedFlagAnnotation]; !protected { + return + } + if _, safelyApplied := applied.flags[flag]; safelyApplied { + return + } + rejected = flag.Name + }) + if rejected == "" { + return nil + } + return fmt.Errorf("--%s accepts protected input only; use --%s with a private file or stdin", rejected, protectedInputFlagName) +} + +func readProtectedInput(cmd *cobra.Command, path string) ([]byte, error) { + if path == "-" { + return readBoundedProtectedInput(cmd.InOrStdin()) + } + + info, err := os.Lstat(path) + if err != nil { + return nil, fmt.Errorf("open protected input: %w", err) + } + if info.Mode()&os.ModeSymlink != 0 || !info.Mode().IsRegular() { + return nil, fmt.Errorf("protected input must be a regular file") + } + if info.Size() > maxProtectedInputBytes { + return nil, fmt.Errorf("protected input exceeds %d bytes", maxProtectedInputBytes) + } + if runtime.GOOS != "windows" && info.Mode().Perm()&0o077 != 0 { + return nil, fmt.Errorf("protected input file permissions must not allow group or other access") + } + + file, err := os.Open(path) + if err != nil { + return nil, fmt.Errorf("open protected input: %w", err) + } + defer file.Close() + openedInfo, err := file.Stat() + if err != nil || !os.SameFile(info, openedInfo) || !openedInfo.Mode().IsRegular() { + return nil, fmt.Errorf("protected input changed while opening") + } + if openedInfo.Size() > maxProtectedInputBytes { + return nil, fmt.Errorf("protected input exceeds %d bytes", maxProtectedInputBytes) + } + if runtime.GOOS != "windows" && openedInfo.Mode().Perm()&0o077 != 0 { + return nil, fmt.Errorf("protected input file permissions must not allow group or other access") + } + return readBoundedProtectedInput(file) +} + +func readBoundedProtectedInput(reader io.Reader) ([]byte, error) { + raw, err := io.ReadAll(io.LimitReader(reader, maxProtectedInputBytes+1)) + if err != nil { + return nil, fmt.Errorf("read protected input: %w", err) + } + if len(raw) > maxProtectedInputBytes { + return nil, fmt.Errorf("protected input exceeds %d bytes", maxProtectedInputBytes) + } + return raw, nil +} + +func requireJSONEOF(decoder *json.Decoder) error { + var extra any + err := decoder.Decode(&extra) + if err == io.EOF { + return nil + } + if err != nil { + return err + } + return fmt.Errorf("multiple JSON values are not allowed") +} + +func commandPathSegments(cmd *cobra.Command) []string { + segments := make([]string, 0, 6) + for current := cmd; current != nil && current.Parent() != nil; current = current.Parent() { + segments = append(segments, current.Name()) + } + for left, right := 0, len(segments)-1; left < right; left, right = left+1, right-1 { + segments[left], segments[right] = segments[right], segments[left] + } + return segments +} + +func lookupCommandFlag(cmd *cobra.Command, name string) *pflag.Flag { + if flag := cmd.Flags().Lookup(name); flag != nil { + return flag + } + return cmd.InheritedFlags().Lookup(name) +} + +func setProtectedFlagValue(flag *pflag.Flag, raw json.RawMessage) error { + switch flag.Value.Type() { + case "string": + value, err := decodeProtectedString(raw) + if err != nil { + return err + } + if err := flag.Value.Set(value); err != nil { + return err + } + case "stringSlice", "stringArray": + values, err := decodeProtectedStringSlice(raw) + if err != nil { + return err + } + slice, ok := flag.Value.(pflag.SliceValue) + if !ok { + return fmt.Errorf("flag type %s does not support protected slices", flag.Value.Type()) + } + if err := slice.Replace(values); err != nil { + return err + } + default: + return fmt.Errorf("unsupported protected flag type %s", flag.Value.Type()) + } + flag.Changed = true + return nil +} + +func decodeProtectedString(raw json.RawMessage) (string, error) { + var value string + if err := json.Unmarshal(raw, &value); err != nil { + return "", fmt.Errorf("expected string") + } + return value, nil +} + +func decodeProtectedStringSlice(raw json.RawMessage) ([]string, error) { + var values []string + if err := json.Unmarshal(raw, &values); err != nil || values == nil { + return nil, fmt.Errorf("expected array of strings") + } + return values, nil +} + +func compactProtectedValues(values []string) []string { + seen := make(map[string]struct{}, len(values)) + out := make([]string, 0, len(values)) + for _, value := range values { + if value == "" { + continue + } + if _, exists := seen[value]; exists { + continue + } + seen[value] = struct{}{} + out = append(out, value) + } + sort.Slice(out, func(i, j int) bool { return len(out[i]) > len(out[j]) }) + return out +} + +func redactProtectedValues(text string, values []string) string { + for _, value := range values { + variants := []string{value, strconv.Quote(value)} + if encoded, err := json.Marshal(value); err == nil { + variants = append(variants, string(encoded)) + } + for _, variant := range compactProtectedValues(variants) { + text = strings.ReplaceAll(text, variant, "[protected]") + } + } + return text +} diff --git a/internal/cmd/protected_input_test.go b/internal/cmd/protected_input_test.go new file mode 100644 index 0000000..c83697d --- /dev/null +++ b/internal/cmd/protected_input_test.go @@ -0,0 +1,165 @@ +package cmd + +import ( + "bytes" + "encoding/json" + "os" + "path/filepath" + "runtime" + "strings" + "testing" + + "github.com/spf13/cobra" + "github.com/spf13/pflag" + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" +) + +func protectedReplyCommand(t *testing.T) *cobra.Command { + t.Helper() + root := &cobra.Command{Use: "hs"} + inbox := &cobra.Command{Use: "inbox"} + conversations := &cobra.Command{Use: "conversations"} + threads := newThreadsCmd() + root.AddCommand(inbox) + inbox.AddCommand(conversations) + conversations.AddCommand(threads) + + for _, command := range threads.Commands() { + if command.Name() == "reply" { + return command + } + } + t.Fatal("reply command not found") + return nil +} + +func TestApplyProtectedInput_AppliesPositionalsAndStringFlags(t *testing.T) { + command := protectedReplyCommand(t) + envelope := protectedInputEnvelope{ + Schema: protectedInputSchema, + Command: []string{"inbox", "conversations", "threads", "reply"}, + Positionals: []protectedPositionalInput{ + {Index: 0, Value: "42"}, + }, + Flags: map[string]json.RawMessage{ + "customer": json.RawMessage(`"alice@example.test"`), + "body": json.RawMessage(`"private fixture body"`), + "to": json.RawMessage(`["one@example.test","two@example.test"]`), + }, + } + raw, err := json.Marshal(envelope) + require.NoError(t, err) + command.SetIn(bytes.NewReader(raw)) + protectedInputPath = "-" + t.Cleanup(func() { protectedInputPath = "" }) + + args := []string{protectedArgumentPlaceholder(0)} + applied, err := applyProtectedInput(command, args) + require.NoError(t, err) + require.Len(t, applied.flags, 3) + assert.ElementsMatch(t, []string{"alice@example.test", "private fixture body", "one@example.test", "two@example.test"}, applied.values) + require.NoError(t, rejectUnprotectedFlagValues(command, applied)) + assert.Equal(t, []string{"42"}, args) + + customer, err := command.Flags().GetString("customer") + require.NoError(t, err) + body, err := command.Flags().GetString("body") + require.NoError(t, err) + to, err := command.Flags().GetStringSlice("to") + require.NoError(t, err) + assert.Equal(t, "alice@example.test", customer) + assert.Equal(t, "private fixture body", body) + assert.Equal(t, []string{"one@example.test", "two@example.test"}, to) +} + +func TestRejectUnprotectedFlagValues_DoesNotEchoSensitiveValue(t *testing.T) { + command := protectedReplyCommand(t) + sensitive := "diagnosis fixture that must not appear" + require.NoError(t, command.Flags().Set("body", sensitive)) + + err := rejectUnprotectedFlagValues(command, protectedInputApplication{flags: map[*pflag.Flag]struct{}{}}) + require.Error(t, err) + assert.Contains(t, err.Error(), "--body") + assert.NotContains(t, err.Error(), sensitive) +} + +func TestApplyProtectedInput_RejectsCommandMismatchAndOversize(t *testing.T) { + t.Run("command mismatch", func(t *testing.T) { + command := protectedReplyCommand(t) + raw := `{"schema":1,"command":["inbox","customers","get"]}` + command.SetIn(strings.NewReader(raw)) + protectedInputPath = "-" + t.Cleanup(func() { protectedInputPath = "" }) + + _, err := applyProtectedInput(command, []string{"42"}) + require.Error(t, err) + assert.Contains(t, err.Error(), "does not match") + }) + + t.Run("oversize", func(t *testing.T) { + command := protectedReplyCommand(t) + command.SetIn(strings.NewReader(strings.Repeat("x", maxProtectedInputBytes+1))) + protectedInputPath = "-" + t.Cleanup(func() { protectedInputPath = "" }) + + _, err := applyProtectedInput(command, []string{"42"}) + require.Error(t, err) + assert.Contains(t, err.Error(), "exceeds") + }) + + t.Run("non-string flag value", func(t *testing.T) { + command := protectedReplyCommand(t) + raw := `{"schema":1,"command":["inbox","conversations","threads","reply"],"flags":{"body":42}}` + command.SetIn(strings.NewReader(raw)) + protectedInputPath = "-" + t.Cleanup(func() { protectedInputPath = "" }) + + _, err := applyProtectedInput(command, []string{"42"}) + require.Error(t, err) + assert.Contains(t, err.Error(), "expected string") + }) +} + +func TestReadProtectedInput_ValidatesPrivateRegularFiles(t *testing.T) { + t.Run("private regular file", func(t *testing.T) { + path := filepath.Join(t.TempDir(), "request.json") + want := []byte(`{"schema":1}`) + require.NoError(t, os.WriteFile(path, want, 0o600)) + + got, err := readProtectedInput(&cobra.Command{}, path) + require.NoError(t, err) + assert.Equal(t, want, got) + }) + + t.Run("symbolic link", func(t *testing.T) { + dir := t.TempDir() + target := filepath.Join(dir, "target.json") + link := filepath.Join(dir, "link.json") + require.NoError(t, os.WriteFile(target, []byte(`{}`), 0o600)) + if err := os.Symlink(target, link); err != nil { + t.Skipf("symbolic links unavailable: %v", err) + } + + _, err := readProtectedInput(&cobra.Command{}, link) + require.Error(t, err) + assert.Contains(t, err.Error(), "regular file") + }) + + t.Run("public Unix permissions", func(t *testing.T) { + if runtime.GOOS == "windows" { + t.Skip("portable Windows mode bits do not describe the file ACL") + } + path := filepath.Join(t.TempDir(), "public.json") + require.NoError(t, os.WriteFile(path, []byte(`{}`), 0o644)) + + _, err := readProtectedInput(&cobra.Command{}, path) + require.Error(t, err) + assert.Contains(t, err.Error(), "permissions") + }) +} + +func TestDecodeProtectedStringSliceRejectsNull(t *testing.T) { + _, err := decodeProtectedStringSlice(json.RawMessage(`null`)) + require.Error(t, err) +} diff --git a/internal/cmd/root.go b/internal/cmd/root.go index 9a86af4..f4cd76a 100644 --- a/internal/cmd/root.go +++ b/internal/cmd/root.go @@ -33,7 +33,8 @@ var ( commitStr string dateStr string - updateResult chan string + updateResult chan string + invocationProtectedValues []string ) func SetVersion(version, commit, date string) { @@ -47,6 +48,15 @@ var rootCmd = &cobra.Command{ Short: "HelpScout CLI — manage mailboxes, conversations, customers and more", PersistentPreRunE: func(cmd *cobra.Command, args []string) error { resetPIIInvocation() + invocationProtectedValues = nil + appliedProtected, err := applyProtectedInput(cmd, args) + if err != nil { + return err + } + if err := rejectUnprotectedFlagValues(cmd, appliedProtected); err != nil { + return err + } + invocationProtectedValues = appliedProtected.values // Skip everything for config subcommands for c := cmd; c != nil; c = c.Parent() { @@ -55,7 +65,6 @@ var rootCmd = &cobra.Command{ } } - var err error cfg, err = config.Load(cfgPath) if err != nil { return fmt.Errorf("loading config: %w", err) @@ -218,6 +227,7 @@ func init() { rootCmd.PersistentFlags().IntVar(&page, "page", 1, "page number") rootCmd.PersistentFlags().IntVar(&perPage, "per-page", 25, "results per page") rootCmd.PersistentFlags().BoolVar(&debug, "debug", false, "show HTTP debug output") + rootCmd.PersistentFlags().StringVar(&protectedInputPath, protectedInputFlagName, "", "read protected string arguments from a private JSON file ('-' for stdin)") rootCmd.AddCommand(updateCmd) } @@ -232,13 +242,14 @@ func Execute() error { executedCmd = rootCmd } - fmt.Fprintf(executedCmd.ErrOrStderr(), "Error: %v\n", err) + safeErr := fmt.Errorf("%s", redactProtectedValues(err.Error(), invocationProtectedValues)) + fmt.Fprintf(executedCmd.ErrOrStderr(), "Error: %v\n", safeErr) if shouldShowUsageForError(err) { fmt.Fprintln(executedCmd.ErrOrStderr()) _ = executedCmd.Usage() } - return err + return safeErr } func getFormat() string { diff --git a/internal/pii/identity.go b/internal/pii/identity.go index de8b381..f477408 100644 --- a/internal/pii/identity.go +++ b/internal/pii/identity.go @@ -3,12 +3,16 @@ package pii import ( "crypto/hmac" "crypto/sha256" + "encoding/base32" "encoding/hex" "fmt" "regexp" "strings" "sync" "unicode" + + "golang.org/x/text/cases" + "golang.org/x/text/unicode/norm" ) type KnownIdentity struct { @@ -41,9 +45,9 @@ func WithNER(d NameDetector) EngineOption { } type Engine struct { - mode Mode - secret Secret - ner NameDetector + mode Mode + pseudonym PseudonymContext + ner NameDetector mu sync.RWMutex people map[string]fakePerson @@ -56,18 +60,26 @@ type fakePerson struct { Email string } -func NewEngine(mode Mode, secret Secret, opts ...EngineOption) (*Engine, error) { +func NewEngine(mode Mode, pseudonym PseudonymContext, opts ...EngineOption) (*Engine, error) { if !mode.Valid() { return nil, fmt.Errorf("invalid PII engine mode") } - if IsEnabled(mode) && secret.IsZero() { - return nil, fmt.Errorf("enabled PII engine requires a secret") + if IsEnabled(mode) && pseudonym.IsZero() { + return nil, fmt.Errorf("enabled PII engine requires a pseudonym context") + } + if IsEnabled(mode) { + if pseudonym.secret.IsZero() || pseudonym.schema != IdentitySchemaV2 { + return nil, fmt.Errorf("enabled PII engine requires a valid pseudonym context") + } + if err := validatePseudonymKeyID(pseudonym.keyID); err != nil { + return nil, err + } } e := &Engine{ - mode: mode, - secret: secret, - people: map[string]fakePerson{}, - replace: map[string]string{}, + mode: mode, + pseudonym: pseudonym, + people: map[string]fakePerson{}, + replace: map[string]string{}, } for _, o := range opts { o(e) @@ -75,6 +87,14 @@ func NewEngine(mode Mode, secret Secret, opts ...EngineOption) (*Engine, error) return e, nil } +func (e *Engine) PseudonymKeyID() string { + return e.pseudonym.KeyID() +} + +func (e *Engine) IdentitySchema() IdentitySchema { + return e.pseudonym.Schema() +} + func (e *Engine) Mode() Mode { return e.mode } @@ -165,7 +185,7 @@ func (e *Engine) token(kind, raw string) string { } func (e *Engine) hashBytes(v string) [32]byte { - h := hmac.New(sha256.New, e.secret.bytes()) + h := hmac.New(sha256.New, e.pseudonym.secret.bytes()) h.Write([]byte(v)) var out [32]byte copy(out[:], h.Sum(nil)) @@ -182,9 +202,11 @@ func (e *Engine) fakePersonForKey(key string) fakePerson { sum := e.hashBytes("person|" + key) first := firstNames[int(sum[0])%len(firstNames)] - last := lastNames[int(sum[1])%len(lastNames)] + baseLast := lastNames[int(sum[1])%len(lastNames)] suffix := hex.EncodeToString(sum[2:4]) - email := fmt.Sprintf("%s.%s-%s@anon.local", slugPart(first), slugPart(last), suffix) + email := fmt.Sprintf("%s.%s-%s@anon.local", slugPart(first), slugPart(baseLast), suffix) + disambiguator := base32.StdEncoding.WithPadding(base32.NoPadding).EncodeToString(sum[4:9]) + last := fmt.Sprintf("%s [%s-%s]", baseLast, e.pseudonym.keyID, disambiguator) fp := fakePerson{ First: first, @@ -210,11 +232,20 @@ func personKey(first, last, email string) string { } func canonical(v string) string { - return strings.ToLower(strings.TrimSpace(v)) + return canonicalName(v) } func canonicalEmail(v string) string { - return canonical(v) + return strings.ToLower(strings.TrimSpace(norm.NFC.String(v))) +} + +var unicodeCaseFolder = cases.Fold() + +func canonicalName(v string) string { + v = norm.NFC.String(v) + v = unicodeCaseFolder.String(v) + v = norm.NFC.String(v) + return strings.Join(strings.Fields(v), " ") } var nonDigitRe = regexp.MustCompile(`\D+`) diff --git a/internal/pii/identity_test.go b/internal/pii/identity_test.go index b06aa75..20a2290 100644 --- a/internal/pii/identity_test.go +++ b/internal/pii/identity_test.go @@ -35,7 +35,7 @@ func TestRedactPerson_DisplayIdentityCompatibility(t *testing.T) { // identity key and a stable secret produces the same pseudonym across runs. e := mustTestEngine(ModeAll, "stable-secret") first, last, email := e.RedactPerson("Alice", "Smith", "ALICE@example.com ") - if first != "Jordan" || last != "Mitchell" || email != "jordan.mitchell-19f9@anon.local" { + if first != "Jordan" || last != "Mitchell [test-v2-QBZHOQUA]" || email != "jordan.mitchell-19f9@anon.local" { t.Fatalf("display identity changed: got %q %q <%s>", first, last, email) } @@ -46,6 +46,30 @@ func TestRedactPerson_DisplayIdentityCompatibility(t *testing.T) { } } +func TestIdentityCanonicalizationV2FoldsUnicodeCaseAndWhitespace(t *testing.T) { + left := personKey(" STRAẞE\u00a0", " İpek\tYILMAZ ", "") + right := personKey("strasse", "i̇pek yilmaz", "") + if left != right { + t.Fatalf("v2 canonical names differ:\n left: %q\nright: %q", left, right) + } + + composedEmail := personKey("ignored", "name", "JOSÉ@EXAMPLE.TEST ") + decomposedEmail := personKey("different", "person", "jose\u0301@example.test") + if composedEmail != decomposedEmail { + t.Fatalf("canonical emails differ: %q != %q", composedEmail, decomposedEmail) + } +} + +func TestEngineExposesVersionedPseudonymMetadata(t *testing.T) { + engine := mustTestEngine(ModeAll, "metadata-secret") + if engine.PseudonymKeyID() != "test-v2" { + t.Fatalf("key ID = %q", engine.PseudonymKeyID()) + } + if engine.IdentitySchema() != IdentitySchemaV2 { + t.Fatalf("identity schema = %q", engine.IdentitySchema()) + } +} + func TestRedactText_WithoutNER_ReturnsNotice(t *testing.T) { e := mustTestEngine(ModeAll, "") out := e.RedactText("Hello from Alice Smith", nil) diff --git a/internal/pii/ner/runtime_smoke_test.go b/internal/pii/ner/runtime_smoke_test.go index cc5f3b6..cd19d6c 100644 --- a/internal/pii/ner/runtime_smoke_test.go +++ b/internal/pii/ner/runtime_smoke_test.go @@ -2,11 +2,29 @@ package ner import ( "context" + "encoding/json" "os" + "path/filepath" + "strings" "testing" "time" + + "github.com/operator-kit/hs-cli/internal/pii" ) +type runtimePrivacyCorpus struct { + Schema int `json:"schema"` + Cases []runtimePrivacyCorpusCase `json:"cases"` +} + +type runtimePrivacyCorpusCase struct { + ID string `json:"id"` + Text string `json:"text"` + RepeatPrefix string `json:"repeat_prefix"` + Repeat int `json:"repeat"` + DetectNames []string `json:"detect_names"` +} + func TestRuntimeBundleSmoke(t *testing.T) { dir := os.Getenv("HS_PII_MODEL_SMOKE_DIR") if dir == "" { @@ -21,4 +39,96 @@ func TestRuntimeBundleSmoke(t *testing.T) { if err := validateRuntimeBundle(ctx, pathsAt(dir, platform)); err != nil { t.Fatalf("runtime/model smoke validation: %v", err) } + + t.Run("multilingual privacy corpus", func(t *testing.T) { + evaluateRuntimePrivacyCorpus(t, pathsAt(dir, platform)) + }) +} + +func evaluateRuntimePrivacyCorpus(t *testing.T, paths *Paths) { + t.Helper() + raw, err := os.ReadFile(filepath.Join("..", "testdata", "multilingual_privacy_corpus.json")) + if err != nil { + t.Fatalf("read privacy corpus: %v", err) + } + var corpus runtimePrivacyCorpus + if err := json.Unmarshal(raw, &corpus); err != nil { + t.Fatalf("decode privacy corpus: %v", err) + } + if corpus.Schema != 1 || len(corpus.Cases) == 0 { + t.Fatalf("unsupported or empty privacy corpus") + } + + detector, err := newDetectorFromPaths(paths) + if err != nil { + t.Fatalf("load detector for privacy corpus: %v", err) + } + defer detector.Close() + + started := time.Now() + expectedNames := 0 + coveredNames := 0 + unexpectedNames := 0 + for _, fixture := range corpus.Cases { + text := strings.Repeat(fixture.RepeatPrefix, fixture.Repeat) + fixture.Text + spans, detectErr := detector.DetectNames(text) + if detectErr != nil { + t.Errorf("%s: detect names: %v", fixture.ID, detectErr) + continue + } + + expectedRanges := make([][2]int, 0, len(fixture.DetectNames)) + for _, expected := range fixture.DetectNames { + start := strings.Index(text, expected) + if start < 0 { + t.Errorf("%s: expected name %q is absent from fixture", fixture.ID, expected) + continue + } + rangeEnd := start + len(expected) + expectedRanges = append(expectedRanges, [2]int{start, rangeEnd}) + expectedNames++ + if spanCoversRange(spans, start, rangeEnd) { + coveredNames++ + } else { + t.Errorf("%s: detector did not cover complete expected name %q; spans=%v", fixture.ID, expected, spans) + } + } + + for _, span := range spans { + if !spanOverlapsAnyRange(span.Start, span.End, expectedRanges) { + unexpectedNames++ + t.Errorf("%s: unexpected person span %q at [%d:%d]", fixture.ID, span.Text, span.Start, span.End) + } + } + } + + elapsed := time.Since(started) + t.Logf("privacy corpus: covered=%d/%d unexpected=%d elapsed=%s", coveredNames, expectedNames, unexpectedNames, elapsed.Round(time.Millisecond)) + if expectedNames == 0 || coveredNames != expectedNames { + t.Errorf("privacy corpus full-name recall = %d/%d", coveredNames, expectedNames) + } + if unexpectedNames != 0 { + t.Errorf("privacy corpus unexpected person spans = %d", unexpectedNames) + } + if elapsed > 2*time.Minute { + t.Errorf("privacy corpus exceeded two-minute runtime budget: %s", elapsed) + } +} + +func spanCoversRange(spans []pii.NameSpan, start, end int) bool { + for _, span := range spans { + if span.Start <= start && span.End >= end { + return true + } + } + return false +} + +func spanOverlapsAnyRange(start, end int, ranges [][2]int) bool { + for _, expected := range ranges { + if start < expected[1] && end > expected[0] { + return true + } + } + return false } diff --git a/internal/pii/pii_medium_regression_test.go b/internal/pii/pii_medium_regression_test.go index 78a439c..0e261be 100644 --- a/internal/pii/pii_medium_regression_test.go +++ b/internal/pii/pii_medium_regression_test.go @@ -1,7 +1,9 @@ package pii import ( + "bytes" "encoding/json" + "io" "os" "path/filepath" "strings" @@ -23,6 +25,10 @@ func TestPIIRegression_Medium11_DisplayNamesDisambiguateDistinctPeople(t *testin require.NotEqual(t, emailA, emailB, "fixture must represent distinct pseudonymous identities") + require.Equal(t, firstA, firstB, + "fixture must retain the original first-name collision") + require.Equal(t, strings.SplitN(lastA, " [", 2)[0], strings.SplitN(lastB, " [", 2)[0], + "fixture must retain the original last-name collision") assert.NotEqual(t, firstA+" "+lastA, firstB+" "+lastB, "table-safe display names must include deterministic disambiguation") } @@ -45,8 +51,12 @@ type pseudonymKeyIdentifier interface { } func TestPIIRegression_Medium13_SecretRotationHasAnExplicitKeyIdentifier(t *testing.T) { - firstEngine := mustTestEngine(ModeAll, "medium-rotation-secret-a") - secondEngine := mustTestEngine(ModeAll, "medium-rotation-secret-b") + firstEngine, err := NewEngine(ModeAll, + mustTestPseudonym("medium-rotation-secret-a", "rotation-a")) + require.NoError(t, err) + secondEngine, err := NewEngine(ModeAll, + mustTestPseudonym("medium-rotation-secret-b", "rotation-b")) + require.NoError(t, err) _, _, firstEmail := firstEngine.RedactPerson("Alice", "Fixture", "alice@example.test") _, _, secondEmail := secondEngine.RedactPerson("Alice", "Fixture", "alice@example.test") @@ -66,6 +76,10 @@ func TestPIIRegression_Medium13_SecretRotationHasAnExplicitKeyIdentifier(t *test "different rotation keys must have distinguishable identifiers") assert.NotContains(t, firstKeyID, "medium-rotation-secret-a", "a key identifier must never disclose key material") + _, firstLast, _ := firstEngine.RedactPerson("Alice", "Fixture", "alice@example.test") + _, secondLast, _ := secondEngine.RedactPerson("Alice", "Fixture", "alice@example.test") + assert.Contains(t, firstLast, "[rotation-a-") + assert.Contains(t, secondLast, "[rotation-b-") } type multilingualPrivacyCorpus struct { @@ -74,12 +88,35 @@ type multilingualPrivacyCorpus struct { } type multilingualCorpusCase struct { - ID string `json:"id"` - Language string `json:"language"` - Script string `json:"script"` - Category string `json:"category"` - Expected string `json:"expected"` - Text string `json:"text"` + ID string `json:"id"` + Language string `json:"language"` + Script string `json:"script"` + Category string `json:"category"` + Expected string `json:"expected"` + Mode string `json:"mode,omitempty"` + Text string `json:"text"` + RepeatPrefix string `json:"repeat_prefix,omitempty"` + Repeat int `json:"repeat,omitempty"` + DetectNames []string `json:"detect_names,omitempty"` + Known []KnownIdentity `json:"known,omitempty"` + Absent []string `json:"absent,omitempty"` + Present []string `json:"present,omitempty"` +} + +type corpusNameDetector struct { + names []string +} + +func (d corpusNameDetector) DetectNames(text string) ([]NameSpan, error) { + spans := make([]NameSpan, 0, len(d.names)) + for _, name := range d.names { + start := strings.Index(text, name) + if start < 0 { + continue + } + spans = append(spans, NameSpan{Text: name, Start: start, End: start + len(name), Score: 1}) + } + return spans, nil } func TestPIIRegression_Medium14_MultilingualPrivacyCorpusIsMaintained(t *testing.T) { @@ -89,7 +126,11 @@ func TestPIIRegression_Medium14_MultilingualPrivacyCorpusIsMaintained(t *testing "a synthetic multilingual corpus is required to measure privacy recall and false positives") var corpus multilingualPrivacyCorpus - require.NoError(t, json.Unmarshal(raw, &corpus)) + decoder := json.NewDecoder(bytes.NewReader(raw)) + decoder.DisallowUnknownFields() + require.NoError(t, decoder.Decode(&corpus)) + var extra any + require.ErrorIs(t, decoder.Decode(&extra), io.EOF) assert.Equal(t, 1, corpus.Schema) assert.NotEmpty(t, corpus.Cases) @@ -108,6 +149,16 @@ func TestPIIRegression_Medium14_MultilingualPrivacyCorpusIsMaintained(t *testing assert.NotEmpty(t, fixture.ID) assert.NotEmpty(t, fixture.Language) assert.NotEmpty(t, fixture.Text) + require.Contains(t, requiredScripts, fixture.Script, "corpus case %q uses an unsupported script", fixture.ID) + require.Contains(t, requiredOutcomes, fixture.Expected, "corpus case %q uses an unsupported outcome", fixture.ID) + require.Contains(t, requiredCategories, fixture.Category, "corpus case %q uses an unsupported category", fixture.ID) + require.GreaterOrEqual(t, fixture.Repeat, 0, "corpus case %q has a negative repeat count", fixture.ID) + require.LessOrEqual(t, fixture.Repeat, 1000, "corpus case %q has an unreasonable repeat count", fixture.ID) + if fixture.Expected == "redact" { + require.NotEmpty(t, fixture.Absent, "redact corpus case %q has no absence assertion", fixture.ID) + } else { + require.NotEmpty(t, fixture.Present, "preserve corpus case %q has no preservation assertion", fixture.ID) + } if _, exists := seenIDs[fixture.ID]; fixture.ID != "" { assert.False(t, exists, "duplicate corpus case %q", fixture.ID) seenIDs[fixture.ID] = struct{}{} @@ -121,6 +172,23 @@ func TestPIIRegression_Medium14_MultilingualPrivacyCorpusIsMaintained(t *testing if _, ok := requiredCategories[fixture.Category]; ok { requiredCategories[fixture.Category] = true } + + rawMode := fixture.Mode + if rawMode == "" { + rawMode = ModeAll.String() + } + mode, modeErr := ParseMode(rawMode) + require.NoError(t, modeErr, "corpus case %q has invalid mode %q", fixture.ID, rawMode) + text := strings.Repeat(fixture.RepeatPrefix, fixture.Repeat) + fixture.Text + engine := mustTestEngine(mode, "multilingual-corpus-secret", + WithNER(corpusNameDetector{names: fixture.DetectNames})) + output := engine.RedactText(text, fixture.Known) + for _, rawPII := range fixture.Absent { + assert.NotContains(t, output, rawPII, "corpus case %q leaked expected redaction", fixture.ID) + } + for _, preserved := range fixture.Present { + assert.Contains(t, output, preserved, "corpus case %q over-redacted expected content", fixture.ID) + } } for script, covered := range requiredScripts { diff --git a/internal/pii/pseudonym.go b/internal/pii/pseudonym.go new file mode 100644 index 0000000..894cb41 --- /dev/null +++ b/internal/pii/pseudonym.go @@ -0,0 +1,62 @@ +package pii + +import ( + "fmt" + "strings" +) + +// IdentitySchema identifies the canonicalization contract used to derive +// deterministic identity keys. It is metadata only: already-canonical legacy +// inputs intentionally retain their existing HMAC input and pseudonym. +type IdentitySchema string + +const IdentitySchemaV2 IdentitySchema = "v2" + +// PseudonymContext owns the private key material and public rotation metadata +// used by an Engine. The secret remains opaque and the key ID is explicitly +// supplied rather than derived from secret material. +type PseudonymContext struct { + secret Secret + keyID string + schema IdentitySchema +} + +func NewPseudonymContext(secret Secret, keyID string) (PseudonymContext, error) { + if secret.IsZero() { + return PseudonymContext{}, fmt.Errorf("pseudonym context requires a secret") + } + keyID = strings.ToLower(strings.TrimSpace(keyID)) + if err := validatePseudonymKeyID(keyID); err != nil { + return PseudonymContext{}, err + } + return PseudonymContext{secret: secret, keyID: keyID, schema: IdentitySchemaV2}, nil +} + +func validatePseudonymKeyID(value string) error { + if len(value) < 1 || len(value) > 32 { + return fmt.Errorf("PII key ID must contain 1 to 32 characters") + } + for _, r := range value { + if (r >= 'a' && r <= 'z') || (r >= '0' && r <= '9') || r == '-' || r == '_' || r == '.' { + continue + } + return fmt.Errorf("PII key ID may contain only lowercase letters, numbers, '.', '_' and '-'") + } + return nil +} + +func (c PseudonymContext) IsZero() bool { + return c.secret.IsZero() && c.keyID == "" && c.schema == "" +} + +func (c PseudonymContext) Secret() Secret { + return c.secret +} + +func (c PseudonymContext) KeyID() string { + return c.keyID +} + +func (c PseudonymContext) Schema() IdentitySchema { + return c.schema +} diff --git a/internal/pii/pseudonym_test.go b/internal/pii/pseudonym_test.go new file mode 100644 index 0000000..67f8cdf --- /dev/null +++ b/internal/pii/pseudonym_test.go @@ -0,0 +1,27 @@ +package pii + +import "testing" + +func TestNewPseudonymContextValidatesPublicKeyID(t *testing.T) { + secret, err := NewSecretString("test-secret") + if err != nil { + t.Fatal(err) + } + + context, err := NewPseudonymContext(secret, " ROTATION-2 ") + if err != nil { + t.Fatalf("NewPseudonymContext returned error: %v", err) + } + if context.KeyID() != "rotation-2" { + t.Fatalf("key ID = %q, want rotation-2", context.KeyID()) + } + if context.Schema() != IdentitySchemaV2 { + t.Fatalf("identity schema = %q, want %q", context.Schema(), IdentitySchemaV2) + } + + for _, invalid := range []string{"", "contains spaces", "secret/value", "abcdefghijklmnopqrstuvwxyz1234567"} { + if _, err := NewPseudonymContext(secret, invalid); err == nil { + t.Fatalf("NewPseudonymContext accepted invalid key ID %q", invalid) + } + } +} diff --git a/internal/pii/secret_test.go b/internal/pii/secret_test.go index 298cf6d..fdb7268 100644 --- a/internal/pii/secret_test.go +++ b/internal/pii/secret_test.go @@ -10,13 +10,17 @@ func TestNewSecretStringPreservesExplicitBytes(t *testing.T) { if err != nil { t.Fatalf("NewSecretString returned error: %v", err) } - engine, err := NewEngine(ModeAll, secret) + pseudonym, err := NewPseudonymContext(secret, "test-v2") + if err != nil { + t.Fatalf("NewPseudonymContext returned error: %v", err) + } + engine, err := NewEngine(ModeAll, pseudonym) if err != nil { t.Fatalf("NewEngine returned error: %v", err) } first, last, email := engine.RedactPerson("Alice", "Smith", "ALICE@example.com ") - if first != "Noel" || last != "Barnes" || email != "noel.barnes-8362@anon.local" { + if first != "Noel" || last != "Barnes [test-v2-DHMUKKXS]" || email != "noel.barnes-8362@anon.local" { t.Fatalf("explicit secret bytes changed: got %q %q <%s>", first, last, email) } } @@ -30,14 +34,14 @@ func TestNewSecretStringRejectsBlankValues(t *testing.T) { } func TestNewEngineRequiresSecretOnlyWhenEnabled(t *testing.T) { - if _, err := NewEngine(ModeAll, Secret{}); err == nil { - t.Fatal("enabled engine accepted an empty secret") + if _, err := NewEngine(ModeAll, PseudonymContext{}); err == nil { + t.Fatal("enabled engine accepted an empty pseudonym context") } - if _, err := NewEngine(ModeCustomers, Secret{}); err == nil { - t.Fatal("customers engine accepted an empty secret") + if _, err := NewEngine(ModeCustomers, PseudonymContext{}); err == nil { + t.Fatal("customers engine accepted an empty pseudonym context") } - if _, err := NewEngine(ModeOff, Secret{}); err != nil { - t.Fatalf("disabled engine rejected an empty secret: %v", err) + if _, err := NewEngine(ModeOff, PseudonymContext{}); err != nil { + t.Fatalf("disabled engine rejected an empty pseudonym context: %v", err) } } @@ -46,7 +50,11 @@ func TestNewEngineRejectsInvalidMode(t *testing.T) { if err != nil { t.Fatal(err) } - _, err = NewEngine(Mode(255), secret) + pseudonym, err := NewPseudonymContext(secret, "test-v2") + if err != nil { + t.Fatal(err) + } + _, err = NewEngine(Mode(255), pseudonym) if err == nil || !strings.Contains(err.Error(), "mode") { t.Fatalf("invalid mode error = %v", err) } diff --git a/internal/pii/setup/secret.go b/internal/pii/setup/secret.go index 2e8d7ff..2ae27ff 100644 --- a/internal/pii/setup/secret.go +++ b/internal/pii/setup/secret.go @@ -1,8 +1,12 @@ package setup import ( + "bytes" "context" "crypto/rand" + "encoding/base32" + "encoding/base64" + "encoding/json" "errors" "fmt" "io" @@ -13,8 +17,12 @@ import ( ) const ( - EnvSecret = "HS_INBOX_PII_SECRET" - GeneratedSecretBytes = 32 + EnvSecret = "HS_INBOX_PII_SECRET" + EnvKeyID = "HS_INBOX_PII_KEY_ID" + GeneratedSecretBytes = 32 + GeneratedKeyIDBytes = 5 + StoredPseudonymSchema = 1 + generatedKeyIDPrefix = "k-" ) var ErrSecretNotFound = errors.New("PII secret not found") @@ -29,7 +37,7 @@ type InitializationLock interface { } // SecretResolver turns operator configuration or installation-local key -// material into the opaque secret required by an enabled PII engine. +// material into the versioned pseudonym context required by an enabled engine. type SecretResolver struct { Store SecretStore Lock InitializationLock @@ -37,96 +45,202 @@ type SecretResolver struct { LookupEnv func(string) (string, bool) } -func (r *SecretResolver) Resolve(ctx context.Context, mode pii.Mode) (pii.Secret, error) { +type storedPseudonymRecord struct { + Schema int `json:"schema"` + IdentitySchema pii.IdentitySchema `json:"identity_schema"` + KeyID string `json:"key_id"` + Secret string `json:"secret"` +} + +type decodedStoredPseudonym struct { + context pii.PseudonymContext + legacySecret []byte +} + +func (r *SecretResolver) ResolveContext(ctx context.Context, mode pii.Mode) (pii.PseudonymContext, error) { if !mode.Valid() { - return pii.Secret{}, fmt.Errorf("invalid PII mode") + return pii.PseudonymContext{}, fmt.Errorf("invalid PII mode") } if !pii.IsEnabled(mode) { - return pii.Secret{}, nil + return pii.PseudonymContext{}, nil } lookup := r.LookupEnv if lookup == nil { lookup = os.LookupEnv } - if raw, ok := lookup(EnvSecret); ok && strings.TrimSpace(raw) != "" { - secret, err := pii.NewSecretString(raw) + rawSecret, secretSet := lookup(EnvSecret) + rawKeyID, keyIDSet := lookup(EnvKeyID) + if secretSet || keyIDSet { + if !secretSet || !keyIDSet || strings.TrimSpace(rawSecret) == "" || strings.TrimSpace(rawKeyID) == "" { + return pii.PseudonymContext{}, unavailableSecretError() + } + secret, err := pii.NewSecretString(rawSecret) if err != nil { - return pii.Secret{}, unavailableSecretError() + return pii.PseudonymContext{}, unavailableSecretError() } - return secret, nil + pseudonym, err := pii.NewPseudonymContext(secret, rawKeyID) + if err != nil { + return pii.PseudonymContext{}, unavailableSecretError() + } + return pseudonym, nil } if r.Store == nil { - return pii.Secret{}, unavailableSecretError() + return pii.PseudonymContext{}, unavailableSecretError() } raw, err := r.Store.Load(ctx) switch { case err == nil: - return storedSecret(raw) + stored, decodeErr := decodeStoredPseudonym(raw) + if decodeErr != nil { + return pii.PseudonymContext{}, unavailableSecretError() + } + if stored.legacySecret == nil { + return stored.context, nil + } case !errors.Is(err, ErrSecretNotFound): - return pii.Secret{}, unavailableSecretError() + return pii.PseudonymContext{}, unavailableSecretError() } if r.Lock == nil { - return pii.Secret{}, unavailableSecretError() + return pii.PseudonymContext{}, unavailableSecretError() } - var resolved pii.Secret + var resolved pii.PseudonymContext err = r.Lock.WithLock(ctx, func() error { - // Another process may have initialized the key while this caller waited. + // Another process may have initialized or migrated the record while this + // caller waited. Always make the decision from a fresh load under lock. raw, loadErr := r.Store.Load(ctx) + var secretBytes []byte switch { case loadErr == nil: - var secretErr error - resolved, secretErr = storedSecret(raw) - return secretErr - case !errors.Is(loadErr, ErrSecretNotFound): + stored, decodeErr := decodeStoredPseudonym(raw) + if decodeErr != nil { + return unavailableSecretError() + } + if stored.legacySecret == nil { + resolved = stored.context + return nil + } + secretBytes = stored.legacySecret + case errors.Is(loadErr, ErrSecretNotFound): + secretBytes = make([]byte, GeneratedSecretBytes) + if _, randomErr := io.ReadFull(r.random(), secretBytes); randomErr != nil { + return unavailableSecretError() + } + default: return unavailableSecretError() } - random := r.Random - if random == nil { - random = rand.Reader + keyID, keyErr := generateKeyID(r.random()) + if keyErr != nil { + return unavailableSecretError() } - generated := make([]byte, GeneratedSecretBytes) - if _, randomErr := io.ReadFull(random, generated); randomErr != nil { + record, encodeErr := encodeStoredPseudonym(secretBytes, keyID) + if encodeErr != nil { return unavailableSecretError() } - if saveErr := r.Store.Save(ctx, generated); saveErr != nil { + if saveErr := r.Store.Save(ctx, record); saveErr != nil { return unavailableSecretError() } // Use the persisted value, not the local candidate. This verifies that - // the backing store accepted the write exactly. + // the backing store accepted the complete versioned record. persisted, loadErr := r.Store.Load(ctx) if loadErr != nil { return unavailableSecretError() } - var secretErr error - resolved, secretErr = storedSecret(persisted) - return secretErr + stored, decodeErr := decodeStoredPseudonym(persisted) + if decodeErr != nil || stored.legacySecret != nil { + return unavailableSecretError() + } + resolved = stored.context + return nil }) if err != nil { if ctxErr := ctx.Err(); ctxErr != nil { - return pii.Secret{}, ctxErr + return pii.PseudonymContext{}, ctxErr } - return pii.Secret{}, unavailableSecretError() + return pii.PseudonymContext{}, unavailableSecretError() } return resolved, nil } -func storedSecret(raw []byte) (pii.Secret, error) { - if len(raw) != GeneratedSecretBytes { - return pii.Secret{}, unavailableSecretError() +func (r *SecretResolver) random() io.Reader { + if r.Random != nil { + return r.Random + } + return rand.Reader +} + +func generateKeyID(random io.Reader) (string, error) { + raw := make([]byte, GeneratedKeyIDBytes) + if _, err := io.ReadFull(random, raw); err != nil { + return "", err + } + encoded := base32.StdEncoding.WithPadding(base32.NoPadding).EncodeToString(raw) + return generatedKeyIDPrefix + strings.ToLower(encoded), nil +} + +func encodeStoredPseudonym(secretBytes []byte, keyID string) ([]byte, error) { + if len(secretBytes) != GeneratedSecretBytes { + return nil, unavailableSecretError() + } + secret, err := pii.NewSecret(secretBytes) + if err != nil { + return nil, err + } + pseudonym, err := pii.NewPseudonymContext(secret, keyID) + if err != nil { + return nil, err + } + return json.Marshal(storedPseudonymRecord{ + Schema: StoredPseudonymSchema, + IdentitySchema: pseudonym.Schema(), + KeyID: pseudonym.KeyID(), + Secret: base64.RawStdEncoding.EncodeToString(secretBytes), + }) +} + +func decodeStoredPseudonym(raw []byte) (decodedStoredPseudonym, error) { + // Releases before the versioned record stored exactly 32 raw secret bytes. + // Preserve those bytes and assign independent rotation metadata under lock. + if len(raw) == GeneratedSecretBytes { + return decodedStoredPseudonym{legacySecret: append([]byte(nil), raw...)}, nil + } + + decoder := json.NewDecoder(bytes.NewReader(raw)) + decoder.DisallowUnknownFields() + var record storedPseudonymRecord + if err := decoder.Decode(&record); err != nil { + return decodedStoredPseudonym{}, err + } + var extra any + if err := decoder.Decode(&extra); err != io.EOF { + if err == nil { + return decodedStoredPseudonym{}, fmt.Errorf("multiple PII key records") + } + return decodedStoredPseudonym{}, err + } + if record.Schema != StoredPseudonymSchema || record.IdentitySchema != pii.IdentitySchemaV2 { + return decodedStoredPseudonym{}, fmt.Errorf("unsupported PII key record") + } + secretBytes, err := base64.RawStdEncoding.DecodeString(record.Secret) + if err != nil || len(secretBytes) != GeneratedSecretBytes { + return decodedStoredPseudonym{}, fmt.Errorf("invalid PII key record secret") + } + secret, err := pii.NewSecret(secretBytes) + if err != nil { + return decodedStoredPseudonym{}, err } - secret, err := pii.NewSecret(raw) + pseudonym, err := pii.NewPseudonymContext(secret, record.KeyID) if err != nil { - return pii.Secret{}, unavailableSecretError() + return decodedStoredPseudonym{}, err } - return secret, nil + return decodedStoredPseudonym{context: pseudonym}, nil } func unavailableSecretError() error { - return fmt.Errorf("PII redaction secret unavailable; set %s to a non-blank private value", EnvSecret) + return fmt.Errorf("PII redaction key unavailable; set %s and %s to non-blank private-secret and public-ID values", EnvSecret, EnvKeyID) } diff --git a/internal/pii/setup/secret_test.go b/internal/pii/setup/secret_test.go index 501d326..d927c21 100644 --- a/internal/pii/setup/secret_test.go +++ b/internal/pii/setup/secret_test.go @@ -60,78 +60,202 @@ func fixedSecretBytes(value byte) []byte { return bytes.Repeat([]byte{value}, GeneratedSecretBytes) } +func environment(secret, keyID string) func(string) (string, bool) { + return func(name string) (string, bool) { + switch name { + case EnvSecret: + return secret, secret != "" + case EnvKeyID: + return keyID, keyID != "" + default: + return "", false + } + } +} + func TestSecretResolverEnvironmentOverridesStoreAndPreservesBytes(t *testing.T) { store := &memorySecretStore{loadErr: errors.New("store must not be called")} resolver := &SecretResolver{ - Store: store, - LookupEnv: func(string) (string, bool) { - return " stable-secret ", true - }, + Store: store, + LookupEnv: environment(" stable-secret ", " Release-2026 "), } - got, err := resolver.Resolve(context.Background(), pii.ModeAll) + got, err := resolver.ResolveContext(context.Background(), pii.ModeAll) if err != nil { - t.Fatalf("Resolve returned error: %v", err) + t.Fatalf("ResolveContext returned error: %v", err) } want, err := pii.NewSecretString(" stable-secret ") if err != nil { t.Fatal(err) } - if got != want { + if got.Secret() != want { t.Fatal("resolver changed explicit environment-secret bytes") } + if got.KeyID() != "release-2026" || got.Schema() != pii.IdentitySchemaV2 { + t.Fatalf("resolved metadata = %q/%q", got.KeyID(), got.Schema()) + } if store.loadCalls != 0 || store.saveCalls != 0 { t.Fatalf("environment override touched store: loads=%d saves=%d", store.loadCalls, store.saveCalls) } } -func TestSecretResolverBlankEnvironmentUsesStoredSecret(t *testing.T) { - stored := fixedSecretBytes(0x21) - store := &memorySecretStore{value: stored} +func TestSecretResolverEnvironmentRequiresSecretAndPublicKeyIDTogether(t *testing.T) { + for _, fixture := range []struct { + name string + secret string + keyID string + }{ + {name: "missing key ID", secret: "private-secret"}, + {name: "missing secret", keyID: "release-2026"}, + {name: "invalid key ID", secret: "private-secret", keyID: "contains spaces"}, + } { + t.Run(fixture.name, func(t *testing.T) { + resolver := &SecretResolver{LookupEnv: environment(fixture.secret, fixture.keyID)} + _, err := resolver.ResolveContext(context.Background(), pii.ModeAll) + if err == nil || !strings.Contains(err.Error(), EnvSecret) || !strings.Contains(err.Error(), EnvKeyID) { + t.Fatalf("ResolveContext error = %v", err) + } + }) + } +} + +func TestSecretResolverRejectsExplicitBlankEnvironmentValues(t *testing.T) { + for _, fixture := range []struct { + name string + values map[string]string + }{ + {name: "blank secret", values: map[string]string{EnvSecret: "", EnvKeyID: "release-2026"}}, + {name: "blank key ID", values: map[string]string{EnvSecret: "private-secret", EnvKeyID: " "}}, + {name: "blank secret only", values: map[string]string{EnvSecret: ""}}, + } { + t.Run(fixture.name, func(t *testing.T) { + store := &memorySecretStore{loadErr: errors.New("store must not be called")} + resolver := &SecretResolver{ + Store: store, + LookupEnv: func(name string) (string, bool) { + value, ok := fixture.values[name] + return value, ok + }, + } + _, err := resolver.ResolveContext(context.Background(), pii.ModeAll) + if err == nil || !strings.Contains(err.Error(), EnvSecret) || !strings.Contains(err.Error(), EnvKeyID) { + t.Fatalf("ResolveContext error = %v", err) + } + if store.loadCalls != 0 { + t.Fatalf("invalid explicit environment fell back to store: loads=%d", store.loadCalls) + } + }) + } +} + +func TestSecretResolverUsesVersionedStoredContext(t *testing.T) { + storedSecret := fixedSecretBytes(0x21) + record, err := encodeStoredPseudonym(storedSecret, "stored-a") + if err != nil { + t.Fatal(err) + } + store := &memorySecretStore{value: record} resolver := &SecretResolver{ - Store: store, - LookupEnv: func(string) (string, bool) { - return " \t ", true - }, + Store: store, + LookupEnv: environment("", ""), + } + + got, err := resolver.ResolveContext(context.Background(), pii.ModeCustomers) + if err != nil { + t.Fatalf("ResolveContext returned error: %v", err) + } + want, err := pii.NewSecret(storedSecret) + if err != nil { + t.Fatal(err) + } + if got.Secret() != want || got.KeyID() != "stored-a" { + t.Fatalf("resolver returned wrong stored context: key ID %q", got.KeyID()) + } + if store.saveCalls != 0 { + t.Fatalf("versioned record was unexpectedly rewritten %d times", store.saveCalls) + } +} + +func TestSecretResolverMigratesLegacyRawSecretUnderLock(t *testing.T) { + legacySecret := fixedSecretBytes(0x31) + keyRandom := bytes.Repeat([]byte{0x52}, GeneratedKeyIDBytes) + wantKeyID, err := generateKeyID(bytes.NewReader(keyRandom)) + if err != nil { + t.Fatal(err) + } + store := &memorySecretStore{value: append([]byte(nil), legacySecret...)} + lock := &memoryInitializationLock{} + resolver := &SecretResolver{ + Store: store, + Lock: lock, + Random: bytes.NewReader(keyRandom), + LookupEnv: environment("", ""), } - got, err := resolver.Resolve(context.Background(), pii.ModeCustomers) + first, err := resolver.ResolveContext(context.Background(), pii.ModeAll) if err != nil { - t.Fatalf("Resolve returned error: %v", err) + t.Fatalf("first ResolveContext returned error: %v", err) } - want, err := pii.NewSecret(stored) + second, err := resolver.ResolveContext(context.Background(), pii.ModeAll) + if err != nil { + t.Fatalf("second ResolveContext returned error: %v", err) + } + wantSecret, err := pii.NewSecret(legacySecret) if err != nil { t.Fatal(err) } - if got != want { - t.Fatal("resolver did not use stored secret") + if first.Secret() != wantSecret || second.Secret() != wantSecret { + t.Fatal("legacy migration changed private key material") + } + if first.KeyID() != wantKeyID || second.KeyID() != wantKeyID { + t.Fatalf("migrated key IDs = %q/%q, want %q", first.KeyID(), second.KeyID(), wantKeyID) + } + if bytes.Equal(store.value, legacySecret) { + t.Fatal("legacy record was not migrated") + } + if store.saveCalls != 1 || lock.calls != 1 { + t.Fatalf("migration saves/locks = %d/%d, want 1/1", store.saveCalls, lock.calls) } } -func TestSecretResolverGeneratesStoresAndReusesSecret(t *testing.T) { +func TestSecretResolverGeneratesStoresAndReusesContext(t *testing.T) { store := &memorySecretStore{} lock := &memoryInitializationLock{} - random := fixedSecretBytes(0x42) + secretRandom := fixedSecretBytes(0x42) + keyRandom := bytes.Repeat([]byte{0x24}, GeneratedKeyIDBytes) + random := append(append([]byte(nil), secretRandom...), keyRandom...) resolver := &SecretResolver{ Store: store, Lock: lock, Random: bytes.NewReader(random), - LookupEnv: func(string) (string, bool) { return "", false }, + LookupEnv: environment("", ""), } - first, err := resolver.Resolve(context.Background(), pii.ModeAll) + first, err := resolver.ResolveContext(context.Background(), pii.ModeAll) if err != nil { - t.Fatalf("first Resolve returned error: %v", err) + t.Fatalf("first ResolveContext returned error: %v", err) } - second, err := resolver.Resolve(context.Background(), pii.ModeAll) + second, err := resolver.ResolveContext(context.Background(), pii.ModeAll) if err != nil { - t.Fatalf("second Resolve returned error: %v", err) + t.Fatalf("second ResolveContext returned error: %v", err) } if first != second { - t.Fatal("stored secret was not reused") + t.Fatal("stored pseudonym context was not reused") + } + wantSecret, err := pii.NewSecret(secretRandom) + if err != nil { + t.Fatal(err) + } + wantKeyID, err := generateKeyID(bytes.NewReader(keyRandom)) + if err != nil { + t.Fatal(err) } - if !bytes.Equal(store.value, random) { - t.Fatal("generated secret was not persisted exactly") + if first.Secret() != wantSecret || first.KeyID() != wantKeyID { + t.Fatalf("generated context key ID = %q, want %q", first.KeyID(), wantKeyID) + } + stored, err := decodeStoredPseudonym(store.value) + if err != nil || stored.legacySecret != nil || stored.context != first { + t.Fatalf("stored versioned record did not round-trip: %v", err) } if store.saveCalls != 1 { t.Fatalf("save calls = %d, want 1", store.saveCalls) @@ -147,12 +271,12 @@ func TestSecretResolverOffDoesNotTouchDependencies(t *testing.T) { }, } - got, err := resolver.Resolve(context.Background(), pii.ModeOff) + got, err := resolver.ResolveContext(context.Background(), pii.ModeOff) if err != nil { - t.Fatalf("Resolve returned error: %v", err) + t.Fatalf("ResolveContext returned error: %v", err) } if !got.IsZero() { - t.Fatal("off mode returned a secret") + t.Fatal("off mode returned a pseudonym context") } } @@ -160,14 +284,14 @@ func TestSecretResolverStoreFailureIsSafeAndActionable(t *testing.T) { store := &memorySecretStore{loadErr: errors.New("dbus path /private/user leaked")} resolver := &SecretResolver{ Store: store, - LookupEnv: func(string) (string, bool) { return "", false }, + LookupEnv: environment("", ""), } - _, err := resolver.Resolve(context.Background(), pii.ModeAll) + _, err := resolver.ResolveContext(context.Background(), pii.ModeAll) if err == nil { - t.Fatal("Resolve returned no error") + t.Fatal("ResolveContext returned no error") } - if !strings.Contains(err.Error(), EnvSecret) { + if !strings.Contains(err.Error(), EnvSecret) || !strings.Contains(err.Error(), EnvKeyID) { t.Fatalf("error does not explain environment recovery: %v", err) } if strings.Contains(err.Error(), "dbus") || strings.Contains(err.Error(), "/private/user") { @@ -175,15 +299,20 @@ func TestSecretResolverStoreFailureIsSafeAndActionable(t *testing.T) { } } -func TestSecretResolverRejectsInvalidStoredSecret(t *testing.T) { - store := &memorySecretStore{value: []byte("short")} - resolver := &SecretResolver{ - Store: store, - LookupEnv: func(string) (string, bool) { return "", false }, - } - - if _, err := resolver.Resolve(context.Background(), pii.ModeAll); err == nil { - t.Fatal("Resolve accepted an invalid stored secret") +func TestSecretResolverRejectsInvalidStoredRecord(t *testing.T) { + for _, raw := range [][]byte{ + []byte("short"), + []byte(`{"schema":1,"identity_schema":"v2","key_id":"bad id","secret":"AA"}`), + []byte(`{"schema":2,"identity_schema":"v2","key_id":"key-a","secret":"AA"}`), + } { + store := &memorySecretStore{value: raw} + resolver := &SecretResolver{Store: store, LookupEnv: environment("", "")} + if _, err := resolver.ResolveContext(context.Background(), pii.ModeAll); err == nil { + t.Fatalf("ResolveContext accepted invalid stored record %q", raw) + } + if store.saveCalls != 0 { + t.Fatal("invalid record was overwritten") + } } } @@ -194,19 +323,19 @@ func TestSecretResolverConcurrentInitializersConverge(t *testing.T) { resolver := &SecretResolver{ Store: store, Lock: lock, - Random: bytes.NewReader(bytes.Repeat([]byte{0x7c}, GeneratedSecretBytes*workers)), - LookupEnv: func(string) (string, bool) { return "", false }, + Random: bytes.NewReader(bytes.Repeat([]byte{0x7c}, (GeneratedSecretBytes+GeneratedKeyIDBytes)*workers)), + LookupEnv: environment("", ""), } - results := make(chan pii.Secret, workers) + results := make(chan pii.PseudonymContext, workers) errs := make(chan error, workers) var wg sync.WaitGroup for range workers { wg.Add(1) go func() { defer wg.Done() - secret, err := resolver.Resolve(context.Background(), pii.ModeAll) - results <- secret + pseudonym, err := resolver.ResolveContext(context.Background(), pii.ModeAll) + results <- pseudonym errs <- err }() } @@ -216,17 +345,17 @@ func TestSecretResolverConcurrentInitializersConverge(t *testing.T) { for err := range errs { if err != nil { - t.Fatalf("Resolve returned error: %v", err) + t.Fatalf("ResolveContext returned error: %v", err) } } - var first pii.Secret - for secret := range results { + var first pii.PseudonymContext + for pseudonym := range results { if first.IsZero() { - first = secret + first = pseudonym continue } - if secret != first { - t.Fatal("concurrent initializers returned different secrets") + if pseudonym != first { + t.Fatal("concurrent initializers returned different contexts") } } if store.saveCalls != 1 { diff --git a/internal/pii/test_helpers_test.go b/internal/pii/test_helpers_test.go index 9052d66..78725a1 100644 --- a/internal/pii/test_helpers_test.go +++ b/internal/pii/test_helpers_test.go @@ -3,20 +3,28 @@ package pii import "strings" func mustTestEngine(mode Mode, rawSecret string, opts ...EngineOption) *Engine { - var secret Secret + var pseudonym PseudonymContext if IsEnabled(mode) { if strings.TrimSpace(rawSecret) == "" { rawSecret = "unit-test-only-secret" } - var err error - secret, err = NewSecretString(rawSecret) - if err != nil { - panic(err) - } + pseudonym = mustTestPseudonym(rawSecret, "test-v2") } - engine, err := NewEngine(mode, secret, opts...) + engine, err := NewEngine(mode, pseudonym, opts...) if err != nil { panic(err) } return engine } + +func mustTestPseudonym(rawSecret, keyID string) PseudonymContext { + secret, err := NewSecretString(rawSecret) + if err != nil { + panic(err) + } + pseudonym, err := NewPseudonymContext(secret, keyID) + if err != nil { + panic(err) + } + return pseudonym +} diff --git a/internal/pii/testdata/multilingual_privacy_corpus.json b/internal/pii/testdata/multilingual_privacy_corpus.json new file mode 100644 index 0000000..2735a9d --- /dev/null +++ b/internal/pii/testdata/multilingual_privacy_corpus.json @@ -0,0 +1,118 @@ +{ + "schema": 1, + "cases": [ + { + "id": "latin-person-redact", + "language": "fr", + "script": "Latin", + "category": "person", + "expected": "redact", + "text": "Élodie Martin requested an account update.", + "detect_names": ["Élodie Martin"], + "absent": ["Élodie Martin"] + }, + { + "id": "arabic-person-redact", + "language": "ar", + "script": "Arabic", + "category": "person", + "expected": "redact", + "text": "تواصل مع أحمد علي اليوم", + "detect_names": ["أحمد علي"], + "absent": ["أحمد علي"] + }, + { + "id": "han-person-redact", + "language": "zh", + "script": "Han", + "category": "person", + "expected": "redact", + "text": "客户张伟需要帮助", + "detect_names": ["张伟"], + "absent": ["张伟"] + }, + { + "id": "latin-address-redact", + "language": "en", + "script": "Latin", + "category": "address", + "expected": "redact", + "text": "The customer is located at 123 Main Street.", + "absent": ["123 Main Street"] + }, + { + "id": "latin-email-redact", + "language": "en", + "script": "Latin", + "category": "identifier", + "expected": "redact", + "text": "Reply to corpus.person@example.test.", + "absent": ["corpus.person@example.test"] + }, + { + "id": "latin-customer-staff-separation", + "language": "en", + "script": "Latin", + "category": "customer_staff", + "expected": "redact", + "mode": "customers", + "text": "Brenda Torres helped Alice Smith resolve the request.", + "detect_names": ["Brenda Torres", "Alice Smith"], + "known": [ + { + "type": "user", + "first": "Brenda", + "last": "Torres", + "email": "brenda@company.example" + }, + { + "type": "customer", + "first": "Alice", + "last": "Smith", + "email": "alice@example.test" + } + ], + "absent": ["Alice Smith"], + "present": ["Brenda Torres"] + }, + { + "id": "latin-long-content-redact", + "language": "en", + "script": "Latin", + "category": "long_content", + "expected": "redact", + "repeat_prefix": "Operational context without personal data. ", + "repeat": 64, + "text": "Escalate to Morgan Reed for resolution.", + "detect_names": ["Morgan Reed"], + "absent": ["Morgan Reed"] + }, + { + "id": "latin-order-number-preserve", + "language": "en", + "script": "Latin", + "category": "identifier", + "expected": "preserve", + "text": "Order 12345 is ready for dispatch.", + "present": ["Order 12345"] + }, + { + "id": "arabic-operational-text-preserve", + "language": "ar", + "script": "Arabic", + "category": "person", + "expected": "preserve", + "text": "تم تحديث حالة الطلب بنجاح", + "present": ["تم تحديث حالة الطلب بنجاح"] + }, + { + "id": "han-operational-text-preserve", + "language": "zh", + "script": "Han", + "category": "person", + "expected": "preserve", + "text": "工单状态已更新", + "present": ["工单状态已更新"] + } + ] +} diff --git a/internal/pii/text.go b/internal/pii/text.go index 7ff849c..a7ea7e7 100644 --- a/internal/pii/text.go +++ b/internal/pii/text.go @@ -35,6 +35,7 @@ var ( addressLabelRe = regexp.MustCompile(`(?i)(:\s+|at\s+|@\s+)(\d+[-\s]?\w*|\d+-\d+-\d+)[\s,]+([A-Za-z\p{L}]+([\s'-][A-Za-z\p{L}]+)*[\s,]+)+(Road|Rd|Street|St|Avenue|Ave|Boulevard|Blvd|Drive|Dr|Lane|Ln|Place|Pl|Rue|Via|Viale|Strasse|Straße|Calle|Avenida)`) addressMainRe = regexp.MustCompile(`(?i)(\d+[-\s]?\w*|\d+-\d+-\d+)[\s,]+([A-Za-z\p{L}]+([\s'-][A-Za-z\p{L}]+)*[\s,]+)+(Street|St|Avenue|Ave|Road|Rd|Drive|Dr|Lane|Ln|Place|Pl|Boulevard|Blvd|Way|Plaza|Square|Sq|Court|Ct|Terrace|Ter|Circle|Cir|Alley|Row|Highway|Hwy|Parkway|Pkwy|Path|Trail|Tr|Crescent|Cres|Rue|Strasse|Straße|Calle|Via|Viale|Avenida|Carrer|Straat|Gasse|Weg|Camino|Ulica|Utca|Prospekt|Dori|Jalan|Marg|Dao|Jie|Lu|út|de la|del|di|van|von)\b`) zipRe = regexp.MustCompile(`\b\d{5}(?:[-\s]\d{4})?\b`) + zipContextRe = regexp.MustCompile(`(?i)\b(?:zip(?:\s+code)?|postal\s+code|postcode)\b`) poBoxRe = regexp.MustCompile(`(?i)P\.? ?O\.? Box \d+`) linkRe = regexp.MustCompile(`(?:(?:https?:\/\/)?(?:[a-z0-9.\-]+|www|[a-z0-9.\-])[.](?:[^\s()<>]+|\((?:[^\s()<>]+|(?:\([^\s()<>]+\)))*\))+(?:\((?:[^\s()<>]+|(?:\([^\s()<>]+\)))*\)|[^\s!()\[\]{};:'".,<>?]))`) ) @@ -54,8 +55,8 @@ var textRules = []textRule{ {kind: "address", re: addressContextRe}, {kind: "address", re: addressLabelRe}, {kind: "address", re: addressMainRe}, - {kind: "zip", re: zipRe}, {kind: "po_box", re: poBoxRe}, + {kind: "zip", re: zipRe}, {kind: "url", re: linkRe}, } @@ -135,6 +136,11 @@ func (e *Engine) RedactText(text string, known []KnownIdentity) string { return match } return e.token(rule.kind, rawDigits) + case "zip": + if !shouldRedactZIP(match, start, end, full) { + return match + } + return e.token(rule.kind, match) default: return e.token(rule.kind, match) } @@ -143,6 +149,26 @@ func (e *Engine) RedactText(text string, known []KnownIdentity) string { return out } +func shouldRedactZIP(match string, start, end int, text string) bool { + // ZIP+4 is specific enough to redact without additional prose context. + if strings.ContainsAny(match, "- ") && len(onlyDigits(match)) == 9 { + return true + } + + windowStart := max(0, start-80) + windowEnd := min(len(text), end+80) + for windowStart < start && !utf8.RuneStart(text[windowStart]) { + windowStart++ + } + for windowEnd < len(text) && !utf8.RuneStart(text[windowEnd]) { + windowEnd++ + } + context := text[windowStart:windowEnd] + return zipContextRe.MatchString(context) || + strings.Contains(context, "[[address_") || + strings.Contains(context, "[[po_box_") +} + type textEdit struct { start int end int diff --git a/internal/pii/text_test.go b/internal/pii/text_test.go index 4b33401..d2bbbe7 100644 --- a/internal/pii/text_test.go +++ b/internal/pii/text_test.go @@ -98,9 +98,23 @@ func TestRedactText_POBox(t *testing.T) { func TestRedactText_ZipCode(t *testing.T) { e := mustTestEngine(ModeAll, "", WithNER(noNER())) - out := e.RedactText("Zip code is 90210-1234", nil) - if strings.Contains(out, "90210-1234") { - t.Fatalf("zip code should be redacted: %q", out) + for _, text := range []string{ + "Zip code is 90210", + "Zip code is 90210-1234", + "Send to P.O. Box 1234, 90210", + } { + out := e.RedactText(text, nil) + if strings.Contains(out, "90210") { + t.Fatalf("zip code should be redacted: %q", out) + } + } +} + +func TestRedactText_FiveDigitOperationalNumberIsPreserved(t *testing.T) { + e := mustTestEngine(ModeAll, "", WithNER(noNER())) + text := "Order 12345 is ready for dispatch" + if out := e.RedactText(text, nil); out != text { + t.Fatalf("operational number should not be treated as a ZIP code: %q", out) } } diff --git a/npm/README.md b/npm/README.md index e6dd6c2..8d332f9 100644 --- a/npm/README.md +++ b/npm/README.md @@ -34,8 +34,8 @@ npx -y @operatorkit/hs inbox conversations list --status active # Get a conversation with threads npx -y @operatorkit/hs inbox conversations get 67890 --embed threads -# Search articles -npx -y @operatorkit/hs docs articles search --query "getting started" +# List articles +npx -y @operatorkit/hs docs articles list --collection # Team briefing — conversation counts per agent npx -y @operatorkit/hs inbox tools briefing @@ -148,6 +148,11 @@ npx -y @operatorkit/hs mcp -t stdio Only the credentials for the APIs you use are required — `HS_INBOX_APP_ID` + `HS_INBOX_APP_SECRET` for Inbox, `HS_DOCS_API_KEY` for Docs. Permission and PII variables are optional. +Sensitive CLI flags are marked `protected input only` and use a private JSON +stdin/file envelope instead of argv; MCP applies that transport automatically. +See the repository's +[protected command input guide](https://github.com/operator-kit/hs-cli#protected-command-input). + ## PII redaction An ML-powered PII redaction system designed for shared terminals, MCP/LLM workflows, and incident-safe exports. @@ -185,7 +190,8 @@ Without the model installed, freeform text fields are hidden with a notice. Stru | `HS_FORMAT` | Default output format | | `HS_INBOX_PII_MODE` | PII redaction mode: `off`, `customers`, `all` | | `HS_INBOX_PII_ALLOW_UNREDACTED` | Allow `--unredacted` bypass | -| `HS_INBOX_PII_SECRET` | Secret salt for deterministic pseudonyms | +| `HS_INBOX_PII_SECRET` | Optional explicit private HMAC key; requires `HS_INBOX_PII_KEY_ID` | +| `HS_INBOX_PII_KEY_ID` | Public rotation ID paired with an explicit PII secret | | `HS_INBOX_PERMISSIONS` | Inbox permission policy | | `HS_DOCS_PERMISSIONS` | Docs permission policy | | `HS_NO_UPDATE_CHECK` | Disable daily update check (`1`) | From 065d42af4d44b1a0d00a1b7ea417e5e5b4f698f8 Mon Sep 17 00:00:00 2001 From: Ross Morsali Date: Thu, 16 Jul 2026 14:32:14 +0200 Subject: [PATCH 15/34] docs: codify PII redaction hardening contract --- .agents/notes/pii-redaction-progress.md | 25 +- DEVELOPMENT.md | 6 + README.md | 4 + docs/pii-redaction-hardening-contract.md | 290 +++++++++++++++++++++++ 4 files changed, 317 insertions(+), 8 deletions(-) create mode 100644 docs/pii-redaction-hardening-contract.md diff --git a/.agents/notes/pii-redaction-progress.md b/.agents/notes/pii-redaction-progress.md index 371b1de..6bf3d95 100644 --- a/.agents/notes/pii-redaction-progress.md +++ b/.agents/notes/pii-redaction-progress.md @@ -19,7 +19,7 @@ Last updated: 2026-07-16 - `f304833 fix: gate PII models by runtime capability` - `f4416c3 fix: verify and atomically install PII models` - Medium regression commit: `6357435 test: reproduce medium PII redaction gaps` -- Medium fixes: current `fix: close remaining PII redaction gaps` change set +- Medium fixes: `8b237e4 fix: close remaining PII redaction gaps` - Last green baseline before the intentionally failing medium regressions: - `go test ./... -count=1 -timeout=5m` - `go vet ./...` @@ -65,6 +65,11 @@ The implementation design used for high issues 5–8 is recorded in because provenance verification and transactional installation must ship as one model-install boundary. +The normative, issue-by-issue invariants and regression evidence are recorded +in `docs/pii-redaction-hardening-contract.md`. Future changes should use that +contract as the merge checklist; this progress report remains the historical +implementation record. + ## What was already good The original review found real architectural strengths worth preserving: @@ -264,15 +269,19 @@ Evidence: ### 5. Private keyed display identities — complete -- Enabled engines now require an opaque non-empty `pii.Secret` and always use - HMAC; the unkeyed SHA-256 branch no longer exists. +- Enabled engines now require a `PseudonymContext` containing an opaque + non-empty `pii.Secret` and always use HMAC; the unkeyed SHA-256 branch no + longer exists. - An explicit `HS_INBOX_PII_SECRET` retains its exact bytes and preserves the - baseline deterministic display identities. -- When the environment variable is absent or blank, the application resolves - a generated 32-byte installation secret from the OS keyring. + baseline deterministic derivation. It must be paired with a non-blank + `HS_INBOX_PII_KEY_ID`. +- When both environment variables are absent, the application resolves a + generated 32-byte installation secret and independent public key ID from the + OS keyring. An explicitly blank or partial pair fails closed. - Cross-process initialization locking makes concurrent first use converge on - one secret. Keyring, RNG, and lock failures stop protected work before API - access and never persist secret material in YAML or diagnostics. + one versioned key context. Keyring, RNG, and lock failures stop protected + work before API access and never persist secret material in YAML or + diagnostics. Evidence includes resolver precedence, keyring round-trip, concurrent initialization, lock, command preflight, failure-path, and golden identity diff --git a/DEVELOPMENT.md b/DEVELOPMENT.md index 9fafc84..bb3d930 100644 --- a/DEVELOPMENT.md +++ b/DEVELOPMENT.md @@ -161,6 +161,12 @@ See the official Go documentation for the ### PII regression architecture +The normative invariants for all 14 completed review findings live in +[`docs/pii-redaction-hardening-contract.md`](docs/pii-redaction-hardening-contract.md). +Treat its extension checklist as required review criteria for any new +PII-bearing command, presenter, identity rule, runtime target, or installer +path. + Normal tests use the synthetic corpus at `internal/pii/testdata/multilingual_privacy_corpus.json`; it contains no production or Help Scout API data. The hermetic evaluator injects exact fixture diff --git a/README.md b/README.md index ae5164c..da22a8a 100644 --- a/README.md +++ b/README.md @@ -256,6 +256,10 @@ Tool names are namespaced (e.g. `helpscout_inbox_conversations_list`). Default o hs-cli includes an ML-powered PII redaction system designed for shared terminals, MCP/LLM workflows, and incident-safe exports. +Maintainers should treat the +[PII redaction hardening contract](docs/pii-redaction-hardening-contract.md) +as the normative checklist for all 14 completed security and privacy findings. + ### Why this matters Traditional redaction tools either hide entire blocks of content (destroying context) or rely on brittle regex patterns that miss real names. hs-cli takes a different approach: diff --git a/docs/pii-redaction-hardening-contract.md b/docs/pii-redaction-hardening-contract.md new file mode 100644 index 0000000..15dd400 --- /dev/null +++ b/docs/pii-redaction-hardening-contract.md @@ -0,0 +1,290 @@ +# PII Redaction Hardening Contract + +Last reviewed: 2026-07-16 + +This is the normative engineering contract produced by the 14-finding PII +redaction review. The progress report records history and implementation detail; +this document states the invariants future code must preserve. All 14 original +findings are complete. + +“Fail closed” means that when required classification, inspection, key +material, runtime capability, or artifact trust cannot be established, the CLI +must stop the protected operation or hide the affected content. It must never +fall back to emitting the original value. + +## Contract 1 — Classify entities before applying policy — complete + +Customer/staff policy must not be inferred only from object shape. A caller +that knows the resource or root entity must supply that context, and entity +classification must happen before identity extraction or redaction policy is +evaluated. Explicit payload type, semantic container key, and caller context +take precedence over shape-based defaults. + +This preserves customers-only behavior: customer roots are redacted, while +known staff roots remain visible. + +Regression proof: + +- `TestPIIRegression_Critical01_CustomersModeRedactsTopLevelCustomerJSON` +- `TestRedactJSONWithContext_TopLevelEntityPolicy` + +## Contract 2 — Use one mandatory Inbox presentation boundary — complete + +Every Inbox JSON response must pass through `printRawWithPII`; new handlers must +not call `output.PrintRaw` directly. When PII protection is enabled, invalid or +uninspectable JSON must produce an error and no original payload. Non-JSON +views must protect the same sensitive fields, and opaque attachment data must +remain opaque unless an explicitly authorized unredacted request is active. + +MCP is not a separate privacy path: its output must pass through the same CLI +presentation boundary. + +Regression proof: + +- `TestPIIRegression_Critical02_PIIBearingCommandsCannotBypassRedaction` +- `TestPIIOutputBoundary_FailsClosedForInvalidJSON` +- `TestPIIOutputBoundary_AllInboxJSONUsesPresenter` +- `TestRedactJSONWithContext_PathAwareSensitiveValues` + +## Contract 3 — Sanitize diagnostics independently of display mode — complete + +Persistent HTTP diagnostics must be sanitized before writing, independently of +the user-facing PII mode and `--unredacted`. URLs, user information, query +values, fragments, sensitive or unknown headers, request bodies, and response +bodies must be reduced to allowlisted metadata or strongest-mode redacted +content. Unreadable/non-JSON bodies and transport errors must use safe +placeholders rather than raw fallback. + +Sanitization must operate on copies so callers still receive the original HTTP +response. Debug files must remain private, and OAuth token exchanges must not +be logged. + +Regression proof: + +- `TestPIIRegression_Critical03_DebugTransportDoesNotPersistPII` +- the remaining tests in `internal/api/debug_test.go` + +## Contract 4 — Treat NER spans as Unicode byte ranges and fail closed — complete + +NER replacements must use validated byte spans from the original UTF-8 text, +not ASCII word-boundary regexes. Overlapping edits must not leave an uncovered +suffix, and edits must be applied without invalidating earlier offsets. Known +identity matching must use Unicode-aware boundaries, including scripts that do +not normally use spaces. + +Invalid spans, detector errors, and per-chunk inference failures must hide the +whole free-text field. They must not return partially inspected content. + +Regression proof: + +- `TestPIIRegression_Critical04_NERNamesWithUnicodeBoundariesAreRedacted` +- `TestRedactText_NERFailureFailsClosed` + +## Contract 5 — Require private keyed pseudonyms — complete + +An enabled engine must have non-empty private HMAC key material. Unkeyed hashes +are forbidden. With neither explicit key environment variable present, the CLI +must resolve the existing installation key or generate one cryptographically on +first use, persisting it only in the OS keyring under cross-process +initialization locking. + +If either explicit key variable is present, both must be present and non-blank; +invalid, partial, blank, keyring, RNG, or lock states must stop protected work +before Help Scout API access. PII key material must not be persisted in YAML or +diagnostics. + +Regression proof: + +- `TestPIIRegression_High05_SecretFailureStopsBeforeInboxAPI` +- `TestNewEngineRequiresSecretOnlyWhenEnabled` +- the resolver failure, generation, reuse, and concurrency tests in + `internal/pii/setup/secret_test.go` + +## Contract 6 — Parse PII modes strictly before work starts — complete + +Only `off`, `customers`, and `all` are valid modes. Unknown file or environment +values must return an actionable error; they must never normalize to `off`. +Inbox commands and MCP startup must validate the effective mode before API or +protected-key work. File-only configuration loading must retain a safe repair +path without writing environment overrides back to YAML. + +Regression proof: + +- `TestPIIRegression_High06_InvalidModeStopsBeforeInboxAPI` +- `TestPIIRegression_High06_InvalidModeStopsMCPStartup` +- `TestParseModeRejectsUnknownValues` +- the invalid-mode repair tests in `internal/cmd/config_test.go` + +## Contract 7 — Advertise only executable model runtimes — complete + +Runtime support is an explicit capability, currently Linux and Darwin on amd64 +and arm64. An unsupported platform must be rejected before download or cache +mutation, installed-looking files must not manufacture a ready state, and +free-form content must remain fail-closed. + +A new platform is not supported until its real runtime library and model pass +the release smoke test on that native target. Cross-compilation alone is not +evidence of inference support. + +Regression proof: + +- `TestRuntimeCapabilityMatrix` +- `TestModelStatusUnsupportedEvenWithInstalledFiles` +- `TestEnsureModelUnsupportedPlatformDoesNotDownloadOrMutateCache` +- `TestPIIRegression_High07_UnusableRuntimeKeepsFreeTextFailClosed` +- `TestPIIModelReleaseWorkflowParsesAndSmokesEverySupportedPlatform` + +## Contract 8 — Anchor model trust in reviewed embedded identities — complete + +Downloaded checksums and sidecars are operator artifacts, not trust anchors. +The CLI must verify the archive and every installed file against the reviewed, +schema-versioned manifest embedded in the binary. The manifest must cover +exactly the supported targets and pin immutable source identity, URL/name, +sizes, hashes, runtime filename, and defensive bounds. + +Unknown schemas/fields, duplicate coverage, unsafe names, invalid identities, +or inconsistency with the release source lock must fail before download or +installation. + +Regression proof: + +- `TestTrustedManifestPinsPublishedReleaseDigests` +- `TestTrustedManifestRejectsUnknownFieldsAndTrailingJSON` +- `TestTrustedManifestRejectsDuplicateOrUnsupportedCoverage` +- `TestReleaseSourceLockMatchesTrustedManifest` + +## Contract 9 — Install models transactionally within hard bounds — complete + +Model download and extraction must be context-aware and enforce exact +compressed/expanded sizes, hashes, timeouts, redirect policy, entry allowlists, +and safe regular-file paths. Traversal, absolute or Windows paths, duplicates, +links, devices, FIFOs, truncated streams, and unexpected entries are forbidden. + +Validation occurs in a private staging directory. A ready marker is written +only after real runtime/model smoke validation, and promotion is atomic into an +immutable content-addressed directory. Failure must preserve any prior trusted +installation; cleanup must remain bounded to installer-owned staging entries. + +Regression proof: + +- `TestInstallerTrustedBundlePromotesAtomically` +- `TestInstallerRejectsUnsafeOrIncompleteArchive` +- `TestInstallerRejectsOversizedAndTruncatedResponses` +- `TestInstallerFailureLeavesPriorTrustedInstallUntouched` +- the remaining installer tests in `internal/pii/ner/installer_test.go` + +## Contract 10 — Keep protected command values off supported argv paths — complete + +Flags capable of carrying PII, credentials, authored text, or private local +paths must be annotated with `markProtectedFlags` and rejected when supplied +directly. Their supported transport is the bounded schema-1 envelope over stdin +or a private regular file. The envelope must match the exact command, reject +unknown fields/types, enforce its size bound, reject links/non-regular files, +and enforce private Unix permissions. + +MCP must put string values and positionals in the envelope, use placeholders in +child argv and safe displays, and scrub protected values from errors, stdout, +and stderr. Documentation must never suggest embedding an envelope containing +PII in a shell command: rejection cannot erase a value the shell has already +recorded. + +Regression proof: + +- `TestPIIRegression_Medium10_SensitiveMCPInputsStayOffProcessBoundaries` +- the parser/file tests in `internal/cmd/protected_input_test.go` +- `TestBuildMCPToolSpec_ClassifiesProtectedFlags` +- `TestRedactProtectedValues_CoversQuotedAndJSONEscapedErrors` + +## Contract 11 — Make full display names deterministic and distinguishable — complete + +For already-canonical inputs, the deterministic first name, base last name, and +legacy generated email remain stable. The displayed last name must also include +the public key ID and a 40-bit HMAC-derived disambiguator, so distinct people +that collide in the small name lists do not render as the same full display +name. Source identifiers must not be exposed. + +This contract does not claim that the compatibility-preserved generated email +namespace is collision-free; that residual risk is tracked as `PII-F13`. + +Regression proof: + +- `TestPIIRegression_Medium11_DisplayNamesDisambiguateDistinctPeople` +- `TestRedactPerson_DisplayIdentityCompatibility` + +## Contract 12 — Version identity canonicalization — complete + +Identity schema `v2` is part of the pseudonym contract. Names are canonicalized +with NFC, Unicode case folding, NFC recomposition, and Unicode whitespace +collapse. Emails retain established trim/lowercase semantics and add NFC. +Visually identical NFC/NFD forms must resolve to the same identity key. + +Canonicalization semantics must not change silently. A future change requires +a new identity schema, compatibility fixtures, and an explicit migration +decision. + +Regression proof: + +- `TestPIIRegression_Medium12_IdentityKeysNormalizeUnicodeComposition` +- `TestIdentityCanonicalizationV2FoldsUnicodeCaseAndWhitespace` + +## Contract 13 — Make rotation context explicit and independently identified — complete + +Every enabled engine receives one `PseudonymContext` containing private key +material, a public key ID, and the identity schema. There is no secret-only +engine construction path. The public ID is supplied/generated independently; +it must never be derived from the private key. + +Explicit deployments set and rotate `HS_INBOX_PII_SECRET` and +`HS_INBOX_PII_KEY_ID` together. Stored records are schema-versioned. Legacy raw +32-byte records are migrated under the initialization lock, preserving their +exact secret bytes and assigning an independent random public ID. A persisted +record must be reloaded and validated before use. + +Regression proof: + +- `TestPIIRegression_Medium13_SecretRotationHasAnExplicitKeyIdentifier` +- `TestSecretResolverEnvironmentRequiresSecretAndPublicKeyIDTogether` +- `TestSecretResolverRejectsExplicitBlankEnvironmentValues` +- `TestSecretResolverMigratesLegacyRawSecretUnderLock` +- `TestSecretResolverConcurrentInitializersConverge` + +## Contract 14 — Measure multilingual privacy and preservation — complete + +The checked-in evaluation corpus must be synthetic and contain no Help Scout or +production data. Hermetic tests must cover Latin, Arabic, and Han scripts; +redact and preserve expectations; people, addresses, identifiers, +customer/staff separation; false-positive protection; and long content. + +The native model-release smoke must run the same cases on every advertised +target, require complete coverage of expected names, reject unexpected person +spans, exercise long-content chunking, and enforce a runtime budget. A normal +unit test may skip real inference only because model artifacts are deliberately +not checked into the repository. + +Regression proof: + +- `TestPIIRegression_Medium14_MultilingualPrivacyCorpusIsMaintained` +- `TestRuntimeBundleSmoke` +- `.github/workflows/pii-model.yml` native smoke matrix + +## Rules for extending the PII surface + +Before merging a new PII-bearing path: + +1. Supply explicit `JSONContext` whenever the caller knows resource/entity + semantics. +2. Route Inbox presentation through the mandatory redaction boundary. +3. Mark sensitive flags as protected and keep examples free of inline PII. +4. Add synthetic regression fixtures for both redaction and preservation. +5. Treat detector, parser, key, runtime, and trust failures as fail-closed. +6. Version any identity-key, canonicalization, or display-format change and pin + compatibility expectations. +7. Require real native inference before advertising a new model platform. +8. Preserve transactional installation and the independently reviewed trust + manifest. + +Open design work is tracked separately in +[`pii-redaction-follow-ups.md`](../.agents/notes/pii-redaction-follow-ups.md). +Those observations do not reduce the completed status of the 14 original +findings, but they are boundaries this contract intentionally does not claim to +solve. From afb56227697f79283b29d981d0acebbdf2361cfb Mon Sep 17 00:00:00 2001 From: Ross Morsali Date: Thu, 16 Jul 2026 15:31:47 +0200 Subject: [PATCH 16/34] fix: enforce ModeOff in identity redactors --- .agents/notes/pii-redaction-follow-ups.md | 20 +++++++++----------- .agents/notes/pii-redaction-progress.md | 21 +++++++++------------ docs/pii-redaction-hardening-contract.md | 15 +++++++++++++++ internal/pii/identity.go | 9 +++++++++ internal/pii/identity_test.go | 18 ++++++++++++++++++ 5 files changed, 60 insertions(+), 23 deletions(-) diff --git a/.agents/notes/pii-redaction-follow-ups.md b/.agents/notes/pii-redaction-follow-ups.md index 354965e..9213a71 100644 --- a/.agents/notes/pii-redaction-follow-ups.md +++ b/.agents/notes/pii-redaction-follow-ups.md @@ -28,7 +28,7 @@ available for later planning. | PII-F09 | Medium | Complete | Identity canonicalization does not normalize Unicode composition. | Resolved by versioned Unicode canonicalization schema v2. | | PII-F10 | Medium | Complete | Secret rotation changes every displayed identity with no migration/version marker. | Resolved with explicit key IDs and locked legacy-record migration. | | PII-F11 | Medium | Complete | There is no measurable multilingual detection-quality corpus. | Resolved with hermetic and real-model corpus evaluators. | -| PII-F12 | Medium | Open | Disabled low-level identity methods still pseudonymize when called directly. | Enforce mode at each public identity-redaction boundary. | +| PII-F12 | Medium | Complete | Disabled low-level identity methods still pseudonymized when called directly. | Resolved with direct ModeOff guards and pass-through regressions. | | PII-F13 | Medium | Open | The compatibility-preserved generated-email namespace can collide at scale. | Version any email-format expansion and define migration expectations. | ## PII-F01 — Identity keys vary across payload shapes @@ -152,18 +152,16 @@ The checked-in corpus is entirely synthetic. Hermetic tests cover policy and redaction mechanics; the real model release smoke measures full expected-name coverage, unexpected person spans, chunked long content, and runtime budget. -## PII-F12 — Disabled low-level identity methods bypass the mode invariant +## PII-F12 — Disabled low-level identity methods bypass the mode invariant — complete `RedactJSONWithContext` and `RedactText` return input unchanged when the engine -is disabled, but `RedactPerson`, `RedactEmail`, and `RedactPhone` do not check -the mode themselves. Supported command paths currently enter through guarded -presentation methods, so this is not a known CLI leak. It is nevertheless a -fragile public API contract: a future direct caller can pseudonymize with the -zero context accepted by `NewEngine(ModeOff, ...)`. - -Add direct `ModeOff` pass-through tests for all three methods, then put the -guard at those lowest public boundaries. Keep the higher-level guards as cheap -early exits. +is disabled. `RedactPerson`, `RedactEmail`, and `RedactPhone` now enforce that +same invariant independently at their public boundaries. Disabled calls return +the exact name, email, and phone inputs, perform no hashing, and do not mutate +the engine's pseudonym caches. Higher-level guards remain as cheap early exits. + +`TestPIIRegression_FollowUp12_ModeOffLowLevelIdentityMethodsPassThrough` +provides direct regression coverage for all three methods and cache state. ## PII-F13 — Legacy generated-email namespace can collide at scale diff --git a/.agents/notes/pii-redaction-progress.md b/.agents/notes/pii-redaction-progress.md index 6bf3d95..833e3eb 100644 --- a/.agents/notes/pii-redaction-progress.md +++ b/.agents/notes/pii-redaction-progress.md @@ -10,7 +10,7 @@ Last updated: 2026-07-16 - Remaining medium findings: **5 of 5 complete** - Original findings complete: **14 of 14** - Remaining original findings: **0 open** -- Additional observations raised during remediation: **4 open; 2 complete** +- Additional observations raised during remediation: **3 open; 3 complete** - Regression-test commit: `7eb27a9 test: reproduce critical PII redaction leaks` - Critical-fix commit: `5a7ea63 fix: enforce PII redaction boundaries` - High-fix commits: @@ -438,15 +438,14 @@ only after another singleton-command test set the flag. Required `firstName` is now validated from the assembled protected body for both scalar and JSON input. -### A5 / PII-F12. Disabled low-level identity methods can still pseudonymize — open +### A5 / PII-F12. Disabled low-level identity methods could pseudonymize — complete -The public `RedactPerson`, `RedactEmail`, and `RedactPhone` methods do not -individually short-circuit when the engine mode is `off`. Current JSON and text -entry points guard on `Enabled`, so supported command paths remain pass-through, -but a future caller using an identity method directly could receive a -pseudonym derived from an empty context. The engine API should enforce the -mode invariant at its lowest public boundary and pin direct disabled-mode -tests. +`RedactPerson`, `RedactEmail`, and `RedactPhone` now each enforce `ModeOff` +directly and return their exact inputs without hashing or mutating pseudonym +caches. Higher-level JSON/text guards remain as cheap early exits, but callers +can no longer bypass the mode invariant by using a public identity method +directly. `TestPIIRegression_FollowUp12_ModeOffLowLevelIdentityMethodsPassThrough` +pins all three methods and the no-cache-mutation contract. ### A6 / PII-F13. Legacy generated-email namespace can collide at scale — open @@ -467,7 +466,5 @@ the completed `v2` name fix. the migration/compatibility contract before changing the legacy format. 3. Give the NER detector explicit invocation-scoped ownership before moving the CLI/MCP flow into a long-lived in-process service. -4. Make every public identity-redaction method honor `ModeOff` directly before - those methods are reused outside the guarded JSON/text presentation paths. -5. Treat native Windows inference as a separate capability: add it only after +4. Treat native Windows inference as a separate capability: add it only after a real Windows loader/model smoke job passes. diff --git a/docs/pii-redaction-hardening-contract.md b/docs/pii-redaction-hardening-contract.md index 15dd400..1a35b93 100644 --- a/docs/pii-redaction-hardening-contract.md +++ b/docs/pii-redaction-hardening-contract.md @@ -267,6 +267,21 @@ Regression proof: - `TestRuntimeBundleSmoke` - `.github/workflows/pii-model.yml` native smoke matrix +## Additional contract PII-F12 — Enforce ModeOff at low-level identity boundaries — complete + +Every public identity-redaction method must enforce the engine mode itself. +When the engine is `ModeOff`, `RedactPerson`, `RedactEmail`, and `RedactPhone` +must return their exact inputs without hashing, deriving a pseudonym from the +zero context, or mutating pseudonym caches. Callers must not need to remember an +outer JSON/text guard for the mode contract to hold. + +Higher-level guards remain required as cheap early exits; they are not a +substitute for encapsulation at the public low-level boundary. + +Regression proof: + +- `TestPIIRegression_FollowUp12_ModeOffLowLevelIdentityMethodsPassThrough` + ## Rules for extending the PII surface Before merging a new PII-bearing path: diff --git a/internal/pii/identity.go b/internal/pii/identity.go index f477408..b54eb99 100644 --- a/internal/pii/identity.go +++ b/internal/pii/identity.go @@ -108,6 +108,9 @@ func (e *Engine) ShouldRedactType(entityType string) bool { } func (e *Engine) RedactPerson(first, last, email string) (string, string, string) { + if !e.Enabled() { + return first, last, email + } key := personKey(first, last, email) if key == "" { return first, last, email @@ -129,6 +132,9 @@ func (e *Engine) RedactPerson(first, last, email string) (string, string, string } func (e *Engine) RedactEmail(email string) string { + if !e.Enabled() { + return email + } if strings.TrimSpace(email) == "" { return email } @@ -137,6 +143,9 @@ func (e *Engine) RedactEmail(email string) string { } func (e *Engine) RedactPhone(phone string) string { + if !e.Enabled() { + return phone + } digits := onlyDigits(phone) if digits == "" { return phone diff --git a/internal/pii/identity_test.go b/internal/pii/identity_test.go index 20a2290..68178f9 100644 --- a/internal/pii/identity_test.go +++ b/internal/pii/identity_test.go @@ -93,6 +93,24 @@ func TestRedactText_Disabled_Passthrough(t *testing.T) { } } +func TestPIIRegression_FollowUp12_ModeOffLowLevelIdentityMethodsPassThrough(t *testing.T) { + e := mustTestEngine(ModeOff, "") + + first, last, email := e.RedactPerson("Alice", "Smith", "ALICE@example.com ") + if first != "Alice" || last != "Smith" || email != "ALICE@example.com " { + t.Fatalf("disabled person redaction changed input: %q %q <%s>", first, last, email) + } + if got := e.RedactEmail("ALICE@example.com "); got != "ALICE@example.com " { + t.Fatalf("disabled email redaction changed input: %q", got) + } + if got := e.RedactPhone("+1 (555) 123-4567"); got != "+1 (555) 123-4567" { + t.Fatalf("disabled phone redaction changed input: %q", got) + } + if len(e.people) != 0 || len(e.replace) != 0 { + t.Fatalf("disabled identity methods mutated pseudonym caches: people=%d replacements=%d", len(e.people), len(e.replace)) + } +} + func TestRedactTextUsesKnownIdentity(t *testing.T) { e := mustTestEngine(ModeCustomers, "", WithNER(noNER())) text := "Alice Smith wrote from alice@example.com" From e207bcd2ce12c32aafd63caa6a63954eb82aa3a4 Mon Sep 17 00:00:00 2001 From: Ross Morsali Date: Thu, 16 Jul 2026 23:28:36 +0200 Subject: [PATCH 17/34] docs: evaluate OpenAI Privacy Filter adoption --- DEVELOPMENT.md | 6 + README.md | 3 + docs/openai-privacy-filter-evaluation.md | 924 +++++++++++++++++++++++ 3 files changed, 933 insertions(+) create mode 100644 docs/openai-privacy-filter-evaluation.md diff --git a/DEVELOPMENT.md b/DEVELOPMENT.md index bb3d930..0baf310 100644 --- a/DEVELOPMENT.md +++ b/DEVELOPMENT.md @@ -167,6 +167,12 @@ Treat its extension checklist as required review criteria for any new PII-bearing command, presenter, identity rule, runtime target, or installer path. +The current investigation of OpenAI's local Privacy Filter model is recorded in +[docs/openai-privacy-filter-evaluation.md](docs/openai-privacy-filter-evaluation.md). +It is an evaluation and migration proposal, not an implementation decision; its +quality, performance, parity, and supply-chain gates must pass before changing +the production detector. + Normal tests use the synthetic corpus at `internal/pii/testdata/multilingual_privacy_corpus.json`; it contains no production or Help Scout API data. The hermetic evaluator injects exact fixture diff --git a/README.md b/README.md index da22a8a..0849241 100644 --- a/README.md +++ b/README.md @@ -259,6 +259,9 @@ hs-cli includes an ML-powered PII redaction system designed for shared terminals Maintainers should treat the [PII redaction hardening contract](docs/pii-redaction-hardening-contract.md) as the normative checklist for all 14 completed security and privacy findings. +The [OpenAI Privacy Filter evaluation](docs/openai-privacy-filter-evaluation.md) +documents the candidate model's coverage gains, footprint and runtime trade-offs, +and the gated path recommended before any detector migration. ### Why this matters diff --git a/docs/openai-privacy-filter-evaluation.md b/docs/openai-privacy-filter-evaluation.md new file mode 100644 index 0000000..b7f066f --- /dev/null +++ b/docs/openai-privacy-filter-evaluation.md @@ -0,0 +1,924 @@ +# OpenAI Privacy Filter Evaluation for hs-cli + +- Status: investigation complete; implementation not started +- Research date: 16 July 2026 +- Decision owner: hs-cli maintainers +- Recommended decision: run a pinned, local evaluation and native-runtime spike; do not replace the production detector until the quality and performance gates in this document pass. + +## Executive conclusion + +OpenAI Privacy Filter is a credible candidate for a major upgrade to hs-cli's residual free-text detection. It is not a hosted OpenAI API model. It is an Apache-2.0 open-weight token classifier designed to run locally, so adopting it would not require sending unredacted Help Scout content to OpenAI and would not introduce per-token API charges. + +The model's strongest potential benefit is coverage. The current local ML detector finds person names; regular expressions and structured-field rules handle the other supported data. Privacy Filter detects contextual spans across eight broad classes: + +- private people, including identifying usernames and handles; +- private addresses; +- private email addresses and phone numbers; +- private URLs and IP addresses; +- private dates, including dates of birth; +- account numbers, including financial and government-style identifiers; and +- secrets such as passwords, API keys, one-time passwords, and PINs. + +That would address meaningful gaps in unstructured support conversations: pasted credentials, arbitrary customer or project account identifiers, dates that identify a person, obfuscated contact details, usernames, and address or number formats that do not match our present regular expressions. Its contextual policy can also avoid some unnecessary redaction when the same-looking value is public or non-personal. + +The trade-off is operational weight and uncertainty: + +- The current INT8 ONNX model is 129.1 MiB and ships in trusted platform bundles of 95.4–99.6 MiB compressed. Privacy Filter's original weights are 2.8 GB, while its first-party ONNX q4 and q4f16 external-data files are approximately 874.6 MiB and 771.6 MiB respectively, before the 27.9 MB tokenizer and ONNX Runtime. +- The first-party Python runtime is PyTorch-based. First-party ONNX exports now exist, which makes a native Go path plausible, but they are not drop-in replacements for the current model. Tokenization, 33-label BIOES decoding, calibrated Viterbi decoding, external-data loading, and UTF-8 offset parity all need to be proven. +- OpenAI describes the model as high throughput but publishes no reproducible CPU/GPU latency, memory, or cold-start benchmark with named hardware. We cannot responsibly claim that it will be faster or acceptably interactive for hs-cli until we measure it. +- The model card says the base model is primarily English, shows lower performance on several non-Latin and out-of-distribution languages, and reports substantial degradation on some adversarial formats and context-free categories. +- It is a preview and a detection component, not an anonymization or compliance guarantee. + +The recommended end state, if the evaluation succeeds, is: + +1. Keep the structured JSON policy, known-identity handling, deterministic HMAC pseudonyms, regex rules, protected-input boundary, and fail-closed behavior. +2. Replace only the residual DistilBERT name detector with a general local span detector backed by Privacy Filter. +3. Translate model spans into hs-cli's existing deterministic replacements instead of emitting OpenAI's generic placeholders. +4. Keep regex rules as defense in depth, including categories the new taxonomy does not clearly cover, such as MAC addresses. +5. Load and reuse one detector per process. A model of this size makes the existing detector-lifetime follow-up a prerequisite rather than an optional optimization. + +This is a recommendation to prototype and benchmark, not yet a recommendation to ship. + +## Scope and evidence boundary + +This report answers four questions: + +1. What OpenAI actually released. +2. What additional PII hs-cli could detect. +3. What privacy, runtime, footprint, and maintenance costs adoption would introduce. +4. How to evaluate and integrate it without weakening the hardened redaction contract. + +The product and model facts come from the [OpenAI release announcement](https://openai.com/index/introducing-openai-privacy-filter/), the [OpenAI model card](https://cdn.openai.com/pdf/c66281ed-b638-456a-8ce1-97e9f5264a90/OpenAI-Privacy-Filter-Model-Card.pdf), the [OpenAI implementation repository](https://github.com/openai/privacy-filter), and the [OpenAI Hugging Face model repository](https://huggingface.co/openai/privacy-filter). They were reviewed on 16 July 2026. + +Repository baseline facts come from the current hs-cli source, especially: + +- [the free-text pipeline](../internal/pii/text.go); +- [the current detector](../internal/pii/ner/ner.go); +- [the ONNX runtime adapter](../internal/pii/ner/runtime.go); +- [the source lock](../scripts/pii-model-sources.json); +- [the trusted bundle manifest](../internal/pii/ner/trusted_manifest.json); +- [the multilingual fixture corpus](../internal/pii/testdata/multilingual_privacy_corpus.json); and +- [the PII hardening contract](pii-redaction-hardening-contract.md). + +No Privacy Filter weights were downloaded and no local performance benchmark was run as part of this documentation task. All performance conclusions below are therefore one of: + +- a directly published architectural or artifact fact; +- a comparison of published artifact sizes; or +- an explicitly labelled hypothesis that the proposed benchmark must test. + +That boundary matters. A single example in the model card reports 65.1 ms, but it does not identify hardware, input length, device, warm-up state, or model format. It is not sufficient evidence for an hs-cli latency estimate. + +## What OpenAI released + +### Product identity + +The exact release is OpenAI Privacy Filter, published on 22 April 2026. It is: + +- an open-weight model, not an OpenAI API endpoint; +- a bidirectional token-classification model, not a text-generating LLM; +- available under the Apache 2.0 license; +- intended for local, on-premises, browser, or laptop execution; +- fine-tunable for domain-specific data and policy; and +- described by OpenAI as a preview. + +This distinction removes the largest concern that the phrase “OpenAI model” might imply: unredacted content does not need to leave the machine. The model download requires network access, but inference does not. + +### Architecture + +Privacy Filter starts from an autoregressively pretrained checkpoint and is converted into an eight-layer bidirectional classifier. It has: + +- 1.5 billion total parameters; +- 50 million active parameters per token through sparse mixture-of-experts routing; +- 128 experts with four selected per token; +- 33 output logits per token: background plus four BIOES boundary states for each of eight privacy classes; +- a maximum sequence length of 131,072 positions and an advertised 128,000-token operating context; +- local bidirectional attention over 128 tokens on each side, or 257 tokens including the current token in the original runtime contract; and +- calibrated constrained Viterbi decoding for coherent span boundaries and tunable precision/recall. + +The model labels all tokens in a forward pass rather than autoregressively generating replacement text. That is the right shape for a security boundary: it returns spans, avoids prompt injection as a control mechanism, and does not rewrite unrelated content. + +The 128,000-token claim still needs careful interpretation. The effective attention is locally banded, not global across all 128,000 tokens. OpenAI's own one-hop reasoning evaluation shows recall falling as a cue and its later value move farther apart. In addition, the first-party Python CLI defaults CPU execution to 4,096-token windows for safety, even though the checkpoint can be configured for a larger context. For hs-cli, “no chunking” should be treated as a capability to test on target hardware, not a guaranteed default. + +### Native taxonomy + +| Privacy Filter label | Published meaning | Likely hs-cli action | +|---|---|---| +| private_person | Private person's name, username, or identifying handle | Deterministic fake display identity | +| private_address | Specific location associated with a private person | Deterministic address token | +| private_email | Personal or person-identifying email | Known identity pseudonym or deterministic email token | +| private_phone | Phone number associated with a private person | Known identity pseudonym or deterministic phone token | +| private_url | Private-audience or person-identifying URL; model evaluation also maps IP addresses here | Deterministic URL/IP token | +| private_date | Date of birth, birth year, or another date/time identifying a private person | Deterministic private-date token | +| account_number | Credit card, bank, government, or other account identifier | Deterministic account token | +| secret | API key, password, credential, OTP, or PIN | Deterministic secret token, with no reversible value | + +The model identifies candidate spans. The surrounding application remains responsible for deciding whether to mask, remove, pseudonymize, alert, or route them. This aligns well with hs-cli: the model should detect; the domain layer should enforce policy and choose deterministic display replacements. + +### First-party artifacts and runtime options + +OpenAI publishes: + +- a 2.8 GB safetensors checkpoint and 27.9 MB tokenizer; +- a Python 3.10+ reference implementation using PyTorch, safetensors, tiktoken, NumPy, and Hugging Face Hub; +- Hugging Face Transformers and Transformers.js support; and +- ONNX exports in full, fp16, q4, q4f16, and generic quantized forms. + +The ONNX directory is 11.8 GB because it contains every variant. A production bundle would contain exactly one graph and its external data, not the entire directory. The smallest published external-data variants observed in the first-party model repository are: + +| Variant | External model data | Relative to current 129.1 MiB model | +|---|---:|---:| +| q4f16 | 809,061,992 bytes / 771.6 MiB | 6.0 times | +| q4 | 917,120,144 bytes / 874.6 MiB | 6.8 times | +| generic quantized | 1,618,042,064 bytes / 1.51 GiB | 12.0 times | +| original safetensors | approximately 2.8 GB / 2.61 GiB | 20.7 times | + +These numbers exclude the tokenizer, runtime library, manifest, and compression. Quantized ONNX makes native integration plausible, but the download and resident-memory cost remain materially larger than today. + +For reproducibility, an evaluation should pin both upstream identities reviewed here: + +- OpenAI code repository commit f7f00ca7fb869683eb732c010299d901457f19c3; and +- Hugging Face model repository commit 7ffa9a043d54d1be65afb281eddf0ffbe629385b, including ONNX export commit 454bcac971532e0fa5863b7043d04d5bb573cd0e. + +Pinning only a model name or main branch would not meet hs-cli's current supply-chain standard. + +## Current hs-cli baseline + +### Existing layered design + +The production path is already more than an NER model: + +1. Structured identities are recognized from Help Scout resource shape and explicit command context. +2. Known customer and user identities are handled according to off, customers, and all modes. +3. Deterministic keyed HMAC pseudonyms preserve readable display identities without storing a reverse map. +4. A local multilingual DistilBERT model detects residual person names in free text. +5. Regex rules catch email, phone, SSN, credit-card, IBAN, Bitcoin, IP, MAC, URL, postal, PO-box, and street-address forms. +6. Invalid JSON, invalid model spans, detector errors, unavailable models, and unsupported platforms fail closed. +7. Protected command input keeps authored content and credentials out of process arguments and rendered errors. +8. Model installation is provenance-locked, bounded, transactional, hash-verified, and smoke-tested before use. + +Privacy Filter should enter this design as one detector adapter. It must not become the policy engine, pseudonym store, installer, output boundary, or only line of defense. + +### Current detector and footprint + +| Dimension | Current implementation | +|---|---| +| ML task | Person-name NER only | +| Model | Xenova distilbert-base-multilingual-cased-ner-hrl, INT8 ONNX | +| Model file | 135,359,829 bytes / 129.1 MiB | +| Tokenizer | 2,919,362 bytes / 2.8 MiB | +| Trusted platform archive | 95.4–99.6 MiB | +| Expanded bundle | approximately 149.6–169.6 MiB, depending on runtime library | +| Max sequence | 512 tokens | +| Application chunk | at most 1,200 UTF-8 bytes, split at safe boundaries | +| Runtime | ONNX Runtime 1.23 through a Go purego adapter | +| Runtime threading | one intra-op thread | +| Supported release targets | Linux amd64/arm64 and macOS amd64/arm64 | +| Windows behavior | unsupported detector; free text remains fail-closed | +| Published product SLO | none; release smoke has a broad two-minute corpus budget, not an interactive latency SLO | + +The present model is much smaller, but repeated 1,200-byte chunks mean inference cost grows as a series of model calls on longer content. Privacy Filter may improve long-input throughput because of one-pass classification, sparse activation, and larger contexts. It may still be slower for short CLI inputs because its checkpoint, tokenizer, runtime initialization, and memory traffic are much larger. Both outcomes are plausible; only measurement can decide. + +### Current coverage + +The current detector's ML contribution is deliberately narrow: person names. Everything else depends on known structured fields or format-oriented regular expressions. + +This is strong for predictable formats and weak for contextual forms. Examples of current gaps or fragile cases include: + +- passwords and API tokens whose format is not already known; +- one-time passwords, PINs, recovery codes, and pasted credentials; +- arbitrary bank, customer, utility, tax, government, passport, driving-licence, or internal account identifiers; +- dates of birth and identifying dates; +- usernames and handles not represented as known identities; +- addresses outside the regular expressions' street vocabulary or layout; +- phone numbers written as words or split by unusual whitespace; +- contact details with bracketed “at” or “dot” substitutions; +- values that are sensitive only because nearby prose explains what they are; and +- deciding that a public institution, public office address, or non-personal date should remain visible. + +Privacy Filter is specifically designed for this contextual middle ground. + +## Coverage comparison + +| Data or behavior | Current hs-cli | Privacy Filter potential | Adoption decision | +|---|---|---|---| +| Known Help Scout customer/user identities | Strong, structured, mode-aware, deterministic | Model can detect but cannot supply stable Help Scout identity keys | Keep current path authoritative | +| Unknown third-party person names in prose | DistilBERT NER, then deterministic name-based pseudonym | Context-aware private_person, including names and short fragments | Candidate replacement after recall test | +| Usernames and handles | Incidental only | Explicitly part of private_person | Clear coverage gain | +| Emails and phones | Strong regex plus known identities | Context-aware private_email/private_phone; more obfuscation tolerance | Add as model coverage, retain regex | +| Addresses | English/international street regex plus context patterns | Contextual private_address across varied formats | Likely large gain; test multilingual precision | +| Dates of birth/private dates | Not a dedicated category | Explicit private_date | Clear coverage gain | +| Financial/government/account IDs | Credit cards, SSNs, IBAN, and crypto patterns only | Broad account_number taxonomy; benchmark maps bank, BIC, card, crypto, document, driving-licence, IBAN, ID-card, passport, social, and tax numbers | Large gain; retain checks such as card patterns | +| Passwords/API keys/OTP/PIN | No general secret detector | Explicit secret class | Large gain, but published secret precision is weaker | +| URLs and IPs | Regex for URLs, IPv4, and IPv6 | Contextual private_url, including private IP use in evaluation | May reduce over-redaction; retain regex in high-recall policy | +| MAC addresses | Explicit regex | Not explicitly in native taxonomy | Keep current rule | +| Public versus private context | Mostly format/type based | Trained to distinguish private personal spans from public or benign context | Potential precision gain, but may conflict with local policy | +| Obfuscated formatting | Limited regex coverage | Evaluated on spacing, line breaks, words for digits, symbol substitutions, bracketed dot, phonetic alphabet, and emoji substitutions | Useful but uneven; not a guarantee | +| Long content | Repeated 1,200-byte chunks | Up to 128,000 tokens with local attention and configurable windows | Potential throughput/boundary gain; benchmark required | +| Deterministic readable pseudonyms | Strong HMAC-derived behavior | Emits generic typed spans/placeholders only | Keep hs-cli replacement logic | +| Customer-only mode | Known staff names can be protected | No native concept of hs-cli modes or Help Scout roles | Apply mode policy outside model | +| Offline operation | Yes | Yes | Equivalent privacy posture if kept local | + +### The most valuable likely gains + +#### 1. Secrets + +Support conversations commonly contain credentials during debugging. A general secret class is materially safer than attempting to enumerate every vendor's token prefix. It could detect API keys, passwords, OTPs, and PINs based on both format and surrounding prose. + +This class must be treated as high recall but not high precision. On OpenAI's CredData evaluation, secret token recall is 96.5%, while precision is approximately 75% and exact-span F1 is approximately 62%. Benign hashes, placeholders, sample keys, and high-entropy strings can be over-redacted; new credential formats can still be missed. + +#### 2. Broad account identifiers + +The current rules cover a few familiar numeric formats. Privacy Filter's account_number class covers a much wider set and uses context to distinguish an identifier from an ordinary number. This is especially relevant to support text such as “the utility account is…”, “passport number…”, “customer reference…”, or “bank account…”. + +#### 3. Private dates + +A date is not always PII. “The release is 18 September” should normally survive, while a date of birth should not. The current regex layer has no general private-date policy. Privacy Filter provides a dedicated contextual class. + +#### 4. Contextual names and handles + +The current NER model detects names but does not use a privacy-specific public/private taxonomy. Privacy Filter can detect usernames and handles and is trained to preserve public or non-personal context where appropriate. That could reduce false positives while expanding detection. + +For the earlier “developer Bob” scenario, Bob should still be detected as an unknown private_person and receive a deterministic name-based display pseudonym. We do not need to identify Bob as a Help Scout customer later. Stable customer/user pseudonyms continue to come from the structured known-identity path; unknown third parties keep the existing best-effort, span-derived identity behavior. + +#### 5. Messy and obfuscated text + +The model card includes tests for unusual spacing, line breaks, words for digits, bracketed dot forms, Unicode substitutions, emoji replacements, and phonetic spelling. Those are difficult to cover safely with regex alone. + +The results are uneven. For example, the reported recall for bracketed-dot obfuscation is high, but precision is only about 56%; phonetic-alphabet precision is about 27%; unusual spacing recall is about 63%. These features expand coverage but cannot replace deterministic rules or targeted adversarial tests. + +### What it does not solve + +Privacy Filter does not: + +- produce a stable customer identity key; +- know whether an entity is a Help Scout customer, staff member, or unrelated third party; +- preserve hs-cli's deterministic fake names or emails by itself; +- dynamically change its label policy for customers versus all mode; +- guarantee anonymization, regulatory compliance, or zero leakage; +- reliably resolve long-range aliases across a long conversation; +- cover every organization-specific secret or identifier without evaluation or fine-tuning; +- clearly replace MAC-address detection; or +- remove the need for structured-field and regex defenses. + +## Published quality evidence + +### Main benchmark + +OpenAI reports the following token-level results on the remapped PII-Masking-300k test set: + +| Dataset treatment | Precision | Recall | F1 | Exact span F1 | +|---|---:|---:|---:|---:| +| Baseline labels | 94.0% | 98.0% | 96.0% | 92.6% | +| Corrected labels | 96.8% | 98.1% | 97.4% | 94.2% | + +These are strong results, particularly recall. They are not directly comparable to hs-cli's present tests: + +- the dataset taxonomy was mapped into Privacy Filter's eight labels; +- some original categories without a matching definition were excluded; +- the corrected result removes adjudicated dataset-label problems; +- the benchmark is not a corpus of Help Scout threads; and +- hs-cli currently asserts specific safety invariants rather than calculating corpus-wide precision and recall. + +The corrected benchmark is useful evidence of capability, not proof of our production quality. + +### Domain adaptation + +On the out-of-distribution SPY legal/medical dataset, the published zero-shot token F1 is approximately 54.5%. Fine-tuning with 1% of the training split raises it to approximately 87.9%; 10% raises it to approximately 96.2%. + +This result has two implications: + +1. Small, targeted fine-tuning can be effective. +2. A policy or domain mismatch can be severe before adaptation. + +We should not begin by fine-tuning. First evaluate the base checkpoint against a sufficiently rich hs-cli corpus. Fine-tuning introduces training-data governance, artifact ownership, reproducibility, and ongoing maintenance. It is a second-stage option only if the base model narrowly misses an otherwise attractive adoption gate. + +### Multilingual evidence + +On the in-distribution PII-Masking-300k languages reported by OpenAI, F1 is approximately: + +- Dutch 91.4%; +- English 93.4%; +- French 92.7%; +- German 92.6%; +- Italian 92.1%; and +- Spanish 93.3%. + +On additional synthetic languages, reported F1 ranges from 75.8% for Hausa to 93.3% for Portuguese. Bengali, Hindi, Japanese, Korean, Mandarin Chinese, Modern Standard Arabic, Russian, Turkish, Urdu, and Western Punjabi fall between those values. + +In a separate “category clue before PII” evaluation, recall drops materially outside English: approximately 71.5–82.1% across the listed non-English languages versus 95.6% for English. The model metadata itself says “primarily English”. + +This is not a reason to reject it, but it prevents us from inheriting the published aggregate score as a multilingual claim. Our existing Arabic and Han fixtures are too small to answer the question. The evaluation corpus must expand before any advertised language change. + +### Context sensitivity + +OpenAI's synthetic clue-position results show why the model is interesting and why it remains probabilistic: + +- private_person recall is approximately 88.5% with no clue and 99.4% when a clear clue appears first; +- private_email recall is approximately 96.2% with no clue and 100% with a clear clue first; +- account_number recall rises from approximately 79.7% to 100% with a clear clue first; +- private_date recall rises from approximately 22.0% to 89.4%; +- private_phone recall rises from approximately 31.8% to 91.9%; +- secret recall rises from approximately 36.1% to 70.8%; and +- private_address recall remains low in this toy set, from approximately 21.4% without a clue to 41.4% with a clue first. + +The model is strongest when real conversational context identifies a span. Bare values and very short strings can still be hard. Our regex layer remains especially valuable for context-free emails, phone numbers, cards, and identifiers. + +### Failure modes that matter to hs-cli + +The model card explicitly calls out: + +- uncommon names, regional naming conventions, initials, and honorific-heavy references; +- non-English text and non-Latin scripts; +- organization- or domain-specific identifiers; +- ambiguous public entities, locations, and common nouns; +- heavy punctuation, layout artifacts, and fragmented span boundaries; +- novel or split credential formats; +- benign high-entropy values and example credentials; and +- reduced long-range alias resolution as the defining clue moves away. + +These overlap strongly with support content, which often includes quoted email chains, signatures, HTML-to-Markdown artifacts, logs, stack traces, copied configuration, and short fragments. The model must be tested on those shapes, not only on clean prose. + +## Performance and operational analysis + +### What is likely better + +The architecture has credible performance advantages: + +- It labels tokens rather than generating output token by token. +- Only four of 128 experts are active per token. +- Its attention is locally banded. +- It can process far larger windows than the current 512-token model. +- Larger windows can remove repeated tokenization and inference calls and reduce chunk-boundary errors. +- The ONNX q4 variants provide a possible CPU-friendly native path. + +For a long conversation, these properties could offset some of the larger checkpoint cost. + +### What is likely worse + +The larger artifacts create predictable costs: + +- first install download and verification are substantially larger; +- cold start must map or load much more model data; +- peak and resident memory are likely higher; +- filesystem and antivirus scanning may become more visible; +- CI smoke artifacts and release storage become larger; +- low-memory laptops and small containers may be excluded; +- model initialization repeated within a process would be unacceptable; and +- Docker image size grows sharply if weights are embedded rather than mounted or cached. + +The 50-million-active-parameter figure describes compute routing, not storage. All experts still need to be available in the checkpoint. Sparse activation therefore does not make a 0.8–2.8 GB artifact behave like a 50-million-parameter download. + +### Unknown latency + +OpenAI does not publish a hardware-normalized benchmark for: + +- cold load time; +- warm p50 or p95 latency; +- tokens per second; +- CPU model and thread count; +- GPU model; +- peak or resident memory; +- q4 versus q4f16 accuracy and speed; +- short versus long inputs; or +- concurrent requests. + +The release's “fast” and “high-throughput” descriptions are architectural/product claims, not a sizing guide for this CLI. We must measure the exact artifact, runtime, decoder, and hardware we intend to ship. + +### Detector lifetime is a prerequisite + +At present, newPIIEngine can construct a new ONNX detector whenever an engine is created. The detector is not a process-scoped dependency owned by a clear lifecycle boundary. That is already tracked as follow-up A2. + +Privacy Filter increases the cost of that design enough that A2 should be completed before a production integration: + +- initialize the detector once per process; +- share it safely across engines and MCP calls; +- serialize or bound concurrent inference according to runtime support; +- close it exactly once at process shutdown; and +- expose load and inference failures without returning partially inspected content. + +This change should be backend-neutral so it improves the current DistilBERT path even if Privacy Filter is not adopted. + +### Platform considerations + +The current trusted model matrix covers Linux and macOS on amd64 and arm64. Windows deliberately fails closed because native runtime/model smoke is not yet established. + +Privacy Filter's Hugging Face repository makes ONNX and browser/WebGPU forms available, but that does not automatically expand hs-cli support: + +- the existing Go runtime adapter must load an ONNX graph with external data; +- the selected quantized graph's operators must work with the pinned ONNX Runtime on each CPU architecture; +- the tokenizer must produce source-compatible offsets; +- calibrated decoding must match the reference implementation; +- peak memory must fit supported machines; and +- every advertised platform must pass native smoke with the exact released bundle. + +Windows may become possible, but it should be treated as a separate capability gate, not an assumed benefit. + +### Cost model + +There is no OpenAI API usage fee. Costs move to: + +- artifact storage and transfer; +- developer and CI time; +- CPU/GPU time; +- local disk and memory; +- release engineering; +- vulnerability and dependency maintenance; and +- optional fine-tuning. + +For hs-cli's deployment model, local compute is preferable to sending raw text to a hosted service. It is not free; it is simply paid in infrastructure and product footprint instead of API tokens. + +## Privacy, security, licensing, and supply chain + +### Privacy + +A local integration preserves the best property of the current design: text is filtered before it reaches any LLM or remote analysis workflow, and the unfiltered content need not leave the user's machine. + +The implementation must avoid accidentally weakening that property: + +- do not invoke the model through a hosted Hugging Face inference provider; +- do not send raw content to a remote OpenAI endpoint; +- do not put text in child-process arguments; +- do not write temporary plaintext request or result files; +- do not log the upstream JSON output, which includes the original input text; +- if a local sidecar is used for a spike, communicate over inherited pipes or a private local socket; and +- retain fail-closed behavior on model, tokenizer, decoding, offset, or transport failure. + +### Supply-chain standard + +The current installer is stronger than the upstream reference downloader. It pins immutable revisions and hashes, embeds reviewed identities, applies archive and expansion limits, installs transactionally, and runs real inference before promotion. + +The upstream Python helper downloads the named Hugging Face repository when its default checkpoint is absent. That is convenient for experimentation but is not acceptable as the production hs-cli trust boundary. + +A production Privacy Filter bundle must: + +- pin the model repository revision; +- list every graph, external-data, tokenizer, calibration, config, runtime, and license file; +- hash and size every file; +- reject symlinks and unexpected files; +- set revised but finite archive/expansion limits; +- verify an artifact in private staging; +- run tokenizer, logits, decoder, and end-to-end smoke tests; +- promote atomically; and +- include Apache 2.0 license and notice obligations in release review. + +The published model.sig file should not be treated as a trust mechanism until its format, signer identity, verification procedure, and key-rotation policy are documented and implemented. Our embedded digest remains the trust anchor. + +### Dependency surface + +The Python reference stack introduces Python, PyTorch, Hugging Face Hub, NumPy, safetensors, tiktoken, and packaging. That is appropriate for a repo-owned benchmark container, but a major regression for a standalone Go CLI if required on every user's machine. + +The preferred production path is therefore the pinned ONNX artifact through the existing native runtime model, provided parity and performance pass. A Python sidecar is a useful reference and evaluation oracle, not the preferred default distribution. + +### Licensing + +OpenAI publishes the code and model under Apache 2.0 and explicitly describes commercial deployment as permitted. hs-cli is MIT licensed. Distribution should preserve the upstream licence and notices and be reviewed as a normal third-party model dependency. This report is an engineering assessment, not legal advice. + +## Preserving deterministic identities and modes + +Privacy Filter must not replace hs-cli's identity semantics. + +### Known identities + +Known customer and staff records continue through the structured identity path. Their deterministic display names and emails remain derived from the current PseudonymContext, key ID, and identity schema. A model prediction must never choose a different pseudonym for a known identity. + +### Unknown people + +For a private_person span not linked to a known identity: + +- canonicalize the detected source text as today; +- derive the fake person through the existing HMAC path; +- preserve the current display disambiguator and key ID; and +- accept that two mentions with different aliases may not resolve to the same person. + +That matches the agreed trade-off for third parties such as a developer mentioned by a customer. Attempting global entity resolution would add complexity and new privacy state for little current benefit. + +### Non-person spans + +Map each model label to a stable internal kind and use the existing keyed token generation: + +| Model label | Internal replacement kind | +|---|---| +| private_address | address | +| private_email | email | +| private_phone | phone | +| private_url | url or ip after deterministic classification | +| private_date | private_date | +| account_number | account_number | +| secret | secret | + +This provides stable tokens without retaining raw-to-redacted mappings. + +### customers mode + +The detector has no concept of staff versus customer. The application must reconcile predictions with known identities: + +- redact known customers; +- protect known staff identity spans in customers mode; +- redact unknown private third-party spans; +- retain current deterministic handling for all non-person PII; and +- continue to treat mode off as pass-through at every low-level boundary. + +The exact staff treatment for model-detected email, phone, URL, and address spans should be captured in policy fixtures before implementation. A model backend must not silently redefine customers mode. + +## Architecture options + +| Option | Coverage | Runtime cost | Architectural fit | Recommendation | +|---|---|---|---|---| +| Replace the entire pipeline with Privacy Filter placeholders | Broad, but loses deterministic and structured guarantees | High | Poor; weakens existing contracts | Reject | +| Replace DistilBERT only; keep structured, deterministic, regex, and fail-closed layers | Broad residual coverage | Medium/high | Strong | Preferred target if gates pass | +| Run DistilBERT and Privacy Filter permanently as an ensemble | Highest potential recall | Highest latency/memory | Acceptable only for a high-assurance profile | Use for evaluation, not default | +| Use the Python implementation as a local subprocess/sidecar | Reference-correct and fast to prototype | Python/PyTorch footprint and process complexity | Good evaluation harness, poor standalone default | Use for spike only | +| Use a pinned ONNX variant in the Go process | Broad coverage, no Python | Approximately 0.8–1.6 GB model plus integration work | Best production fit if parity passes | Preferred implementation spike | +| Send text to a hosted model | Potentially simple operations | Network latency, availability, privacy, and service cost | Conflicts with local-first boundary | Reject for this release | + +### Recommended processing flow + +The target flow should remain layered: + + Help Scout payload + | + +-- structured resource policy and known identities + | + +-- original free text + | + +-- local general span detector + | + +-- validate UTF-8 source offsets and reconcile overlaps + | + +-- protect or redact known identities according to mode + | + +-- deterministic person pseudonyms / deterministic typed tokens + | + +-- existing regex defense-in-depth sweep + | + +-- fail-closed output boundary + +The model supplies evidence. The domain layer owns decisions and replacements. + +## Proposed clean architecture + +### 1. Generalize the domain interface + +The current NameDetector returns only NameSpan values. Introduce a backend-neutral span contract in internal/pii: + + type SpanKind string + + type DetectedSpan struct { + Kind SpanKind + Start int + End int + Score float32 + } + + type SpanDetector interface { + Detect(text string) ([]DetectedSpan, error) + } + +The domain package should define hs-cli meanings, not import OpenAI label strings. An adapter maps private_person to SpanPerson and so on. The existing DistilBERT adapter can return SpanPerson, allowing both backends to exercise the same policy and replacement tests. + +### 2. Separate detection, policy, and rendering + +Split the current RedactText responsibilities conceptually: + +- Detector: identify source spans and confidence. +- Span validator: verify bounds, UTF-8 byte alignment, source identity, order, and overlap. +- Policy reconciler: apply mode and known-identity protections. +- Replacement renderer: choose deterministic fake people or typed tokens. +- Deterministic fallback layer: apply regex rules and fail closed. + +This prevents model-specific concerns from spreading into JSON traversal, identity generation, or command code. + +### 3. Make offset units explicit + +The OpenAI Python JSON schema reports Python character offsets. hs-cli's critical contract requires UTF-8 byte offsets. Hugging Face tokenizers may expose character or byte-based offsets depending on the path. + +The adapter must declare and normalize its offset unit. Tests must cover: + +- accented Latin text; +- Arabic; +- Han characters; +- emoji; +- combining marks; +- CRLF; +- HTML/Markdown punctuation; and +- a tokenizer decode mismatch. + +Any unresolvable or inconsistent span fails closed. We must not repeat the class of Unicode bug already fixed under critical contract 4. + +### 4. Match calibrated decoding + +The published results use BIOES-aware constrained Viterbi decoding and a calibration file. Taking argmax directly from ONNX logits is not equivalent. + +The Go adapter should: + +- load the pinned label map and viterbi_calibration.json; +- validate all 33 output classes; +- implement the allowed BIOES transitions; +- apply the six calibrated transition biases; +- produce coherent non-overlapping spans; and +- pass golden parity fixtures against the pinned Python reference. + +Model adoption must be based on the full reference behavior, not a simpler decoder with unknown quality. + +### 5. Own one detector per process + +Introduce a detector provider/lifecycle owner above individual Engine instances. It should: + +- lazy-load once when redaction is enabled; +- share immutable tokenizer/config state; +- safely guard runtime calls; +- expose status and backend identity; +- close at process shutdown; +- avoid initialization in mode off; and +- make failure observable while preserving fail-closed output. + +This encapsulates the large runtime and completes the existing A2 follow-up in a backend-neutral way. + +### 6. Version model bundles by backend + +Do not overwrite the current DistilBERT bundle in place during experimentation. The installer/status model should distinguish: + +- detector backend; +- model version and upstream revision; +- artifact format and quantization; +- runtime version; +- label schema; +- decoder schema/calibration; and +- supported platform. + +That permits safe rollback and side-by-side offline comparison without making an old CLI interpret a new bundle. + +### 7. Keep Docker in the right role + +A repo-owned Docker image is the best initial environment for: + +- pinned Python and PyTorch dependencies; +- downloading/verifying the upstream reference; +- reproducible quality evaluation; +- CPU baseline benchmarks; +- optional GPU benchmark profiles; and +- producing reference predictions for ONNX parity. + +Requiring Docker to use the normal hs binary would be a large product regression. Docker should be the evaluation and release-engineering harness unless the project intentionally introduces a server deployment profile. + +## Evaluation and implementation plan + +### Phase 0 — freeze the policy before comparing models + +Add a versioned synthetic span corpus that describes what hs-cli means by PII. It should include at least: + +- known customers, known staff, and unknown third parties; +- names, handles, emails, phones, addresses, dates, account IDs, URLs/IPs, and secrets; +- public people, public business addresses, release dates, order numbers, hashes, placeholders, and example credentials that should survive; +- English, French, German, Spanish, Arabic, Han, Japanese, Korean, Hindi, and Portuguese cases; +- quoted replies, signatures, HTML-to-Markdown output, logs, stack traces, JSON, and code; +- unusual spacing, line breaks, bracketed dot/at, digit words, Unicode substitution, and minimal names; +- repeated values and overlapping candidate spans; +- long threads with values near and far from contextual clues; and +- all three modes. + +Each case should carry exact byte spans, category, expected action, mode, and known-identity context. No real Help Scout or customer data should enter the repository. + +### Phase 1 — build a pinned reference harness + +Create a repo-owned Docker evaluation target that: + +1. Pins the OpenAI code and model revisions listed above. +2. Verifies every downloaded artifact hash. +3. Runs only on synthetic fixtures. +4. Emits structured spans, not just masked text. +5. Captures model variant, device, thread count, input tokens, cold/warm state, elapsed time, and peak RSS. +6. Stores aggregate metrics but never unredacted real content. + +Use the original Python runtime as the behavioral oracle. This establishes expected Viterbi and offset behavior independently of our Go adapter. + +### Phase 2 — benchmark quality and performance + +Run the existing detector and Privacy Filter against the same policy corpus. + +Quality metrics: + +- exact-span and overlap-tolerant precision, recall, F1, and F2; +- per-category recall; +- per-language and per-script recall; +- false negatives weighted by data sensitivity; +- over-redaction rate; +- customer/staff separation; +- deterministic replacement stability; and +- fail-closed behavior. + +Performance metrics: + +- model download and verified-install size; +- cold load time; +- warm p50, p95, and p99 latency; +- tokens per second; +- peak RSS and steady RSS; +- CPU time and wall time; +- short subject, typical thread, full conversation, and long export sizes; +- one process versus repeated process startup; +- concurrency 1 and expected MCP concurrency; and +- q4 versus q4f16 quality/latency parity. + +Target hardware: + +- Linux amd64 CI-class CPU; +- Linux arm64; +- macOS Intel; +- macOS Apple Silicon; +- a low-memory laptop/container profile; and +- Windows amd64 only as an exploratory, separately gated target. + +The current two-minute release-smoke budget should remain a safety ceiling, not become the benchmark acceptance criterion. + +### Phase 3 — prove native ONNX parity + +Before product integration: + +1. Load the pinned q4 and q4f16 graphs with the current or intentionally upgraded ONNX Runtime. +2. Verify external-data resolution from a trusted bundle directory. +3. Verify tokenizer compatibility or implement a narrow o200k tokenizer adapter. +4. Implement calibrated Viterbi decoding. +5. Compare logits, labels, spans, UTF-8 byte offsets, and final decisions with the Python oracle. +6. Measure accuracy drift caused by quantization. +7. Run the full native platform matrix. + +Choose q4 or q4f16 based on measured quality, memory, and latency. Smaller is not automatically safer if quantization reduces recall. + +### Phase 4 — integrate behind an explicit backend selection + +Add a development/preview detector selection without creating a redaction bypass: + +- distilbert remains the production default initially; +- privacy-filter selects the new trusted bundle; +- a selected but unavailable/corrupt backend keeps free text fail-closed; +- mode off remains a true low-level pass-through; +- backend identity appears in pii-model status and diagnostics without exposing input; and +- the existing output API and pseudonym formats remain stable. + +Do not silently fall back from a selected high-assurance backend to a weaker detector. A fallback that changes coverage should be explicit and observable. + +### Phase 5 — controlled rollout + +Promote only after: + +- quality and performance gates pass on every advertised platform; +- model bundles are reproducible and smoke-tested; +- documentation explains the larger download and resource requirements; +- rollback to the previous backend is tested; +- release CI has adequate artifact/storage limits; and +- maintainers accept the support cost. + +A sensible rollout order is opt-in preview, then default for new installs, then optional retirement of DistilBERT after at least one stable release cycle. + +## Regression-test plan + +### Domain unit tests + +Add backend-independent tests for: + +- every SpanKind to replacement mapping; +- known customer precedence over model-detected person spans; +- known staff protection in customers mode; +- unknown third-party deterministic fake identities; +- repeated unknown names mapping consistently; +- account, secret, date, address, URL, email, and phone deterministic tokens; +- overlap precedence between known identity, model, and regex spans; +- invalid, reversed, out-of-range, non-UTF-8-boundary, and source-mismatched spans failing closed; +- detector error, panic boundary, and partial-result failure; +- mode off making no detector call and changing no value; and +- customers/all mode differences. + +### Adapter parity tests + +For each pinned synthetic input, compare Python reference and Go ONNX adapter: + +- token count and token/source round trip; +- label ordering and calibration; +- exact typed spans; +- byte offsets; +- quantized versus original predictions; and +- long-window overlap aggregation. + +Use checked-in expected spans, not a live Hugging Face or OpenAI call in normal tests. + +### Release smoke + +Extend the model-release workflow to: + +- build one bundle per explicitly supported platform; +- check exact artifact names, hashes, and bounded sizes; +- load the real ONNX graph and external data; +- run all critical categories and scripts; +- include no-PII preservation cases; +- verify no unexpected raw values remain after rendering; +- enforce a measured runtime budget chosen from the benchmark; and +- publish benchmark metadata with the model release. + +### Command and end-to-end tests + +Reuse Help Scout fixtures to prove: + +- table, JSON, JSON-full, CSV, source, and RFC822 paths use the same detector; +- MCP and direct CLI behavior match; +- no input or model output reaches argv, logs, debug files, or error strings; +- multiple engines/MCP requests reuse the process detector; +- a missing/corrupt selected model fails closed; and +- structured deterministic identities remain byte-for-byte compatible. + +## Proposed adoption gates + +The team should agree absolute product SLOs after measuring the current baseline. The following are recommended safety gates. + +### Quality + +- No regression in any existing PII hardening or fixture test. +- Zero leaks in the finite critical safety corpus. +- Per-category recall for names, email, phone, account number, and secret is no worse than the stronger of the current detector-plus-regex baseline or the agreed minimum. +- Overall F2 and sensitivity-weighted false-negative score improve materially. +- Non-English/script slices do not regress from currently advertised behavior. +- Public/non-PII preservation stays within an agreed over-redaction budget. +- q4/q4f16 results are evaluated independently; published full-precision metrics are not inherited. + +### Performance + +- Warm p95 latency meets an explicit interactive CLI budget on all supported CPU targets. +- Cold-start impact is acceptable for one-shot CLI use. +- MCP process reuse produces stable memory and no resource growth. +- Peak RSS fits the lowest supported memory profile with headroom. +- Install/download size is documented and accepted. +- Long content completes within an explicit timeout without silent truncation. + +### Correctness and reliability + +- Python/ONNX span parity passes on the reference corpus. +- UTF-8 offset conversion passes all scripts and combining-mark cases. +- Viterbi calibration is loaded and validated. +- Any incomplete inference, window, decode, or replacement fails closed. +- Selected-backend unavailability never silently returns raw text. + +### Operations and security + +- Every artifact is immutable, hashed, bounded, and reproducible. +- Native smoke passes on every advertised platform. +- No raw input crosses a remote boundary. +- No mandatory user-managed Python or Docker dependency is introduced for the default binary. +- Rollback and bundle coexistence are tested. + +If quality improves but the default footprint or latency is unacceptable, a valid outcome is an optional “enhanced” detector profile for long-running MCP/server deployments while retaining DistilBERT for lightweight one-shot use. + +## Likely implementation impact + +This is not a final diff plan, but the likely seams are: + +| Area | Likely change | +|---|---| +| internal/pii/identity.go | General SpanDetector and DetectedSpan domain contracts | +| internal/pii/text.go | Span policy, replacement mapping, overlap handling, and regex layering | +| internal/pii/ner | Adapt current DistilBERT detector to the generic contract | +| new internal/pii/privacyfilter package | Tokenizer, ONNX adapter, 33-label map, Viterbi decoder, and backend tests | +| internal/cmd/inbox_pii_helpers.go | Process-scoped detector provider and backend selection | +| internal/pii/ner model/manifest installer code | Backend-aware trusted bundles, larger bounded external-data files, and status | +| scripts/pii-model-sources.json | Pinned Privacy Filter source/artifact identities | +| scripts/prepare-pii-model.sh | Reproducible selected-variant bundle creation | +| .github/workflows/pii-model.yml | Larger artifact handling, native parity/smoke, and benchmark metadata | +| internal/pii/testdata | Versioned typed span, adversarial, multilingual, and preservation corpus | +| README.md and DEVELOPMENT.md | Download/resource expectations, backend behavior, and contributor workflow | + +Avoid coupling core packages to the upstream Python CLI schema or OpenAI-specific strings. Those belong in the adapter. + +## Open questions to answer in the spike + +1. Does q4 or q4f16 preserve the recall we care about, especially names, secrets, and non-Latin scripts? +2. Can ONNX Runtime 1.23 execute the selected graph and quantized operators on every target, or is an upgrade required? +3. Does the existing purego wrapper correctly resolve ONNX external-data files and dynamic input sizes? +4. Can the existing Go tokenizer library load the 27.9 MB tokenizer with exact reference offsets, or is a dedicated o200k adapter required? +5. What is the cold load time and RSS for one-shot CLI use? +6. What is warm p95 latency for typical Help Scout threads on CPU? +7. Does a 4,096-token window outperform larger contexts on CPU without reducing recall? +8. How should long-window overlap and predictions be merged without duplicate or fragmented spans? +9. Which public/business entities should hs-cli preserve in all mode? +10. Should model-detected staff contact fields remain visible in customers mode, matching protected staff names, or should non-name PII remain universally redacted? +11. Do release storage, GitHub artifact limits, npm distribution, Homebrew, and end-user cache expectations tolerate an approximately 0.8–1.0 GB detector bundle? +12. Is an optional enhanced profile a better product fit than making this the universal default? + +## Final recommendation + +Proceed with a bounded evaluation. + +Privacy Filter is the first candidate found in this review that could materially expand hs-cli from “name NER plus known formats” to contextual PII and secret detection while preserving local inference. The first-party ONNX variants make a clean native path plausible, and the Apache 2.0 licence permits the required inspection, packaging, and adaptation. + +Do not yet replace DistilBERT. The artifact is six to seven times larger even in the smallest relevant ONNX forms, published performance lacks hardware-specific latency data, multilingual and adversarial results are uneven, and the base model's private/public policy may not exactly match hs-cli. + +The best next investment is a repo-owned, synthetic-only Docker benchmark using the pinned Python implementation as an oracle, followed by a q4/q4f16 ONNX parity spike. If it improves sensitivity-weighted recall without violating CLI latency, memory, platform, deterministic-identity, and fail-closed gates, adopt it as the residual detector beneath the existing hardened contract. + +## Primary sources + +- [OpenAI: Introducing OpenAI Privacy Filter, 22 April 2026](https://openai.com/index/introducing-openai-privacy-filter/) +- [OpenAI Privacy Filter model card](https://cdn.openai.com/pdf/c66281ed-b638-456a-8ce1-97e9f5264a90/OpenAI-Privacy-Filter-Model-Card.pdf) +- [OpenAI Privacy Filter source repository](https://github.com/openai/privacy-filter) +- [OpenAI Privacy Filter model repository and model card](https://huggingface.co/openai/privacy-filter) +- [First-party ONNX artifacts](https://huggingface.co/openai/privacy-filter/tree/7ffa9a043d54d1be65afb281eddf0ffbe629385b/onnx) +- [First-party structured output schema](https://github.com/openai/privacy-filter/blob/f7f00ca7fb869683eb732c010299d901457f19c3/OUTPUT_SCHEMAS.md) +- [Hugging Face Transformers implementation documentation](https://huggingface.co/docs/transformers/model_doc/openai_privacy_filter) +- [Apache 2.0 license in the OpenAI repository](https://github.com/openai/privacy-filter/blob/f7f00ca7fb869683eb732c010299d901457f19c3/LICENSE) From fa923c24a13d03b1110ac2813219726c2bb47b66 Mon Sep 17 00:00:00 2001 From: Ross Morsali Date: Fri, 17 Jul 2026 09:32:57 +0200 Subject: [PATCH 18/34] docs: add gated Privacy Filter migration plan --- DEVELOPMENT.md | 7 + README.md | 4 + docs/openai-privacy-filter-evaluation.md | 9 +- docs/openai-privacy-filter-migration-plan.md | 1146 ++++++++++++++++++ 4 files changed, 1164 insertions(+), 2 deletions(-) create mode 100644 docs/openai-privacy-filter-migration-plan.md diff --git a/DEVELOPMENT.md b/DEVELOPMENT.md index 0baf310..0c5c6ed 100644 --- a/DEVELOPMENT.md +++ b/DEVELOPMENT.md @@ -173,6 +173,13 @@ It is an evaluation and migration proposal, not an implementation decision; its quality, performance, parity, and supply-chain gates must pass before changing the production detector. +The implementation runbook is +[docs/openai-privacy-filter-migration-plan.md](docs/openai-privacy-filter-migration-plan.md). +It defines the single-detector target, phase entry and exit criteria, permanent +test lanes, numerical quality and performance budgets, failure handling, +preview rollout, rollback, and retirement sequence. Treat its gate fixtures and +budgets as reviewed source: do not rebaseline them from candidate results. + Normal tests use the synthetic corpus at `internal/pii/testdata/multilingual_privacy_corpus.json`; it contains no production or Help Scout API data. The hermetic evaluator injects exact fixture diff --git a/README.md b/README.md index 0849241..64aec3b 100644 --- a/README.md +++ b/README.md @@ -262,6 +262,10 @@ as the normative checklist for all 14 completed security and privacy findings. The [OpenAI Privacy Filter evaluation](docs/openai-privacy-filter-evaluation.md) documents the candidate model's coverage gains, footprint and runtime trade-offs, and the gated path recommended before any detector migration. +The accompanying +[single-detector migration plan](docs/openai-privacy-filter-migration-plan.md) +defines the phased implementation, permanent regression and performance tests, +objective pass/fail gates, preview, rollback, and eventual DistilBERT retirement. ### Why this matters diff --git a/docs/openai-privacy-filter-evaluation.md b/docs/openai-privacy-filter-evaluation.md index b7f066f..a0e22ca 100644 --- a/docs/openai-privacy-filter-evaluation.md +++ b/docs/openai-privacy-filter-evaluation.md @@ -5,6 +5,10 @@ - Decision owner: hs-cli maintainers - Recommended decision: run a pinned, local evaluation and native-runtime spike; do not replace the production detector until the quality and performance gates in this document pass. +The executable migration sequence, permanent regression suite, numerical +acceptance budgets, and failure rules are defined in the +[single-detector migration plan](openai-privacy-filter-migration-plan.md). + ## Executive conclusion OpenAI Privacy Filter is a credible candidate for a major upgrade to hs-cli's residual free-text detection. It is not a hosted OpenAI API model. It is an Apache-2.0 open-weight token classifier designed to run locally, so adopting it would not require sending unredacted Help Scout content to OpenAI and would not introduce per-token API charges. @@ -110,7 +114,7 @@ The 128,000-token claim still needs careful interpretation. The effective attent | private_url | Private-audience or person-identifying URL; model evaluation also maps IP addresses here | Deterministic URL/IP token | | private_date | Date of birth, birth year, or another date/time identifying a private person | Deterministic private-date token | | account_number | Credit card, bank, government, or other account identifier | Deterministic account token | -| secret | API key, password, credential, OTP, or PIN | Deterministic secret token, with no reversible value | +| secret | API key, password, credential, OTP, or PIN | Constant non-linkable secret marker, with no reversible value | The model identifies candidate spans. The surrounding application remains responsible for deciding whether to mask, remove, pseudonymize, alert, or route them. This aligns well with hs-cli: the model should detect; the domain layer should enforce policy and choose deterministic display replacements. @@ -782,7 +786,8 @@ Add backend-independent tests for: - known staff protection in customers mode; - unknown third-party deterministic fake identities; - repeated unknown names mapping consistently; -- account, secret, date, address, URL, email, and phone deterministic tokens; +- account, date, address, URL, email, and phone deterministic tokens; +- secret spans using a constant non-linkable marker rather than a pseudonym; - overlap precedence between known identity, model, and regex spans; - invalid, reversed, out-of-range, non-UTF-8-boundary, and source-mismatched spans failing closed; - detector error, panic boundary, and partial-result failure; diff --git a/docs/openai-privacy-filter-migration-plan.md b/docs/openai-privacy-filter-migration-plan.md new file mode 100644 index 0000000..458a3e7 --- /dev/null +++ b/docs/openai-privacy-filter-migration-plan.md @@ -0,0 +1,1146 @@ +# OpenAI Privacy Filter Single-Detector Migration Plan + +- Status: approved direction; implementation not started +- Plan date: 17 July 2026 +- Decision owner: hs-cli maintainers +- Companion research: [OpenAI Privacy Filter evaluation](openai-privacy-filter-evaluation.md) +- Governing safety contract: [PII redaction hardening contract](pii-redaction-hardening-contract.md) + +## Executive decision + +The intended production end state is one local neural detector per process. +OpenAI Privacy Filter will replace the existing multilingual DistilBERT name +detector only if every gate in this plan passes. It will not run beside +DistilBERT in the shipped runtime. + +The rest of the PII system remains layered and authoritative: + +- structured resource classification; +- known customer and staff identity reconciliation; +- deterministic HMAC-backed display identities and typed tokens; +- exact regex rules for formats with deterministic coverage; +- protected-input and diagnostic boundaries; +- mode enforcement; and +- fail-closed output handling. + +Privacy Filter is a local bidirectional token classifier, not a hosted API and +not a generative LLM. The migration therefore changes the residual span +detector, not the product's privacy policy or identity system. + +The highest-value new behavior is secret detection. In every redacting display +mode, a detected password, API key, access token, one-time password, PIN, or +similar credential will be replaced with a non-linkable secret marker. Secrets +will never receive deterministic pseudonyms and will never be preserved merely +because they appear next to a known staff identity. Persistent diagnostics +remain independently sanitized under the existing strongest-mode contract. + +Development comparison is permitted only in isolated evaluation processes over +checked-in synthetic fixtures. The two models may run sequentially to produce +comparable results, but the production process must construct and retain +exactly one selected detector. + +## Outcome this plan must prove + +The migration is successful only when the repository contains durable evidence +that the candidate: + +1. Preserves all existing PII hardening invariants and deterministic identity + output. +2. Removes all critical synthetic secrets from every protected output boundary. +3. Adds useful coverage for contextual account identifiers, private dates, and + messy or obfuscated PII. +4. Uses Privacy Filter's typed spans without allowing model labels to own + application policy. +5. Matches the pinned reference tokenizer, label mapping, calibrated BIOES + decoder, and UTF-8 source offsets. +6. Runs within agreed CPU, memory, startup, bundle-size, and long-input budgets + on every advertised native platform. +7. Loads one detector once per process and never silently falls back to a + different detector. +8. Can be installed, verified, rolled back, and eventually retired using the + existing trusted model lifecycle. + +If any hard safety gate fails, the production default remains DistilBERT. A +larger-model or enhanced profile may be considered later, but it must still +select one detector rather than constructing an ensemble. + +## Normative language and evidence rules + +The words **must**, **must not**, **required**, and **blocking** define release +conditions. **Should** describes a preferred implementation that may change +through normal review without weakening a gate. + +Gate evidence must be: + +- generated from synthetic, repository-owned inputs; +- reproducible from an immutable source and model revision; +- attributable to a git commit, corpus hash, model hash, runtime version, + platform, and hardware profile; +- produced by checked-in test or benchmark code; +- retained as normal regression coverage or as a release CI artifact; and +- free from Help Scout, production, developer-machine, or real credential data. + +Published upstream benchmark scores are background evidence only. They do not +satisfy an hs-cli gate. A benchmark result without its input profile, warm/cold +state, thread count, device, runtime, and hardware identity is informational +and cannot approve a phase. + +No threshold may be relaxed after seeing a failing candidate result without a +separate reviewed commit explaining the product trade-off. The changed +threshold then applies only to a fresh evaluation run. + +## Scope + +### In scope + +- Replacing the DistilBERT residual name detector with Privacy Filter. +- Adding backend-neutral typed span contracts. +- Handling all eight upstream categories through hs-cli policy. +- Giving secret the strongest non-linkable replacement policy. +- Preserving deterministic identities for known people and appropriate unknown + people. +- Building a pinned Docker reference/oracle environment. +- Implementing and verifying a native Go/ONNX adapter. +- Adding permanent quality, security, parity, release, and performance tests. +- Supporting an explicit preview, rollback, default migration, and retirement + sequence. +- Evaluating q4 and q4f16 separately. + +### Out of scope for the initial replacement + +- Sending unredacted text to any hosted model or API. +- Running DistilBERT and Privacy Filter as a production ensemble. +- Replacing exact regex, structured JSON, identity, mode, or diagnostic policy. +- Building a cross-conversation identity graph for unknown third parties. +- Treating model output as a compliance guarantee. +- Training on Help Scout or production conversations. +- Requiring Python or Docker to run the normal hs binary. +- Advertising Windows inference before a real native runtime smoke passes. + +Optional domain adaptation is a later phase in this plan. It cannot be used to +make the initial replacement look successful on a test set that also influenced +training. + +## Capability benefit traceability + +| Expected benefit | Evidence that proves it | Blocking gate | +|---|---|---| +| New high-risk coverage, especially secrets, account identifiers, and private dates | Typed detector and final-output corpus | G4 and G5 | +| Better handling of messy, contextual, and obfuscated PII | Adversarial, formatting, multilingual, and preservation slices | G4 | +| Category-aware product policy | Mode/action matrix and backend-neutral SpanKind contract | G0, G1, and G5 | +| Ability to adapt open weights to the support domain | Frozen synthetic train/holdout branch that repeats all affected gates | Optional adaptation branch | + +The initial migration must prove the first three benefits without fine-tuning. +Adaptation is an option, not a way to bypass a weak zero-shot result. + +## Immutable product policy + +These decisions must be frozen before adapter work so model behavior cannot +silently redefine the product. + +### Modes + +| Situation | Required behavior | +|---|---| +| ModeOff display redaction | Exact pass-through; do not initialize or call a detector | +| ModeCustomers known customer | Preserve current deterministic customer pseudonym behavior | +| ModeCustomers known staff person span | Preserve staff identity as the current contract requires | +| ModeCustomers unknown third party | Redact as an unknown private person | +| ModeCustomers secret | Always redact; attribution never protects a credential | +| ModeAll private span | Redact according to its typed policy | +| Persistent diagnostics | Sanitize independently of display mode and --unredacted | + +Mode-off pass-through does not weaken the independent diagnostic contract. +Debug persistence continues to invoke its strongest sanitization boundary. + +### Typed replacement policy + +| Domain span | Required initial replacement | +|---|---| +| Known person | Existing deterministic identity derived from the known identity key | +| Unknown private person | Existing deterministic fake-person behavior scoped to the source name | +| Secret | Constant non-linkable marker such as [REDACTED_SECRET] | +| Account number | Existing keyed deterministic typed token | +| Private date | Keyed deterministic typed token | +| Address, email, phone, URL | Reconcile with known identity policy, then use existing deterministic typed handling | + +The literal marker may be finalized in Phase 0, but secret values must never be +HMAC inputs for a user-visible stable token. Linkability is useful for people +and some identifiers; it is an unnecessary disclosure for credentials. + +### Failure behavior + +The selected detector is mandatory whenever free text requires ML inspection. +Any of the following must discard partial predictions and hide the affected +free-text field using the established fail-closed notice: + +- model unavailable, corrupt, unsupported, or untrusted; +- tokenizer failure or source/token round-trip mismatch; +- incomplete or timed-out window inference; +- invalid class count, label map, calibration, or decoder state; +- invalid, reversed, overlapping-invalid, out-of-range, or non-UTF-8-boundary + source span; +- panic or native runtime error; or +- selected-backend initialization failure. + +The runtime must not silently retry with DistilBERT. An operator may explicitly +select or roll back to a trusted DistilBERT bundle in a later invocation, but a +coverage-changing fallback is never automatic. + +## Target architecture + +The target execution path is: + + Help Scout payload + | + +-- classify resource and collect known identities + | + +-- original free text + | + +-- selected SpanDetector (exactly one process-owned instance) + | + +-- normalize and validate UTF-8 byte spans + | + +-- reconcile mode, known identities, and typed policy + | + +-- render deterministic identities / typed tokens / secret marker + | + +-- deterministic regex defence-in-depth sweep + | + +-- fail-closed presentation boundary + +Detection always sees the unmodified original text. Policy and rendering happen +after source spans are validated. The model adapter maps upstream labels into +domain-owned kinds; no OpenAI label string should escape the adapter package. + +The intended interface is conceptually: + + type SpanKind string + + type DetectedSpan struct { + Kind SpanKind + Start int // UTF-8 byte offset in the original input + End int // exclusive UTF-8 byte offset in the original input + Score float32 + } + + type SpanDetector interface { + Detect(context.Context, string) ([]DetectedSpan, error) + } + +The concrete API may evolve during review. Its non-negotiable properties are +explicit byte offsets, typed spans, cancellation, complete-result semantics, +and no dependency from internal/pii onto upstream model packages. + +## Test and evidence topology + +The migration requires three deliberately separate test lanes. + +### Lane A — hermetic tests on every pull request + +These tests must run under the existing go test ./... job without network, +Docker, Python, or model weights. They use: + +- fake detector outputs; +- checked-in synthetic policy fixtures; +- canned logits for decoder tests; +- checked-in oracle span goldens; +- corrupt and boundary-case fixtures; and +- deterministic performance-independent contract assertions. + +This lane owns policy, rendering, offset, fail-closed, mode, identity, +serialization, and command-boundary regressions. + +### Lane B — real-model quality and release smoke + +This lane runs in a repo-owned Docker reference environment and on each native +supported platform. It uses pinned model artifacts supplied through the trusted +installer or CI cache. It must never download a moving main revision. + +It owns: + +- official Python reference predictions; +- q4 and q4f16 quality comparison; +- native ONNX parity; +- real tokenizer and decoder behavior; +- multilingual and adversarial corpus evaluation; and +- real bundle installation and inference smoke. + +It should run on workflow dispatch, model-related pull requests, a scheduled +cadence, and every PII model release tag. Normal unit jobs continue to skip real +inference when no trusted model directory is supplied. + +### Lane C — controlled performance regression + +Performance gates must run on named, stable hardware profiles. Shared hosted +runner results may be recorded for trend information but must not be the only +blocking evidence because host contention makes them noisy. + +The benchmark harness, workloads, budgets, and result schema remain checked in. +Individual reports are retained as CI artifacts and the approved release +baseline is committed as a small metadata record. Raw model files and large +reports are not committed. + +### Sequential comparison rule + +When a workflow compares backends, it must start each backend in a separate +process, record its result, terminate it, and then run the other backend. This +proves comparable behavior without hiding accidental ensemble initialization or +inflating memory measurements. + +## Corpus design + +The existing multilingual corpus will be retained for compatibility and +expanded through a versioned typed corpus rather than silently changing schema +1 expectations. + +Proposed repository layout: + + internal/pii/testdata/privacy-filter/v1/ + policy.json + secrets.json + contextual-identifiers.json + multilingual.json + adversarial.json + preservation.json + long-input.json + command-payloads/ + oracle/ + reference-spans.json + q4-spans.json + q4f16-spans.json + performance/ + workloads.json + budgets.json + approved-baseline.json + +Every case must include: + +- stable case ID and corpus schema; +- language, script, content shape, and risk tier; +- exact original text made solely from synthetic values; +- expected UTF-8 byte spans and domain kind; +- expected action for off, customers, and all where relevant; +- known customer/staff identity context; +- strings that must be absent from final output; +- strings that must remain present; +- whether exact-span or covering-span matching is required; and +- a short reason for the privacy or preservation expectation. + +Fixture loaders must reject duplicate IDs, unknown fields, invalid UTF-8, +invalid byte boundaries, overlapping contradictory expectations, and expected +values absent from the source. + +### Secret fixture families + +The secret corpus is the highest-priority gate and must include safe, +non-functional examples of: + +- API keys and access tokens; +- OAuth bearer and refresh tokens; +- passwords in prose, JSON, YAML, shell-like assignments, and URLs; +- JWT-shaped values; +- one-time passwords, recovery codes, PINs, and temporary passwords; +- private-key and certificate-key blocks; +- database connection strings with embedded credentials; +- cookies, authorization headers, and webhook signing secrets; +- cloud, source-control, payment, and observability credential shapes; +- values split by punctuation, whitespace, Markdown, HTML, or line wrapping; +- quoted replies, stack traces, logs, and code blocks; +- a developer's secret mentioned by a customer; and +- repeated and overlapping secret candidates. + +Preservation fixtures must contain hashes, public IDs, package versions, +example placeholders, redacted markers, documentation literals, checksums, and +operational numbers that should not be classified as secrets. + +No fixture may be a live credential. Synthetic values should use reserved test +domains and deliberately non-routable/non-authentic material while retaining +enough surrounding context to exercise contextual detection. Repository secret +scanning must remain enabled. + +### Other new coverage + +The typed corpus must also cover: + +- generic customer, project, subscription, government, and financial account + identifiers that current regexes do not recognize; +- birth dates, appointment dates, and other private dates; +- release dates and public event dates that should survive; +- obfuscated email and phone forms; +- incomplete and international addresses; +- usernames, handles, nicknames, and third parties such as a developer copied + into a customer conversation; +- public people, company names, products, cities, and business addresses; +- all scripts already protected by Contract 14; and +- long content with private context near and far from the value. + +## Gate summary + +| Gate | Decision | Blocking evidence | +|---|---|---| +| G0 Policy freeze | We know what each typed span means | Reviewed corpus schema, mode matrix, secret policy, fixed budgets | +| G1 Behavior-preserving seam | The architecture can swap detectors safely | Existing suite, generic detector contract, lifecycle and exact-output tests | +| G2 Reference reproducibility | The upstream behavior is pinned and repeatable | Hashed Docker oracle, immutable revisions, deterministic golden generation | +| G3 Native parity | Go/ONNX implements the intended model contract | Tokenizer, logits, BIOES/Viterbi, offset, q4/q4f16 parity tests | +| G4 Privacy quality | The candidate improves protection without unacceptable loss | Locked detector and end-to-end quality corpus | +| G5 Secret safety | Credentials cannot escape protected boundaries | Critical secret corpus, output/log/error/argv tests, failure injection | +| G6 Performance and footprint | The replacement fits the product | Controlled cold/warm latency, RSS, size, concurrency and longevity tests | +| G7 Platform and supply chain | Every advertised bundle is executable and trusted | Native smoke, manifest, installer, rollback and release workflow tests | +| G8 Preview readiness | Opt-in use is safe and observable | Backend selection, command matrix, one-detector and fail-closed tests | +| G9 Preview exit | The opt-in backend is ready to become the default | Stable preview evidence and rollback drill | +| G10 Default and retirement | DistilBERT can stop being the default | Default, upgrade, rollback-window, and cache tests | + +Every gate has only three states: not-run, pass, or fail. An invalid or +incomplete benchmark is not-run, never pass. + +## Phase 0 — freeze policy, corpus, metrics, and budgets + +### Goal + +Create the test contract before implementation results can influence it. + +### Entry criteria + +- The research evaluation is reviewed. +- The one-detector replacement direction is accepted. +- The existing hardening contract is green on main. + +### Work + +1. Add domain kinds for the eight Privacy Filter categories to the test schema. +2. Record the mode and replacement matrices in executable fixtures. +3. Add the typed corpus partitions described above. +4. Add a schema validator and metric calculator. +5. Run the current DistilBERT-plus-regex pipeline to produce a baseline report. +6. Freeze proposed performance workloads and budgets before running Privacy + Filter. +7. Record exact existing deterministic outputs for known identities. + +### Permanent tests + +- TestPrivacyCorpusSchemaIsStrictAndSelfConsistent +- TestPrivacyCorpusContainsRequiredRiskLanguageAndFormatSlices +- TestSecretFixturesContainOnlyDeclaredSyntheticMaterial +- TestTypedPolicyMatrixCoversEveryModeAndSpanKind +- TestExistingPIIContractAgainstTypedCorpus +- existing critical, high, medium, and follow-up regression tests + +### G0 pass criteria + +- Every fixture validates and every required slice has at least one redact and + one preservation case. +- Every secret family has a must-detect case and a near-miss preservation case. +- Existing deterministic known-identity outputs are recorded byte-for-byte. +- All existing PII and repository tests pass unchanged. +- Initial performance budgets below are explicitly accepted or replaced in a + reviewed commit before candidate measurement. +- Corpus and budget files have stable hashes in the baseline report. + +### Failure handling + +Missing or disputed policy is a design failure. Resolve the policy and fixtures; +do not begin model integration. A failure of the current pipeline is handled as +an independent regression before the candidate is evaluated. + +## Phase 1 — introduce a behavior-preserving detector seam + +### Goal + +Generalize the domain interface and detector lifecycle while retaining +DistilBERT as the only production backend and preserving output exactly. + +### Work + +1. Introduce SpanDetector, DetectedSpan, and domain-owned SpanKind types. +2. Adapt DistilBERT to emit SpanPerson through that interface. +3. Separate span validation, policy reconciliation, and rendering from model + inference. +4. Introduce a process-scoped detector provider that lazy-loads once, closes at + shutdown, and does nothing in ModeOff. +5. Add context cancellation and a panic/error boundary without permitting + partial output. +6. Preserve the current engine API until callers can migrate safely. + +### Permanent tests + +- TestSpanDetectorContractReturnsCompleteOriginalByteSpans +- TestDistilBERTAdapterPreservesCurrentNameBehavior +- TestSpanPolicyPreservesKnownCustomerIdentityOutput +- TestSpanPolicyProtectsKnownStaffOnlyWherePolicyAllows +- TestUnknownThirdPartyGetsDeterministicDisplayIdentity +- TestModeOffDoesNotConstructOrCallDetector +- TestDetectorProviderLoadsOneInstanceAcrossMultipleEngines +- TestDetectorProviderClosesExactlyOnce +- TestDetectorErrorPanicAndCancellationFailClosed +- TestInvalidTypedSpansFailClosed +- existing command, JSON, pseudonym, multilingual, race, and release tests + +### G1 pass criteria + +- go test ./..., go vet ./..., and repository race jobs pass. +- All existing PII outputs are byte-for-byte unchanged for the locked corpus. +- A display-only ModeOff invocation with persistent diagnostics disabled + constructs zero detectors and changes zero bytes. +- Ten or more engines/requests in one process construct one detector. +- Error, cancellation, and panic injection reveal no portion of an uninspected + free-text field. +- On the controlled baseline host, the refactor alone changes warm p95 latency + by no more than 10% and steady RSS by no more than 5% or 16 MiB, whichever is + greater. + +### Failure handling + +This phase cannot be waived as a model trade-off because it is intended to be +behavior preserving. Fix the abstraction or lifecycle regression before +proceeding. + +## Phase 2 — build the pinned reference oracle + +### Goal + +Make upstream behavior reproducible without adding Python or Docker to the +normal product runtime. + +### Work + +1. Add a repo-owned Dockerfile and lock file for the official Python runtime. +2. Pin the reviewed OpenAI source, model, tokenizer, calibration, and ONNX + revisions by immutable identity and SHA-256. +3. Run the original/reference weights, q4, and q4f16 in separate processes. +4. Emit structured labels, character spans, scores, token IDs, offsets, and + decoder metadata using a strict repository-owned schema. +5. Convert reference character offsets to explicit fixture byte offsets only in + a tested boundary layer. +6. Add an intentional golden-update command that refuses a dirty tree and + records every source hash. +7. Disable network access after the verified image/model preparation step. + +The initial spike starts from the identities reviewed in the companion +evaluation: OpenAI source commit +f7f00ca7fb869683eb732c010299d901457f19c3, model repository commit +7ffa9a043d54d1be65afb281eddf0ffbe629385b, and its recorded ONNX export commit +454bcac971532e0fa5863b7043d04d5bb573cd0e. Advancing any identity requires a +reviewed source-lock change and makes downstream goldens and gate results stale. + +Proposed paths: + + build/privacy-filter/Dockerfile + build/privacy-filter/compose.yml + build/privacy-filter/requirements.lock + scripts/privacy-filter-eval.sh + internal/pii/testdata/privacy-filter/v1/oracle/ + +### Permanent tests + +- TestReferenceOutputSchemaRejectsUnknownOrIncompleteData +- TestReferenceArtifactsMatchPinnedHashes +- TestReferenceOffsetsRoundTripEveryScript +- TestGoldenMetadataPinsModelTokenizerCalibrationAndSource +- Docker oracle smoke over a minimal synthetic category set +- reproducibility test that two clean runs produce identical structured spans + +### G2 pass criteria + +- A clean machine can reproduce the oracle goldens from reviewed immutable + inputs. +- Two runs for each variant produce identical typed spans and offsets. +- The image refuses an unexpected artifact, hash, class count, or calibration + schema. +- No network call occurs during inference or golden comparison. +- No non-synthetic input path is accepted by the standard evaluation command. +- The original, q4, and q4f16 reports identify their distinct artifacts; no + variant inherits another variant's score. + +### Failure handling + +A non-reproducible or moving oracle invalidates downstream evidence. Pin or fix +the harness and regenerate results. Do not hand-edit span goldens. + +## Phase 3 — implement the native Privacy Filter adapter + +### Goal + +Produce a Go/ONNX adapter that matches the pinned reference semantics and can be +selected without changing domain policy. + +### Work + +1. Validate ONNX Runtime operator and external-data support on every target. +2. Implement or adopt the exact tokenizer with source-offset preservation. +3. Validate the 33-class label map. +4. Implement BIOES constrained Viterbi decoding and all pinned calibration + biases. +5. Normalize reference character offsets to UTF-8 byte ranges. +6. Merge windows without duplicate, fragmented, lost, or silently truncated + spans. +7. Map upstream categories into domain-owned SpanKind values. +8. Make inference cancellation, serialization, and lifecycle explicit. +9. Keep q4 and q4f16 adapters independently testable until selection. + +### Permanent tests + +- TestTokenizerMatchesReferenceIDsTokensAndOffsets +- TestTokenizerRoundTripsAccentsCombiningMarksEmojiArabicAndHan +- TestViterbiDecoderMatchesCannedReferenceLogits +- TestViterbiRejectsIllegalBIOESTransitionsAndWrongClassCount +- TestCalibrationIsRequiredAndPinned +- TestPrivacyFilterAdapterMapsAllEightKinds +- TestPrivacyFilterAdapterMatchesReferenceSpans +- TestQ4AndQ4F16AreMeasuredIndependently +- TestWindowMergingPreservesBoundarySpans +- TestLongInputIsNeverSilentlyTruncated +- TestNativeErrorOrPartialWindowFailsClosed +- FuzzDetectedSpanByteBoundaries +- real-bundle native smoke for every supported target + +### G3 pass criteria + +- Decoder results match the reference exactly for all canned-logit fixtures. +- Token IDs and source offsets match exactly for the locked corpus. +- The native adapter and same-artifact oracle have 100% typed-span parity on + critical cases and at least 99.5% exact typed-span parity overall. +- Any remaining non-critical parity difference is reviewed and represented by + an explicit fixture before the gate can pass. +- q4 or q4f16 retains 100% critical covering-span recall and loses no more than + 0.5 percentage points of sensitivity-weighted F2 versus the original weights. +- All malformed model, calibration, tokenizer, offset, window, and runtime + conditions fail closed. +- At least one quantized variant passes real native smoke on every platform that + will continue to be advertised. + +### Failure handling + +First determine whether the failure belongs to the adapter or quantization. Fix +adapter parity defects. If q4 fails quality, evaluate q4f16. If both variants +fail parity, platform, or quality, reject the native migration rather than +shipping the Python reference or weakening the gate. + +## Phase 4 — prove privacy quality and useful coverage + +### Goal + +Demonstrate a material privacy improvement without unacceptable over-redaction +or regression in existing protection. + +Quality must be measured twice: + +1. Detector-only, so regexes cannot conceal a model miss. +2. End-to-end, so the actual rendered CLI boundary is proven safe. + +### Metrics + +- exact-span precision, recall, F1, and F2; +- covering-span recall for values where complete removal matters more than exact + boundaries; +- per-kind, risk-tier, language, script, format, and mode metrics; +- sensitivity-weighted false-negative score; +- preservation/over-redaction rate; +- deterministic identity compatibility; +- unknown-third-party handling; and +- final-output sentinel leak count. + +### G4 quality pass criteria + +| Measure | Required result | +|---|---| +| Existing hardening corpus | Zero regressions | +| Critical end-to-end values | Zero raw-value leaks | +| Existing person/name slices | No per-slice recall regression and complete current contract coverage | +| Secret detector recall | 100% on critical cases; at least 99% on the locked broad secret corpus | +| Secret covering-span recall | 100% on critical cases | +| Account/private-date recall | 100% on critical cases; at least 95% on broad cases | +| Existing email/phone/address/URL final coverage | No regression from the stronger current detector-plus-regex baseline | +| Multilingual/script contract | 100% of mandatory cases and no language slice more than 1 point below baseline | +| Sensitivity-weighted F2 | At least 2 percentage points above the current locked baseline | +| Preservation | At least 99% of preservation cases remain unchanged | +| Over-redaction | No more than 1% absolute and no more than 0.5 points above baseline | +| Deterministic known identities | 100% byte-for-byte compatibility | + +The broad corpus must be large enough that one case cannot move a percentage by +more than one point. Until then, percentage gates are not-run rather than +rounded into a pass. + +### Permanent tests + +- TestPrivacyFilterCriticalCorpusHasZeroDetectorMisses +- TestPrivacyFilterPipelineHasZeroCriticalLeaks +- TestPrivacyFilterSecretBroadCorpusMeetsRecallBudget +- TestPrivacyFilterPreservationCorpusMeetsBudget +- TestPrivacyFilterAccountAndPrivateDatePolicy +- TestPrivacyFilterMessyAndObfuscatedCorpus +- TestPrivacyFilterMultilingualSlicesDoNotRegress +- TestPrivacyFilterKnownIdentityCompatibility +- TestPrivacyFilterUnknownDeveloperIsRedactedWithoutCustomerLinkage +- deterministic metric/gate evaluator unit tests + +### Failure handling + +- Any critical leak is a hard stop. +- A regression caused by policy or rendering is fixed in the domain layer. +- A detector miss is fixed by a better artifact, safe pre/post-processing, or a + locked fixture-driven adaptation phase; it is not hidden by deleting the + case. +- Unacceptable over-redaction requires policy adjustment or candidate rejection. +- Failure limited to one advertised platform or language is still a replacement + failure unless support is explicitly narrowed before release and the existing + contract remains truthful. + +## Phase 5 — prove secret handling at every boundary + +### Goal + +Treat secrets as a separate security gate rather than relying on aggregate PII +quality. + +### Work + +1. Add a domain SpanSecret action that emits a constant, non-linkable marker. +2. Ensure secret rendering occurs before any output, logging, error formatting, + clipboard/export, MCP, or debug persistence boundary can observe raw text. +3. Ensure a staff identity protection rule cannot protect an adjacent or owned + secret. +4. Scrub protected input and detector/runtime errors independently of successful + inference. +5. Add safe counts only if they contain no values, fragments, hashes, or stable + correlation identifiers. +6. Verify failure paths with secret-bearing synthetic sentinels. + +### Permanent tests + +- TestSecretUsesConstantNonLinkableReplacement +- TestRepeatedSecretDoesNotCreateStablePublicIdentity +- TestCustomersModeRedactsCustomerStaffAndThirdPartySecrets +- TestModeOffSkipsDisplayDetectorButDiagnosticsStillSanitize +- TestSecretNeverAppearsInTableJSONCSVSourceOrRFC822 +- TestSecretNeverAppearsInMCPOutputOrChildArgv +- TestSecretNeverAppearsInDebugLogsErrorsOrPanicRecovery +- TestSecretDetectorFailureHidesEntireFreeTextField +- TestOverlappingSecretAndAccountSpanCannotLeakSuffix +- FuzzSecretSentinelNeverSurvivesRedactingModes + +### G5 pass criteria + +- Every critical secret is absent from detector output rendering, all command + formats, MCP responses, argv, stdout, stderr, errors, and persistent debug + files. +- The complete original secret and every fixture-declared sensitive fragment + have zero occurrences after redaction. +- Secrets are redacted in customers and all, regardless of attribution. +- Display ModeOff makes no detector call and remains byte-exact, while the + independent diagnostic sanitizer still removes the secret. +- A detector/runtime failure exposes no partial field and no raw error context. +- Secret near-miss preservation meets the G4 preservation budget. +- Race and fuzz executions find no cross-request value reuse or leakage. + +### Failure handling + +Any failure blocks preview and release. It cannot be traded for performance, +overall F1, or an allowlist unless the fixture itself is proven to encode the +wrong product policy. + +## Phase 6 — prove performance, footprint, and one-model lifecycle + +### Goal + +Establish that the candidate remains practical for one-shot CLI use and +long-running MCP use without loading two neural models. + +### Workload profiles + +| Profile | Synthetic input | Primary measure | +|---|---|---| +| Subject | Up to 256 bytes | Warm interactive latency | +| Message | Approximately 2 KiB | Normal command latency | +| Thread | Approximately 20 KiB | Multi-message latency and windowing | +| Export | Approximately 100 KiB | Throughput, timeout, and peak RSS | +| Adversarial long | Dense tokens and awkward boundaries | No truncation and bounded failure | +| MCP longevity | 100 warm requests after warm-up | Reuse, RSS plateau, and race safety | +| MCP burst | Four concurrent 2 KiB requests | Queueing, serialization, and deadlock safety | + +Each benchmark records fresh-process load time, first inference, warm p50/p95/ +p99, CPU time, wall time, tokens and bytes per second, Go heap, process RSS, +thread count, artifact size, and detector-construction count. + +### Initial acceptance budgets + +These are product budgets, not predictions of model performance. Phase 0 may +replace them before candidate measurements. They apply to the agreed reference +CPU and must also pass the documented slowest supported profile unless a +platform-specific budget was frozen in advance. + +| Measure | Initial blocking budget | +|---|---| +| Fresh process detector readiness | p95 no more than 5 s reference; no more than 8 s slowest supported target | +| Warm subject | p95 no more than 250 ms | +| Warm 2 KiB message | p95 no more than 750 ms | +| Warm 20 KiB thread | p95 no more than 4 s | +| Warm 100 KiB export | p95 no more than 20 s and no timeout/truncation | +| Peak process RSS | No more than 2.0 GiB on the low-memory profile | +| Post-warm steady RSS | No more than 1.5 GiB | +| RSS growth across 100 requests | No more than 5% or 64 MiB, whichever is greater | +| Installed selected bundle | No more than 1.25 GiB including tokenizer and runtime | +| Compressed download | No more than 1.10 GiB | +| Detector construction | Exactly one when any protected path needs ML; zero for display-only ModeOff with diagnostics disabled | +| Four-request burst | Completes without deadlock within 5x single-request p95 | + +Performance sampling must include at least twenty fresh-process runs and one +hundred warm samples per input profile after explicit warm-up. A release gate uses a +clean controlled-host run. One automatic diagnostic rerun is allowed after +host-noise suspicion; conflicting runs leave the gate not-run, not pass. + +### Permanent tests and benchmarks + +- BenchmarkDetectorColdLoad +- BenchmarkDetectorWarmSubject +- BenchmarkDetectorWarmMessage +- BenchmarkDetectorWarmThread +- BenchmarkDetectorWarmExport +- TestPerformanceBudgetsSchemaAndHardwareProfile +- TestSelectedBackendConstructsExactlyOneNeuralDetector +- TestDistilBERTFactoryIsNotCalledWhenPrivacyFilterSelected +- TestPrivacyFilterFactoryIsNotCalledWhenDistilBERTSelected +- TestDisplayOnlyModeOffConstructsNoNeuralDetector +- TestDetectorRSSPlateausAcrossWarmRequests +- TestDetectorConcurrentRequestsCompleteAndCloseCleanly + +### G6 pass criteria + +- Every hard budget passes on every advertised reference profile. +- q4 and q4f16 reports are separate and the selected variant is named in the + result. +- No benchmark process loads both model artifacts. +- Normal command paths load the detector at most once per process. +- No deadlock, race, handle leak, unbounded native allocation, or goroutine + growth is observed. +- The approved baseline JSON and CI report contain enough metadata to reproduce + the run. + +### Failure handling + +Optimize lifecycle, windowing, thread configuration, or evaluate the other +quantized variant, then rerun all quality and performance gates. If the hard +budgets still fail, reject the universal replacement. A separately selected +enhanced profile is an acceptable future proposal; loading both detectors is +not. + +## Phase 7 — integrate preview selection and trusted bundles + +### Goal + +Make the candidate usable by explicit opt-in while preserving fail-closed and +supply-chain guarantees. + +### Work + +1. Add a backend-aware trusted manifest containing backend, upstream revision, + quantization, tokenizer, calibration, decoder schema, runtime, platform, + file hashes, exact sizes, and defensive bounds. +2. Teach installer and status commands to identify a selected backend and + verified bundle. +3. Add an explicit preview selection mechanism. Selection controls which one + detector factory may run. +4. Keep DistilBERT as the production default during preview. +5. Extend transactional download, staging, runtime validation, promotion, and + rollback tests for large external-data files. +6. Extend every table, JSON, JSON-full, CSV, source, RFC822, MCP, and diagnostic + path through the generic policy contract. +7. Make an unavailable selected backend fail closed with an actionable status; + never fall back silently. + +### Permanent tests + +- TestBackendSelectionLoadsOnlySelectedDetector +- TestSelectedPrivacyFilterUnavailableFailsClosedWithoutFallback +- TestBackendAwareManifestRejectsUnknownSchemaAndArtifacts +- TestPrivacyFilterInstallerEnforcesExternalDataBounds +- TestPrivacyFilterInstallerIsTransactionalAndRollbackSafe +- TestPrivacyFilterStatusReportsExactTrustedIdentity +- TestPrivacyFilterAllOutputFormatsSharePresentationBoundary +- TestPrivacyFilterMCPAndDirectCLIOutputsMatch +- TestPrivacyFilterStructuredIdentityCompatibility +- native release smoke on Linux and macOS amd64/arm64 + +### G7 and G8 pass criteria + +- Every advertised platform installs and executes the exact trusted bundle on a + native runner. +- Archive and installed artifacts match reviewed hashes and size bounds. +- Failed install, smoke, or promotion leaves the prior trusted installation + untouched. +- Preview selection loads Privacy Filter only; default selection loads + DistilBERT only. Display-only mode off with diagnostics disabled loads neither; + independently sanitized diagnostics may use the same single selected detector. +- All protected output formats pass the critical corpus. +- Selected-backend unavailability is observable and fail-closed. +- Rollback to the prior trusted backend is exercised end to end. +- Docker and Python remain evaluation/release dependencies only. + +### Failure handling + +A platform with no native smoke is unsupported. A manifest, installer, output +boundary, or silent-fallback failure blocks preview. Large-file distribution +limits must be solved in the release design, not bypassed with unverified +downloads. + +## Phase 8 — opt-in preview and release observation + +### Goal + +Exercise the complete installation and runtime path before changing the default +without collecting raw user content. + +### Work + +1. Publish Privacy Filter as an explicitly documented preview backend. +2. Publish download, disk, memory, startup, supported-platform, and rollback + expectations. +3. Run the full gate workflow on every candidate tag and scheduled cadence. +4. Collect only explicit operator reports and non-sensitive CI evidence; do not + add raw-content telemetry. +5. Keep one stable release cycle and at least fourteen calendar days available + for preview use before proposing a default change. +6. Perform a documented rollback drill using released artifacts. + +### G9 preview-exit criteria + +- At least one normal release has shipped the opt-in backend. +- The latest release artifacts pass all G0-G8 gates without waivers. +- No confirmed critical leak, corrupt-install, silent fallback, unbounded + resource, or deterministic-identity compatibility defect remains open. +- Any confirmed defect has a checked-in synthetic regression before closure. +- The rollback drill succeeds from installed Privacy Filter to trusted + DistilBERT without loading both in one process. +- Documentation and support guidance match actual platform behavior. + +### Failure handling + +Keep DistilBERT as default. Fix the defect, add its permanent regression, publish +a new preview candidate, and restart the observation window for critical or +release-integrity failures. + +## Phase 9 — make Privacy Filter default and retire DistilBERT + +### Goal + +Complete the replacement after all evidence is durable. + +### Work + +1. Change new installs to select the approved Privacy Filter bundle. +2. Preserve an explicit rollback path for one stable release without automatic + fallback or concurrent loading. +3. Test upgrades with absent, ready, corrupt, and legacy DistilBERT caches. +4. Remove DistilBERT as a selectable production backend only after the rollback + window and support decision are complete. +5. Remove obsolete model preparation and runtime code in a separate, reviewable + cleanup change. +6. Keep generic detector, corpus, parity goldens, quality gates, secret tests, + performance budgets, and release smoke permanently. + +### Permanent tests + +- TestDefaultBackendIsApprovedPrivacyFilterRevision +- TestUpgradeDoesNotTreatLegacyBundleAsPrivacyFilter +- TestDefaultInstallAndSmokePrivacyFilter +- TestExplicitRollbackLoadsOnlyDistilBERT +- TestLegacyCacheCleanupIsBoundedAndSafe +- TestReleaseContainsOneSelectedModelBundlePerBackendAsset +- all G0-G9 tests and benchmarks + +### G10 final pass criteria + +- The default release repeats every gate against the exact released artifacts. +- Upgrade, clean install, rollback, and cache cleanup pass on every platform. +- The shipped process loads exactly one detector whenever a protected path + requires ML. Display-only ModeOff loads none; an independently sanitized + diagnostic path may initialize that same single selected detector. +- Removing DistilBERT code does not change deterministic display identities or + any non-detector PII contract. +- The regression and performance suites remain runnable without the retired + implementation. + +### Failure handling + +Revert the default selection through a normal release and retain the failing +fixture. Do not reintroduce a silent fallback or ensemble to mask the defect. + +## Optional adaptation branch — synthetic domain adaptation + +Open weights make domain adaptation possible, but it is not required for the +initial replacement. It may be considered only after the base-model evaluation +infrastructure is trustworthy. + +### Additional rules + +- Training uses synthetic data only unless a separate privacy and legal process + authorizes another source. +- Training and locked holdout cases are disjoint by template, value, and context. +- The holdout corpus hash is frozen before training. +- The resulting weights are a new model revision with a new trusted manifest. +- All parity, quality, secret, multilingual, performance, platform, installer, + preview, and rollback gates repeat. +- The adaptation must improve its declared target slice by at least 2 F2 points + without violating any existing gate. + +A fine-tune that merely memorizes fixtures, reduces preservation, or requires +real customer data fails. + +## CI workflow design + +The implementation should evolve CI into the following shape. + +### Existing test workflow + +Every pull request continues to run: + + go test ./... + go vet ./... + bash ./scripts/test-race.sh + +It gains hermetic corpus, policy, decoder, offset, golden, selection, and +failure-injection tests. It performs no model download. + +### Privacy Filter evaluation workflow + +A new model-focused workflow should run on: + +- changes to PII adapters, policy, corpus, model locks, installer, or evaluator; +- manual dispatch; +- a scheduled cadence; and +- model release candidates. + +Jobs should be separated into: + +1. Verify immutable source locks and build the reference image. +2. Generate/compare original, q4, and q4f16 oracle reports sequentially. +3. Run native parity and quality on the Linux reference host. +4. Run controlled performance on named hardware. +5. Run native smoke on Linux and macOS amd64/arm64. +6. Publish only synthetic reports and metadata. + +### Model release workflow + +The existing pii-model.yml remains the release authority and must be extended +only after preview integration. A release cannot be created until build, trust, +native smoke, quality, secret, performance, and rollback jobs all pass for the +same immutable candidate manifest. + +## Gate result record + +Each candidate should produce one small machine-readable summary with this +conceptual shape: + + { + "schema": 1, + "git_commit": "...", + "corpus_sha256": "...", + "budget_sha256": "...", + "backend": "privacy-filter", + "model_revision": "...", + "variant": "q4", + "tokenizer_sha256": "...", + "calibration_sha256": "...", + "runtime_version": "...", + "platform": "linux-amd64", + "hardware_profile": "...", + "gates": { + "G0": "pass", + "G1": "pass", + "G2": "pass", + "G3": "pass", + "G4": "pass", + "G5": "pass", + "G6": "pass", + "G7": "pass", + "G8": "pass", + "G9": "pass", + "G10": "pass" + } + } + +The real schema will include metric values and evidence artifact names. The +evaluator must calculate gate states; a workflow must not declare pass by +manually setting a label. + +## Failure taxonomy and decision rules + +| Failure class | Examples | Required response | +|---|---|---| +| Safety blocker | Raw secret/PII survives; mode or diagnostic contract breaks | Stop; fix and add permanent regression | +| Correctness blocker | Offset, decoder, partial result, overlap, identity compatibility | Fix implementation; rerun all downstream gates | +| Candidate-quality failure | Model misses locked cases or over-redacts beyond budget | Try reviewed variant/adaptation or reject candidate | +| Performance failure | Latency, RSS, size, load count, leak, or deadlock exceeds budget | Optimize/retest, offer separately selected profile, or reject | +| Platform failure | No native runtime or smoke | Do not advertise platform; universal replacement normally fails | +| Supply-chain failure | Moving source, hash mismatch, unsafe archive, non-atomic install | Stop release; restore trusted reproducibility | +| Infrastructure-invalid | Noisy host, incomplete report, wrong hardware, cache contamination | Mark not-run; repair and rerun | + +Downstream gate results become stale whenever model weights, tokenizer, +calibration, decoder, windowing, ONNX Runtime, policy, corpus, or rendering +changes. CI should encode those dependencies and force re-evaluation. + +## Regression retention rules + +1. Every confirmed privacy or runtime defect receives the smallest synthetic + reproducer before it is considered fixed. +2. Critical fixtures are never deleted to improve a score. +3. A changed policy moves a fixture only through a reviewed decision explaining + the expected user-visible behavior. +4. Golden updates require the explicit generator, pinned metadata, and a human- + readable diff of typed spans. +5. Performance budgets live in source control; CI results do not rewrite them. +6. Model tests never call Help Scout or OpenAI services. +7. Tests and logs must not print full secret fixtures on failure. Report case ID, + kind, offsets, and safe hashes only where necessary. +8. Fuzz failures are minimized and checked in as deterministic regressions. +9. Retiring DistilBERT does not retire the baseline reports used to explain the + migration decision. +10. The hardening contract remains normative over this plan. + +## Suggested implementation sequence + +Keep changes reviewable and avoid mixing policy, model runtime, and rollout in +one pull request: + +1. Corpus schema, secret policy, metric evaluator, and frozen budgets. +2. Generic span contract and behavior-preserving DistilBERT adapter. +3. Process-scoped single-detector lifecycle. +4. Pinned Docker reference/oracle and golden tooling. +5. BIOES/Viterbi decoder and tokenizer/offset tests. +6. Native q4/q4f16 adapters and parity evidence. +7. End-to-end quality and secret boundary regressions. +8. Controlled performance harness and selected-variant decision. +9. Backend-aware manifest, installer, status, and preview selection. +10. Native release matrix and rollback drill. +11. Opt-in release and observation. +12. Default switch, rollback window, and later DistilBERT retirement. + +Each change should name the gates it advances and include the permanent tests +that create its evidence. + +## Definition of done + +The migration is complete only when: + +- Privacy Filter is the default residual detector; +- DistilBERT is not loaded in a Privacy Filter process; +- all permanent gates pass against the released artifacts; +- secret handling is proven across every output and failure boundary; +- deterministic identities remain compatible; +- quality and performance evidence is reproducible; +- installation and rollback are trusted and tested; +- the old detector can be retired without deleting the generic regression + suite; and +- the evaluation, this plan, development documentation, and user-facing model + expectations match the shipped behavior. + +Until then, the current detector remains the production default. + +## Primary references + +- [OpenAI: Introducing OpenAI Privacy Filter](https://openai.com/index/introducing-openai-privacy-filter/) +- [OpenAI Privacy Filter model card](https://cdn.openai.com/pdf/c66281ed-b638-456a-8ce1-97e9f5264a90/OpenAI-Privacy-Filter-Model-Card.pdf) +- [OpenAI Privacy Filter source repository](https://github.com/openai/privacy-filter) +- [OpenAI Privacy Filter model repository](https://huggingface.co/openai/privacy-filter) +- [hs-cli OpenAI Privacy Filter evaluation](openai-privacy-filter-evaluation.md) +- [hs-cli PII redaction hardening contract](pii-redaction-hardening-contract.md) From 3cfaf7773c397753d8595d0fc13e20fd5ea5a755 Mon Sep 17 00:00:00 2001 From: Ross Morsali Date: Fri, 17 Jul 2026 13:17:30 +0200 Subject: [PATCH 19/34] docs: expand Privacy Filter variant benchmarks --- docs/openai-privacy-filter-migration-plan.md | 200 ++++++++++++++++--- 1 file changed, 168 insertions(+), 32 deletions(-) diff --git a/docs/openai-privacy-filter-migration-plan.md b/docs/openai-privacy-filter-migration-plan.md index 458a3e7..d95a745 100644 --- a/docs/openai-privacy-filter-migration-plan.md +++ b/docs/openai-privacy-filter-migration-plan.md @@ -104,7 +104,9 @@ threshold then applies only to a fresh evaluation run. - Adding permanent quality, security, parity, release, and performance tests. - Supporting an explicit preview, rollback, default migration, and retirement sequence. -- Evaluating q4 and q4f16 separately. +- Inventorying and comparing the original safetensors checkpoint and every + published ONNX export: default, fp16, generic quantized, q4, and q4f16. +- Packaging exactly one approved model variant in each production bundle. ### Out of scope for the initial replacement @@ -260,7 +262,7 @@ installer or CI cache. It must never download a moving main revision. It owns: - official Python reference predictions; -- q4 and q4f16 quality comparison; +- original, default ONNX, fp16, generic-quantized, q4, and q4f16 comparison; - native ONNX parity; - real tokenizer and decoder behavior; - multilingual and adversarial corpus evaluation; and @@ -307,6 +309,9 @@ Proposed repository layout: command-payloads/ oracle/ reference-spans.json + onnx-default-spans.json + fp16-spans.json + generic-quantized-spans.json q4-spans.json q4f16-spans.json performance/ @@ -382,7 +387,7 @@ The typed corpus must also cover: | G0 Policy freeze | We know what each typed span means | Reviewed corpus schema, mode matrix, secret policy, fixed budgets | | G1 Behavior-preserving seam | The architecture can swap detectors safely | Existing suite, generic detector contract, lifecycle and exact-output tests | | G2 Reference reproducibility | The upstream behavior is pinned and repeatable | Hashed Docker oracle, immutable revisions, deterministic golden generation | -| G3 Native parity | Go/ONNX implements the intended model contract | Tokenizer, logits, BIOES/Viterbi, offset, q4/q4f16 parity tests | +| G3 Native parity | Go/ONNX implements the intended model contract | Tokenizer, logits, BIOES/Viterbi, offset, and per-variant parity tests | | G4 Privacy quality | The candidate improves protection without unacceptable loss | Locked detector and end-to-end quality corpus | | G5 Secret safety | Credentials cannot escape protected boundaries | Critical secret corpus, output/log/error/argv tests, failure injection | | G6 Performance and footprint | The replacement fits the product | Controlled cold/warm latency, RSS, size, concurrency and longevity tests | @@ -507,7 +512,8 @@ normal product runtime. 1. Add a repo-owned Dockerfile and lock file for the official Python runtime. 2. Pin the reviewed OpenAI source, model, tokenizer, calibration, and ONNX revisions by immutable identity and SHA-256. -3. Run the original/reference weights, q4, and q4f16 in separate processes. +3. Run the original safetensors checkpoint and the default, fp16, generic- + quantized, q4, and q4f16 ONNX exports in separate processes. 4. Emit structured labels, character spans, scores, token IDs, offsets, and decoder metadata using a strict repository-owned schema. 5. Convert reference character offsets to explicit fixture byte offsets only in @@ -549,8 +555,9 @@ Proposed paths: schema. - No network call occurs during inference or golden comparison. - No non-synthetic input path is accepted by the standard evaluation command. -- The original, q4, and q4f16 reports identify their distinct artifacts; no - variant inherits another variant's score. +- Every published variant has a distinct report identifying its artifact, + footprint, runtime, quality metrics, and intended disposition; no variant + inherits another variant's score. ### Failure handling @@ -576,7 +583,9 @@ selected without changing domain policy. spans. 7. Map upstream categories into domain-owned SpanKind values. 8. Make inference cancellation, serialization, and lifecycle explicit. -9. Keep q4 and q4f16 adapters independently testable until selection. +9. Keep every published ONNX variant independently selectable in the evaluation + harness until its disposition is recorded. Only variants that pass the + distribution budget proceed as release candidates. ### Permanent tests @@ -587,6 +596,9 @@ selected without changing domain policy. - TestCalibrationIsRequiredAndPinned - TestPrivacyFilterAdapterMapsAllEightKinds - TestPrivacyFilterAdapterMatchesReferenceSpans +- TestEveryPublishedVariantHasAnIndependentEvaluation +- TestPublishedVariantInventoryMatchesPinnedSourceLock +- TestVariantResultsCannotInheritAnotherArtifactIdentity - TestQ4AndQ4F16AreMeasuredIndependently - TestWindowMergingPreservesBoundarySpans - TestLongInputIsNeverSilentlyTruncated @@ -602,6 +614,9 @@ selected without changing domain policy. critical cases and at least 99.5% exact typed-span parity overall. - Any remaining non-critical parity difference is reviewed and represented by an explicit fixture before the gate can pass. +- Every published variant has a locked artifact-size, load-compatibility, + quality, and reference-hardware result even if it is later marked + non-shippable. - q4 or q4f16 retains 100% critical covering-span recall and loses no more than 0.5 percentage points of sensitivity-weighted F2 versus the original weights. - All malformed model, calibration, tokenizer, offset, window, and runtime @@ -611,10 +626,14 @@ selected without changing domain policy. ### Failure handling -First determine whether the failure belongs to the adapter or quantization. Fix -adapter parity defects. If q4 fails quality, evaluate q4f16. If both variants -fail parity, platform, or quality, reject the native migration rather than -shipping the Python reference or weakening the gate. +First determine whether the failure belongs to the adapter, export, runtime, or +quantization. Fix adapter parity defects. The larger exports remain diagnostic +comparators even when they exceed the product size budget. If q4 and q4f16 both +fail parity, platform, quality, or hardware gates, reject the default migration +under the current budgets rather than silently shipping a multi-gigabyte +variant, the Python reference, or a weakened gate. Raising the user hardware or +download requirement needs a separate reviewed product decision followed by a +fresh gate run. ## Phase 4 — prove privacy quality and useful coverage @@ -746,6 +765,107 @@ wrong product policy. Establish that the candidate remains practical for one-shot CLI use and long-running MCP use without loading two neural models. +### What the larger artifacts imply + +The files are unquestionably much larger than the current model, so download, +disk use, cold file reads, and likely resident memory will increase materially. +Inference CPU cost cannot be inferred from file size alone. Privacy Filter has +approximately 1.5 billion total parameters but activates approximately 50 +million per token, and the exports use different numeric representations and +operators. Sparse activation may keep warm inference practical even while +startup and memory become more demanding. + +The plan therefore treats better-hardware requirements as a hypothesis to +measure, not an assumption to publish. A default migration fails if it needs +more than the frozen minimum profile or exceeds a hard budget. Raising the +minimum hardware requirement is a separate product decision, not an automatic +benchmark adjustment. + +### Published variant inventory + +The following totals are from the immutable model revision pinned in Phase 2. +Core totals include the checkpoint or ONNX graph and external data, tokenizer, +config, tokenizer config, and Viterbi calibration. They exclude the platform +ONNX Runtime library, currently approximately 18.6 to 39.6 MB, and exclude +archive compression. + +| Published variant | Core bytes | Decimal size | Binary size | Planned role | +|---|---:|---:|---:|---| +| Original safetensors | 2,826,861,317 | 2,826.9 MB | 2,695.9 MiB | Accuracy and decoder oracle; never the default user bundle | +| Default ONNX | 1,850,730,517 | 1,850.7 MB | 1,765.0 MiB | Native parity and compatibility comparator | +| ONNX fp16 | 2,103,639,127 | 2,103.6 MB | 2,006.2 MiB | Reduced-precision and accelerator-oriented comparator | +| ONNX generic quantized | 1,646,076,122 | 1,646.1 MB | 1,569.8 MiB | Quantized compatibility comparator | +| ONNX q4 | 945,152,182 | 945.2 MB | 901.4 MiB | Production candidate | +| ONNX q4f16 | 837,099,555 | 837.1 MB | 798.3 MiB | Production candidate and current size leader | + +All six variants must receive an artifact, quality, load, memory, and reference- +hardware result. Exceeding the current 1.25 GiB installed-bundle budget marks a +variant non-shippable under this plan but does not remove it from comparison. +Only q4 and q4f16 currently fit that budget before the runtime is added. + +Using the current platform runtime sizes, the uncompressed installed payload is +approximately 856 to 877 MB for q4f16 and 964 to 985 MB for q4. The actual +compressed user downloads must be measured from the release bundles; upstream +file totals are not a substitute for that test. + +The benchmark environment may cache every variant, but a released platform +bundle contains exactly one approved variant. Users must never download the +entire upstream ONNX directory or multiple variants for normal operation. + +### Hardware profiles + +Phase 0 must freeze concrete machines matching these provisional profiles: + +| Profile | Provisional resources | Purpose | +|---|---|---| +| H0 constrained minimum | 2 vCPU, 4 GiB RAM limit, CPU-only, SSD, swap disabled | Prove the replacement remains safe and usable on modest hardware | +| H1 typical laptop/CI | 4 vCPU, 8 GiB RAM, CPU-only, SSD | Primary absolute and comparative benchmark | +| H2 developer workstation | 8 vCPU, 16 GiB RAM, CPU-only, SSD | Scaling, thread-count, and throughput characterization | + +Native compatibility and smoke still run on Linux amd64, Linux arm64, macOS +Intel, and macOS Apple Silicon. At least H0 and H1 must use stable named hosts +rather than an unspecified shared runner. GPU or accelerator measurements are +useful exploratory evidence but cannot qualify a CPU-default release. + +Each hardware profile record must pin: + +- CPU model, architecture, supported instruction sets, physical/logical cores, + and virtualization; +- RAM limit, swap policy, NUMA topology where relevant, and container limits; +- storage type and benchmark workspace; +- OS, kernel, power mode/governor, and thermal state; +- ONNX Runtime, Go, and Python/reference versions; +- intra-op/inter-op thread settings and environment variables; and +- git, corpus, budget, and model artifact identities. + +If a candidate passes H1 but fails H0, G6 fails under the initial plan. The team +may either optimize/reject it or explicitly propose H1-class hardware as the new +minimum, update documentation and preflight behavior, and rerun every affected +gate from frozen budgets. + +### Comparative benchmark method + +The current DistilBERT bundle and every Privacy Filter variant run against the +same workloads in isolated processes. At minimum: + +1. All variants run quality, load, first-inference, warm subject, warm message, + and peak-RSS tests on H1. +2. q4 and q4f16 run the full workload, longevity, concurrency, and native + platform matrix on H0, H1, and H2. +3. A load failure, unsupported operator, out-of-memory termination, or timeout + is recorded as a variant failure rather than omitted. +4. Fresh-process measurements distinguish a warm OS page cache from an + intentionally cold/evicted artifact cache. +5. Thread counts of one, the runtime default, and the proposed production cap + are compared. +6. Quality is rerun whenever a graph, runtime, tokenizer, decoder, thread/window + strategy, or quantization changes. + +Hard gates are applied before any ranking. No weighted score may compensate for +a critical leak, parity failure, unsupported platform, or hardware-budget +failure. Among variants that pass every hard gate, select the smallest and least +resource-intensive variant that meets the user-experience budgets. + ### Workload profiles | Profile | Synthetic input | Primary measure | @@ -758,9 +878,10 @@ long-running MCP use without loading two neural models. | MCP longevity | 100 warm requests after warm-up | Reuse, RSS plateau, and race safety | | MCP burst | Four concurrent 2 KiB requests | Queueing, serialization, and deadlock safety | -Each benchmark records fresh-process load time, first inference, warm p50/p95/ -p99, CPU time, wall time, tokens and bytes per second, Go heap, process RSS, -thread count, artifact size, and detector-construction count. +Each benchmark records variant identity, raw and compressed artifact size, +fresh-process load time, first inference, warm p50/p95/p99, CPU time, wall time, +tokens and bytes per second, Go heap, process RSS/private bytes, page faults, +disk bytes read, thread count, and detector-construction count. ### Initial acceptance budgets @@ -785,9 +906,9 @@ platform-specific budget was frozen in advance. | Four-request burst | Completes without deadlock within 5x single-request p95 | Performance sampling must include at least twenty fresh-process runs and one -hundred warm samples per input profile after explicit warm-up. A release gate uses a -clean controlled-host run. One automatic diagnostic rerun is allowed after -host-noise suspicion; conflicting runs leave the gate not-run, not pass. +hundred warm samples per input profile after explicit warm-up. A release gate +uses a clean controlled-host run. One automatic diagnostic rerun is allowed +after host-noise suspicion; conflicting runs leave the gate not-run, not pass. ### Permanent tests and benchmarks @@ -796,7 +917,12 @@ host-noise suspicion; conflicting runs leave the gate not-run, not pass. - BenchmarkDetectorWarmMessage - BenchmarkDetectorWarmThread - BenchmarkDetectorWarmExport +- BenchmarkEveryPublishedVariantOnReferenceHardware +- TestEveryPublishedVariantHasPerformanceAndMemoryEvidence +- TestVariantComparisonRunsInIsolatedProcesses - TestPerformanceBudgetsSchemaAndHardwareProfile +- TestHardwareProfileRecordsRequiredReproductionMetadata +- TestCandidatePassesConstrainedMinimumHardwareProfile - TestSelectedBackendConstructsExactlyOneNeuralDetector - TestDistilBERTFactoryIsNotCalledWhenPrivacyFilterSelected - TestPrivacyFilterFactoryIsNotCalledWhenDistilBERTSelected @@ -806,10 +932,14 @@ host-noise suspicion; conflicting runs leave the gate not-run, not pass. ### G6 pass criteria -- Every hard budget passes on every advertised reference profile. -- q4 and q4f16 reports are separate and the selected variant is named in the - result. -- No benchmark process loads both model artifacts. +- Every hard budget passes on H0, H1, H2, and each required native release + profile. +- Every published variant has a separate reference-hardware report and explicit + oracle, comparator, candidate, selected, or rejected disposition. +- q4 and q4f16 complete the full matrix and the selected variant is named in + every result and trusted manifest. +- No benchmark process loads more than one model artifact. +- No user bundle contains more than one model variant. - Normal command paths load the detector at most once per process. - No deadlock, race, handle leak, unbounded native allocation, or goroutine growth is observed. @@ -818,11 +948,12 @@ host-noise suspicion; conflicting runs leave the gate not-run, not pass. ### Failure handling -Optimize lifecycle, windowing, thread configuration, or evaluate the other -quantized variant, then rerun all quality and performance gates. If the hard -budgets still fail, reject the universal replacement. A separately selected -enhanced profile is an acceptable future proposal; loading both detectors is -not. +Optimize lifecycle, windowing, thread configuration, or evaluate another +published variant, then rerun all quality and performance gates. If q4 and +q4f16 still fail the hard budgets, reject the universal replacement. A +separately selected enhanced profile or a higher minimum hardware proposal is +acceptable future work, but it requires explicit product review and fresh +evidence; loading multiple detectors is not a workaround. ## Phase 7 — integrate preview selection and trusted bundles @@ -1013,11 +1144,15 @@ A new model-focused workflow should run on: Jobs should be separated into: 1. Verify immutable source locks and build the reference image. -2. Generate/compare original, q4, and q4f16 oracle reports sequentially. -3. Run native parity and quality on the Linux reference host. -4. Run controlled performance on named hardware. -5. Run native smoke on Linux and macOS amd64/arm64. -6. Publish only synthetic reports and metadata. +2. Generate/compare original safetensors, default ONNX, fp16, generic- + quantized, q4, and q4f16 oracle reports sequentially. +3. Run the Python reference and every ONNX variant's applicable runtime + compatibility, quality, load, and resource comparison on the Linux H1 + reference host. +4. Run q4 and q4f16 through the full controlled H0/H1/H2 performance matrix. +5. Run the selected candidate's native smoke on Linux and macOS amd64/arm64. +6. Prove the release bundle contains exactly one selected model variant. +7. Publish only synthetic reports and reproducibility metadata. ### Model release workflow @@ -1107,7 +1242,7 @@ one pull request: 3. Process-scoped single-detector lifecycle. 4. Pinned Docker reference/oracle and golden tooling. 5. BIOES/Viterbi decoder and tokenizer/offset tests. -6. Native q4/q4f16 adapters and parity evidence. +6. Native all-variant comparison, followed by full q4/q4f16 parity evidence. 7. End-to-end quality and secret boundary regressions. 8. Controlled performance harness and selected-variant decision. 9. Backend-aware manifest, installer, status, and preview selection. @@ -1142,5 +1277,6 @@ Until then, the current detector remains the production default. - [OpenAI Privacy Filter model card](https://cdn.openai.com/pdf/c66281ed-b638-456a-8ce1-97e9f5264a90/OpenAI-Privacy-Filter-Model-Card.pdf) - [OpenAI Privacy Filter source repository](https://github.com/openai/privacy-filter) - [OpenAI Privacy Filter model repository](https://huggingface.co/openai/privacy-filter) +- [Pinned first-party ONNX variant directory](https://huggingface.co/openai/privacy-filter/tree/7ffa9a043d54d1be65afb281eddf0ffbe629385b/onnx) - [hs-cli OpenAI Privacy Filter evaluation](openai-privacy-filter-evaluation.md) - [hs-cli PII redaction hardening contract](pii-redaction-hardening-contract.md) From f0c08c07d9dbcea01e608eb628ebbcc8d19cf3db Mon Sep 17 00:00:00 2001 From: Ross Morsali Date: Fri, 17 Jul 2026 13:48:38 +0200 Subject: [PATCH 20/34] docs: make Docker CI authoritative for PII evals --- DEVELOPMENT.md | 3 + docs/openai-privacy-filter-migration-plan.md | 154 +++++++++++++++---- 2 files changed, 125 insertions(+), 32 deletions(-) diff --git a/DEVELOPMENT.md b/DEVELOPMENT.md index 0c5c6ed..d756d1f 100644 --- a/DEVELOPMENT.md +++ b/DEVELOPMENT.md @@ -179,6 +179,9 @@ It defines the single-detector target, phase entry and exit criteria, permanent test lanes, numerical quality and performance budgets, failure handling, preview rollout, rollback, and retirement sequence. Treat its gate fixtures and budgets as reviewed source: do not rebaseline them from candidate results. +For this migration, the pinned Docker evaluation in CI is authoritative for +model comparison and performance selection. Personal-machine and local Windows +results are sanity evidence only and must not approve or rewrite a baseline. Normal tests use the synthetic corpus at `internal/pii/testdata/multilingual_privacy_corpus.json`; it contains no diff --git a/docs/openai-privacy-filter-migration-plan.md b/docs/openai-privacy-filter-migration-plan.md index d95a745..5a126f9 100644 --- a/docs/openai-privacy-filter-migration-plan.md +++ b/docs/openai-privacy-filter-migration-plan.md @@ -236,7 +236,38 @@ and no dependency from internal/pii onto upstream model packages. ## Test and evidence topology -The migration requires three deliberately separate test lanes. +The migration requires four deliberately separate test lanes. + +### Evidence authority and execution order + +Docker CI is the source of truth for reference behavior, model comparison, +quality, secrets, Linux parity, and performance selection. Native release +testing proves that the already-selected candidate works on an advertised +platform; it does not choose the variant. A developer workstation provides +diagnostic evidence only. + +| Evidence authority | Allowed decisions | +|---|---| +| Hermetic pull-request tests | Policy and implementation regressions without real weights | +| Docker CI on ordinary runners | Reproducibility, parity, quality, secret, and functional gates | +| Docker CI on named stable performance runners | Blocking latency, memory, footprint, concurrency, and H0/H1/H2 gates | +| Native release runners | Selected-candidate platform, installer, packaging, and rollback gates | +| Personal/local machine, including Windows | Sanity, exploratory compatibility, and bug reproduction only | + +The enforced order is: + +1. Hermetic tests pass. +2. CI builds the pinned Docker image and verifies model artifacts. +3. Every model variant is compared sequentially inside Docker. +4. q4 and q4f16 complete Docker H0/H1/H2 quality and performance gates. +5. CI records one selected or rejected candidate. +6. Only a selected candidate advances to native release verification. + +Local results must carry evidence authority local-sanity and +authoritative=false. They cannot set a gate to pass, update an approved +baseline, alter a budget, choose a model variant, or approve a release. A local +failure may create a checked-in synthetic regression, which Docker CI must then +reproduce and adjudicate. ### Lane A — hermetic tests on every pull request @@ -253,36 +284,48 @@ Docker, Python, or model weights. They use: This lane owns policy, rendering, offset, fail-closed, mode, identity, serialization, and command-boundary regressions. -### Lane B — real-model quality and release smoke +### Lane B — Docker CI real-model quality and reference smoke -This lane runs in a repo-owned Docker reference environment and on each native -supported platform. It uses pinned model artifacts supplied through the trusted -installer or CI cache. It must never download a moving main revision. +This authoritative lane runs in a repo-owned Docker reference environment. It +uses pinned model artifacts supplied through a verified CI cache and mounted +read-only. It must never download a moving main revision during evaluation. It owns: - official Python reference predictions; - original, default ONNX, fp16, generic-quantized, q4, and q4f16 comparison; -- native ONNX parity; +- Linux Go/ONNX parity; - real tokenizer and decoder behavior; - multilingual and adversarial corpus evaluation; and -- real bundle installation and inference smoke. +- real-model functional and secret smoke. It should run on workflow dispatch, model-related pull requests, a scheduled cadence, and every PII model release tag. Normal unit jobs continue to skip real inference when no trusted model directory is supplied. -### Lane C — controlled performance regression +### Lane C — controlled Docker CI performance regression -Performance gates must run on named, stable hardware profiles. Shared hosted -runner results may be recorded for trend information but must not be the only -blocking evidence because host contention makes them noisy. +Performance gates run in the same pinned Docker image on named, stable CI +hardware profiles. Shared hosted-runner results may be recorded for trend +information but cannot approve G6 because host contention makes them noisy. The benchmark harness, workloads, budgets, and result schema remain checked in. Individual reports are retained as CI artifacts and the approved release baseline is committed as a small metadata record. Raw model files and large reports are not committed. +### Lane D — selected-candidate native release verification + +This lane starts only after Docker CI selects a candidate and G2-G6 pass. It +loads that exact graph, tokenizer, calibration, decoder, runtime, and manifest +on native Linux and macOS targets. It owns platform-library loading, installer, +status, transactional promotion, native smoke, rollback, and release packaging. + +Native results cannot substitute another variant or silently adjust Docker +quality/performance baselines. A native failure returns the candidate to +implementation or rejects the platform/release; it does not cause CI to choose +a different model automatically. + ### Sequential comparison rule When a workflow compares backends, it must start each backend in a separate @@ -417,7 +460,8 @@ Create the test contract before implementation results can influence it. 2. Record the mode and replacement matrices in executable fixtures. 3. Add the typed corpus partitions described above. 4. Add a schema validator and metric calculator. -5. Run the current DistilBERT-plus-regex pipeline to produce a baseline report. +5. Run the current DistilBERT-plus-regex pipeline in authoritative Docker CI to + produce the baseline report. 6. Freeze proposed performance workloads and budgets before running Privacy Filter. 7. Record exact existing deterministic outputs for known identities. @@ -569,11 +613,14 @@ the harness and regenerate results. Do not hand-edit span goldens. ### Goal Produce a Go/ONNX adapter that matches the pinned reference semantics and can be -selected without changing domain policy. +selected without changing domain policy. Its first real execution and parity +gate occur inside the pinned Linux Docker CI environment; native host +verification comes only after Docker gates pass. ### Work -1. Validate ONNX Runtime operator and external-data support on every target. +1. Validate ONNX Runtime operator and external-data support first inside the + pinned Linux Docker image, then on each selected native target. 2. Implement or adopt the exact tokenizer with source-offset preservation. 3. Validate the 33-class label map. 4. Implement BIOES constrained Viterbi decoding and all pinned calibration @@ -604,7 +651,7 @@ selected without changing domain policy. - TestLongInputIsNeverSilentlyTruncated - TestNativeErrorOrPartialWindowFailsClosed - FuzzDetectedSpanByteBoundaries -- real-bundle native smoke for every supported target +- TestDockerRuntimeBundleSmokeCoversEveryPublishedONNXVariant ### G3 pass criteria @@ -621,8 +668,8 @@ selected without changing domain policy. 0.5 percentage points of sensitivity-weighted F2 versus the original weights. - All malformed model, calibration, tokenizer, offset, window, and runtime conditions fail closed. -- At least one quantized variant passes real native smoke on every platform that - will continue to be advertised. +- At least one quantized variant passes the authoritative Docker Go/ONNX smoke + and parity gates before native platform work begins. ### Failure handling @@ -818,14 +865,16 @@ Phase 0 must freeze concrete machines matching these provisional profiles: | Profile | Provisional resources | Purpose | |---|---|---| -| H0 constrained minimum | 2 vCPU, 4 GiB RAM limit, CPU-only, SSD, swap disabled | Prove the replacement remains safe and usable on modest hardware | -| H1 typical laptop/CI | 4 vCPU, 8 GiB RAM, CPU-only, SSD | Primary absolute and comparative benchmark | -| H2 developer workstation | 8 vCPU, 16 GiB RAM, CPU-only, SSD | Scaling, thread-count, and throughput characterization | +| H0 CI constrained | 2 vCPU, 4 GiB RAM limit, CPU-only, SSD, swap disabled | Prove the replacement remains safe and usable on modest hardware | +| H1 CI reference | 4 vCPU, 8 GiB RAM, CPU-only, SSD | Primary absolute and comparative benchmark | +| H2 CI high-resource | 8 vCPU, 16 GiB RAM, CPU-only, SSD | Scaling, thread-count, and throughput characterization | -Native compatibility and smoke still run on Linux amd64, Linux arm64, macOS -Intel, and macOS Apple Silicon. At least H0 and H1 must use stable named hosts -rather than an unspecified shared runner. GPU or accelerator measurements are -useful exploratory evidence but cannot qualify a CPU-default release. +All H0/H1/H2 source-of-truth runs execute in the pinned container on CI. H0, +H1, and H2 must use stable named CI hosts rather than an unspecified shared +runner. Native compatibility and smoke later run on Linux amd64, Linux arm64, +macOS Intel, and macOS Apple Silicon using only the selected candidate. GPU or +accelerator measurements are useful exploratory evidence but cannot qualify a +CPU-default release. Each hardware profile record must pin: @@ -920,7 +969,10 @@ after host-noise suspicion; conflicting runs leave the gate not-run, not pass. - BenchmarkEveryPublishedVariantOnReferenceHardware - TestEveryPublishedVariantHasPerformanceAndMemoryEvidence - TestVariantComparisonRunsInIsolatedProcesses +- TestDockerGatesCompleteBeforeNativeReleaseJobs +- TestGateEvidenceRejectsLocalSanityAsAuthoritative - TestPerformanceBudgetsSchemaAndHardwareProfile +- TestApprovedPerformanceBaselineRequiresNamedCIRunner - TestHardwareProfileRecordsRequiredReproductionMetadata - TestCandidatePassesConstrainedMinimumHardwareProfile - TestSelectedBackendConstructsExactlyOneNeuralDetector @@ -932,8 +984,7 @@ after host-noise suspicion; conflicting runs leave the gate not-run, not pass. ### G6 pass criteria -- Every hard budget passes on H0, H1, H2, and each required native release - profile. +- Every hard budget passes in authoritative Docker CI on H0, H1, and H2. - Every published variant has a separate reference-hardware report and explicit oracle, comparator, candidate, selected, or rejected disposition. - q4 and q4f16 complete the full matrix and the selected variant is named in @@ -945,6 +996,8 @@ after host-noise suspicion; conflicting runs leave the gate not-run, not pass. growth is observed. - The approved baseline JSON and CI report contain enough metadata to reproduce the run. +- No local-sanity or unspecified shared-runner result can approve or rewrite the + baseline. ### Failure handling @@ -1141,6 +1194,12 @@ A new model-focused workflow should run on: - a scheduled cadence; and - model release candidates. +The workflow builds one repo-owned evaluation image from pinned base-image and +dependency identities. Verified model artifacts live in the CI cache or an +upstream preparation job and are mounted read-only; they are not baked into a +multi-gigabyte image layer. The image digest, artifact hashes, corpus hash, and +budget hash are recorded before any gate runs. + Jobs should be separated into: 1. Verify immutable source locks and build the reference image. @@ -1154,12 +1213,37 @@ Jobs should be separated into: 6. Prove the release bundle contains exactly one selected model variant. 7. Publish only synthetic reports and reproducibility metadata. +Jobs 2-4 run inside Docker and must pass before job 5 can start. The workflow +should encode that ordering through job dependencies, not maintainer convention. +The selected-candidate identity emitted by Docker CI is an immutable input to +native jobs. + +### Local Windows sanity + +The personal Windows development machine may run: + +- hermetic Go tests; +- the same Docker image for convenience; +- exploratory native Windows adapter loading; +- a short q4/q4f16 smoke; and +- bug reproduction before creating a synthetic fixture. + +These results are deliberately non-gating because the machine's CPU load, +thermal state, installed software, storage cache, and configuration are not +controlled CI inputs. Local commands must emit evidence authority local-sanity +and authoritative=false. They must not write the approved baseline or generate +a release gate summary. + +Windows remains unsupported for production inference until the selected bundle +passes a real native Windows CI smoke on a declared runner. A successful check +on the personal machine is useful confidence, not platform support evidence. + ### Model release workflow The existing pii-model.yml remains the release authority and must be extended only after preview integration. A release cannot be created until build, trust, native smoke, quality, secret, performance, and rollback jobs all pass for the -same immutable candidate manifest. +same immutable candidate manifest selected by Docker CI. ## Gate result record @@ -1179,6 +1263,8 @@ conceptual shape: "runtime_version": "...", "platform": "linux-amd64", "hardware_profile": "...", + "evidence_authority": "docker-ci", + "authoritative": true, "gates": { "G0": "pass", "G1": "pass", @@ -1187,16 +1273,18 @@ conceptual shape: "G4": "pass", "G5": "pass", "G6": "pass", - "G7": "pass", - "G8": "pass", - "G9": "pass", - "G10": "pass" + "G7": "not-run", + "G8": "not-run", + "G9": "not-run", + "G10": "not-run" } } The real schema will include metric values and evidence artifact names. The evaluator must calculate gate states; a workflow must not declare pass by -manually setting a label. +manually setting a label. A Docker CI record cannot mark native or rollout gates +as passed. The final release decision references immutable Docker and native +records in an aggregate promotion record rather than overwriting either source. ## Failure taxonomy and decision rules @@ -1231,6 +1319,8 @@ changes. CI should encode those dependencies and force re-evaluation. 9. Retiring DistilBERT does not retire the baseline reports used to explain the migration decision. 10. The hardening contract remains normative over this plan. +11. Local or personal-machine output can add a regression fixture but can never + approve, replace, or rebaseline Docker CI evidence. ## Suggested implementation sequence From 4f22d3f45305249353e8fe32897bb85b77057664 Mon Sep 17 00:00:00 2001 From: Ross Morsali Date: Fri, 17 Jul 2026 14:27:16 +0200 Subject: [PATCH 21/34] test: freeze Privacy Filter G0 evaluation contract --- .../workflows/privacy-filter-evaluation.yml | 69 + .gitignore | 4 +- DEVELOPMENT.md | 22 + build/privacy-filter/Dockerfile.g0 | 15 + .../privacy-filter/Dockerfile.g0.dockerignore | 7 + build/privacy-filter/README.md | 12 + docs/openai-privacy-filter-evaluation.md | 2 +- docs/openai-privacy-filter-migration-plan.md | 2 +- internal/pii/evaluation/corpus.go | 694 ++++++++ internal/pii/evaluation/corpus_test.go | 224 +++ .../pii/evaluation/docker_contract_test.go | 48 + internal/pii/evaluation/metrics.go | 581 +++++++ internal/pii/evaluation/metrics_test.go | 138 ++ internal/pii/evaluation/performance.go | 214 +++ internal/pii/evaluation/policy.go | 188 ++ internal/pii/ner/g0_baseline_test.go | 184 ++ internal/pii/privacy_filter_g0_test.go | 115 ++ .../v1/account-identifiers.json | 205 +++ .../testdata/privacy-filter/v1/addresses.json | 205 +++ .../v1/command-output-payloads.json | 202 +++ .../privacy-filter/v1/emails-phones-urls.json | 403 +++++ .../v1/identity-compatibility.json | 112 ++ .../privacy-filter/v1/long-input.json | 106 ++ .../privacy-filter/v1/multilingual.json | 992 +++++++++++ .../v1/obfuscated-messy-pii.json | 306 ++++ .../v1/people-third-parties.json | 325 ++++ .../v1/performance/budgets.json | 58 + .../v1/performance/workloads.json | 82 + .../testdata/privacy-filter/v1/policy.json | 90 + .../privacy-filter/v1/preservation.json | 221 +++ .../v1/private-public-dates.json | 204 +++ .../testdata/privacy-filter/v1/schema.json | 187 ++ .../testdata/privacy-filter/v1/secrets.json | 1518 +++++++++++++++++ scripts/privacy-filter-g0-baseline.sh | 105 ++ 34 files changed, 7837 insertions(+), 3 deletions(-) create mode 100644 .github/workflows/privacy-filter-evaluation.yml create mode 100644 build/privacy-filter/Dockerfile.g0 create mode 100644 build/privacy-filter/Dockerfile.g0.dockerignore create mode 100644 build/privacy-filter/README.md create mode 100644 internal/pii/evaluation/corpus.go create mode 100644 internal/pii/evaluation/corpus_test.go create mode 100644 internal/pii/evaluation/docker_contract_test.go create mode 100644 internal/pii/evaluation/metrics.go create mode 100644 internal/pii/evaluation/metrics_test.go create mode 100644 internal/pii/evaluation/performance.go create mode 100644 internal/pii/evaluation/policy.go create mode 100644 internal/pii/ner/g0_baseline_test.go create mode 100644 internal/pii/privacy_filter_g0_test.go create mode 100644 internal/pii/testdata/privacy-filter/v1/account-identifiers.json create mode 100644 internal/pii/testdata/privacy-filter/v1/addresses.json create mode 100644 internal/pii/testdata/privacy-filter/v1/command-output-payloads.json create mode 100644 internal/pii/testdata/privacy-filter/v1/emails-phones-urls.json create mode 100644 internal/pii/testdata/privacy-filter/v1/identity-compatibility.json create mode 100644 internal/pii/testdata/privacy-filter/v1/long-input.json create mode 100644 internal/pii/testdata/privacy-filter/v1/multilingual.json create mode 100644 internal/pii/testdata/privacy-filter/v1/obfuscated-messy-pii.json create mode 100644 internal/pii/testdata/privacy-filter/v1/people-third-parties.json create mode 100644 internal/pii/testdata/privacy-filter/v1/performance/budgets.json create mode 100644 internal/pii/testdata/privacy-filter/v1/performance/workloads.json create mode 100644 internal/pii/testdata/privacy-filter/v1/policy.json create mode 100644 internal/pii/testdata/privacy-filter/v1/preservation.json create mode 100644 internal/pii/testdata/privacy-filter/v1/private-public-dates.json create mode 100644 internal/pii/testdata/privacy-filter/v1/schema.json create mode 100644 internal/pii/testdata/privacy-filter/v1/secrets.json create mode 100755 scripts/privacy-filter-g0-baseline.sh diff --git a/.github/workflows/privacy-filter-evaluation.yml b/.github/workflows/privacy-filter-evaluation.yml new file mode 100644 index 0000000..072ff4c --- /dev/null +++ b/.github/workflows/privacy-filter-evaluation.yml @@ -0,0 +1,69 @@ +name: Privacy Filter Evaluation + +on: + pull_request: + paths: + - "build/privacy-filter/**" + - "internal/pii/**" + - "scripts/pii-model-sources.json" + - "scripts/privacy-filter-*.sh" + - ".github/workflows/privacy-filter-evaluation.yml" + push: + paths: + - "build/privacy-filter/**" + - "internal/pii/**" + - "scripts/pii-model-sources.json" + - "scripts/privacy-filter-*.sh" + - ".github/workflows/privacy-filter-evaluation.yml" + schedule: + - cron: "17 4 * * 1" + workflow_dispatch: + +permissions: + contents: read + +concurrency: + group: privacy-filter-evaluation-${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +jobs: + hermetic: + name: G0 hermetic contract + runs-on: ubuntu-24.04 + steps: + - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6 + + - uses: actions/setup-go@924ae3a1cded613372ab5595356fb5720e22ba16 # v6 + with: + go-version-file: go.mod + cache: true + + - name: Test repository and frozen G0 contract + run: go test ./... + + - name: Vet repository + run: go vet ./... + + distilbert-baseline: + name: G0 authoritative DistilBERT baseline + needs: hermetic + runs-on: ubuntu-24.04 + steps: + - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6 + + - name: Verify, mount, and evaluate the current model in pinned Docker + env: + HS_PII_G0_CACHE_DIR: ${{ runner.temp }}/privacy-filter-g0-cache + HS_PII_G0_REPORT_DIR: ${{ runner.temp }}/privacy-filter-g0-report + HS_PII_G0_EVIDENCE_AUTHORITY: docker-ci + HS_PII_G0_AUTHORITATIVE: "true" + HS_PII_G0_HARDWARE_PROFILE: docker-ci-functional + run: ./scripts/privacy-filter-g0-baseline.sh + + - name: Upload immutable synthetic baseline report + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 + with: + name: distilbert-g0-baseline-${{ github.sha }} + path: ${{ runner.temp }}/privacy-filter-g0-report/distilbert-baseline.json + if-no-files-found: error + retention-days: 90 diff --git a/.gitignore b/.gitignore index 9aeb877..379fc6d 100644 --- a/.gitignore +++ b/.gitignore @@ -3,7 +3,9 @@ /hs.exe /helpscout /helpscout.exe -/build/ +/build/* +!/build/privacy-filter/ +!/build/privacy-filter/** # IDE .idea/ diff --git a/DEVELOPMENT.md b/DEVELOPMENT.md index d756d1f..3237a63 100644 --- a/DEVELOPMENT.md +++ b/DEVELOPMENT.md @@ -199,6 +199,28 @@ HS_PII_MODEL_SMOKE_DIR=/path/to/extracted/bundle \ The model-tag workflow runs that smoke on every advertised Linux and macOS target. Normal unit jobs skip it when `HS_PII_MODEL_SMOKE_DIR` is absent. +The Privacy Filter G0 contract is frozen under +`internal/pii/testdata/privacy-filter/v1/`. Its strict typed loader rejects +unknown fields, duplicate IDs, invalid UTF-8 byte spans, contradictory mode +expectations, incomplete policy coverage, and secret families without both a +must-detect and preservation fixture. Normal `go test ./...` validates the +corpus, deterministic metric evaluator, identity compatibility snapshot, and +performance budgets without model weights or network access. + +The current DistilBERT-plus-regex baseline is generated by the dedicated +Privacy Filter evaluation workflow. It hash-verifies the existing immutable +model bundle, mounts the weights read-only into the digest-pinned G0 image, +disables inference networking, and uploads an aggregate synthetic-only report: + +```bash +./scripts/privacy-filter-g0-baseline.sh +``` + +A local invocation always records `evidence_authority=local-sanity` and +`authoritative=false`. Only the GitHub Actions Docker job may emit the +authoritative G0 baseline. Privacy Filter weights, Python, and candidate model +integration are intentionally absent from Phase 0. + Command tests call `setRootArgs`, which automatically moves annotated fixture values into the protected stdin envelope before Cobra parses argv. A regression that intentionally proves raw-argv rejection must call `rootCmd.SetArgs` diff --git a/build/privacy-filter/Dockerfile.g0 b/build/privacy-filter/Dockerfile.g0 new file mode 100644 index 0000000..162f734 --- /dev/null +++ b/build/privacy-filter/Dockerfile.g0 @@ -0,0 +1,15 @@ +FROM golang:1.25.9-bookworm@sha256:298734aec230b5f3e8cee450ce6d7eccc39f1797ba548ee90d57e9803030c6c3 + +ENV GOTELEMETRY=off \ + GOTOOLCHAIN=local \ + GOMODCACHE=/go/pkg/mod \ + GOCACHE=/tmp/go-build-cache \ + HOME=/tmp/hs-evaluation-home + +WORKDIR /workspace + +COPY go.mod go.sum ./ +COPY patches/onnxruntime-purego/go.mod patches/onnxruntime-purego/go.sum ./patches/onnxruntime-purego/ +RUN go mod download && go mod verify + +ENTRYPOINT ["go", "test"] diff --git a/build/privacy-filter/Dockerfile.g0.dockerignore b/build/privacy-filter/Dockerfile.g0.dockerignore new file mode 100644 index 0000000..937c36d --- /dev/null +++ b/build/privacy-filter/Dockerfile.g0.dockerignore @@ -0,0 +1,7 @@ +** +!go.mod +!go.sum +!patches/ +!patches/onnxruntime-purego/ +!patches/onnxruntime-purego/go.mod +!patches/onnxruntime-purego/go.sum diff --git a/build/privacy-filter/README.md b/build/privacy-filter/README.md new file mode 100644 index 0000000..24f31db --- /dev/null +++ b/build/privacy-filter/README.md @@ -0,0 +1,12 @@ +# Privacy Filter evaluation containers + +This directory contains repository-owned, digest-pinned Docker tooling for the +Privacy Filter migration gates. + +`Dockerfile.g0` is deliberately limited to the Phase 0 current-baseline run. It +contains Go dependencies but no model weights. The baseline script verifies the +existing immutable DistilBERT bundle, mounts it read-only, disables container +networking for inference, and writes only aggregate synthetic-corpus evidence. + +The pinned Python reference/oracle image belongs to G2 and is intentionally not +part of Phase 0. diff --git a/docs/openai-privacy-filter-evaluation.md b/docs/openai-privacy-filter-evaluation.md index a0e22ca..b9a2e2e 100644 --- a/docs/openai-privacy-filter-evaluation.md +++ b/docs/openai-privacy-filter-evaluation.md @@ -1,6 +1,6 @@ # OpenAI Privacy Filter Evaluation for hs-cli -- Status: investigation complete; implementation not started +- Status: investigation complete; Phase 0 contract implemented; model integration not started - Research date: 16 July 2026 - Decision owner: hs-cli maintainers - Recommended decision: run a pinned, local evaluation and native-runtime spike; do not replace the production detector until the quality and performance gates in this document pass. diff --git a/docs/openai-privacy-filter-migration-plan.md b/docs/openai-privacy-filter-migration-plan.md index 5a126f9..9ad8c7d 100644 --- a/docs/openai-privacy-filter-migration-plan.md +++ b/docs/openai-privacy-filter-migration-plan.md @@ -1,6 +1,6 @@ # OpenAI Privacy Filter Single-Detector Migration Plan -- Status: approved direction; implementation not started +- Status: approved direction; Phase 0 contract implemented; adapter work not started - Plan date: 17 July 2026 - Decision owner: hs-cli maintainers - Companion research: [OpenAI Privacy Filter evaluation](openai-privacy-filter-evaluation.md) diff --git a/internal/pii/evaluation/corpus.go b/internal/pii/evaluation/corpus.go new file mode 100644 index 0000000..0e1d350 --- /dev/null +++ b/internal/pii/evaluation/corpus.go @@ -0,0 +1,694 @@ +package evaluation + +import ( + "bytes" + "crypto/sha256" + "encoding/hex" + "encoding/json" + "fmt" + "io" + "os" + "path/filepath" + "regexp" + "sort" + "strings" + "unicode/utf8" +) + +const CorpusSchemaVersion = 1 + +type Mode string + +const ( + ModeOff Mode = "off" + ModeCustomers Mode = "customers" + ModeAll Mode = "all" +) + +var Modes = []Mode{ModeOff, ModeCustomers, ModeAll} + +type SpanKind string + +const ( + SpanPerson SpanKind = "person" + SpanAddress SpanKind = "address" + SpanEmail SpanKind = "email" + SpanPhone SpanKind = "phone" + SpanURL SpanKind = "url" + SpanPrivateDate SpanKind = "private_date" + SpanAccountNumber SpanKind = "account_number" + SpanSecret SpanKind = "secret" +) + +var SpanKinds = []SpanKind{ + SpanPerson, + SpanAddress, + SpanEmail, + SpanPhone, + SpanURL, + SpanPrivateDate, + SpanAccountNumber, + SpanSecret, +} + +type Action string + +const ( + ActionPreserve Action = "preserve" + ActionRedact Action = "redact" +) + +type MatchPolicy string + +const ( + MatchExact MatchPolicy = "exact" + MatchCovering MatchPolicy = "covering" +) + +type RiskTier string + +const ( + RiskCritical RiskTier = "critical" + RiskHigh RiskTier = "high" + RiskStandard RiskTier = "standard" + RiskPreservation RiskTier = "preservation" +) + +type CorpusDocument struct { + Schema int `json:"schema"` + Partition string `json:"partition"` + Cases []Case `json:"cases"` +} + +type Case struct { + ID string `json:"id"` + Language string `json:"language"` + Script string `json:"script"` + Shape string `json:"shape"` + Risk RiskTier `json:"risk"` + Reason string `json:"reason"` + Text string `json:"text"` + KnownIdentities []KnownIdentity `json:"known_identities"` + Targets []Target `json:"targets"` + Outputs ModeOutputs `json:"outputs"` + Tags []string `json:"tags"` + SecretFixture *SecretFixtureRole `json:"secret_fixture,omitempty"` +} + +type KnownIdentity struct { + ID string `json:"id"` + Type string `json:"type"` + First string `json:"first"` + Last string `json:"last"` + Email string `json:"email"` + Phone string `json:"phone"` +} + +type Target struct { + ID string `json:"id"` + Kind SpanKind `json:"kind"` + Start int `json:"start"` + End int `json:"end"` + Value string `json:"value"` + Match MatchPolicy `json:"match"` + IdentityID string `json:"identity_id,omitempty"` + Actions ModeActions `json:"actions"` +} + +type ModeActions struct { + Off Action `json:"off"` + Customers Action `json:"customers"` + All Action `json:"all"` +} + +func (a ModeActions) For(mode Mode) Action { + switch mode { + case ModeOff: + return a.Off + case ModeCustomers: + return a.Customers + case ModeAll: + return a.All + default: + return "" + } +} + +type ModeOutputs struct { + Off OutputExpectation `json:"off"` + Customers OutputExpectation `json:"customers"` + All OutputExpectation `json:"all"` +} + +func (o ModeOutputs) For(mode Mode) OutputExpectation { + switch mode { + case ModeOff: + return o.Off + case ModeCustomers: + return o.Customers + case ModeAll: + return o.All + default: + return OutputExpectation{} + } +} + +type OutputExpectation struct { + RequiredAbsent []string `json:"required_absent"` + RequiredPresent []string `json:"required_present"` +} + +type SecretFixtureRole struct { + Family string `json:"family"` + Role string `json:"role"` +} + +type Corpus struct { + Documents []CorpusDocument + Cases []Case + Fingerprint string +} + +var RequiredPartitions = []string{ + "secrets", + "people-third-parties", + "account-identifiers", + "private-public-dates", + "addresses", + "emails-phones-urls", + "obfuscated-messy-pii", + "multilingual", + "preservation", + "long-input", + "command-output-payloads", +} + +var RequiredSecretFamilies = []string{ + "api-key", + "access-token", + "oauth-token", + "password", + "jwt", + "one-time-code", + "private-key", + "database-connection", + "cookie-authorization", + "webhook-secret", + "cloud-credential", + "source-control-token", + "payment-credential", + "observability-token", +} + +var RequiredLanguages = []string{"en", "fr", "de", "es", "ar", "zh", "ja", "ko", "hi", "pt"} + +var RequiredOutputBoundaries = []string{ + "table", "json", "json-full", "csv", "source", "rfc822", "mcp", "argv", + "stdout", "stderr", "error", "panic", "diagnostic", +} + +var requiredShapes = []string{ + "prose", "json", "yaml", "shell", "url", "markdown", "html", "quoted-reply", + "log", "stack-trace", "code", "signature", "long-thread", "command-payload", +} + +var allowedScripts = stringSet( + "Latin", "Arabic", "Han", "Hiragana", "Hangul", "Devanagari", "Common", "Mixed", +) + +var allowedShapes = stringSet(requiredShapes...) + +var allowedRisks = map[RiskTier]bool{ + RiskCritical: true, RiskHigh: true, RiskStandard: true, RiskPreservation: true, +} + +var allowedKinds = func() map[SpanKind]bool { + out := make(map[SpanKind]bool, len(SpanKinds)) + for _, kind := range SpanKinds { + out[kind] = true + } + return out +}() + +var idPattern = regexp.MustCompile(`^[a-z0-9][a-z0-9-]*$`) + +func LoadCorpusDir(dir string) (*Corpus, error) { + documents := make([]CorpusDocument, 0, len(RequiredPartitions)) + cases := make([]Case, 0) + seenIDs := make(map[string]string) + hasher := sha256.New() + + for _, partition := range RequiredPartitions { + name := partition + ".json" + path := filepath.Join(dir, name) + raw, err := os.ReadFile(path) + if err != nil { + return nil, fmt.Errorf("read privacy corpus partition %q: %w", partition, err) + } + var document CorpusDocument + if err := decodeStrict(raw, &document); err != nil { + return nil, fmt.Errorf("decode privacy corpus partition %q: %w", partition, err) + } + if document.Schema != CorpusSchemaVersion { + return nil, fmt.Errorf("privacy corpus partition %q: unsupported schema %d", partition, document.Schema) + } + if document.Partition != partition { + return nil, fmt.Errorf("privacy corpus partition %q: document names partition %q", partition, document.Partition) + } + if len(document.Cases) == 0 { + return nil, fmt.Errorf("privacy corpus partition %q is empty", partition) + } + + for i := range document.Cases { + fixture := &document.Cases[i] + if err := validateCase(fixture); err != nil { + return nil, err + } + if prior, exists := seenIDs[fixture.ID]; exists { + return nil, fmt.Errorf("privacy corpus duplicate case ID %q in partitions %q and %q", fixture.ID, prior, partition) + } + seenIDs[fixture.ID] = partition + cases = append(cases, *fixture) + } + + hasher.Write([]byte(name)) + hasher.Write([]byte{0}) + hasher.Write(raw) + hasher.Write([]byte{0}) + documents = append(documents, document) + } + + corpus := &Corpus{ + Documents: documents, + Cases: cases, + Fingerprint: hex.EncodeToString(hasher.Sum(nil)), + } + if err := corpus.ValidateCoverage(); err != nil { + return nil, err + } + return corpus, nil +} + +func decodeStrict(raw []byte, destination any) error { + if !utf8.Valid(raw) { + return fmt.Errorf("document is not valid UTF-8") + } + decoder := json.NewDecoder(bytes.NewReader(raw)) + decoder.DisallowUnknownFields() + if err := decoder.Decode(destination); err != nil { + return err + } + var trailing any + if err := decoder.Decode(&trailing); err != io.EOF { + if err == nil { + return fmt.Errorf("document contains multiple JSON values") + } + return fmt.Errorf("decode trailing data: %w", err) + } + return nil +} + +func validateCase(fixture *Case) error { + prefix := fmt.Sprintf("privacy corpus case %q", fixture.ID) + if !idPattern.MatchString(fixture.ID) { + return fmt.Errorf("%s: invalid or empty ID", prefix) + } + if fixture.Language == "" || fixture.Script == "" || fixture.Shape == "" || fixture.Reason == "" { + return fmt.Errorf("%s: language, script, shape, and reason are required", prefix) + } + if !allowedScripts[fixture.Script] { + return fmt.Errorf("%s: unsupported script %q", prefix, fixture.Script) + } + if !allowedShapes[fixture.Shape] { + return fmt.Errorf("%s: unsupported content shape %q", prefix, fixture.Shape) + } + if !allowedRisks[fixture.Risk] { + return fmt.Errorf("%s: unsupported risk tier %q", prefix, fixture.Risk) + } + if fixture.Text == "" || !utf8.ValidString(fixture.Text) { + return fmt.Errorf("%s: text must be non-empty valid UTF-8", prefix) + } + if fixture.KnownIdentities == nil || fixture.Targets == nil || fixture.Tags == nil { + return fmt.Errorf("%s: known_identities, targets, and tags arrays are required", prefix) + } + if len(fixture.Targets) == 0 { + return fmt.Errorf("%s: at least one typed target is required", prefix) + } + + known := make(map[string]KnownIdentity, len(fixture.KnownIdentities)) + for _, identity := range fixture.KnownIdentities { + if !idPattern.MatchString(identity.ID) { + return fmt.Errorf("%s: known identity has an invalid ID", prefix) + } + if identity.Type != "customer" && identity.Type != "user" { + return fmt.Errorf("%s: identity %q has unsupported type %q", prefix, identity.ID, identity.Type) + } + if identity.First == "" && identity.Last == "" && identity.Email == "" && identity.Phone == "" { + return fmt.Errorf("%s: identity %q has no identifying fields", prefix, identity.ID) + } + if _, exists := known[identity.ID]; exists { + return fmt.Errorf("%s: duplicate known identity ID %q", prefix, identity.ID) + } + known[identity.ID] = identity + } + + seenTargets := make(map[string]struct{}, len(fixture.Targets)) + for i := range fixture.Targets { + target := &fixture.Targets[i] + if !idPattern.MatchString(target.ID) { + return fmt.Errorf("%s: target %d has an invalid ID", prefix, i) + } + if _, exists := seenTargets[target.ID]; exists { + return fmt.Errorf("%s: duplicate target ID %q", prefix, target.ID) + } + seenTargets[target.ID] = struct{}{} + if !allowedKinds[target.Kind] { + return fmt.Errorf("%s: target %q has unsupported kind %q", prefix, target.ID, target.Kind) + } + if target.Match != MatchExact && target.Match != MatchCovering { + return fmt.Errorf("%s: target %q has unsupported match policy %q", prefix, target.ID, target.Match) + } + if !validByteRange(fixture.Text, target.Start, target.End) { + return fmt.Errorf("%s: target %q has an invalid UTF-8 byte range [%d:%d]", prefix, target.ID, target.Start, target.End) + } + if target.Value == "" || fixture.Text[target.Start:target.End] != target.Value { + return fmt.Errorf("%s: target %q value does not match its declared byte range", prefix, target.ID) + } + if target.Kind == SpanSecret && !declaredSyntheticSecret(target.Value) { + return fmt.Errorf("%s: secret target %q lacks a declared synthetic safety marker", prefix, target.ID) + } + if target.IdentityID != "" { + identity, exists := known[target.IdentityID] + if !exists { + return fmt.Errorf("%s: target %q references unknown identity %q", prefix, target.ID, target.IdentityID) + } + if target.Kind == SpanSecret || target.Kind == SpanAccountNumber || target.Kind == SpanPrivateDate { + return fmt.Errorf("%s: target %q kind %q cannot be protected by identity attribution", prefix, target.ID, target.Kind) + } + if target.Kind == SpanPerson && identity.Type == "user" && target.Actions.Customers != ActionPreserve { + return fmt.Errorf("%s: known staff person target %q must be preserved in customers mode", prefix, target.ID) + } + } + if err := validateActions(prefix, target); err != nil { + return err + } + } + + for i := 0; i < len(fixture.Targets); i++ { + for j := i + 1; j < len(fixture.Targets); j++ { + left, right := fixture.Targets[i], fixture.Targets[j] + if left.Start < right.End && right.Start < left.End && left.Actions != right.Actions { + return fmt.Errorf("%s: overlapping targets %q and %q have contradictory actions", prefix, left.ID, right.ID) + } + } + } + + if err := validateOutputs(prefix, fixture); err != nil { + return err + } + if err := validateUniqueStrings(prefix, "tags", fixture.Tags); err != nil { + return err + } + if fixture.SecretFixture != nil { + if !contains(RequiredSecretFamilies, fixture.SecretFixture.Family) { + return fmt.Errorf("%s: unsupported secret family %q", prefix, fixture.SecretFixture.Family) + } + if fixture.SecretFixture.Role != "must-detect" && fixture.SecretFixture.Role != "preserve" { + return fmt.Errorf("%s: unsupported secret fixture role %q", prefix, fixture.SecretFixture.Role) + } + if err := validateSecretFixture(prefix, fixture); err != nil { + return err + } + } + return nil +} + +func validateActions(prefix string, target *Target) error { + if target.Actions.Off != ActionPreserve { + return fmt.Errorf("%s: target %q must preserve exact display text in off mode", prefix, target.ID) + } + for _, mode := range []Mode{ModeCustomers, ModeAll} { + action := target.Actions.For(mode) + if action != ActionPreserve && action != ActionRedact { + return fmt.Errorf("%s: target %q has invalid %s action %q", prefix, target.ID, mode, action) + } + } + if target.Kind == SpanSecret && (target.Actions.Customers != target.Actions.All) { + return fmt.Errorf("%s: secret target %q must have identical customers/all policy", prefix, target.ID) + } + return nil +} + +func validateOutputs(prefix string, fixture *Case) error { + for _, mode := range Modes { + expected := fixture.Outputs.For(mode) + if expected.RequiredAbsent == nil || expected.RequiredPresent == nil { + return fmt.Errorf("%s: %s output must declare required_absent and required_present arrays", prefix, mode) + } + if err := validateUniqueStrings(prefix, string(mode)+" required_absent", expected.RequiredAbsent); err != nil { + return err + } + if err := validateUniqueStrings(prefix, string(mode)+" required_present", expected.RequiredPresent); err != nil { + return err + } + for _, value := range append(append([]string(nil), expected.RequiredAbsent...), expected.RequiredPresent...) { + if !strings.Contains(fixture.Text, value) { + return fmt.Errorf("%s: %s output expectation is absent from source text", prefix, mode) + } + } + for _, absent := range expected.RequiredAbsent { + if contains(expected.RequiredPresent, absent) { + return fmt.Errorf("%s: %s output requires the same string absent and present", prefix, mode) + } + } + if mode == ModeOff && len(expected.RequiredAbsent) != 0 { + return fmt.Errorf("%s: off mode cannot require source text to be absent", prefix) + } + for _, target := range fixture.Targets { + if target.Actions.For(mode) == ActionRedact && !contains(expected.RequiredAbsent, target.Value) { + return fmt.Errorf("%s: %s output does not require redacted target %q to be absent", prefix, mode, target.ID) + } + if target.Actions.For(mode) == ActionPreserve && !contains(expected.RequiredPresent, target.Value) { + return fmt.Errorf("%s: %s output does not require preserved target %q to be present", prefix, mode, target.ID) + } + } + } + return nil +} + +func validateSecretFixture(prefix string, fixture *Case) error { + hasSecret := false + for _, target := range fixture.Targets { + if target.Kind != SpanSecret { + continue + } + hasSecret = true + if fixture.SecretFixture.Role == "must-detect" && + (target.Actions.Customers != ActionRedact || target.Actions.All != ActionRedact) { + return fmt.Errorf("%s: must-detect secret target %q must redact in customers and all", prefix, target.ID) + } + if fixture.SecretFixture.Role == "preserve" && + (target.Actions.Customers != ActionPreserve || target.Actions.All != ActionPreserve) { + return fmt.Errorf("%s: near-miss secret target %q must be preserved", prefix, target.ID) + } + if !declaredSyntheticSecret(target.Value) { + return fmt.Errorf("%s: secret target %q lacks a declared synthetic safety marker", prefix, target.ID) + } + } + if !hasSecret { + return fmt.Errorf("%s: secret_fixture requires a typed secret target", prefix) + } + return nil +} + +func declaredSyntheticSecret(value string) bool { + lower := strings.ToLower(value) + for _, marker := range []string{ + "example", "not-a-real", "not_a_real", "invalid", "synthetic", "placeholder", "redacted", + } { + if strings.Contains(lower, marker) { + return true + } + } + if len(value) >= 16 { + uniform := true + for i := 1; i < len(value); i++ { + if value[i] != value[0] { + uniform = false + break + } + } + if uniform { + return true + } + } + return false +} + +func validByteRange(text string, start, end int) bool { + if start < 0 || end <= start || end > len(text) { + return false + } + if start > 0 && !utf8.RuneStart(text[start]) { + return false + } + if end < len(text) && !utf8.RuneStart(text[end]) { + return false + } + return utf8.ValidString(text[start:end]) +} + +func validateUniqueStrings(prefix, field string, values []string) error { + seen := make(map[string]struct{}, len(values)) + for _, value := range values { + if value == "" { + return fmt.Errorf("%s: %s contains an empty value", prefix, field) + } + if _, exists := seen[value]; exists { + return fmt.Errorf("%s: %s contains a duplicate value", prefix, field) + } + seen[value] = struct{}{} + } + return nil +} + +func (c *Corpus) ValidateCoverage() error { + type outcomes struct{ redact, preserve bool } + kinds := make(map[SpanKind]*outcomes, len(SpanKinds)) + for _, kind := range SpanKinds { + kinds[kind] = &outcomes{} + } + languages := make(map[string]*outcomes, len(RequiredLanguages)) + for _, language := range RequiredLanguages { + languages[language] = &outcomes{} + } + partitions := make(map[string]*outcomes, len(RequiredPartitions)) + for _, partition := range RequiredPartitions { + partitions[partition] = &outcomes{} + } + secretFamilies := make(map[string]*outcomes, len(RequiredSecretFamilies)) + for _, family := range RequiredSecretFamilies { + secretFamilies[family] = &outcomes{} + } + shapes := make(map[string]bool, len(requiredShapes)) + boundaries := make(map[string]bool, len(RequiredOutputBoundaries)) + + for _, document := range c.Documents { + partitionOutcome := partitions[document.Partition] + for _, fixture := range document.Cases { + hasRedact, hasPreserve := false, false + for _, target := range fixture.Targets { + if target.Actions.All == ActionRedact { + hasRedact = true + kinds[target.Kind].redact = true + } else { + hasPreserve = true + kinds[target.Kind].preserve = true + } + } + partitionOutcome.redact = partitionOutcome.redact || hasRedact + partitionOutcome.preserve = partitionOutcome.preserve || hasPreserve + if languageOutcome := languages[fixture.Language]; languageOutcome != nil { + languageOutcome.redact = languageOutcome.redact || hasRedact + languageOutcome.preserve = languageOutcome.preserve || hasPreserve + } + shapes[fixture.Shape] = true + for _, tag := range fixture.Tags { + if strings.HasPrefix(tag, "boundary:") { + boundaries[strings.TrimPrefix(tag, "boundary:")] = true + } + } + if fixture.SecretFixture != nil { + family := secretFamilies[fixture.SecretFixture.Family] + if fixture.SecretFixture.Role == "must-detect" { + family.redact = true + } else { + family.preserve = true + } + } + } + } + + for _, kind := range SpanKinds { + if outcome := kinds[kind]; !outcome.redact || !outcome.preserve { + return fmt.Errorf("privacy corpus kind %q requires redact and preservation coverage", kind) + } + } + for _, language := range RequiredLanguages { + if outcome := languages[language]; !outcome.redact || !outcome.preserve { + return fmt.Errorf("privacy corpus language %q requires redact and preservation coverage", language) + } + } + for _, partition := range RequiredPartitions { + if outcome := partitions[partition]; !outcome.redact || !outcome.preserve { + return fmt.Errorf("privacy corpus partition %q requires redact and preservation coverage", partition) + } + } + for _, family := range RequiredSecretFamilies { + if outcome := secretFamilies[family]; !outcome.redact || !outcome.preserve { + return fmt.Errorf("secret family %q requires must-detect and preservation fixtures", family) + } + } + for _, shape := range requiredShapes { + if !shapes[shape] { + return fmt.Errorf("privacy corpus is missing required content shape %q", shape) + } + } + for _, boundary := range RequiredOutputBoundaries { + if !boundaries[boundary] { + return fmt.Errorf("privacy corpus is missing output boundary coverage %q", boundary) + } + } + return nil +} + +func HasTag(fixture Case, wanted string) bool { + return contains(fixture.Tags, wanted) +} + +func HashFile(path string) (string, error) { + return HashFiles(path) +} + +func HashFiles(paths ...string) (string, error) { + paths = append([]string(nil), paths...) + sort.Strings(paths) + hasher := sha256.New() + for _, path := range paths { + raw, err := os.ReadFile(path) + if err != nil { + return "", err + } + hasher.Write([]byte(filepath.Base(path))) + hasher.Write([]byte{0}) + hasher.Write(raw) + hasher.Write([]byte{0}) + } + return hex.EncodeToString(hasher.Sum(nil)), nil +} + +func stringSet(values ...string) map[string]bool { + out := make(map[string]bool, len(values)) + for _, value := range values { + out[value] = true + } + return out +} + +func contains[T comparable](values []T, wanted T) bool { + for _, value := range values { + if value == wanted { + return true + } + } + return false +} + +func SortedCaseIDs(corpus *Corpus) []string { + ids := make([]string, 0, len(corpus.Cases)) + for _, fixture := range corpus.Cases { + ids = append(ids, fixture.ID) + } + sort.Strings(ids) + return ids +} diff --git a/internal/pii/evaluation/corpus_test.go b/internal/pii/evaluation/corpus_test.go new file mode 100644 index 0000000..5450dab --- /dev/null +++ b/internal/pii/evaluation/corpus_test.go @@ -0,0 +1,224 @@ +package evaluation + +import ( + "bytes" + "encoding/json" + "os" + "path/filepath" + "strings" + "testing" +) + +func corpusDir(t *testing.T) string { + t.Helper() + return filepath.Join("..", "testdata", "privacy-filter", "v1") +} + +func TestPrivacyCorpusSchemaIsStrictAndSelfConsistent(t *testing.T) { + corpus, err := LoadCorpusDir(corpusDir(t)) + if err != nil { + t.Fatalf("load strict privacy corpus: %v", err) + } + if len(corpus.Cases) < 70 { + t.Fatalf("typed corpus unexpectedly small: %d cases", len(corpus.Cases)) + } + if len(corpus.Fingerprint) != 64 { + t.Fatalf("corpus fingerprint is not SHA-256: %q", corpus.Fingerprint) + } + + schemaRaw, err := os.ReadFile(filepath.Join(corpusDir(t), "schema.json")) + if err != nil { + t.Fatalf("read corpus JSON schema: %v", err) + } + var schema map[string]any + if err := decodeStrict(schemaRaw, &schema); err != nil { + t.Fatalf("decode corpus JSON schema: %v", err) + } + if schema["additionalProperties"] != false { + t.Fatalf("corpus JSON schema root must reject unknown fields") + } + definitions, ok := schema["$defs"].(map[string]any) + if !ok || len(definitions) == 0 { + t.Fatalf("corpus JSON schema has no typed definitions") + } + for name, rawDefinition := range definitions { + definition, ok := rawDefinition.(map[string]any) + if !ok { + t.Fatalf("schema definition %q is not an object", name) + } + if definition["type"] == "object" && definition["additionalProperties"] != false { + t.Fatalf("schema definition %q must reject unknown fields", name) + } + } + + t.Run("unknown fields", func(t *testing.T) { + var document CorpusDocument + err := decodeStrict([]byte(`{"schema":1,"partition":"secrets","cases":[],"unknown":true}`), &document) + if err == nil || !strings.Contains(err.Error(), "unknown field") { + t.Fatalf("unknown field was not rejected: %v", err) + } + }) + t.Run("invalid UTF-8", func(t *testing.T) { + var document CorpusDocument + err := decodeStrict([]byte{'{', '"', 'x', '"', ':', '"', 0xff, '"', '}'}, &document) + if err == nil || !strings.Contains(err.Error(), "valid UTF-8") { + t.Fatalf("invalid UTF-8 was not rejected: %v", err) + } + }) + t.Run("invalid byte boundary", func(t *testing.T) { + fixture := findCase(t, corpus, "multilingual-ar-person-redact") + fixture.Targets[0].Start++ + if err := validateCase(&fixture); err == nil || !strings.Contains(err.Error(), "UTF-8 byte range") { + t.Fatalf("invalid byte boundary was not rejected: %v", err) + } + }) + t.Run("contradictory overlap", func(t *testing.T) { + fixture := findCase(t, corpus, "person-unknown-developer") + contradiction := fixture.Targets[0] + contradiction.ID = "contradictory-target" + contradiction.Actions.Customers = ActionPreserve + fixture.Targets = append(fixture.Targets, contradiction) + if err := validateCase(&fixture); err == nil || !strings.Contains(err.Error(), "contradictory") { + t.Fatalf("contradictory overlap was not rejected: %v", err) + } + }) + t.Run("duplicate case IDs", func(t *testing.T) { + tempDir := t.TempDir() + for _, partition := range RequiredPartitions { + raw, readErr := os.ReadFile(filepath.Join(corpusDir(t), partition+".json")) + if readErr != nil { + t.Fatalf("read partition copy: %v", readErr) + } + if partition == RequiredPartitions[1] { + var document CorpusDocument + if err := json.Unmarshal(raw, &document); err != nil { + t.Fatalf("decode partition copy: %v", err) + } + document.Cases[0].ID = corpus.Documents[0].Cases[0].ID + raw, readErr = json.Marshal(document) + if readErr != nil { + t.Fatalf("encode partition copy: %v", readErr) + } + } + if err := os.WriteFile(filepath.Join(tempDir, partition+".json"), raw, 0o600); err != nil { + t.Fatalf("write partition copy: %v", err) + } + } + if _, err := LoadCorpusDir(tempDir); err == nil || !strings.Contains(err.Error(), "duplicate case ID") { + t.Fatalf("duplicate case ID was not rejected: %v", err) + } + }) +} + +func TestPrivacyCorpusContainsRequiredRiskLanguageAndFormatSlices(t *testing.T) { + corpus, err := LoadCorpusDir(corpusDir(t)) + if err != nil { + t.Fatalf("load typed privacy corpus: %v", err) + } + if err := corpus.ValidateCoverage(); err != nil { + t.Fatalf("typed privacy corpus coverage: %v", err) + } + + risks := map[RiskTier]bool{} + existingContractCases := 0 + for _, fixture := range corpus.Cases { + risks[fixture.Risk] = true + if HasTag(fixture, "existing-contract") { + existingContractCases++ + } + } + for _, risk := range []RiskTier{RiskCritical, RiskHigh, RiskPreservation} { + if !risks[risk] { + t.Fatalf("typed corpus is missing risk tier %q", risk) + } + } + if existingContractCases < 20 { + t.Fatalf("too few behavior-preserving baseline cases: %d", existingContractCases) + } +} + +func TestSecretFixturesContainOnlyDeclaredSyntheticMaterial(t *testing.T) { + corpus, err := LoadCorpusDir(corpusDir(t)) + if err != nil { + t.Fatalf("load typed privacy corpus: %v", err) + } + families := make(map[string]map[string]bool) + secretTargets := 0 + for _, fixture := range corpus.Cases { + if fixture.SecretFixture != nil { + if families[fixture.SecretFixture.Family] == nil { + families[fixture.SecretFixture.Family] = map[string]bool{} + } + families[fixture.SecretFixture.Family][fixture.SecretFixture.Role] = true + } + for _, target := range fixture.Targets { + if target.Kind != SpanSecret { + continue + } + secretTargets++ + if !declaredSyntheticSecret(target.Value) { + t.Fatalf("case %q secret target %q is not declared synthetic", fixture.ID, target.ID) + } + } + } + if secretTargets < len(RequiredSecretFamilies)*2 { + t.Fatalf("typed corpus has too few secret fixtures: %d", secretTargets) + } + for _, family := range RequiredSecretFamilies { + if !families[family]["must-detect"] || !families[family]["preserve"] { + t.Fatalf("secret family %q lacks must-detect and preservation fixtures", family) + } + } +} + +func TestTypedPolicyMatrixCoversEveryModeAndSpanKind(t *testing.T) { + policy, err := LoadPolicy(filepath.Join(corpusDir(t), "policy.json")) + if err != nil { + t.Fatalf("load typed privacy policy: %v", err) + } + if err := policy.Validate(); err != nil { + t.Fatalf("validate typed privacy policy: %v", err) + } + if policy.SecretMarker != SecretMarker { + t.Fatalf("secret marker changed: %q", policy.SecretMarker) + } +} + +func TestPerformanceBudgetsSchemaAndHardwareProfile(t *testing.T) { + performanceDir := filepath.Join(corpusDir(t), "performance") + _, _, err := LoadPerformanceContract( + filepath.Join(performanceDir, "workloads.json"), + filepath.Join(performanceDir, "budgets.json"), + ) + if err != nil { + t.Fatalf("load frozen performance contract: %v", err) + } +} + +func TestIdentityCompatibilitySnapshotIsStrict(t *testing.T) { + snapshot, err := LoadIdentitySnapshot(filepath.Join(corpusDir(t), "identity-compatibility.json")) + if err != nil { + t.Fatalf("load deterministic identity snapshot: %v", err) + } + if len(snapshot.Cases) < 8 { + t.Fatalf("identity compatibility snapshot is too small: %d", len(snapshot.Cases)) + } + raw, err := os.ReadFile(filepath.Join(corpusDir(t), "identity-compatibility.json")) + if err != nil { + t.Fatal(err) + } + if bytes.Contains(raw, []byte("stable-secret")) { + t.Fatalf("identity snapshot must identify, not embed, its synthetic key fixture") + } +} + +func findCase(t *testing.T, corpus *Corpus, id string) Case { + t.Helper() + for _, fixture := range corpus.Cases { + if fixture.ID == id { + return fixture + } + } + t.Fatalf("corpus case %q not found", id) + return Case{} +} diff --git a/internal/pii/evaluation/docker_contract_test.go b/internal/pii/evaluation/docker_contract_test.go new file mode 100644 index 0000000..b92978f --- /dev/null +++ b/internal/pii/evaluation/docker_contract_test.go @@ -0,0 +1,48 @@ +package evaluation + +import ( + "os" + "path/filepath" + "strings" + "testing" +) + +func TestG0DockerBaselineKeepsWeightsReadOnlyAndInferenceOffline(t *testing.T) { + repoRoot := filepath.Join("..", "..", "..") + dockerfile := readContractFile(t, filepath.Join(repoRoot, "build", "privacy-filter", "Dockerfile.g0")) + if strings.Contains(dockerfile, "model_quantized.onnx") || strings.Contains(dockerfile, "trusted_manifest.json") { + t.Fatalf("G0 Docker image must not bake model artifacts") + } + if !strings.Contains(dockerfile, "@sha256:") || !strings.Contains(dockerfile, "go mod verify") { + t.Fatalf("G0 Docker image must pin its base and verify locked dependencies") + } + + script := readContractFile(t, filepath.Join(repoRoot, "scripts", "privacy-filter-g0-baseline.sh")) + for _, required := range []string{ + "--network none", "dst=/models/distilbert,readonly", "HS_PII_G0_EVIDENCE_AUTHORITY", + "HS_PII_G0_AUTHORITATIVE", "sha256sum", "GITHUB_ACTIONS", "RUNNER_NAME", + } { + if !strings.Contains(script, required) { + t.Fatalf("G0 baseline script is missing required control %q", required) + } + } + + workflow := readContractFile(t, filepath.Join(repoRoot, ".github", "workflows", "privacy-filter-evaluation.yml")) + for _, required := range []string{ + "needs: hermetic", "HS_PII_G0_EVIDENCE_AUTHORITY: docker-ci", "HS_PII_G0_AUTHORITATIVE: \"true\"", + "distilbert-baseline.json", + } { + if !strings.Contains(workflow, required) { + t.Fatalf("G0 evaluation workflow is missing required ordering/evidence control %q", required) + } + } +} + +func readContractFile(t *testing.T, path string) string { + t.Helper() + raw, err := os.ReadFile(path) + if err != nil { + t.Fatalf("read %s: %v", filepath.Base(path), err) + } + return string(raw) +} diff --git a/internal/pii/evaluation/metrics.go b/internal/pii/evaluation/metrics.go new file mode 100644 index 0000000..04fde58 --- /dev/null +++ b/internal/pii/evaluation/metrics.go @@ -0,0 +1,581 @@ +package evaluation + +import ( + "encoding/hex" + "encoding/json" + "fmt" + "math" + "os" + "sort" + "strings" +) + +const ReportSchemaVersion = 1 + +type EvidenceAuthority string + +const ( + AuthorityDockerCI EvidenceAuthority = "docker-ci" + AuthorityLocal EvidenceAuthority = "local-sanity" +) + +type EvidenceMetadata struct { + GitCommit string + Backend string + ModelRevision string + Variant string + ArtifactSHA256 string + RuntimeVersion string + ContainerImage string + Platform string + HardwareProfile string + RunnerName string + CorpusSHA256 string + PolicySHA256 string + BudgetSHA256 string + IdentitySHA256 string + EvidenceAuthority EvidenceAuthority + Authoritative bool +} + +type PredictedSpan struct { + Kind SpanKind + Start int + End int +} + +type CaseObservation struct { + CaseID string + Predictions []PredictedSpan + Outputs map[Mode]string +} + +type GateState string + +const ( + GateNotRun GateState = "not-run" + GatePass GateState = "pass" + GateFail GateState = "fail" +) + +type Report struct { + Schema int `json:"schema"` + GitCommit string `json:"git_commit"` + CorpusSHA256 string `json:"corpus_sha256"` + PolicySHA256 string `json:"policy_sha256"` + BudgetSHA256 string `json:"budget_sha256"` + IdentitySHA256 string `json:"identity_sha256"` + Backend string `json:"backend"` + ModelRevision string `json:"model_revision"` + Variant string `json:"variant"` + ArtifactSHA256 string `json:"artifact_sha256"` + RuntimeVersion string `json:"runtime_version"` + ContainerImage string `json:"container_image"` + Platform string `json:"platform"` + HardwareProfile string `json:"hardware_profile"` + RunnerName string `json:"runner_name"` + EvidenceAuthority EvidenceAuthority `json:"evidence_authority"` + Authoritative bool `json:"authoritative"` + CasesEvaluated int `json:"cases_evaluated"` + Detector DetectorMetrics `json:"detector"` + FinalOutput []OutputMetrics `json:"final_output"` + CaseResults []CaseResult `json:"case_results"` + Gates []GateResult `json:"gates"` +} + +type DetectorMetrics struct { + Exact MetricSet `json:"exact"` + Covering MetricSet `json:"covering"` + SensitivityWeighted WeightedMetric `json:"sensitivity_weighted"` + ByKind []MetricSlice `json:"by_kind"` + ByRisk []MetricSlice `json:"by_risk"` + ByLanguage []MetricSlice `json:"by_language"` + ByScript []MetricSlice `json:"by_script"` +} + +type MetricSlice struct { + Name string `json:"name"` + Exact MetricSet `json:"exact"` + Covering MetricSet `json:"covering"` +} + +type MetricSet struct { + TruePositive int `json:"true_positive"` + FalsePositive int `json:"false_positive"` + FalseNegative int `json:"false_negative"` + Precision float64 `json:"precision"` + Recall float64 `json:"recall"` + F1 float64 `json:"f1"` + F2 float64 `json:"f2"` +} + +type WeightedMetric struct { + TruePositiveWeight int `json:"true_positive_weight"` + FalsePositiveWeight int `json:"false_positive_weight"` + FalseNegativeWeight int `json:"false_negative_weight"` + Precision float64 `json:"precision"` + Recall float64 `json:"recall"` + F2 float64 `json:"f2"` +} + +type OutputMetrics struct { + Mode Mode `json:"mode"` + RawValueLeaks int `json:"raw_value_leaks"` + PreservationFailures int `json:"preservation_failures"` + ExactPassThroughFail int `json:"exact_pass_through_failures"` +} + +type CaseResult struct { + CaseID string `json:"case_id"` + ExactMisses int `json:"exact_misses"` + CoveringMisses int `json:"covering_misses"` + FalsePositives int `json:"false_positives"` + RawValueLeaks int `json:"raw_value_leaks"` + PreservationFailures int `json:"preservation_failures"` +} + +type GateResult struct { + Gate string `json:"gate"` + State GateState `json:"state"` +} + +type metricCounts struct { + tp int + fp int + fn int +} + +type weightedCounts struct { + tp int + fp int + fn int +} + +type sliceCounts struct { + exact metricCounts + covering metricCounts +} + +func Evaluate(corpus *Corpus, observations []CaseObservation, metadata EvidenceMetadata) (*Report, error) { + if corpus == nil || len(corpus.Cases) == 0 { + return nil, fmt.Errorf("evaluate privacy corpus: corpus is empty") + } + if err := validateEvidenceMetadata(metadata); err != nil { + return nil, err + } + byCase := make(map[string]CaseObservation, len(observations)) + for _, observation := range observations { + if _, exists := byCase[observation.CaseID]; exists { + return nil, fmt.Errorf("evaluate privacy corpus: duplicate observation for case %q", observation.CaseID) + } + byCase[observation.CaseID] = observation + } + if len(byCase) != len(corpus.Cases) { + return nil, fmt.Errorf("evaluate privacy corpus: got %d observations for %d cases", len(byCase), len(corpus.Cases)) + } + + exactTotal, coveringTotal := metricCounts{}, metricCounts{} + weighted := weightedCounts{} + byKind := make(map[string]*sliceCounts) + byRisk := make(map[string]*sliceCounts) + byLanguage := make(map[string]*sliceCounts) + byScript := make(map[string]*sliceCounts) + outputTotals := map[Mode]*OutputMetrics{ + ModeOff: {Mode: ModeOff}, + ModeCustomers: {Mode: ModeCustomers}, + ModeAll: {Mode: ModeAll}, + } + caseResults := make([]CaseResult, 0, len(corpus.Cases)) + + for _, fixture := range corpus.Cases { + observation, exists := byCase[fixture.ID] + if !exists { + return nil, fmt.Errorf("evaluate privacy corpus: missing observation for case %q", fixture.ID) + } + if err := validateObservation(fixture, observation); err != nil { + return nil, err + } + + positiveTargets := make([]Target, 0, len(fixture.Targets)) + for _, target := range fixture.Targets { + if target.Actions.All == ActionRedact { + positiveTargets = append(positiveTargets, target) + } + } + exactCounts, _, _ := matchSpans(positiveTargets, observation.Predictions, false) + coveringCounts, _, _ := matchSpans(positiveTargets, observation.Predictions, true) + _, policyTargetMatched, policyPredictionMatched := matchPolicySpans(positiveTargets, observation.Predictions) + exactTotal.add(exactCounts) + coveringTotal.add(coveringCounts) + + weight := riskWeight(fixture.Risk) + for targetIndex := range positiveTargets { + if policyTargetMatched[targetIndex] { + weighted.tp += weight + } else { + weighted.fn += weight + } + } + for predictionIndex := range observation.Predictions { + if !policyPredictionMatched[predictionIndex] { + weighted.fp++ + } + } + + addSliceCounts(byRisk, string(fixture.Risk), exactCounts, coveringCounts) + addSliceCounts(byLanguage, fixture.Language, exactCounts, coveringCounts) + addSliceCounts(byScript, fixture.Script, exactCounts, coveringCounts) + for _, kind := range SpanKinds { + kindTargets := filterTargets(positiveTargets, kind) + kindPredictions := filterPredictions(observation.Predictions, kind) + kindExact, _, _ := matchSpans(kindTargets, kindPredictions, false) + kindCovering, _, _ := matchSpans(kindTargets, kindPredictions, true) + addSliceCounts(byKind, string(kind), kindExact, kindCovering) + } + + result := CaseResult{ + CaseID: fixture.ID, + ExactMisses: exactCounts.fn, + CoveringMisses: coveringCounts.fn, + FalsePositives: exactCounts.fp, + } + for _, mode := range Modes { + output := observation.Outputs[mode] + expected := fixture.Outputs.For(mode) + if mode == ModeOff && output != fixture.Text { + outputTotals[mode].ExactPassThroughFail++ + result.PreservationFailures++ + } + for _, absent := range expected.RequiredAbsent { + if strings.Contains(output, absent) { + outputTotals[mode].RawValueLeaks++ + result.RawValueLeaks++ + } + } + for _, present := range expected.RequiredPresent { + if !strings.Contains(output, present) { + outputTotals[mode].PreservationFailures++ + result.PreservationFailures++ + } + } + } + caseResults = append(caseResults, result) + } + + sort.Slice(caseResults, func(i, j int) bool { return caseResults[i].CaseID < caseResults[j].CaseID }) + finalOutput := []OutputMetrics{*outputTotals[ModeOff], *outputTotals[ModeCustomers], *outputTotals[ModeAll]} + report := &Report{ + Schema: ReportSchemaVersion, + GitCommit: metadata.GitCommit, + CorpusSHA256: metadata.CorpusSHA256, + PolicySHA256: metadata.PolicySHA256, + BudgetSHA256: metadata.BudgetSHA256, + IdentitySHA256: metadata.IdentitySHA256, + Backend: metadata.Backend, + ModelRevision: metadata.ModelRevision, + Variant: metadata.Variant, + ArtifactSHA256: metadata.ArtifactSHA256, + RuntimeVersion: metadata.RuntimeVersion, + ContainerImage: metadata.ContainerImage, + Platform: metadata.Platform, + HardwareProfile: metadata.HardwareProfile, + RunnerName: metadata.RunnerName, + EvidenceAuthority: metadata.EvidenceAuthority, + Authoritative: metadata.Authoritative, + CasesEvaluated: len(corpus.Cases), + Detector: DetectorMetrics{ + Exact: exactTotal.metrics(), + Covering: coveringTotal.metrics(), + SensitivityWeighted: weighted.metrics(), + ByKind: slicesToMetrics(byKind), + ByRisk: slicesToMetrics(byRisk), + ByLanguage: slicesToMetrics(byLanguage), + ByScript: slicesToMetrics(byScript), + }, + FinalOutput: finalOutput, + CaseResults: caseResults, + Gates: evaluateGates(metadata, finalOutput), + } + return report, nil +} + +func validateEvidenceMetadata(metadata EvidenceMetadata) error { + for name, value := range map[string]string{ + "git commit": metadata.GitCommit, "backend": metadata.Backend, "model revision": metadata.ModelRevision, + "variant": metadata.Variant, "artifact sha256": metadata.ArtifactSHA256, "runtime version": metadata.RuntimeVersion, + "container image": metadata.ContainerImage, "platform": metadata.Platform, "hardware profile": metadata.HardwareProfile, + "runner name": metadata.RunnerName, "corpus sha256": metadata.CorpusSHA256, + "policy sha256": metadata.PolicySHA256, "budget sha256": metadata.BudgetSHA256, "identity sha256": metadata.IdentitySHA256, + } { + if value == "" { + return fmt.Errorf("evaluate privacy corpus: evidence metadata is missing %s", name) + } + } + if metadata.EvidenceAuthority != AuthorityDockerCI && metadata.EvidenceAuthority != AuthorityLocal { + return fmt.Errorf("evaluate privacy corpus: unsupported evidence authority %q", metadata.EvidenceAuthority) + } + if metadata.Authoritative && metadata.EvidenceAuthority != AuthorityDockerCI { + return fmt.Errorf("evaluate privacy corpus: only docker-ci evidence may be authoritative") + } + if metadata.Authoritative { + for name, value := range map[string]string{ + "artifact": metadata.ArtifactSHA256, "corpus": metadata.CorpusSHA256, "policy": metadata.PolicySHA256, + "budget": metadata.BudgetSHA256, "identity": metadata.IdentitySHA256, + } { + if len(value) != sha256HexLength { + return fmt.Errorf("evaluate privacy corpus: authoritative %s identity is not SHA-256", name) + } + if _, err := hex.DecodeString(value); err != nil { + return fmt.Errorf("evaluate privacy corpus: authoritative %s identity is not SHA-256", name) + } + } + imageHash := strings.TrimPrefix(metadata.ContainerImage, "sha256:") + if !strings.HasPrefix(metadata.ContainerImage, "sha256:") || len(imageHash) != sha256HexLength { + return fmt.Errorf("evaluate privacy corpus: authoritative container image lacks an immutable content identity") + } + if _, err := hex.DecodeString(imageHash); err != nil { + return fmt.Errorf("evaluate privacy corpus: authoritative container image lacks an immutable content identity") + } + if metadata.HardwareProfile == "local" || metadata.RunnerName == "local-sanity" { + return fmt.Errorf("evaluate privacy corpus: local hardware cannot produce authoritative evidence") + } + } + return nil +} + +const sha256HexLength = 64 + +func validateObservation(fixture Case, observation CaseObservation) error { + if observation.CaseID != fixture.ID { + return fmt.Errorf("privacy corpus observation ID mismatch for case %q", fixture.ID) + } + if len(observation.Outputs) != len(Modes) { + return fmt.Errorf("privacy corpus observation %q must contain all mode outputs", fixture.ID) + } + for _, mode := range Modes { + if _, exists := observation.Outputs[mode]; !exists { + return fmt.Errorf("privacy corpus observation %q is missing %s output", fixture.ID, mode) + } + } + seen := make(map[PredictedSpan]struct{}, len(observation.Predictions)) + for _, prediction := range observation.Predictions { + if !allowedKinds[prediction.Kind] { + return fmt.Errorf("privacy corpus observation %q contains unsupported kind %q", fixture.ID, prediction.Kind) + } + if !validByteRange(fixture.Text, prediction.Start, prediction.End) { + return fmt.Errorf("privacy corpus observation %q contains invalid byte range [%d:%d]", fixture.ID, prediction.Start, prediction.End) + } + if _, exists := seen[prediction]; exists { + return fmt.Errorf("privacy corpus observation %q contains a duplicate prediction", fixture.ID) + } + seen[prediction] = struct{}{} + } + return nil +} + +func matchSpans(targets []Target, predictions []PredictedSpan, covering bool) (metricCounts, []bool, []bool) { + return maximumSpanMatching(targets, predictions, func(target Target, prediction PredictedSpan) bool { + if prediction.Kind != target.Kind { + return false + } + if covering { + return prediction.Start <= target.Start && prediction.End >= target.End + } + return prediction.Start == target.Start && prediction.End == target.End + }) +} + +func matchPolicySpans(targets []Target, predictions []PredictedSpan) (metricCounts, []bool, []bool) { + return maximumSpanMatching(targets, predictions, func(target Target, prediction PredictedSpan) bool { + if prediction.Kind != target.Kind { + return false + } + if target.Match == MatchCovering { + return prediction.Start <= target.Start && prediction.End >= target.End + } + return prediction.Start == target.Start && prediction.End == target.End + }) +} + +func maximumSpanMatching(targets []Target, predictions []PredictedSpan, matches func(Target, PredictedSpan) bool) (metricCounts, []bool, []bool) { + targetMatched := make([]bool, len(targets)) + predictionMatched := make([]bool, len(predictions)) + predictionOwner := make([]int, len(predictions)) + for i := range predictionOwner { + predictionOwner[i] = -1 + } + var assign func(int, []bool) bool + assign = func(targetIndex int, visited []bool) bool { + for predictionIndex, prediction := range predictions { + if visited[predictionIndex] || !matches(targets[targetIndex], prediction) { + continue + } + visited[predictionIndex] = true + if predictionOwner[predictionIndex] == -1 || assign(predictionOwner[predictionIndex], visited) { + predictionOwner[predictionIndex] = targetIndex + return true + } + } + return false + } + for targetIndex := range targets { + assign(targetIndex, make([]bool, len(predictions))) + } + for predictionIndex, targetIndex := range predictionOwner { + if targetIndex >= 0 { + targetMatched[targetIndex] = true + predictionMatched[predictionIndex] = true + } + } + counts := metricCounts{} + for _, matched := range targetMatched { + if matched { + counts.tp++ + } else { + counts.fn++ + } + } + for _, matched := range predictionMatched { + if !matched { + counts.fp++ + } + } + return counts, targetMatched, predictionMatched +} + +func filterTargets(targets []Target, kind SpanKind) []Target { + out := make([]Target, 0) + for _, target := range targets { + if target.Kind == kind { + out = append(out, target) + } + } + return out +} + +func filterPredictions(predictions []PredictedSpan, kind SpanKind) []PredictedSpan { + out := make([]PredictedSpan, 0) + for _, prediction := range predictions { + if prediction.Kind == kind { + out = append(out, prediction) + } + } + return out +} + +func (c *metricCounts) add(other metricCounts) { + c.tp += other.tp + c.fp += other.fp + c.fn += other.fn +} + +func (c metricCounts) metrics() MetricSet { + precision := ratio(c.tp, c.tp+c.fp) + recall := ratio(c.tp, c.tp+c.fn) + return MetricSet{ + TruePositive: c.tp, FalsePositive: c.fp, FalseNegative: c.fn, + Precision: precision, Recall: recall, + F1: fScore(precision, recall, 1), F2: fScore(precision, recall, 2), + } +} + +func (c weightedCounts) metrics() WeightedMetric { + precision := ratio(c.tp, c.tp+c.fp) + recall := ratio(c.tp, c.tp+c.fn) + return WeightedMetric{ + TruePositiveWeight: c.tp, FalsePositiveWeight: c.fp, FalseNegativeWeight: c.fn, + Precision: precision, Recall: recall, F2: fScore(precision, recall, 2), + } +} + +func addSliceCounts(slices map[string]*sliceCounts, name string, exact, covering metricCounts) { + counts := slices[name] + if counts == nil { + counts = &sliceCounts{} + slices[name] = counts + } + counts.exact.add(exact) + counts.covering.add(covering) +} + +func slicesToMetrics(values map[string]*sliceCounts) []MetricSlice { + names := make([]string, 0, len(values)) + for name := range values { + names = append(names, name) + } + sort.Strings(names) + out := make([]MetricSlice, 0, len(names)) + for _, name := range names { + out = append(out, MetricSlice{Name: name, Exact: values[name].exact.metrics(), Covering: values[name].covering.metrics()}) + } + return out +} + +func ratio(numerator, denominator int) float64 { + if denominator == 0 { + return 1 + } + return roundMetric(float64(numerator) / float64(denominator)) +} + +func fScore(precision, recall, beta float64) float64 { + if precision == 0 && recall == 0 { + return 0 + } + betaSquared := beta * beta + return roundMetric((1 + betaSquared) * precision * recall / (betaSquared*precision + recall)) +} + +func roundMetric(value float64) float64 { + return math.Round(value*1_000_000) / 1_000_000 +} + +func riskWeight(risk RiskTier) int { + switch risk { + case RiskCritical: + return 5 + case RiskHigh: + return 3 + default: + return 1 + } +} + +func evaluateGates(metadata EvidenceMetadata, finalOutput []OutputMetrics) []GateResult { + gates := make([]GateResult, 0, 11) + for gate := 0; gate <= 10; gate++ { + state := GateNotRun + if gate == 0 && metadata.Authoritative && metadata.EvidenceAuthority == AuthorityDockerCI { + state = GatePass + seenOff := false + for _, output := range finalOutput { + if output.Mode == ModeOff { + seenOff = true + if output.RawValueLeaks != 0 || output.PreservationFailures != 0 || output.ExactPassThroughFail != 0 { + state = GateFail + } + } + } + if !seenOff { + state = GateFail + } + } + gates = append(gates, GateResult{Gate: fmt.Sprintf("G%d", gate), State: state}) + } + return gates +} + +func WriteReport(path string, report *Report) error { + if report == nil { + return fmt.Errorf("write evaluation report: report is nil") + } + raw, err := json.MarshalIndent(report, "", " ") + if err != nil { + return fmt.Errorf("encode evaluation report: %w", err) + } + raw = append(raw, '\n') + if err := os.WriteFile(path, raw, 0o600); err != nil { + return fmt.Errorf("write evaluation report: %w", err) + } + return nil +} diff --git a/internal/pii/evaluation/metrics_test.go b/internal/pii/evaluation/metrics_test.go new file mode 100644 index 0000000..1f1cba8 --- /dev/null +++ b/internal/pii/evaluation/metrics_test.go @@ -0,0 +1,138 @@ +package evaluation + +import ( + "encoding/json" + "reflect" + "strings" + "testing" +) + +func TestDeterministicMetricAndGateEvaluator(t *testing.T) { + redactText := "private-value" + preserveText := "public-value" + corpus := &Corpus{Cases: []Case{ + { + ID: "redact-case", Language: "en", Script: "Latin", Shape: "prose", Risk: RiskCritical, Text: redactText, + Targets: []Target{{ID: "value", Kind: SpanSecret, Start: 0, End: len(redactText), Value: redactText, Match: MatchCovering, Actions: ModeActions{ActionPreserve, ActionRedact, ActionRedact}}}, + Outputs: ModeOutputs{ + Off: OutputExpectation{RequiredAbsent: []string{}, RequiredPresent: []string{redactText}}, + Customers: OutputExpectation{RequiredAbsent: []string{redactText}, RequiredPresent: []string{}}, + All: OutputExpectation{RequiredAbsent: []string{redactText}, RequiredPresent: []string{}}, + }, + }, + { + ID: "preserve-case", Language: "en", Script: "Latin", Shape: "prose", Risk: RiskPreservation, Text: preserveText, + Targets: []Target{{ID: "value", Kind: SpanAccountNumber, Start: 0, End: len(preserveText), Value: preserveText, Match: MatchExact, Actions: ModeActions{ActionPreserve, ActionPreserve, ActionPreserve}}}, + Outputs: ModeOutputs{ + Off: OutputExpectation{RequiredAbsent: []string{}, RequiredPresent: []string{preserveText}}, + Customers: OutputExpectation{RequiredAbsent: []string{}, RequiredPresent: []string{preserveText}}, + All: OutputExpectation{RequiredAbsent: []string{}, RequiredPresent: []string{preserveText}}, + }, + }, + }} + observations := []CaseObservation{ + {CaseID: "redact-case", Predictions: []PredictedSpan{{Kind: SpanSecret, Start: 0, End: len(redactText)}}, Outputs: map[Mode]string{ModeOff: redactText, ModeCustomers: SecretMarker, ModeAll: SecretMarker}}, + {CaseID: "preserve-case", Outputs: map[Mode]string{ModeOff: preserveText, ModeCustomers: preserveText, ModeAll: preserveText}}, + } + metadata := testMetadata() + report, err := Evaluate(corpus, observations, metadata) + if err != nil { + t.Fatalf("evaluate metrics: %v", err) + } + if report.Detector.Exact.TruePositive != 1 || report.Detector.Exact.FalsePositive != 0 || report.Detector.Exact.FalseNegative != 0 { + t.Fatalf("unexpected exact metrics: %+v", report.Detector.Exact) + } + if report.Detector.Exact.F2 != 1 || report.Detector.SensitivityWeighted.F2 != 1 { + t.Fatalf("unexpected F2 metrics: exact=%v weighted=%v", report.Detector.Exact.F2, report.Detector.SensitivityWeighted.F2) + } + for _, output := range report.FinalOutput { + if output.RawValueLeaks != 0 || output.PreservationFailures != 0 || output.ExactPassThroughFail != 0 { + t.Fatalf("unexpected final-output failures for %s: %+v", output.Mode, output) + } + } + if report.Gates[0].State != GateNotRun { + t.Fatalf("local evidence must not pass G0: %+v", report.Gates[0]) + } + + second, err := Evaluate(corpus, observations, metadata) + if err != nil { + t.Fatal(err) + } + firstJSON, _ := json.Marshal(report) + secondJSON, _ := json.Marshal(second) + if !reflect.DeepEqual(firstJSON, secondJSON) { + t.Fatalf("metric report is not deterministic") + } + if strings.Contains(string(firstJSON), redactText) { + t.Fatalf("metric report serialized a raw protected value") + } +} + +func TestGateEvidenceRejectsLocalSanityAsAuthoritative(t *testing.T) { + metadata := testMetadata() + metadata.Authoritative = true + if err := validateEvidenceMetadata(metadata); err == nil { + t.Fatalf("local-sanity evidence was allowed to become authoritative") + } + metadata.EvidenceAuthority = AuthorityDockerCI + hash := strings.Repeat("a", 64) + metadata.ArtifactSHA256 = hash + metadata.CorpusSHA256 = hash + metadata.PolicySHA256 = hash + metadata.BudgetSHA256 = hash + metadata.IdentitySHA256 = hash + metadata.ContainerImage = "sha256:" + hash + metadata.HardwareProfile = "docker-functional" + metadata.RunnerName = "privacy-filter-ci-01" + if err := validateEvidenceMetadata(metadata); err != nil { + t.Fatalf("valid Docker CI evidence was rejected: %v", err) + } + finalOutput := []OutputMetrics{{Mode: ModeOff}} + if gates := evaluateGates(metadata, finalOutput); gates[0].State != GatePass { + t.Fatalf("authoritative Docker CI evidence did not advance G0: %+v", gates[0]) + } + for _, gate := range evaluateGates(metadata, finalOutput)[1:] { + if gate.State != GateNotRun { + t.Fatalf("Phase 0 evidence advanced a later gate: %+v", gate) + } + } + failingOff := []OutputMetrics{{Mode: ModeOff, ExactPassThroughFail: 1}} + if gates := evaluateGates(metadata, failingOff); gates[0].State != GateFail { + t.Fatalf("authoritative off-mode regression did not fail G0: %+v", gates[0]) + } +} + +func TestMetricMatchingUsesMaximumOneToOneAssignment(t *testing.T) { + targets := []Target{ + {Kind: SpanSecret, Start: 10, End: 20}, + {Kind: SpanSecret, Start: 0, End: 5}, + } + predictions := []PredictedSpan{ + {Kind: SpanSecret, Start: 0, End: 20}, + {Kind: SpanSecret, Start: 10, End: 20}, + } + counts, targetMatched, predictionMatched := matchSpans(targets, predictions, true) + if counts.tp != 2 || counts.fp != 0 || counts.fn != 0 { + t.Fatalf("covering matcher did not find maximum assignment: %+v", counts) + } + for i, matched := range targetMatched { + if !matched { + t.Fatalf("target %d was left unmatched", i) + } + } + for i, matched := range predictionMatched { + if !matched { + t.Fatalf("prediction %d was left unmatched", i) + } + } +} + +func testMetadata() EvidenceMetadata { + return EvidenceMetadata{ + GitCommit: "fixture-commit", Backend: "distilbert", ModelRevision: "fixture-model", + Variant: "int8", ArtifactSHA256: "fixture-artifact", RuntimeVersion: "fixture-runtime", + ContainerImage: "fixture-image", Platform: "linux-amd64", HardwareProfile: "local", RunnerName: "fixture-runner", CorpusSHA256: "fixture-corpus", + PolicySHA256: "fixture-policy", BudgetSHA256: "fixture-budget", IdentitySHA256: "fixture-identity", + EvidenceAuthority: AuthorityLocal, Authoritative: false, + } +} diff --git a/internal/pii/evaluation/performance.go b/internal/pii/evaluation/performance.go new file mode 100644 index 0000000..c653a1a --- /dev/null +++ b/internal/pii/evaluation/performance.go @@ -0,0 +1,214 @@ +package evaluation + +import ( + "fmt" + "os" + "strings" +) + +type WorkloadsDocument struct { + Schema int `json:"schema"` + Workloads []PerformanceWorkload `json:"workloads"` +} + +type PerformanceWorkload struct { + ID string `json:"id"` + Description string `json:"description"` + TargetBytes int `json:"target_bytes"` + WarmupSamples int `json:"warmup_samples"` + MeasuredSamples int `json:"measured_samples"` + FreshProcesses int `json:"fresh_processes"` + Concurrency int `json:"concurrency"` + Requests int `json:"requests"` + RequiredMetrics []string `json:"required_metrics"` +} + +type BudgetsDocument struct { + Schema int `json:"schema"` + EvidenceAuthority string `json:"evidence_authority"` + Sampling SamplingPolicy `json:"sampling"` + HardwareProfiles []HardwareProfile `json:"hardware_profiles"` + Limits []PerformanceLimit `json:"limits"` +} + +type SamplingPolicy struct { + MinimumFreshProcesses int `json:"minimum_fresh_processes"` + MinimumWarmSamples int `json:"minimum_warm_samples"` + DiagnosticReruns int `json:"diagnostic_reruns"` +} + +type HardwareProfile struct { + ID string `json:"id"` + RunnerLabels []string `json:"runner_labels"` + VCPUs int `json:"vcpus"` + MemoryBytes int64 `json:"memory_bytes"` + SwapBytes int64 `json:"swap_bytes"` + CPUOnly bool `json:"cpu_only"` + Storage string `json:"storage"` + RequiredMetadata []string `json:"required_metadata"` +} + +type PerformanceLimit struct { + ID string `json:"id"` + Workload string `json:"workload"` + Statistic string `json:"statistic"` + Maximum int64 `json:"maximum"` + Unit string `json:"unit"` + Profiles []string `json:"profiles"` +} + +func LoadPerformanceContract(workloadsPath, budgetsPath string) (*WorkloadsDocument, *BudgetsDocument, error) { + workloadsRaw, err := os.ReadFile(workloadsPath) + if err != nil { + return nil, nil, fmt.Errorf("read performance workloads: %w", err) + } + var workloads WorkloadsDocument + if err := decodeStrict(workloadsRaw, &workloads); err != nil { + return nil, nil, fmt.Errorf("decode performance workloads: %w", err) + } + budgetsRaw, err := os.ReadFile(budgetsPath) + if err != nil { + return nil, nil, fmt.Errorf("read performance budgets: %w", err) + } + var budgets BudgetsDocument + if err := decodeStrict(budgetsRaw, &budgets); err != nil { + return nil, nil, fmt.Errorf("decode performance budgets: %w", err) + } + if err := validatePerformanceContract(&workloads, &budgets); err != nil { + return nil, nil, err + } + return &workloads, &budgets, nil +} + +func validatePerformanceContract(workloads *WorkloadsDocument, budgets *BudgetsDocument) error { + if workloads.Schema != CorpusSchemaVersion || budgets.Schema != CorpusSchemaVersion { + return fmt.Errorf("performance contract requires schema %d", CorpusSchemaVersion) + } + if budgets.EvidenceAuthority != "docker-ci" { + return fmt.Errorf("performance budgets must name docker-ci as evidence authority") + } + if budgets.Sampling.MinimumFreshProcesses < 20 || budgets.Sampling.MinimumWarmSamples < 100 || budgets.Sampling.DiagnosticReruns != 1 { + return fmt.Errorf("performance sampling is below the frozen minimum") + } + if len(workloads.Workloads) != 7 { + return fmt.Errorf("performance contract requires exactly seven workloads") + } + workloadIDs := make(map[string]struct{}, len(workloads.Workloads)) + for _, workload := range workloads.Workloads { + if !idPattern.MatchString(workload.ID) || workload.Description == "" || workload.TargetBytes <= 0 { + return fmt.Errorf("performance workload %q has invalid metadata", workload.ID) + } + if _, exists := workloadIDs[workload.ID]; exists { + return fmt.Errorf("duplicate performance workload %q", workload.ID) + } + workloadIDs[workload.ID] = struct{}{} + if workload.WarmupSamples < 1 || workload.MeasuredSamples < budgets.Sampling.MinimumWarmSamples || + workload.FreshProcesses < budgets.Sampling.MinimumFreshProcesses || workload.Concurrency < 1 || workload.Requests < 1 { + return fmt.Errorf("performance workload %q is below the frozen sampling minimum", workload.ID) + } + if len(workload.RequiredMetrics) == 0 { + return fmt.Errorf("performance workload %q has no required metrics", workload.ID) + } + if err := validateUniqueStrings("performance workload "+workload.ID, "required_metrics", workload.RequiredMetrics); err != nil { + return err + } + } + for _, required := range []string{"subject", "message", "thread", "export", "adversarial-long", "mcp-longevity", "mcp-burst"} { + if _, exists := workloadIDs[required]; !exists { + return fmt.Errorf("performance contract is missing workload %q", required) + } + } + + if len(budgets.HardwareProfiles) != 3 { + return fmt.Errorf("performance contract requires H0, H1, and H2 hardware profiles") + } + profiles := make(map[string]HardwareProfile, len(budgets.HardwareProfiles)) + for _, profile := range budgets.HardwareProfiles { + if profile.ID != "H0" && profile.ID != "H1" && profile.ID != "H2" { + return fmt.Errorf("unsupported hardware profile %q", profile.ID) + } + if _, exists := profiles[profile.ID]; exists { + return fmt.Errorf("duplicate hardware profile %q", profile.ID) + } + if profile.VCPUs <= 0 || profile.MemoryBytes <= 0 || !profile.CPUOnly || profile.Storage != "ssd" { + return fmt.Errorf("hardware profile %q has invalid resources", profile.ID) + } + if len(profile.RunnerLabels) == 0 || contains(profile.RunnerLabels, "ubuntu-latest") { + return fmt.Errorf("hardware profile %q must use a named stable CI runner", profile.ID) + } + hasNamedLabel := false + for _, label := range profile.RunnerLabels { + if strings.Contains(label, "privacy-filter-") { + hasNamedLabel = true + } + } + if !hasNamedLabel { + return fmt.Errorf("hardware profile %q lacks its stable privacy-filter runner label", profile.ID) + } + for _, required := range []string{ + "runner_name", "cpu_model", "architecture", "instruction_sets", "physical_cores", "logical_cores", + "virtualization", "ram_limit", "swap_policy", "numa", "storage", "os", "kernel", "power_governor", + "onnx_runtime", "go_version", "python_version", "thread_settings", "git_commit", "corpus_sha256", + "budget_sha256", "model_sha256", + } { + if !contains(profile.RequiredMetadata, required) { + return fmt.Errorf("hardware profile %q is missing reproduction metadata %q", profile.ID, required) + } + } + profiles[profile.ID] = profile + } + if profiles["H0"].VCPUs != 2 || profiles["H0"].MemoryBytes != 4*1024*1024*1024 || profiles["H0"].SwapBytes != 0 || + profiles["H1"].VCPUs != 4 || profiles["H1"].MemoryBytes != 8*1024*1024*1024 || + profiles["H2"].VCPUs != 8 || profiles["H2"].MemoryBytes != 16*1024*1024*1024 { + return fmt.Errorf("hardware profiles do not match the frozen H0/H1/H2 resources") + } + + requiredLimits := map[string]struct { + maximum int64 + unit string + }{ + "detector-readiness-reference": {5000, "milliseconds"}, + "detector-readiness-slowest": {8000, "milliseconds"}, + "warm-subject": {250, "milliseconds"}, + "warm-message": {750, "milliseconds"}, + "warm-thread": {4000, "milliseconds"}, + "warm-export": {20000, "milliseconds"}, + "peak-rss": {2 * 1024 * 1024 * 1024, "bytes"}, + "steady-rss": {1536 * 1024 * 1024, "bytes"}, + "rss-growth-percent": {5, "percent"}, + "rss-growth-bytes": {64 * 1024 * 1024, "bytes"}, + "installed-bundle": {1280 * 1024 * 1024, "bytes"}, + "compressed-download": {1181116006, "bytes"}, + "detector-construction": {1, "count"}, + "mode-off-construction": {0, "count"}, + "mcp-burst-factor": {5, "factor"}, + } + if len(budgets.Limits) != len(requiredLimits) { + return fmt.Errorf("performance contract expected %d frozen limits", len(requiredLimits)) + } + seenLimits := make(map[string]struct{}, len(budgets.Limits)) + for _, limit := range budgets.Limits { + expected, exists := requiredLimits[limit.ID] + if !exists { + return fmt.Errorf("unknown performance limit %q", limit.ID) + } + if _, exists := seenLimits[limit.ID]; exists { + return fmt.Errorf("duplicate performance limit %q", limit.ID) + } + seenLimits[limit.ID] = struct{}{} + if limit.Maximum != expected.maximum || limit.Unit != expected.unit || limit.Statistic == "" || len(limit.Profiles) == 0 { + return fmt.Errorf("performance limit %q differs from the frozen budget", limit.ID) + } + for _, profile := range limit.Profiles { + if _, exists := profiles[profile]; !exists { + return fmt.Errorf("performance limit %q references unknown profile %q", limit.ID, profile) + } + } + if limit.Workload != "all" { + if _, exists := workloadIDs[limit.Workload]; !exists { + return fmt.Errorf("performance limit %q references unknown workload %q", limit.ID, limit.Workload) + } + } + } + return nil +} diff --git a/internal/pii/evaluation/policy.go b/internal/pii/evaluation/policy.go new file mode 100644 index 0000000..a229ff7 --- /dev/null +++ b/internal/pii/evaluation/policy.go @@ -0,0 +1,188 @@ +package evaluation + +import ( + "fmt" + "os" +) + +const SecretMarker = "[REDACTED_SECRET]" + +type Replacement string + +const ( + ReplacementPassThrough Replacement = "pass-through" + ReplacementDeterministicPerson Replacement = "deterministic-person" + ReplacementDeterministicToken Replacement = "deterministic-token" + ReplacementConstantSecret Replacement = "constant-secret-marker" +) + +type PolicyDocument struct { + Schema int `json:"schema"` + SecretMarker string `json:"secret_marker"` + Kinds []KindPolicy `json:"kinds"` + Identity []IdentityPolicy `json:"identity_policy"` +} + +type KindPolicy struct { + Kind SpanKind `json:"kind"` + Replacement Replacement `json:"replacement"` + Actions ModeActions `json:"actions"` +} + +type IdentityPolicy struct { + ID string `json:"id"` + Kind SpanKind `json:"kind"` + IdentityType string `json:"identity_type"` + Replacement Replacement `json:"replacement"` + Actions ModeActions `json:"actions"` +} + +func LoadPolicy(path string) (*PolicyDocument, error) { + raw, err := os.ReadFile(path) + if err != nil { + return nil, fmt.Errorf("read typed privacy policy: %w", err) + } + var policy PolicyDocument + if err := decodeStrict(raw, &policy); err != nil { + return nil, fmt.Errorf("decode typed privacy policy: %w", err) + } + if err := policy.Validate(); err != nil { + return nil, err + } + return &policy, nil +} + +func (p *PolicyDocument) Validate() error { + if p.Schema != CorpusSchemaVersion { + return fmt.Errorf("typed privacy policy: unsupported schema %d", p.Schema) + } + if p.SecretMarker != SecretMarker { + return fmt.Errorf("typed privacy policy: secret marker must be the frozen constant %q", SecretMarker) + } + if len(p.Kinds) != len(SpanKinds) { + return fmt.Errorf("typed privacy policy: expected exactly %d kind policies", len(SpanKinds)) + } + seenKinds := make(map[SpanKind]struct{}, len(p.Kinds)) + for _, policy := range p.Kinds { + if !allowedKinds[policy.Kind] { + return fmt.Errorf("typed privacy policy: unsupported kind %q", policy.Kind) + } + if _, exists := seenKinds[policy.Kind]; exists { + return fmt.Errorf("typed privacy policy: duplicate kind %q", policy.Kind) + } + seenKinds[policy.Kind] = struct{}{} + if policy.Actions.Off != ActionPreserve || policy.Actions.Customers != ActionRedact || policy.Actions.All != ActionRedact { + return fmt.Errorf("typed privacy policy: default kind %q must preserve off and redact customers/all", policy.Kind) + } + expectedReplacement := ReplacementDeterministicToken + switch policy.Kind { + case SpanPerson: + expectedReplacement = ReplacementDeterministicPerson + case SpanSecret: + expectedReplacement = ReplacementConstantSecret + } + if policy.Replacement != expectedReplacement { + return fmt.Errorf("typed privacy policy: kind %q has replacement %q, want %q", policy.Kind, policy.Replacement, expectedReplacement) + } + } + + requiredIdentityPolicies := map[string]IdentityPolicy{ + "known-customer-person": { + Kind: SpanPerson, IdentityType: "customer", Replacement: ReplacementDeterministicPerson, + Actions: ModeActions{Off: ActionPreserve, Customers: ActionRedact, All: ActionRedact}, + }, + "known-staff-person": { + Kind: SpanPerson, IdentityType: "user", Replacement: ReplacementDeterministicPerson, + Actions: ModeActions{Off: ActionPreserve, Customers: ActionPreserve, All: ActionRedact}, + }, + "unknown-third-party-person": { + Kind: SpanPerson, IdentityType: "unknown", Replacement: ReplacementDeterministicPerson, + Actions: ModeActions{Off: ActionPreserve, Customers: ActionRedact, All: ActionRedact}, + }, + "customer-secret": { + Kind: SpanSecret, IdentityType: "customer", Replacement: ReplacementConstantSecret, + Actions: ModeActions{Off: ActionPreserve, Customers: ActionRedact, All: ActionRedact}, + }, + "staff-secret": { + Kind: SpanSecret, IdentityType: "user", Replacement: ReplacementConstantSecret, + Actions: ModeActions{Off: ActionPreserve, Customers: ActionRedact, All: ActionRedact}, + }, + "third-party-secret": { + Kind: SpanSecret, IdentityType: "unknown", Replacement: ReplacementConstantSecret, + Actions: ModeActions{Off: ActionPreserve, Customers: ActionRedact, All: ActionRedact}, + }, + } + if len(p.Identity) != len(requiredIdentityPolicies) { + return fmt.Errorf("typed privacy policy: expected exactly %d identity policies", len(requiredIdentityPolicies)) + } + seenIdentity := make(map[string]struct{}, len(p.Identity)) + for _, policy := range p.Identity { + if _, exists := seenIdentity[policy.ID]; exists { + return fmt.Errorf("typed privacy policy: duplicate identity policy %q", policy.ID) + } + seenIdentity[policy.ID] = struct{}{} + expected, exists := requiredIdentityPolicies[policy.ID] + if !exists { + return fmt.Errorf("typed privacy policy: unknown identity policy %q", policy.ID) + } + if policy.Kind != expected.Kind || policy.IdentityType != expected.IdentityType || + policy.Replacement != expected.Replacement || policy.Actions != expected.Actions { + return fmt.Errorf("typed privacy policy: identity policy %q contradicts the frozen matrix", policy.ID) + } + } + return nil +} + +type IdentitySnapshot struct { + Schema int `json:"schema"` + IdentitySchema string `json:"identity_schema"` + KeyID string `json:"key_id"` + KeyFixture string `json:"key_fixture"` + Cases []IdentitySnapshotCase `json:"cases"` +} + +type IdentitySnapshotCase struct { + ID string `json:"id"` + Input IdentityValues `json:"input"` + Expected IdentityValues `json:"expected"` +} + +type IdentityValues struct { + First string `json:"first"` + Last string `json:"last"` + Email string `json:"email"` +} + +func LoadIdentitySnapshot(path string) (*IdentitySnapshot, error) { + raw, err := os.ReadFile(path) + if err != nil { + return nil, fmt.Errorf("read identity compatibility snapshot: %w", err) + } + var snapshot IdentitySnapshot + if err := decodeStrict(raw, &snapshot); err != nil { + return nil, fmt.Errorf("decode identity compatibility snapshot: %w", err) + } + if snapshot.Schema != CorpusSchemaVersion || snapshot.IdentitySchema != "v2" || snapshot.KeyID == "" || snapshot.KeyFixture == "" { + return nil, fmt.Errorf("identity compatibility snapshot has invalid metadata") + } + if len(snapshot.Cases) == 0 { + return nil, fmt.Errorf("identity compatibility snapshot is empty") + } + seen := make(map[string]struct{}, len(snapshot.Cases)) + for _, fixture := range snapshot.Cases { + if !idPattern.MatchString(fixture.ID) { + return nil, fmt.Errorf("identity compatibility snapshot contains an invalid case ID") + } + if _, exists := seen[fixture.ID]; exists { + return nil, fmt.Errorf("identity compatibility snapshot contains duplicate case ID %q", fixture.ID) + } + seen[fixture.ID] = struct{}{} + if fixture.Input.First == "" && fixture.Input.Last == "" && fixture.Input.Email == "" { + return nil, fmt.Errorf("identity compatibility case %q has empty input", fixture.ID) + } + if fixture.Expected.First == "" && fixture.Expected.Last == "" && fixture.Expected.Email == "" { + return nil, fmt.Errorf("identity compatibility case %q has empty expected output", fixture.ID) + } + } + return &snapshot, nil +} diff --git a/internal/pii/ner/g0_baseline_test.go b/internal/pii/ner/g0_baseline_test.go new file mode 100644 index 0000000..5abbea7 --- /dev/null +++ b/internal/pii/ner/g0_baseline_test.go @@ -0,0 +1,184 @@ +package ner + +import ( + "context" + "os" + "path/filepath" + "runtime" + "strconv" + "testing" + "time" + + "github.com/operator-kit/hs-cli/internal/pii" + "github.com/operator-kit/hs-cli/internal/pii/evaluation" +) + +type baselineFixedDetector struct { + spans []pii.NameSpan +} + +func (d baselineFixedDetector) DetectNames(string) ([]pii.NameSpan, error) { + return append([]pii.NameSpan(nil), d.spans...), nil +} + +func TestDistilBERTTypedCorpusBaseline(t *testing.T) { + modelDir := os.Getenv("HS_PII_G0_MODEL_DIR") + if modelDir == "" { + t.Skip("set HS_PII_G0_MODEL_DIR to run the authoritative DistilBERT G0 baseline") + } + reportPath := os.Getenv("HS_PII_G0_REPORT") + if reportPath == "" { + t.Fatal("HS_PII_G0_REPORT is required when running the G0 baseline") + } + metadata := baselineMetadataFromEnvironment(t) + + ctx, cancel := context.WithTimeout(context.Background(), 10*time.Minute) + defer cancel() + paths := pathsAt(modelDir, CurrentPlatform()) + if err := validateRuntimeBundle(ctx, paths); err != nil { + t.Fatalf("validate DistilBERT baseline bundle: %v", err) + } + detector, err := newDetectorFromPaths(paths) + if err != nil { + t.Fatalf("load DistilBERT baseline detector: %v", err) + } + defer detector.Close() + + fixtureDir := filepath.Join("..", "testdata", "privacy-filter", "v1") + corpus, err := evaluation.LoadCorpusDir(fixtureDir) + if err != nil { + t.Fatalf("load typed privacy corpus: %v", err) + } + metadata.CorpusSHA256 = corpus.Fingerprint + if _, err := evaluation.LoadPolicy(filepath.Join(fixtureDir, "policy.json")); err != nil { + t.Fatalf("load frozen typed policy: %v", err) + } + if _, _, err := evaluation.LoadPerformanceContract( + filepath.Join(fixtureDir, "performance", "workloads.json"), + filepath.Join(fixtureDir, "performance", "budgets.json"), + ); err != nil { + t.Fatalf("load frozen performance contract: %v", err) + } + if _, err := evaluation.LoadIdentitySnapshot(filepath.Join(fixtureDir, "identity-compatibility.json")); err != nil { + t.Fatalf("load deterministic identity snapshot: %v", err) + } + metadata.PolicySHA256 = mustHashFile(t, filepath.Join(fixtureDir, "policy.json")) + metadata.BudgetSHA256 = mustHashFiles(t, + filepath.Join(fixtureDir, "performance", "budgets.json"), + filepath.Join(fixtureDir, "performance", "workloads.json"), + ) + metadata.IdentitySHA256 = mustHashFile(t, filepath.Join(fixtureDir, "identity-compatibility.json")) + + secret, err := pii.NewSecretString("phase0-baseline-synthetic-pseudonym-key") + if err != nil { + t.Fatalf("construct baseline pseudonym key: %v", err) + } + pseudonym, err := pii.NewPseudonymContext(secret, "privacy-filter-g0") + if err != nil { + t.Fatalf("construct baseline pseudonym context: %v", err) + } + + observations := make([]evaluation.CaseObservation, 0, len(corpus.Cases)) + for _, fixture := range corpus.Cases { + if err := ctx.Err(); err != nil { + t.Fatalf("DistilBERT baseline timed out after case %q: %v", fixture.ID, err) + } + nameSpans, err := detector.DetectNames(fixture.Text) + if err != nil { + t.Fatalf("case %q DistilBERT inference failed: %v", fixture.ID, err) + } + predictions := make([]evaluation.PredictedSpan, 0, len(nameSpans)) + for _, span := range nameSpans { + predictions = append(predictions, evaluation.PredictedSpan{ + Kind: evaluation.SpanPerson, Start: span.Start, End: span.End, + }) + } + known := make([]pii.KnownIdentity, 0, len(fixture.KnownIdentities)) + for _, identity := range fixture.KnownIdentities { + known = append(known, pii.KnownIdentity{ + Type: identity.Type, First: identity.First, Last: identity.Last, Email: identity.Email, Phone: identity.Phone, + }) + } + outputs := make(map[evaluation.Mode]string, len(evaluation.Modes)) + for _, fixtureMode := range evaluation.Modes { + mode, err := pii.ParseMode(string(fixtureMode)) + if err != nil { + t.Fatalf("case %q has invalid mode %q: %v", fixture.ID, fixtureMode, err) + } + modePseudonym := pseudonym + if mode == pii.ModeOff { + modePseudonym = pii.PseudonymContext{} + } + engine, err := pii.NewEngine(mode, modePseudonym, pii.WithNER(baselineFixedDetector{spans: nameSpans})) + if err != nil { + t.Fatalf("case %q construct %s engine: %v", fixture.ID, fixtureMode, err) + } + outputs[fixtureMode] = engine.RedactText(fixture.Text, known) + } + observations = append(observations, evaluation.CaseObservation{ + CaseID: fixture.ID, Predictions: predictions, Outputs: outputs, + }) + } + + report, err := evaluation.Evaluate(corpus, observations, metadata) + if err != nil { + t.Fatalf("evaluate DistilBERT baseline: %v", err) + } + if err := evaluation.WriteReport(reportPath, report); err != nil { + t.Fatalf("write DistilBERT baseline report: %v", err) + } + t.Logf("wrote synthetic-only DistilBERT G0 baseline: cases=%d exact_f2=%.6f covering_f2=%.6f", report.CasesEvaluated, report.Detector.Exact.F2, report.Detector.Covering.F2) +} + +func baselineMetadataFromEnvironment(t *testing.T) evaluation.EvidenceMetadata { + t.Helper() + authoritative, err := strconv.ParseBool(requiredBaselineEnv(t, "HS_PII_G0_AUTHORITATIVE")) + if err != nil { + t.Fatalf("HS_PII_G0_AUTHORITATIVE: %v", err) + } + authority := evaluation.EvidenceAuthority(requiredBaselineEnv(t, "HS_PII_G0_EVIDENCE_AUTHORITY")) + if authoritative && (authority != evaluation.AuthorityDockerCI || os.Getenv("GITHUB_ACTIONS") != "true" || os.Getenv("RUNNER_NAME") == "") { + t.Fatal("authoritative G0 evidence requires Docker CI running in GitHub Actions on an identified runner") + } + return evaluation.EvidenceMetadata{ + GitCommit: requiredBaselineEnv(t, "HS_PII_G0_GIT_COMMIT"), + Backend: "distilbert", + ModelRevision: requiredBaselineEnv(t, "HS_PII_G0_MODEL_REVISION"), + Variant: "int8", + ArtifactSHA256: requiredBaselineEnv(t, "HS_PII_G0_ARTIFACT_SHA256"), + RuntimeVersion: "onnxruntime-1.23.0", + ContainerImage: requiredBaselineEnv(t, "HS_PII_G0_CONTAINER_IMAGE"), + Platform: runtime.GOOS + "-" + runtime.GOARCH, + HardwareProfile: requiredBaselineEnv(t, "HS_PII_G0_HARDWARE_PROFILE"), + RunnerName: requiredBaselineEnv(t, "RUNNER_NAME"), + EvidenceAuthority: authority, + Authoritative: authoritative, + } +} + +func requiredBaselineEnv(t *testing.T, name string) string { + t.Helper() + value := os.Getenv(name) + if value == "" { + t.Fatalf("%s is required for the G0 baseline", name) + } + return value +} + +func mustHashFile(t *testing.T, path string) string { + t.Helper() + hash, err := evaluation.HashFile(path) + if err != nil { + t.Fatalf("hash %s: %v", filepath.Base(path), err) + } + return hash +} + +func mustHashFiles(t *testing.T, paths ...string) string { + t.Helper() + hash, err := evaluation.HashFiles(paths...) + if err != nil { + t.Fatalf("hash performance contract: %v", err) + } + return hash +} diff --git a/internal/pii/privacy_filter_g0_test.go b/internal/pii/privacy_filter_g0_test.go new file mode 100644 index 0000000..738c897 --- /dev/null +++ b/internal/pii/privacy_filter_g0_test.go @@ -0,0 +1,115 @@ +package pii + +import ( + "path/filepath" + "strings" + "testing" + + "github.com/operator-kit/hs-cli/internal/pii/evaluation" +) + +const phase0IdentityKeyFixture = "phase0-synthetic-pseudonym-key" + +type typedCorpusNameDetector struct { + spans []NameSpan +} + +func (d typedCorpusNameDetector) DetectNames(string) ([]NameSpan, error) { + return append([]NameSpan(nil), d.spans...), nil +} + +func TestExistingPIIContractAgainstTypedCorpus(t *testing.T) { + corpus, err := evaluation.LoadCorpusDir(filepath.Join("testdata", "privacy-filter", "v1")) + if err != nil { + t.Fatalf("load Phase 0 typed corpus: %v", err) + } + exercised := 0 + for _, fixture := range corpus.Cases { + if !evaluation.HasTag(fixture, "existing-contract") { + continue + } + exercised++ + spans := make([]NameSpan, 0) + for _, target := range fixture.Targets { + if target.Kind == evaluation.SpanPerson && target.Actions.All == evaluation.ActionRedact { + spans = append(spans, NameSpan{ + Text: fixture.Text[target.Start:target.End], Start: target.Start, End: target.End, Score: 1, + }) + } + } + known := make([]KnownIdentity, 0, len(fixture.KnownIdentities)) + for _, identity := range fixture.KnownIdentities { + known = append(known, KnownIdentity{ + Type: identity.Type, First: identity.First, Last: identity.Last, Email: identity.Email, Phone: identity.Phone, + }) + } + + for _, fixtureMode := range evaluation.Modes { + mode, err := ParseMode(string(fixtureMode)) + if err != nil { + t.Fatalf("case %q mode %q: %v", fixture.ID, fixtureMode, err) + } + var pseudonym PseudonymContext + if IsEnabled(mode) { + secret, secretErr := NewSecretString("phase0-existing-contract-synthetic-key") + if secretErr != nil { + t.Fatalf("construct case %q key: %v", fixture.ID, secretErr) + } + pseudonym, err = NewPseudonymContext(secret, "privacy-filter-g0") + if err != nil { + t.Fatalf("construct case %q pseudonym: %v", fixture.ID, err) + } + } + engine, err := NewEngine(mode, pseudonym, WithNER(typedCorpusNameDetector{spans: spans})) + if err != nil { + t.Fatalf("construct case %q engine: %v", fixture.ID, err) + } + output := engine.RedactText(fixture.Text, known) + if fixtureMode == evaluation.ModeOff && output != fixture.Text { + t.Errorf("case %q changed bytes in off mode", fixture.ID) + } + expected := fixture.Outputs.For(fixtureMode) + for _, absent := range expected.RequiredAbsent { + if strings.Contains(output, absent) { + t.Errorf("case %q leaked required-absent target in %s mode", fixture.ID, fixtureMode) + } + } + for _, present := range expected.RequiredPresent { + if !strings.Contains(output, present) { + t.Errorf("case %q failed required-presence target in %s mode", fixture.ID, fixtureMode) + } + } + } + } + if exercised < 20 { + t.Fatalf("typed corpus exercised too few existing-contract cases: %d", exercised) + } +} + +func TestPrivacyFilterG0IdentityCompatibilitySnapshot(t *testing.T) { + snapshot, err := evaluation.LoadIdentitySnapshot(filepath.Join("testdata", "privacy-filter", "v1", "identity-compatibility.json")) + if err != nil { + t.Fatalf("load identity compatibility snapshot: %v", err) + } + if snapshot.KeyFixture != "phase0-synthetic-pseudonym-key-v1" { + t.Fatalf("unknown identity key fixture %q", snapshot.KeyFixture) + } + secret, err := NewSecretString(phase0IdentityKeyFixture) + if err != nil { + t.Fatal(err) + } + pseudonym, err := NewPseudonymContext(secret, snapshot.KeyID) + if err != nil { + t.Fatal(err) + } + engine, err := NewEngine(ModeAll, pseudonym) + if err != nil { + t.Fatal(err) + } + for _, fixture := range snapshot.Cases { + first, last, email := engine.RedactPerson(fixture.Input.First, fixture.Input.Last, fixture.Input.Email) + if first != fixture.Expected.First || last != fixture.Expected.Last || email != fixture.Expected.Email { + t.Errorf("identity compatibility case %q changed byte-for-byte output", fixture.ID) + } + } +} diff --git a/internal/pii/testdata/privacy-filter/v1/account-identifiers.json b/internal/pii/testdata/privacy-filter/v1/account-identifiers.json new file mode 100644 index 0000000..40fd528 --- /dev/null +++ b/internal/pii/testdata/privacy-filter/v1/account-identifiers.json @@ -0,0 +1,205 @@ +{ + "schema": 1, + "partition": "account-identifiers", + "cases": [ + { + "id": "account-customer-reference", + "language": "en", + "script": "Latin", + "shape": "prose", + "risk": "critical", + "reason": "A contextual customer reference not covered by current numeric regexes is private.", + "text": "The private customer reference is CUST-EXAMPLE-4831.", + "known_identities": [], + "targets": [ + { + "id": "customer-reference", + "kind": "account_number", + "start": 34, + "end": 51, + "value": "CUST-EXAMPLE-4831", + "match": "covering", + "actions": { + "off": "preserve", + "customers": "redact", + "all": "redact" + } + } + ], + "outputs": { + "off": { + "required_absent": [], + "required_present": [ + "CUST-EXAMPLE-4831" + ] + }, + "customers": { + "required_absent": [ + "CUST-EXAMPLE-4831" + ], + "required_present": [] + }, + "all": { + "required_absent": [ + "CUST-EXAMPLE-4831" + ], + "required_present": [] + } + }, + "tags": [ + "account", + "customer-reference" + ] + }, + { + "id": "account-government-document", + "language": "en", + "script": "Latin", + "shape": "prose", + "risk": "critical", + "reason": "A synthetic government document identifier must be removed.", + "text": "The fixture passport number is P-EXAMPLE-7742-Z.", + "known_identities": [], + "targets": [ + { + "id": "passport", + "kind": "account_number", + "start": 31, + "end": 47, + "value": "P-EXAMPLE-7742-Z", + "match": "covering", + "actions": { + "off": "preserve", + "customers": "redact", + "all": "redact" + } + } + ], + "outputs": { + "off": { + "required_absent": [], + "required_present": [ + "P-EXAMPLE-7742-Z" + ] + }, + "customers": { + "required_absent": [ + "P-EXAMPLE-7742-Z" + ], + "required_present": [] + }, + "all": { + "required_absent": [ + "P-EXAMPLE-7742-Z" + ], + "required_present": [] + } + }, + "tags": [ + "account", + "government" + ] + }, + { + "id": "account-order-number-preserve", + "language": "en", + "script": "Latin", + "shape": "prose", + "risk": "preservation", + "reason": "A public operational order number is not a private account identifier.", + "text": "Order ORDER-EXAMPLE-12345 is ready for dispatch.", + "known_identities": [], + "targets": [ + { + "id": "order-number", + "kind": "account_number", + "start": 6, + "end": 25, + "value": "ORDER-EXAMPLE-12345", + "match": "exact", + "actions": { + "off": "preserve", + "customers": "preserve", + "all": "preserve" + } + } + ], + "outputs": { + "off": { + "required_absent": [], + "required_present": [ + "ORDER-EXAMPLE-12345" + ] + }, + "customers": { + "required_absent": [], + "required_present": [ + "ORDER-EXAMPLE-12345" + ] + }, + "all": { + "required_absent": [], + "required_present": [ + "ORDER-EXAMPLE-12345" + ] + } + }, + "tags": [ + "account", + "operational", + "preservation", + "existing-contract" + ] + }, + { + "id": "account-package-version-preserve", + "language": "en", + "script": "Latin", + "shape": "prose", + "risk": "preservation", + "reason": "A package build identifier should survive contextual account detection.", + "text": "Package build EXAMPLE-BUILD-2026.07.17 passed verification.", + "known_identities": [], + "targets": [ + { + "id": "build-id", + "kind": "account_number", + "start": 14, + "end": 38, + "value": "EXAMPLE-BUILD-2026.07.17", + "match": "exact", + "actions": { + "off": "preserve", + "customers": "preserve", + "all": "preserve" + } + } + ], + "outputs": { + "off": { + "required_absent": [], + "required_present": [ + "EXAMPLE-BUILD-2026.07.17" + ] + }, + "customers": { + "required_absent": [], + "required_present": [ + "EXAMPLE-BUILD-2026.07.17" + ] + }, + "all": { + "required_absent": [], + "required_present": [ + "EXAMPLE-BUILD-2026.07.17" + ] + } + }, + "tags": [ + "account", + "package", + "preservation" + ] + } + ] +} diff --git a/internal/pii/testdata/privacy-filter/v1/addresses.json b/internal/pii/testdata/privacy-filter/v1/addresses.json new file mode 100644 index 0000000..65097c3 --- /dev/null +++ b/internal/pii/testdata/privacy-filter/v1/addresses.json @@ -0,0 +1,205 @@ +{ + "schema": 1, + "partition": "addresses", + "cases": [ + { + "id": "address-private-street", + "language": "en", + "script": "Latin", + "shape": "prose", + "risk": "critical", + "reason": "A private street address is covered by the existing regex contract.", + "text": "The customer is located at 123 Example Street.", + "known_identities": [], + "targets": [ + { + "id": "street-address", + "kind": "address", + "start": 27, + "end": 45, + "value": "123 Example Street", + "match": "covering", + "actions": { + "off": "preserve", + "customers": "redact", + "all": "redact" + } + } + ], + "outputs": { + "off": { + "required_absent": [], + "required_present": [ + "123 Example Street" + ] + }, + "customers": { + "required_absent": [ + "123 Example Street" + ], + "required_present": [] + }, + "all": { + "required_absent": [ + "123 Example Street" + ], + "required_present": [] + } + }, + "tags": [ + "address", + "street", + "existing-contract" + ] + }, + { + "id": "address-private-international", + "language": "en", + "script": "Latin", + "shape": "prose", + "risk": "high", + "reason": "An international private address with sparse formatting must be detected.", + "text": "Deliver the fixture to 4-2-8 Examplecho, Shibuya-ku.", + "known_identities": [], + "targets": [ + { + "id": "international-address", + "kind": "address", + "start": 23, + "end": 51, + "value": "4-2-8 Examplecho, Shibuya-ku", + "match": "covering", + "actions": { + "off": "preserve", + "customers": "redact", + "all": "redact" + } + } + ], + "outputs": { + "off": { + "required_absent": [], + "required_present": [ + "4-2-8 Examplecho, Shibuya-ku" + ] + }, + "customers": { + "required_absent": [ + "4-2-8 Examplecho, Shibuya-ku" + ], + "required_present": [] + }, + "all": { + "required_absent": [ + "4-2-8 Examplecho, Shibuya-ku" + ], + "required_present": [] + } + }, + "tags": [ + "address", + "international" + ] + }, + { + "id": "address-public-business", + "language": "en", + "script": "Latin", + "shape": "prose", + "risk": "preservation", + "reason": "A clearly public business address should remain readable.", + "text": "Example Library's public office is 1 Public Square.", + "known_identities": [], + "targets": [ + { + "id": "business-address", + "kind": "address", + "start": 35, + "end": 50, + "value": "1 Public Square", + "match": "exact", + "actions": { + "off": "preserve", + "customers": "preserve", + "all": "preserve" + } + } + ], + "outputs": { + "off": { + "required_absent": [], + "required_present": [ + "1 Public Square" + ] + }, + "customers": { + "required_absent": [], + "required_present": [ + "1 Public Square" + ] + }, + "all": { + "required_absent": [], + "required_present": [ + "1 Public Square" + ] + } + }, + "tags": [ + "address", + "public-business", + "preservation" + ] + }, + { + "id": "address-city-preserve", + "language": "en", + "script": "Latin", + "shape": "prose", + "risk": "preservation", + "reason": "A city alone is public location context rather than a private address.", + "text": "The public event takes place in Paris.", + "known_identities": [], + "targets": [ + { + "id": "city", + "kind": "address", + "start": 32, + "end": 37, + "value": "Paris", + "match": "exact", + "actions": { + "off": "preserve", + "customers": "preserve", + "all": "preserve" + } + } + ], + "outputs": { + "off": { + "required_absent": [], + "required_present": [ + "Paris" + ] + }, + "customers": { + "required_absent": [], + "required_present": [ + "Paris" + ] + }, + "all": { + "required_absent": [], + "required_present": [ + "Paris" + ] + } + }, + "tags": [ + "address", + "city", + "preservation" + ] + } + ] +} diff --git a/internal/pii/testdata/privacy-filter/v1/command-output-payloads.json b/internal/pii/testdata/privacy-filter/v1/command-output-payloads.json new file mode 100644 index 0000000..9e59fab --- /dev/null +++ b/internal/pii/testdata/privacy-filter/v1/command-output-payloads.json @@ -0,0 +1,202 @@ +{ + "schema": 1, + "partition": "command-output-payloads", + "cases": [ + { + "id": "command-secret-all-boundaries", + "language": "en", + "script": "Latin", + "shape": "command-payload", + "risk": "critical", + "reason": "A synthetic secret must be absent from every command, output, MCP, error, and diagnostic boundary.", + "text": "{\"ticket\":\"TICKET-EXAMPLE-42\",\"message\":\"secret=not-a-real-example-command-secret-73af\"}", + "known_identities": [], + "targets": [ + { + "id": "ticket", + "kind": "account_number", + "start": 11, + "end": 28, + "value": "TICKET-EXAMPLE-42", + "match": "exact", + "actions": { + "off": "preserve", + "customers": "preserve", + "all": "preserve" + } + }, + { + "id": "secret", + "kind": "secret", + "start": 48, + "end": 86, + "value": "not-a-real-example-command-secret-73af", + "match": "covering", + "actions": { + "off": "preserve", + "customers": "redact", + "all": "redact" + } + } + ], + "outputs": { + "off": { + "required_absent": [], + "required_present": [ + "TICKET-EXAMPLE-42", + "not-a-real-example-command-secret-73af" + ] + }, + "customers": { + "required_absent": [ + "not-a-real-example-command-secret-73af" + ], + "required_present": [ + "TICKET-EXAMPLE-42" + ] + }, + "all": { + "required_absent": [ + "not-a-real-example-command-secret-73af" + ], + "required_present": [ + "TICKET-EXAMPLE-42" + ] + } + }, + "tags": [ + "command-output", + "boundary:table", + "boundary:json", + "boundary:json-full", + "boundary:csv", + "boundary:source", + "boundary:rfc822", + "boundary:mcp", + "boundary:argv", + "boundary:stdout", + "boundary:stderr", + "boundary:error", + "boundary:panic", + "boundary:diagnostic" + ] + }, + { + "id": "command-private-email", + "language": "en", + "script": "Latin", + "shape": "command-payload", + "risk": "high", + "reason": "A private email in an authored command payload must be removed.", + "text": "message=contact private.command@example.invalid ticket=PUBLIC-EXAMPLE-7", + "known_identities": [], + "targets": [ + { + "id": "email", + "kind": "email", + "start": 16, + "end": 47, + "value": "private.command@example.invalid", + "match": "exact", + "actions": { + "off": "preserve", + "customers": "redact", + "all": "redact" + } + }, + { + "id": "ticket", + "kind": "account_number", + "start": 55, + "end": 71, + "value": "PUBLIC-EXAMPLE-7", + "match": "exact", + "actions": { + "off": "preserve", + "customers": "preserve", + "all": "preserve" + } + } + ], + "outputs": { + "off": { + "required_absent": [], + "required_present": [ + "private.command@example.invalid", + "PUBLIC-EXAMPLE-7" + ] + }, + "customers": { + "required_absent": [ + "private.command@example.invalid" + ], + "required_present": [ + "PUBLIC-EXAMPLE-7" + ] + }, + "all": { + "required_absent": [ + "private.command@example.invalid" + ], + "required_present": [ + "PUBLIC-EXAMPLE-7" + ] + } + }, + "tags": [ + "command-output", + "protected-input", + "existing-contract" + ] + }, + { + "id": "command-public-help-preserve", + "language": "en", + "script": "Latin", + "shape": "command-payload", + "risk": "preservation", + "reason": "A public help command and placeholder should survive output handling.", + "text": "hs inbox conversations get CONVERSATION_ID_EXAMPLE", + "known_identities": [], + "targets": [ + { + "id": "placeholder", + "kind": "account_number", + "start": 27, + "end": 50, + "value": "CONVERSATION_ID_EXAMPLE", + "match": "exact", + "actions": { + "off": "preserve", + "customers": "preserve", + "all": "preserve" + } + } + ], + "outputs": { + "off": { + "required_absent": [], + "required_present": [ + "CONVERSATION_ID_EXAMPLE" + ] + }, + "customers": { + "required_absent": [], + "required_present": [ + "CONVERSATION_ID_EXAMPLE" + ] + }, + "all": { + "required_absent": [], + "required_present": [ + "CONVERSATION_ID_EXAMPLE" + ] + } + }, + "tags": [ + "command-output", + "preservation" + ] + } + ] +} diff --git a/internal/pii/testdata/privacy-filter/v1/emails-phones-urls.json b/internal/pii/testdata/privacy-filter/v1/emails-phones-urls.json new file mode 100644 index 0000000..eb95bc2 --- /dev/null +++ b/internal/pii/testdata/privacy-filter/v1/emails-phones-urls.json @@ -0,0 +1,403 @@ +{ + "schema": 1, + "partition": "emails-phones-urls", + "cases": [ + { + "id": "email-private", + "language": "en", + "script": "Latin", + "shape": "signature", + "risk": "critical", + "reason": "A private synthetic email is covered by the existing regex contract.", + "text": "Customer contact: private.person@example.invalid", + "known_identities": [], + "targets": [ + { + "id": "email", + "kind": "email", + "start": 18, + "end": 48, + "value": "private.person@example.invalid", + "match": "exact", + "actions": { + "off": "preserve", + "customers": "redact", + "all": "redact" + } + } + ], + "outputs": { + "off": { + "required_absent": [], + "required_present": [ + "private.person@example.invalid" + ] + }, + "customers": { + "required_absent": [ + "private.person@example.invalid" + ], + "required_present": [] + }, + "all": { + "required_absent": [ + "private.person@example.invalid" + ], + "required_present": [] + } + }, + "tags": [ + "email", + "existing-contract" + ] + }, + { + "id": "phone-private", + "language": "en", + "script": "Latin", + "shape": "prose", + "risk": "critical", + "reason": "A private phone number is covered by the existing regex contract.", + "text": "Call the synthetic customer at 555-123-4567.", + "known_identities": [], + "targets": [ + { + "id": "phone", + "kind": "phone", + "start": 31, + "end": 43, + "value": "555-123-4567", + "match": "exact", + "actions": { + "off": "preserve", + "customers": "redact", + "all": "redact" + } + } + ], + "outputs": { + "off": { + "required_absent": [], + "required_present": [ + "555-123-4567" + ] + }, + "customers": { + "required_absent": [ + "555-123-4567" + ], + "required_present": [] + }, + "all": { + "required_absent": [ + "555-123-4567" + ], + "required_present": [] + } + }, + "tags": [ + "phone", + "existing-contract" + ] + }, + { + "id": "url-private", + "language": "en", + "script": "Latin", + "shape": "prose", + "risk": "high", + "reason": "A private account URL is covered by deterministic URL defense in depth.", + "text": "The private fixture profile is https://private.example.invalid/u/alice.", + "known_identities": [], + "targets": [ + { + "id": "private-url", + "kind": "url", + "start": 31, + "end": 70, + "value": "https://private.example.invalid/u/alice", + "match": "exact", + "actions": { + "off": "preserve", + "customers": "redact", + "all": "redact" + } + } + ], + "outputs": { + "off": { + "required_absent": [], + "required_present": [ + "https://private.example.invalid/u/alice" + ] + }, + "customers": { + "required_absent": [ + "https://private.example.invalid/u/alice" + ], + "required_present": [] + }, + "all": { + "required_absent": [ + "https://private.example.invalid/u/alice" + ], + "required_present": [] + } + }, + "tags": [ + "url", + "existing-contract" + ] + }, + { + "id": "ip-private", + "language": "en", + "script": "Latin", + "shape": "prose", + "risk": "high", + "reason": "A private infrastructure IP is treated as a private URL-class value.", + "text": "The customer's fixture appliance is at 192.0.2.44.", + "known_identities": [], + "targets": [ + { + "id": "private-ip", + "kind": "url", + "start": 39, + "end": 49, + "value": "192.0.2.44", + "match": "exact", + "actions": { + "off": "preserve", + "customers": "redact", + "all": "redact" + } + } + ], + "outputs": { + "off": { + "required_absent": [], + "required_present": [ + "192.0.2.44" + ] + }, + "customers": { + "required_absent": [ + "192.0.2.44" + ], + "required_present": [] + }, + "all": { + "required_absent": [ + "192.0.2.44" + ], + "required_present": [] + } + }, + "tags": [ + "url", + "ip", + "existing-contract" + ] + }, + { + "id": "email-public-support", + "language": "en", + "script": "Latin", + "shape": "prose", + "risk": "preservation", + "reason": "A clearly public role mailbox should remain readable.", + "text": "Public documentation lists support@example.invalid.", + "known_identities": [], + "targets": [ + { + "id": "public-email", + "kind": "email", + "start": 27, + "end": 50, + "value": "support@example.invalid", + "match": "exact", + "actions": { + "off": "preserve", + "customers": "preserve", + "all": "preserve" + } + } + ], + "outputs": { + "off": { + "required_absent": [], + "required_present": [ + "support@example.invalid" + ] + }, + "customers": { + "required_absent": [], + "required_present": [ + "support@example.invalid" + ] + }, + "all": { + "required_absent": [], + "required_present": [ + "support@example.invalid" + ] + } + }, + "tags": [ + "email", + "public", + "preservation" + ] + }, + { + "id": "phone-public-switchboard", + "language": "en", + "script": "Latin", + "shape": "prose", + "risk": "preservation", + "reason": "A public business switchboard should remain readable.", + "text": "Example Museum's public switchboard is 555-010-0000.", + "known_identities": [], + "targets": [ + { + "id": "public-phone", + "kind": "phone", + "start": 39, + "end": 51, + "value": "555-010-0000", + "match": "exact", + "actions": { + "off": "preserve", + "customers": "preserve", + "all": "preserve" + } + } + ], + "outputs": { + "off": { + "required_absent": [], + "required_present": [ + "555-010-0000" + ] + }, + "customers": { + "required_absent": [], + "required_present": [ + "555-010-0000" + ] + }, + "all": { + "required_absent": [], + "required_present": [ + "555-010-0000" + ] + } + }, + "tags": [ + "phone", + "public", + "preservation" + ] + }, + { + "id": "url-public-docs", + "language": "en", + "script": "Latin", + "shape": "prose", + "risk": "preservation", + "reason": "A public documentation URL should remain readable.", + "text": "See the public guide at https://docs.example.invalid/start.", + "known_identities": [], + "targets": [ + { + "id": "public-url", + "kind": "url", + "start": 24, + "end": 58, + "value": "https://docs.example.invalid/start", + "match": "exact", + "actions": { + "off": "preserve", + "customers": "preserve", + "all": "preserve" + } + } + ], + "outputs": { + "off": { + "required_absent": [], + "required_present": [ + "https://docs.example.invalid/start" + ] + }, + "customers": { + "required_absent": [], + "required_present": [ + "https://docs.example.invalid/start" + ] + }, + "all": { + "required_absent": [], + "required_present": [ + "https://docs.example.invalid/start" + ] + } + }, + "tags": [ + "url", + "public", + "preservation" + ] + }, + { + "id": "ip-documentation-preserve", + "language": "en", + "script": "Latin", + "shape": "prose", + "risk": "preservation", + "reason": "A reserved documentation IP should remain visible in networking instructions.", + "text": "The public example uses reserved address 198.51.100.10.", + "known_identities": [], + "targets": [ + { + "id": "documentation-ip", + "kind": "url", + "start": 41, + "end": 54, + "value": "198.51.100.10", + "match": "exact", + "actions": { + "off": "preserve", + "customers": "preserve", + "all": "preserve" + } + } + ], + "outputs": { + "off": { + "required_absent": [], + "required_present": [ + "198.51.100.10" + ] + }, + "customers": { + "required_absent": [], + "required_present": [ + "198.51.100.10" + ] + }, + "all": { + "required_absent": [], + "required_present": [ + "198.51.100.10" + ] + } + }, + "tags": [ + "url", + "ip", + "preservation" + ] + } + ] +} diff --git a/internal/pii/testdata/privacy-filter/v1/identity-compatibility.json b/internal/pii/testdata/privacy-filter/v1/identity-compatibility.json new file mode 100644 index 0000000..af633f1 --- /dev/null +++ b/internal/pii/testdata/privacy-filter/v1/identity-compatibility.json @@ -0,0 +1,112 @@ +{ + "schema": 1, + "identity_schema": "v2", + "key_id": "privacy-filter-g0", + "key_fixture": "phase0-synthetic-pseudonym-key-v1", + "cases": [ + { + "id": "canonical-email", + "input": { + "first": "Alice", + "last": "Smith", + "email": "ALICE@example.invalid " + }, + "expected": { + "first": "Jamie", + "last": "Evans [privacy-filter-g0-6Y4KJMS4]", + "email": "jamie.evans-67cd@anon.local" + } + }, + { + "id": "canonical-email-alias", + "input": { + "first": "Different", + "last": "Name", + "email": "alice@example.invalid" + }, + "expected": { + "first": "Jamie", + "last": "Evans [privacy-filter-g0-6Y4KJMS4]", + "email": "jamie.evans-67cd@anon.local" + } + }, + { + "id": "composed-latin-name", + "input": { + "first": "José", + "last": "Alvarez", + "email": "" + }, + "expected": { + "first": "Zion", + "last": "Martin [privacy-filter-g0-B4CS3TN7]", + "email": "" + } + }, + { + "id": "decomposed-latin-name", + "input": { + "first": "José", + "last": "Alvarez", + "email": "" + }, + "expected": { + "first": "Zion", + "last": "Martin [privacy-filter-g0-B4CS3TN7]", + "email": "" + } + }, + { + "id": "arabic-name", + "input": { + "first": "أحمد", + "last": "علي", + "email": "" + }, + "expected": { + "first": "Casey", + "last": "Diaz [privacy-filter-g0-BKDVVUIK]", + "email": "" + } + }, + { + "id": "han-name", + "input": { + "first": "张", + "last": "伟", + "email": "" + }, + "expected": { + "first": "Shawn", + "last": "Mitchell [privacy-filter-g0-5DMVTQYN]", + "email": "" + } + }, + { + "id": "devanagari-name", + "input": { + "first": "आरव", + "last": "शर्मा", + "email": "" + }, + "expected": { + "first": "Jamie", + "last": "Moore [privacy-filter-g0-J4VG2LQX]", + "email": "" + } + }, + { + "id": "email-only", + "input": { + "first": "", + "last": "", + "email": "fixture.person@example.invalid" + }, + "expected": { + "first": "", + "last": "", + "email": "micah.lee-c05e@anon.local" + } + } + ] +} diff --git a/internal/pii/testdata/privacy-filter/v1/long-input.json b/internal/pii/testdata/privacy-filter/v1/long-input.json new file mode 100644 index 0000000..1a9000d --- /dev/null +++ b/internal/pii/testdata/privacy-filter/v1/long-input.json @@ -0,0 +1,106 @@ +{ + "schema": 1, + "partition": "long-input", + "cases": [ + { + "id": "long-private-person-near-end", + "language": "en", + "script": "Latin", + "shape": "long-thread", + "risk": "high", + "reason": "A private person near the end of long synthetic content must not be truncated.", + "text": "Operational fixture context without private values. Operational fixture context without private values. Operational fixture context without private values. Operational fixture context without private values. Operational fixture context without private values. Operational fixture context without private values. Operational fixture context without private values. Operational fixture context without private values. Operational fixture context without private values. Operational fixture context without private values. Operational fixture context without private values. Operational fixture context without private values. Operational fixture context without private values. Operational fixture context without private values. Operational fixture context without private values. Operational fixture context without private values. Operational fixture context without private values. Operational fixture context without private values. Operational fixture context without private values. Operational fixture context without private values. Operational fixture context without private values. Operational fixture context without private values. Operational fixture context without private values. Operational fixture context without private values. Operational fixture context without private values. Operational fixture context without private values. Operational fixture context without private values. Operational fixture context without private values. Operational fixture context without private values. Operational fixture context without private values. Operational fixture context without private values. Operational fixture context without private values. Operational fixture context without private values. Operational fixture context without private values. Operational fixture context without private values. Operational fixture context without private values. Operational fixture context without private values. Operational fixture context without private values. Operational fixture context without private values. Operational fixture context without private values. Operational fixture context without private values. Operational fixture context without private values. Operational fixture context without private values. Operational fixture context without private values. Operational fixture context without private values. Operational fixture context without private values. Operational fixture context without private values. Operational fixture context without private values. Operational fixture context without private values. Operational fixture context without private values. Operational fixture context without private values. Operational fixture context without private values. Operational fixture context without private values. Operational fixture context without private values. Operational fixture context without private values. Operational fixture context without private values. Operational fixture context without private values. Operational fixture context without private values. Operational fixture context without private values. Operational fixture context without private values. Operational fixture context without private values. Operational fixture context without private values. Operational fixture context without private values. Operational fixture context without private values. Operational fixture context without private values. Operational fixture context without private values. Operational fixture context without private values. Operational fixture context without private values. Operational fixture context without private values. Operational fixture context without private values. Escalate the private case to Morgan Longfixture for resolution.", + "known_identities": [], + "targets": [ + { + "id": "person", + "kind": "person", + "start": 3669, + "end": 3687, + "value": "Morgan Longfixture", + "match": "exact", + "actions": { + "off": "preserve", + "customers": "redact", + "all": "redact" + } + } + ], + "outputs": { + "off": { + "required_absent": [], + "required_present": [ + "Morgan Longfixture" + ] + }, + "customers": { + "required_absent": [ + "Morgan Longfixture" + ], + "required_present": [] + }, + "all": { + "required_absent": [ + "Morgan Longfixture" + ], + "required_present": [] + } + }, + "tags": [ + "long-input", + "far-context", + "existing-contract" + ] + }, + { + "id": "long-public-release-preserve", + "language": "en", + "script": "Latin", + "shape": "long-thread", + "risk": "preservation", + "reason": "Long content must not over-redact a public release marker.", + "text": "Operational fixture context without private values. Operational fixture context without private values. Operational fixture context without private values. Operational fixture context without private values. Operational fixture context without private values. Operational fixture context without private values. Operational fixture context without private values. Operational fixture context without private values. Operational fixture context without private values. Operational fixture context without private values. Operational fixture context without private values. Operational fixture context without private values. Operational fixture context without private values. Operational fixture context without private values. Operational fixture context without private values. Operational fixture context without private values. Operational fixture context without private values. Operational fixture context without private values. Operational fixture context without private values. Operational fixture context without private values. Operational fixture context without private values. Operational fixture context without private values. Operational fixture context without private values. Operational fixture context without private values. Operational fixture context without private values. Operational fixture context without private values. Operational fixture context without private values. Operational fixture context without private values. Operational fixture context without private values. Operational fixture context without private values. Operational fixture context without private values. Operational fixture context without private values. Operational fixture context without private values. Operational fixture context without private values. Operational fixture context without private values. Operational fixture context without private values. Operational fixture context without private values. Operational fixture context without private values. Operational fixture context without private values. Operational fixture context without private values. Operational fixture context without private values. Operational fixture context without private values. Operational fixture context without private values. Operational fixture context without private values. Operational fixture context without private values. Operational fixture context without private values. Operational fixture context without private values. Operational fixture context without private values. Operational fixture context without private values. Operational fixture context without private values. Operational fixture context without private values. Operational fixture context without private values. Operational fixture context without private values. Operational fixture context without private values. Operational fixture context without private values. Operational fixture context without private values. Operational fixture context without private values. Operational fixture context without private values. Operational fixture context without private values. Operational fixture context without private values. Operational fixture context without private values. Operational fixture context without private values. Operational fixture context without private values. Operational fixture context without private values. Operational fixture context without private values. Operational fixture context without private values. Operational fixture context without private values. Operational fixture context without private values. Operational fixture context without private values. Operational fixture context without private values. The public release marker is EXAMPLE-RELEASE-2026-07.", + "known_identities": [], + "targets": [ + { + "id": "release-marker", + "kind": "account_number", + "start": 3669, + "end": 3692, + "value": "EXAMPLE-RELEASE-2026-07", + "match": "exact", + "actions": { + "off": "preserve", + "customers": "preserve", + "all": "preserve" + } + } + ], + "outputs": { + "off": { + "required_absent": [], + "required_present": [ + "EXAMPLE-RELEASE-2026-07" + ] + }, + "customers": { + "required_absent": [], + "required_present": [ + "EXAMPLE-RELEASE-2026-07" + ] + }, + "all": { + "required_absent": [], + "required_present": [ + "EXAMPLE-RELEASE-2026-07" + ] + } + }, + "tags": [ + "long-input", + "preservation", + "existing-contract" + ] + } + ] +} diff --git a/internal/pii/testdata/privacy-filter/v1/multilingual.json b/internal/pii/testdata/privacy-filter/v1/multilingual.json new file mode 100644 index 0000000..c7d4b0d --- /dev/null +++ b/internal/pii/testdata/privacy-filter/v1/multilingual.json @@ -0,0 +1,992 @@ +{ + "schema": 1, + "partition": "multilingual", + "cases": [ + { + "id": "multilingual-fr-person-redact", + "language": "fr", + "script": "Latin", + "shape": "prose", + "risk": "high", + "reason": "A French private person name must be removed.", + "text": "Élodie Martin demande une mise à jour privée.", + "known_identities": [], + "targets": [ + { + "id": "person", + "kind": "person", + "start": 0, + "end": 14, + "value": "Élodie Martin", + "match": "exact", + "actions": { + "off": "preserve", + "customers": "redact", + "all": "redact" + } + } + ], + "outputs": { + "off": { + "required_absent": [], + "required_present": [ + "Élodie Martin" + ] + }, + "customers": { + "required_absent": [ + "Élodie Martin" + ], + "required_present": [] + }, + "all": { + "required_absent": [ + "Élodie Martin" + ], + "required_present": [] + } + }, + "tags": [ + "multilingual", + "existing-contract" + ] + }, + { + "id": "multilingual-fr-preserve", + "language": "fr", + "script": "Latin", + "shape": "prose", + "risk": "preservation", + "reason": "A public French product name must survive.", + "text": "Le produit public Example Atelier est disponible.", + "known_identities": [], + "targets": [ + { + "id": "product", + "kind": "person", + "start": 18, + "end": 33, + "value": "Example Atelier", + "match": "exact", + "actions": { + "off": "preserve", + "customers": "preserve", + "all": "preserve" + } + } + ], + "outputs": { + "off": { + "required_absent": [], + "required_present": [ + "Example Atelier" + ] + }, + "customers": { + "required_absent": [], + "required_present": [ + "Example Atelier" + ] + }, + "all": { + "required_absent": [], + "required_present": [ + "Example Atelier" + ] + } + }, + "tags": [ + "multilingual", + "preservation", + "existing-contract" + ] + }, + { + "id": "multilingual-de-account-redact", + "language": "de", + "script": "Latin", + "shape": "prose", + "risk": "high", + "reason": "A German contextual private account reference must be removed.", + "text": "Die private Kundennummer lautet KONTO-EXAMPLE-4815.", + "known_identities": [], + "targets": [ + { + "id": "account", + "kind": "account_number", + "start": 32, + "end": 50, + "value": "KONTO-EXAMPLE-4815", + "match": "covering", + "actions": { + "off": "preserve", + "customers": "redact", + "all": "redact" + } + } + ], + "outputs": { + "off": { + "required_absent": [], + "required_present": [ + "KONTO-EXAMPLE-4815" + ] + }, + "customers": { + "required_absent": [ + "KONTO-EXAMPLE-4815" + ], + "required_present": [] + }, + "all": { + "required_absent": [ + "KONTO-EXAMPLE-4815" + ], + "required_present": [] + } + }, + "tags": [ + "multilingual", + "account" + ] + }, + { + "id": "multilingual-de-preserve", + "language": "de", + "script": "Latin", + "shape": "prose", + "risk": "preservation", + "reason": "A public German release date must survive.", + "text": "Die öffentliche Veröffentlichung ist am 18. Juli 2026.", + "known_identities": [], + "targets": [ + { + "id": "release-date", + "kind": "private_date", + "start": 42, + "end": 55, + "value": "18. Juli 2026", + "match": "exact", + "actions": { + "off": "preserve", + "customers": "preserve", + "all": "preserve" + } + } + ], + "outputs": { + "off": { + "required_absent": [], + "required_present": [ + "18. Juli 2026" + ] + }, + "customers": { + "required_absent": [], + "required_present": [ + "18. Juli 2026" + ] + }, + "all": { + "required_absent": [], + "required_present": [ + "18. Juli 2026" + ] + } + }, + "tags": [ + "multilingual", + "preservation" + ] + }, + { + "id": "multilingual-es-phone-redact", + "language": "es", + "script": "Latin", + "shape": "prose", + "risk": "high", + "reason": "A Spanish private phone written with spaces must be removed.", + "text": "Su teléfono privado es 555 234 5678.", + "known_identities": [], + "targets": [ + { + "id": "phone", + "kind": "phone", + "start": 24, + "end": 36, + "value": "555 234 5678", + "match": "covering", + "actions": { + "off": "preserve", + "customers": "redact", + "all": "redact" + } + } + ], + "outputs": { + "off": { + "required_absent": [], + "required_present": [ + "555 234 5678" + ] + }, + "customers": { + "required_absent": [ + "555 234 5678" + ], + "required_present": [] + }, + "all": { + "required_absent": [ + "555 234 5678" + ], + "required_present": [] + } + }, + "tags": [ + "multilingual", + "phone" + ] + }, + { + "id": "multilingual-es-preserve", + "language": "es", + "script": "Latin", + "shape": "prose", + "risk": "preservation", + "reason": "A public Spanish city reference must survive.", + "text": "El evento público se celebra en Madrid.", + "known_identities": [], + "targets": [ + { + "id": "city", + "kind": "address", + "start": 33, + "end": 39, + "value": "Madrid", + "match": "exact", + "actions": { + "off": "preserve", + "customers": "preserve", + "all": "preserve" + } + } + ], + "outputs": { + "off": { + "required_absent": [], + "required_present": [ + "Madrid" + ] + }, + "customers": { + "required_absent": [], + "required_present": [ + "Madrid" + ] + }, + "all": { + "required_absent": [], + "required_present": [ + "Madrid" + ] + } + }, + "tags": [ + "multilingual", + "preservation", + "existing-contract" + ] + }, + { + "id": "multilingual-ar-person-redact", + "language": "ar", + "script": "Arabic", + "shape": "prose", + "risk": "high", + "reason": "An Arabic private person name must be removed.", + "text": "تواصل مع أحمد علي بخصوص الحساب الخاص", + "known_identities": [], + "targets": [ + { + "id": "person", + "kind": "person", + "start": 16, + "end": 31, + "value": "أحمد علي", + "match": "exact", + "actions": { + "off": "preserve", + "customers": "redact", + "all": "redact" + } + } + ], + "outputs": { + "off": { + "required_absent": [], + "required_present": [ + "أحمد علي" + ] + }, + "customers": { + "required_absent": [ + "أحمد علي" + ], + "required_present": [] + }, + "all": { + "required_absent": [ + "أحمد علي" + ], + "required_present": [] + } + }, + "tags": [ + "multilingual", + "existing-contract" + ] + }, + { + "id": "multilingual-ar-preserve", + "language": "ar", + "script": "Arabic", + "shape": "prose", + "risk": "preservation", + "reason": "Arabic operational status text must survive.", + "text": "تم تحديث حالة الطلب العام بنجاح", + "known_identities": [], + "targets": [ + { + "id": "status", + "kind": "account_number", + "start": 16, + "end": 46, + "value": "حالة الطلب العام", + "match": "exact", + "actions": { + "off": "preserve", + "customers": "preserve", + "all": "preserve" + } + } + ], + "outputs": { + "off": { + "required_absent": [], + "required_present": [ + "حالة الطلب العام" + ] + }, + "customers": { + "required_absent": [], + "required_present": [ + "حالة الطلب العام" + ] + }, + "all": { + "required_absent": [], + "required_present": [ + "حالة الطلب العام" + ] + } + }, + "tags": [ + "multilingual", + "preservation", + "existing-contract" + ] + }, + { + "id": "multilingual-zh-person-redact", + "language": "zh", + "script": "Han", + "shape": "prose", + "risk": "high", + "reason": "A Han private person name must be removed.", + "text": "客户张伟需要私人账户帮助", + "known_identities": [], + "targets": [ + { + "id": "person", + "kind": "person", + "start": 6, + "end": 12, + "value": "张伟", + "match": "exact", + "actions": { + "off": "preserve", + "customers": "redact", + "all": "redact" + } + } + ], + "outputs": { + "off": { + "required_absent": [], + "required_present": [ + "张伟" + ] + }, + "customers": { + "required_absent": [ + "张伟" + ], + "required_present": [] + }, + "all": { + "required_absent": [ + "张伟" + ], + "required_present": [] + } + }, + "tags": [ + "multilingual", + "existing-contract" + ] + }, + { + "id": "multilingual-zh-preserve", + "language": "zh", + "script": "Han", + "shape": "prose", + "risk": "preservation", + "reason": "Han operational ticket status must survive.", + "text": "公开工单状态已更新", + "known_identities": [], + "targets": [ + { + "id": "status", + "kind": "account_number", + "start": 6, + "end": 18, + "value": "工单状态", + "match": "exact", + "actions": { + "off": "preserve", + "customers": "preserve", + "all": "preserve" + } + } + ], + "outputs": { + "off": { + "required_absent": [], + "required_present": [ + "工单状态" + ] + }, + "customers": { + "required_absent": [], + "required_present": [ + "工单状态" + ] + }, + "all": { + "required_absent": [], + "required_present": [ + "工单状态" + ] + } + }, + "tags": [ + "multilingual", + "preservation", + "existing-contract" + ] + }, + { + "id": "multilingual-ja-address-redact", + "language": "ja", + "script": "Mixed", + "shape": "prose", + "risk": "high", + "reason": "A Japanese private address must be removed.", + "text": "個人住所は東京都渋谷区例町4-2-8です", + "known_identities": [], + "targets": [ + { + "id": "address", + "kind": "address", + "start": 15, + "end": 44, + "value": "東京都渋谷区例町4-2-8", + "match": "covering", + "actions": { + "off": "preserve", + "customers": "redact", + "all": "redact" + } + } + ], + "outputs": { + "off": { + "required_absent": [], + "required_present": [ + "東京都渋谷区例町4-2-8" + ] + }, + "customers": { + "required_absent": [ + "東京都渋谷区例町4-2-8" + ], + "required_present": [] + }, + "all": { + "required_absent": [ + "東京都渋谷区例町4-2-8" + ], + "required_present": [] + } + }, + "tags": [ + "multilingual", + "address" + ] + }, + { + "id": "multilingual-ja-preserve", + "language": "ja", + "script": "Mixed", + "shape": "prose", + "risk": "preservation", + "reason": "A public Japanese event date must survive.", + "text": "公開イベントは2026年9月4日です", + "known_identities": [], + "targets": [ + { + "id": "event-date", + "kind": "private_date", + "start": 21, + "end": 36, + "value": "2026年9月4日", + "match": "exact", + "actions": { + "off": "preserve", + "customers": "preserve", + "all": "preserve" + } + } + ], + "outputs": { + "off": { + "required_absent": [], + "required_present": [ + "2026年9月4日" + ] + }, + "customers": { + "required_absent": [], + "required_present": [ + "2026年9月4日" + ] + }, + "all": { + "required_absent": [], + "required_present": [ + "2026年9月4日" + ] + } + }, + "tags": [ + "multilingual", + "preservation" + ] + }, + { + "id": "multilingual-ko-account-redact", + "language": "ko", + "script": "Hangul", + "shape": "prose", + "risk": "high", + "reason": "A Korean private account reference must be removed.", + "text": "비공개 고객 번호는 계정-EXAMPLE-7712입니다", + "known_identities": [], + "targets": [ + { + "id": "account", + "kind": "account_number", + "start": 27, + "end": 46, + "value": "계정-EXAMPLE-7712", + "match": "covering", + "actions": { + "off": "preserve", + "customers": "redact", + "all": "redact" + } + } + ], + "outputs": { + "off": { + "required_absent": [], + "required_present": [ + "계정-EXAMPLE-7712" + ] + }, + "customers": { + "required_absent": [ + "계정-EXAMPLE-7712" + ], + "required_present": [] + }, + "all": { + "required_absent": [ + "계정-EXAMPLE-7712" + ], + "required_present": [] + } + }, + "tags": [ + "multilingual", + "account" + ] + }, + { + "id": "multilingual-ko-preserve", + "language": "ko", + "script": "Hangul", + "shape": "prose", + "risk": "preservation", + "reason": "A Korean public package version must survive.", + "text": "공개 패키지 버전은 EXAMPLE-v3.2입니다", + "known_identities": [], + "targets": [ + { + "id": "version", + "kind": "account_number", + "start": 27, + "end": 39, + "value": "EXAMPLE-v3.2", + "match": "exact", + "actions": { + "off": "preserve", + "customers": "preserve", + "all": "preserve" + } + } + ], + "outputs": { + "off": { + "required_absent": [], + "required_present": [ + "EXAMPLE-v3.2" + ] + }, + "customers": { + "required_absent": [], + "required_present": [ + "EXAMPLE-v3.2" + ] + }, + "all": { + "required_absent": [], + "required_present": [ + "EXAMPLE-v3.2" + ] + } + }, + "tags": [ + "multilingual", + "preservation" + ] + }, + { + "id": "multilingual-hi-person-redact", + "language": "hi", + "script": "Devanagari", + "shape": "prose", + "risk": "high", + "reason": "A Hindi private person name must be removed.", + "text": "निजी ग्राहक आरव शर्मा ने सहायता मांगी", + "known_identities": [], + "targets": [ + { + "id": "person", + "kind": "person", + "start": 32, + "end": 57, + "value": "आरव शर्मा", + "match": "exact", + "actions": { + "off": "preserve", + "customers": "redact", + "all": "redact" + } + } + ], + "outputs": { + "off": { + "required_absent": [], + "required_present": [ + "आरव शर्मा" + ] + }, + "customers": { + "required_absent": [ + "आरव शर्मा" + ], + "required_present": [] + }, + "all": { + "required_absent": [ + "आरव शर्मा" + ], + "required_present": [] + } + }, + "tags": [ + "multilingual", + "existing-contract" + ] + }, + { + "id": "multilingual-hi-preserve", + "language": "hi", + "script": "Devanagari", + "shape": "prose", + "risk": "preservation", + "reason": "A Hindi public city reference must survive.", + "text": "सार्वजनिक कार्यक्रम दिल्ली में है", + "known_identities": [], + "targets": [ + { + "id": "city", + "kind": "address", + "start": 56, + "end": 74, + "value": "दिल्ली", + "match": "exact", + "actions": { + "off": "preserve", + "customers": "preserve", + "all": "preserve" + } + } + ], + "outputs": { + "off": { + "required_absent": [], + "required_present": [ + "दिल्ली" + ] + }, + "customers": { + "required_absent": [], + "required_present": [ + "दिल्ली" + ] + }, + "all": { + "required_absent": [], + "required_present": [ + "दिल्ली" + ] + } + }, + "tags": [ + "multilingual", + "preservation", + "existing-contract" + ] + }, + { + "id": "multilingual-pt-date-redact", + "language": "pt", + "script": "Latin", + "shape": "prose", + "risk": "high", + "reason": "A Portuguese date of birth must be removed.", + "text": "A data de nascimento privada é 12 de março de 1991.", + "known_identities": [], + "targets": [ + { + "id": "birth-date", + "kind": "private_date", + "start": 32, + "end": 52, + "value": "12 de março de 1991", + "match": "covering", + "actions": { + "off": "preserve", + "customers": "redact", + "all": "redact" + } + } + ], + "outputs": { + "off": { + "required_absent": [], + "required_present": [ + "12 de março de 1991" + ] + }, + "customers": { + "required_absent": [ + "12 de março de 1991" + ], + "required_present": [] + }, + "all": { + "required_absent": [ + "12 de março de 1991" + ], + "required_present": [] + } + }, + "tags": [ + "multilingual", + "date" + ] + }, + { + "id": "multilingual-pt-preserve", + "language": "pt", + "script": "Latin", + "shape": "prose", + "risk": "preservation", + "reason": "A Portuguese public release date must survive.", + "text": "O lançamento público será em 20 de julho de 2026.", + "known_identities": [], + "targets": [ + { + "id": "release-date", + "kind": "private_date", + "start": 32, + "end": 51, + "value": "20 de julho de 2026", + "match": "exact", + "actions": { + "off": "preserve", + "customers": "preserve", + "all": "preserve" + } + } + ], + "outputs": { + "off": { + "required_absent": [], + "required_present": [ + "20 de julho de 2026" + ] + }, + "customers": { + "required_absent": [], + "required_present": [ + "20 de julho de 2026" + ] + }, + "all": { + "required_absent": [], + "required_present": [ + "20 de julho de 2026" + ] + } + }, + "tags": [ + "multilingual", + "preservation" + ] + }, + { + "id": "multilingual-en-person-redact", + "language": "en", + "script": "Latin", + "shape": "prose", + "risk": "high", + "reason": "An English private person name anchors the language slice.", + "text": "Private customer Morgan Example needs help.", + "known_identities": [], + "targets": [ + { + "id": "person", + "kind": "person", + "start": 17, + "end": 31, + "value": "Morgan Example", + "match": "exact", + "actions": { + "off": "preserve", + "customers": "redact", + "all": "redact" + } + } + ], + "outputs": { + "off": { + "required_absent": [], + "required_present": [ + "Morgan Example" + ] + }, + "customers": { + "required_absent": [ + "Morgan Example" + ], + "required_present": [] + }, + "all": { + "required_absent": [ + "Morgan Example" + ], + "required_present": [] + } + }, + "tags": [ + "multilingual", + "existing-contract" + ] + }, + { + "id": "multilingual-en-preserve", + "language": "en", + "script": "Latin", + "shape": "prose", + "risk": "preservation", + "reason": "English public operational text anchors the preservation slice.", + "text": "Public project Example Compiler is healthy.", + "known_identities": [], + "targets": [ + { + "id": "project", + "kind": "person", + "start": 15, + "end": 31, + "value": "Example Compiler", + "match": "exact", + "actions": { + "off": "preserve", + "customers": "preserve", + "all": "preserve" + } + } + ], + "outputs": { + "off": { + "required_absent": [], + "required_present": [ + "Example Compiler" + ] + }, + "customers": { + "required_absent": [], + "required_present": [ + "Example Compiler" + ] + }, + "all": { + "required_absent": [], + "required_present": [ + "Example Compiler" + ] + } + }, + "tags": [ + "multilingual", + "preservation", + "existing-contract" + ] + } + ] +} diff --git a/internal/pii/testdata/privacy-filter/v1/obfuscated-messy-pii.json b/internal/pii/testdata/privacy-filter/v1/obfuscated-messy-pii.json new file mode 100644 index 0000000..58cf150 --- /dev/null +++ b/internal/pii/testdata/privacy-filter/v1/obfuscated-messy-pii.json @@ -0,0 +1,306 @@ +{ + "schema": 1, + "partition": "obfuscated-messy-pii", + "cases": [ + { + "id": "messy-bracketed-email", + "language": "en", + "script": "Latin", + "shape": "markdown", + "risk": "high", + "reason": "A bracketed-at and bracketed-dot private email remains private.", + "text": "Reply to fixture.person [at] example [dot] invalid about the request.", + "known_identities": [], + "targets": [ + { + "id": "obfuscated-email", + "kind": "email", + "start": 9, + "end": 50, + "value": "fixture.person [at] example [dot] invalid", + "match": "covering", + "actions": { + "off": "preserve", + "customers": "redact", + "all": "redact" + } + } + ], + "outputs": { + "off": { + "required_absent": [], + "required_present": [ + "fixture.person [at] example [dot] invalid" + ] + }, + "customers": { + "required_absent": [ + "fixture.person [at] example [dot] invalid" + ], + "required_present": [] + }, + "all": { + "required_absent": [ + "fixture.person [at] example [dot] invalid" + ], + "required_present": [] + } + }, + "tags": [ + "messy", + "obfuscated", + "email" + ] + }, + { + "id": "messy-phone-words", + "language": "en", + "script": "Latin", + "shape": "prose", + "risk": "high", + "reason": "A private phone written partly as words must be covered contextually.", + "text": "Her private phone is five five five, one two three, four five six seven.", + "known_identities": [], + "targets": [ + { + "id": "word-phone", + "kind": "phone", + "start": 21, + "end": 71, + "value": "five five five, one two three, four five six seven", + "match": "covering", + "actions": { + "off": "preserve", + "customers": "redact", + "all": "redact" + } + } + ], + "outputs": { + "off": { + "required_absent": [], + "required_present": [ + "five five five, one two three, four five six seven" + ] + }, + "customers": { + "required_absent": [ + "five five five, one two three, four five six seven" + ], + "required_present": [] + }, + "all": { + "required_absent": [ + "five five five, one two three, four five six seven" + ], + "required_present": [] + } + }, + "tags": [ + "messy", + "obfuscated", + "phone" + ] + }, + { + "id": "messy-line-broken-address", + "language": "en", + "script": "Latin", + "shape": "html", + "risk": "high", + "reason": "A private address split by markup and a line break must be covered.", + "text": "Address: 77 Example\nLane, Fixture City", + "known_identities": [], + "targets": [ + { + "id": "split-address", + "kind": "address", + "start": 15, + "end": 51, + "value": "77 Example\nLane, Fixture City", + "match": "covering", + "actions": { + "off": "preserve", + "customers": "redact", + "all": "redact" + } + } + ], + "outputs": { + "off": { + "required_absent": [], + "required_present": [ + "77 Example\nLane, Fixture City" + ] + }, + "customers": { + "required_absent": [ + "77 Example\nLane, Fixture City" + ], + "required_present": [] + }, + "all": { + "required_absent": [ + "77 Example\nLane, Fixture City" + ], + "required_present": [] + } + }, + "tags": [ + "messy", + "line-break", + "address" + ] + }, + { + "id": "messy-unicode-handle", + "language": "en", + "script": "Latin", + "shape": "prose", + "risk": "high", + "reason": "A person-identifying handle with Unicode punctuation remains private.", + "text": "The customer's developer handle is @fixture‐développeur.", + "known_identities": [], + "targets": [ + { + "id": "unicode-handle", + "kind": "person", + "start": 35, + "end": 58, + "value": "@fixture‐développeur", + "match": "covering", + "actions": { + "off": "preserve", + "customers": "redact", + "all": "redact" + } + } + ], + "outputs": { + "off": { + "required_absent": [], + "required_present": [ + "@fixture‐développeur" + ] + }, + "customers": { + "required_absent": [ + "@fixture‐développeur" + ], + "required_present": [] + }, + "all": { + "required_absent": [ + "@fixture‐développeur" + ], + "required_present": [] + } + }, + "tags": [ + "messy", + "unicode", + "person" + ] + }, + { + "id": "messy-semver-preserve", + "language": "en", + "script": "Latin", + "shape": "code", + "risk": "preservation", + "reason": "A semantic version is operational text, not an account identifier.", + "text": "require example/module v2.17.4-example", + "known_identities": [], + "targets": [ + { + "id": "semantic-version", + "kind": "account_number", + "start": 23, + "end": 38, + "value": "v2.17.4-example", + "match": "exact", + "actions": { + "off": "preserve", + "customers": "preserve", + "all": "preserve" + } + } + ], + "outputs": { + "off": { + "required_absent": [], + "required_present": [ + "v2.17.4-example" + ] + }, + "customers": { + "required_absent": [], + "required_present": [ + "v2.17.4-example" + ] + }, + "all": { + "required_absent": [], + "required_present": [ + "v2.17.4-example" + ] + } + }, + "tags": [ + "messy", + "version", + "preservation" + ] + }, + { + "id": "messy-placeholder-preserve", + "language": "en", + "script": "Latin", + "shape": "shell", + "risk": "preservation", + "reason": "A clearly marked shell placeholder should remain readable.", + "text": "export CUSTOMER_ID=EXAMPLE_CUSTOMER_ID_PLACEHOLDER", + "known_identities": [], + "targets": [ + { + "id": "placeholder-id", + "kind": "account_number", + "start": 19, + "end": 50, + "value": "EXAMPLE_CUSTOMER_ID_PLACEHOLDER", + "match": "exact", + "actions": { + "off": "preserve", + "customers": "preserve", + "all": "preserve" + } + } + ], + "outputs": { + "off": { + "required_absent": [], + "required_present": [ + "EXAMPLE_CUSTOMER_ID_PLACEHOLDER" + ] + }, + "customers": { + "required_absent": [], + "required_present": [ + "EXAMPLE_CUSTOMER_ID_PLACEHOLDER" + ] + }, + "all": { + "required_absent": [], + "required_present": [ + "EXAMPLE_CUSTOMER_ID_PLACEHOLDER" + ] + } + }, + "tags": [ + "messy", + "placeholder", + "preservation" + ] + } + ] +} diff --git a/internal/pii/testdata/privacy-filter/v1/people-third-parties.json b/internal/pii/testdata/privacy-filter/v1/people-third-parties.json new file mode 100644 index 0000000..68fd4f7 --- /dev/null +++ b/internal/pii/testdata/privacy-filter/v1/people-third-parties.json @@ -0,0 +1,325 @@ +{ + "schema": 1, + "partition": "people-third-parties", + "cases": [ + { + "id": "person-unknown-developer", + "language": "en", + "script": "Latin", + "shape": "prose", + "risk": "high", + "reason": "An unknown developer mentioned by a customer is private third-party context.", + "text": "The customer asked developer Bob Exampleton to inspect the fixture.", + "known_identities": [], + "targets": [ + { + "id": "developer", + "kind": "person", + "start": 29, + "end": 43, + "value": "Bob Exampleton", + "match": "exact", + "actions": { + "off": "preserve", + "customers": "redact", + "all": "redact" + } + } + ], + "outputs": { + "off": { + "required_absent": [], + "required_present": [ + "Bob Exampleton" + ] + }, + "customers": { + "required_absent": [ + "Bob Exampleton" + ], + "required_present": [] + }, + "all": { + "required_absent": [ + "Bob Exampleton" + ], + "required_present": [] + } + }, + "tags": [ + "people", + "third-party", + "existing-contract" + ] + }, + { + "id": "person-known-customer", + "language": "en", + "script": "Latin", + "shape": "prose", + "risk": "high", + "reason": "A known customer keeps the existing deterministic customer identity policy.", + "text": "Alice Fixture asked for an account update.", + "known_identities": [ + { + "id": "customer-alice", + "type": "customer", + "first": "Alice", + "last": "Fixture", + "email": "alice.fixture@example.invalid", + "phone": "" + } + ], + "targets": [ + { + "id": "customer-name", + "kind": "person", + "start": 0, + "end": 13, + "value": "Alice Fixture", + "match": "exact", + "identity_id": "customer-alice", + "actions": { + "off": "preserve", + "customers": "redact", + "all": "redact" + } + } + ], + "outputs": { + "off": { + "required_absent": [], + "required_present": [ + "Alice Fixture" + ] + }, + "customers": { + "required_absent": [ + "Alice Fixture" + ], + "required_present": [] + }, + "all": { + "required_absent": [ + "Alice Fixture" + ], + "required_present": [] + } + }, + "tags": [ + "people", + "known-customer", + "existing-contract" + ] + }, + { + "id": "person-known-staff", + "language": "en", + "script": "Latin", + "shape": "prose", + "risk": "high", + "reason": "Known staff is preserved in customers mode and redacted in all mode.", + "text": "Brenda Operator replied to the synthetic request.", + "known_identities": [ + { + "id": "staff-brenda", + "type": "user", + "first": "Brenda", + "last": "Operator", + "email": "brenda.operator@company.example", + "phone": "" + } + ], + "targets": [ + { + "id": "staff-name", + "kind": "person", + "start": 0, + "end": 15, + "value": "Brenda Operator", + "match": "exact", + "identity_id": "staff-brenda", + "actions": { + "off": "preserve", + "customers": "preserve", + "all": "redact" + } + } + ], + "outputs": { + "off": { + "required_absent": [], + "required_present": [ + "Brenda Operator" + ] + }, + "customers": { + "required_absent": [], + "required_present": [ + "Brenda Operator" + ] + }, + "all": { + "required_absent": [ + "Brenda Operator" + ], + "required_present": [] + } + }, + "tags": [ + "people", + "known-staff", + "existing-contract" + ] + }, + { + "id": "person-private-handle", + "language": "en", + "script": "Latin", + "shape": "prose", + "risk": "high", + "reason": "A person-identifying handle in private support context is an unknown third party.", + "text": "Please ask @fixture_developer about the private deployment.", + "known_identities": [], + "targets": [ + { + "id": "private-handle", + "kind": "person", + "start": 11, + "end": 29, + "value": "@fixture_developer", + "match": "exact", + "actions": { + "off": "preserve", + "customers": "redact", + "all": "redact" + } + } + ], + "outputs": { + "off": { + "required_absent": [], + "required_present": [ + "@fixture_developer" + ] + }, + "customers": { + "required_absent": [ + "@fixture_developer" + ], + "required_present": [] + }, + "all": { + "required_absent": [ + "@fixture_developer" + ], + "required_present": [] + } + }, + "tags": [ + "people", + "handle" + ] + }, + { + "id": "person-public-historical", + "language": "en", + "script": "Latin", + "shape": "prose", + "risk": "preservation", + "reason": "A public historical person in educational context should remain readable.", + "text": "The documentation credits Ada Lovelace for the historical example.", + "known_identities": [], + "targets": [ + { + "id": "public-person", + "kind": "person", + "start": 26, + "end": 38, + "value": "Ada Lovelace", + "match": "exact", + "actions": { + "off": "preserve", + "customers": "preserve", + "all": "preserve" + } + } + ], + "outputs": { + "off": { + "required_absent": [], + "required_present": [ + "Ada Lovelace" + ] + }, + "customers": { + "required_absent": [], + "required_present": [ + "Ada Lovelace" + ] + }, + "all": { + "required_absent": [], + "required_present": [ + "Ada Lovelace" + ] + } + }, + "tags": [ + "people", + "public", + "preservation" + ] + }, + { + "id": "person-common-word-preserve", + "language": "en", + "script": "Latin", + "shape": "prose", + "risk": "preservation", + "reason": "A place name that resembles a person's name must not be treated as a private individual.", + "text": "The public shipping region is Jordan for this example.", + "known_identities": [], + "targets": [ + { + "id": "country-name", + "kind": "person", + "start": 30, + "end": 36, + "value": "Jordan", + "match": "exact", + "actions": { + "off": "preserve", + "customers": "preserve", + "all": "preserve" + } + } + ], + "outputs": { + "off": { + "required_absent": [], + "required_present": [ + "Jordan" + ] + }, + "customers": { + "required_absent": [], + "required_present": [ + "Jordan" + ] + }, + "all": { + "required_absent": [], + "required_present": [ + "Jordan" + ] + } + }, + "tags": [ + "people", + "false-positive", + "preservation" + ] + } + ] +} diff --git a/internal/pii/testdata/privacy-filter/v1/performance/budgets.json b/internal/pii/testdata/privacy-filter/v1/performance/budgets.json new file mode 100644 index 0000000..57f601b --- /dev/null +++ b/internal/pii/testdata/privacy-filter/v1/performance/budgets.json @@ -0,0 +1,58 @@ +{ + "schema": 1, + "evidence_authority": "docker-ci", + "sampling": { + "minimum_fresh_processes": 20, + "minimum_warm_samples": 100, + "diagnostic_reruns": 1 + }, + "hardware_profiles": [ + { + "id": "H0", + "runner_labels": ["self-hosted", "linux", "x64", "privacy-filter-h0"], + "vcpus": 2, + "memory_bytes": 4294967296, + "swap_bytes": 0, + "cpu_only": true, + "storage": "ssd", + "required_metadata": ["runner_name", "cpu_model", "architecture", "instruction_sets", "physical_cores", "logical_cores", "virtualization", "ram_limit", "swap_policy", "numa", "storage", "os", "kernel", "power_governor", "onnx_runtime", "go_version", "python_version", "thread_settings", "git_commit", "corpus_sha256", "budget_sha256", "model_sha256"] + }, + { + "id": "H1", + "runner_labels": ["self-hosted", "linux", "x64", "privacy-filter-h1"], + "vcpus": 4, + "memory_bytes": 8589934592, + "swap_bytes": 0, + "cpu_only": true, + "storage": "ssd", + "required_metadata": ["runner_name", "cpu_model", "architecture", "instruction_sets", "physical_cores", "logical_cores", "virtualization", "ram_limit", "swap_policy", "numa", "storage", "os", "kernel", "power_governor", "onnx_runtime", "go_version", "python_version", "thread_settings", "git_commit", "corpus_sha256", "budget_sha256", "model_sha256"] + }, + { + "id": "H2", + "runner_labels": ["self-hosted", "linux", "x64", "privacy-filter-h2"], + "vcpus": 8, + "memory_bytes": 17179869184, + "swap_bytes": 0, + "cpu_only": true, + "storage": "ssd", + "required_metadata": ["runner_name", "cpu_model", "architecture", "instruction_sets", "physical_cores", "logical_cores", "virtualization", "ram_limit", "swap_policy", "numa", "storage", "os", "kernel", "power_governor", "onnx_runtime", "go_version", "python_version", "thread_settings", "git_commit", "corpus_sha256", "budget_sha256", "model_sha256"] + } + ], + "limits": [ + {"id": "detector-readiness-reference", "workload": "all", "statistic": "p95", "maximum": 5000, "unit": "milliseconds", "profiles": ["H1", "H2"]}, + {"id": "detector-readiness-slowest", "workload": "all", "statistic": "p95", "maximum": 8000, "unit": "milliseconds", "profiles": ["H0"]}, + {"id": "warm-subject", "workload": "subject", "statistic": "p95", "maximum": 250, "unit": "milliseconds", "profiles": ["H0", "H1", "H2"]}, + {"id": "warm-message", "workload": "message", "statistic": "p95", "maximum": 750, "unit": "milliseconds", "profiles": ["H0", "H1", "H2"]}, + {"id": "warm-thread", "workload": "thread", "statistic": "p95", "maximum": 4000, "unit": "milliseconds", "profiles": ["H0", "H1", "H2"]}, + {"id": "warm-export", "workload": "export", "statistic": "p95", "maximum": 20000, "unit": "milliseconds", "profiles": ["H0", "H1", "H2"]}, + {"id": "peak-rss", "workload": "all", "statistic": "maximum", "maximum": 2147483648, "unit": "bytes", "profiles": ["H0", "H1", "H2"]}, + {"id": "steady-rss", "workload": "mcp-longevity", "statistic": "post-warm", "maximum": 1610612736, "unit": "bytes", "profiles": ["H0", "H1", "H2"]}, + {"id": "rss-growth-percent", "workload": "mcp-longevity", "statistic": "maximum", "maximum": 5, "unit": "percent", "profiles": ["H0", "H1", "H2"]}, + {"id": "rss-growth-bytes", "workload": "mcp-longevity", "statistic": "maximum", "maximum": 67108864, "unit": "bytes", "profiles": ["H0", "H1", "H2"]}, + {"id": "installed-bundle", "workload": "all", "statistic": "maximum", "maximum": 1342177280, "unit": "bytes", "profiles": ["H0", "H1", "H2"]}, + {"id": "compressed-download", "workload": "all", "statistic": "maximum", "maximum": 1181116006, "unit": "bytes", "profiles": ["H0", "H1", "H2"]}, + {"id": "detector-construction", "workload": "all", "statistic": "maximum", "maximum": 1, "unit": "count", "profiles": ["H0", "H1", "H2"]}, + {"id": "mode-off-construction", "workload": "all", "statistic": "maximum", "maximum": 0, "unit": "count", "profiles": ["H0", "H1", "H2"]}, + {"id": "mcp-burst-factor", "workload": "mcp-burst", "statistic": "single-request-p95-multiple", "maximum": 5, "unit": "factor", "profiles": ["H0", "H1", "H2"]} + ] +} diff --git a/internal/pii/testdata/privacy-filter/v1/performance/workloads.json b/internal/pii/testdata/privacy-filter/v1/performance/workloads.json new file mode 100644 index 0000000..634aa40 --- /dev/null +++ b/internal/pii/testdata/privacy-filter/v1/performance/workloads.json @@ -0,0 +1,82 @@ +{ + "schema": 1, + "workloads": [ + { + "id": "subject", + "description": "Synthetic support subject no larger than 256 UTF-8 bytes.", + "target_bytes": 256, + "warmup_samples": 10, + "measured_samples": 100, + "fresh_processes": 20, + "concurrency": 1, + "requests": 1, + "required_metrics": ["load_time", "first_inference", "warm_p50", "warm_p95", "warm_p99", "cpu_time", "wall_time", "throughput", "rss", "page_faults", "disk_bytes", "detector_constructions"] + }, + { + "id": "message", + "description": "Typical 2 KiB synthetic support message with mixed typed privacy targets.", + "target_bytes": 2048, + "warmup_samples": 10, + "measured_samples": 100, + "fresh_processes": 20, + "concurrency": 1, + "requests": 1, + "required_metrics": ["load_time", "first_inference", "warm_p50", "warm_p95", "warm_p99", "cpu_time", "wall_time", "throughput", "rss", "page_faults", "disk_bytes", "detector_constructions"] + }, + { + "id": "thread", + "description": "Approximately 20 KiB synthetic multi-message thread exercising window boundaries.", + "target_bytes": 20480, + "warmup_samples": 10, + "measured_samples": 100, + "fresh_processes": 20, + "concurrency": 1, + "requests": 1, + "required_metrics": ["load_time", "first_inference", "warm_p50", "warm_p95", "warm_p99", "cpu_time", "wall_time", "throughput", "rss", "page_faults", "disk_bytes", "detector_constructions"] + }, + { + "id": "export", + "description": "Approximately 100 KiB synthetic conversation export.", + "target_bytes": 102400, + "warmup_samples": 5, + "measured_samples": 100, + "fresh_processes": 20, + "concurrency": 1, + "requests": 1, + "required_metrics": ["load_time", "first_inference", "warm_p50", "warm_p95", "warm_p99", "cpu_time", "wall_time", "throughput", "rss", "page_faults", "disk_bytes", "detector_constructions", "truncations"] + }, + { + "id": "adversarial-long", + "description": "Dense 128 KiB synthetic Unicode input with awkward token and byte boundaries.", + "target_bytes": 131072, + "warmup_samples": 5, + "measured_samples": 100, + "fresh_processes": 20, + "concurrency": 1, + "requests": 1, + "required_metrics": ["load_time", "first_inference", "warm_p50", "warm_p95", "warm_p99", "cpu_time", "wall_time", "throughput", "rss", "page_faults", "disk_bytes", "detector_constructions", "truncations", "fail_closed"] + }, + { + "id": "mcp-longevity", + "description": "One hundred warm 2 KiB synthetic requests after explicit warm-up.", + "target_bytes": 2048, + "warmup_samples": 10, + "measured_samples": 100, + "fresh_processes": 20, + "concurrency": 1, + "requests": 100, + "required_metrics": ["load_time", "first_inference", "warm_p50", "warm_p95", "warm_p99", "cpu_time", "wall_time", "throughput", "rss", "rss_growth", "page_faults", "disk_bytes", "detector_constructions", "goroutines"] + }, + { + "id": "mcp-burst", + "description": "Four concurrent 2 KiB synthetic requests measuring queueing and deadlock safety.", + "target_bytes": 2048, + "warmup_samples": 10, + "measured_samples": 100, + "fresh_processes": 20, + "concurrency": 4, + "requests": 4, + "required_metrics": ["load_time", "first_inference", "warm_p50", "warm_p95", "warm_p99", "cpu_time", "wall_time", "throughput", "rss", "page_faults", "disk_bytes", "detector_constructions", "deadlocks", "race_failures"] + } + ] +} diff --git a/internal/pii/testdata/privacy-filter/v1/policy.json b/internal/pii/testdata/privacy-filter/v1/policy.json new file mode 100644 index 0000000..81a1389 --- /dev/null +++ b/internal/pii/testdata/privacy-filter/v1/policy.json @@ -0,0 +1,90 @@ +{ + "schema": 1, + "secret_marker": "[REDACTED_SECRET]", + "kinds": [ + { + "kind": "person", + "replacement": "deterministic-person", + "actions": {"off": "preserve", "customers": "redact", "all": "redact"} + }, + { + "kind": "address", + "replacement": "deterministic-token", + "actions": {"off": "preserve", "customers": "redact", "all": "redact"} + }, + { + "kind": "email", + "replacement": "deterministic-token", + "actions": {"off": "preserve", "customers": "redact", "all": "redact"} + }, + { + "kind": "phone", + "replacement": "deterministic-token", + "actions": {"off": "preserve", "customers": "redact", "all": "redact"} + }, + { + "kind": "url", + "replacement": "deterministic-token", + "actions": {"off": "preserve", "customers": "redact", "all": "redact"} + }, + { + "kind": "private_date", + "replacement": "deterministic-token", + "actions": {"off": "preserve", "customers": "redact", "all": "redact"} + }, + { + "kind": "account_number", + "replacement": "deterministic-token", + "actions": {"off": "preserve", "customers": "redact", "all": "redact"} + }, + { + "kind": "secret", + "replacement": "constant-secret-marker", + "actions": {"off": "preserve", "customers": "redact", "all": "redact"} + } + ], + "identity_policy": [ + { + "id": "known-customer-person", + "kind": "person", + "identity_type": "customer", + "replacement": "deterministic-person", + "actions": {"off": "preserve", "customers": "redact", "all": "redact"} + }, + { + "id": "known-staff-person", + "kind": "person", + "identity_type": "user", + "replacement": "deterministic-person", + "actions": {"off": "preserve", "customers": "preserve", "all": "redact"} + }, + { + "id": "unknown-third-party-person", + "kind": "person", + "identity_type": "unknown", + "replacement": "deterministic-person", + "actions": {"off": "preserve", "customers": "redact", "all": "redact"} + }, + { + "id": "customer-secret", + "kind": "secret", + "identity_type": "customer", + "replacement": "constant-secret-marker", + "actions": {"off": "preserve", "customers": "redact", "all": "redact"} + }, + { + "id": "staff-secret", + "kind": "secret", + "identity_type": "user", + "replacement": "constant-secret-marker", + "actions": {"off": "preserve", "customers": "redact", "all": "redact"} + }, + { + "id": "third-party-secret", + "kind": "secret", + "identity_type": "unknown", + "replacement": "constant-secret-marker", + "actions": {"off": "preserve", "customers": "redact", "all": "redact"} + } + ] +} diff --git a/internal/pii/testdata/privacy-filter/v1/preservation.json b/internal/pii/testdata/privacy-filter/v1/preservation.json new file mode 100644 index 0000000..e07085e --- /dev/null +++ b/internal/pii/testdata/privacy-filter/v1/preservation.json @@ -0,0 +1,221 @@ +{ + "schema": 1, + "partition": "preservation", + "cases": [ + { + "id": "preservation-checksum-and-email", + "language": "en", + "script": "Latin", + "shape": "log", + "risk": "high", + "reason": "The private email must be removed while the public checksum remains unchanged.", + "text": "artifact_sha256=aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa notify=fixture.person@example.invalid", + "known_identities": [], + "targets": [ + { + "id": "checksum", + "kind": "secret", + "start": 16, + "end": 80, + "value": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "match": "exact", + "actions": { + "off": "preserve", + "customers": "preserve", + "all": "preserve" + } + }, + { + "id": "private-email", + "kind": "email", + "start": 88, + "end": 118, + "value": "fixture.person@example.invalid", + "match": "exact", + "actions": { + "off": "preserve", + "customers": "redact", + "all": "redact" + } + } + ], + "outputs": { + "off": { + "required_absent": [], + "required_present": [ + "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "fixture.person@example.invalid" + ] + }, + "customers": { + "required_absent": [ + "fixture.person@example.invalid" + ], + "required_present": [ + "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" + ] + }, + "all": { + "required_absent": [ + "fixture.person@example.invalid" + ], + "required_present": [ + "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" + ] + } + }, + "tags": [ + "preservation", + "checksum", + "existing-contract" + ] + }, + { + "id": "preservation-redacted-marker", + "language": "en", + "script": "Latin", + "shape": "prose", + "risk": "preservation", + "reason": "An already-redacted marker is not a new secret.", + "text": "The prior output contains [REDACTED_SECRET] and no source value.", + "known_identities": [], + "targets": [ + { + "id": "redacted-marker", + "kind": "secret", + "start": 26, + "end": 43, + "value": "[REDACTED_SECRET]", + "match": "exact", + "actions": { + "off": "preserve", + "customers": "preserve", + "all": "preserve" + } + } + ], + "outputs": { + "off": { + "required_absent": [], + "required_present": [ + "[REDACTED_SECRET]" + ] + }, + "customers": { + "required_absent": [], + "required_present": [ + "[REDACTED_SECRET]" + ] + }, + "all": { + "required_absent": [], + "required_present": [ + "[REDACTED_SECRET]" + ] + } + }, + "tags": [ + "preservation", + "marker" + ] + }, + { + "id": "preservation-public-id", + "language": "en", + "script": "Latin", + "shape": "prose", + "risk": "preservation", + "reason": "A public standards identifier must remain visible.", + "text": "The public specification is RFC-EXAMPLE-8259.", + "known_identities": [], + "targets": [ + { + "id": "public-standard", + "kind": "account_number", + "start": 28, + "end": 44, + "value": "RFC-EXAMPLE-8259", + "match": "exact", + "actions": { + "off": "preserve", + "customers": "preserve", + "all": "preserve" + } + } + ], + "outputs": { + "off": { + "required_absent": [], + "required_present": [ + "RFC-EXAMPLE-8259" + ] + }, + "customers": { + "required_absent": [], + "required_present": [ + "RFC-EXAMPLE-8259" + ] + }, + "all": { + "required_absent": [], + "required_present": [ + "RFC-EXAMPLE-8259" + ] + } + }, + "tags": [ + "preservation", + "public-id" + ] + }, + { + "id": "preservation-company-name", + "language": "en", + "script": "Latin", + "shape": "prose", + "risk": "preservation", + "reason": "A public company name is not a private person.", + "text": "Example Robotics publishes the public library.", + "known_identities": [], + "targets": [ + { + "id": "company", + "kind": "person", + "start": 0, + "end": 16, + "value": "Example Robotics", + "match": "exact", + "actions": { + "off": "preserve", + "customers": "preserve", + "all": "preserve" + } + } + ], + "outputs": { + "off": { + "required_absent": [], + "required_present": [ + "Example Robotics" + ] + }, + "customers": { + "required_absent": [], + "required_present": [ + "Example Robotics" + ] + }, + "all": { + "required_absent": [], + "required_present": [ + "Example Robotics" + ] + } + }, + "tags": [ + "preservation", + "company" + ] + } + ] +} diff --git a/internal/pii/testdata/privacy-filter/v1/private-public-dates.json b/internal/pii/testdata/privacy-filter/v1/private-public-dates.json new file mode 100644 index 0000000..1d235f2 --- /dev/null +++ b/internal/pii/testdata/privacy-filter/v1/private-public-dates.json @@ -0,0 +1,204 @@ +{ + "schema": 1, + "partition": "private-public-dates", + "cases": [ + { + "id": "date-birth-private", + "language": "en", + "script": "Latin", + "shape": "prose", + "risk": "critical", + "reason": "A date of birth identifying a private person is private.", + "text": "The synthetic customer's date of birth is 17 May 1988.", + "known_identities": [], + "targets": [ + { + "id": "date-of-birth", + "kind": "private_date", + "start": 42, + "end": 53, + "value": "17 May 1988", + "match": "covering", + "actions": { + "off": "preserve", + "customers": "redact", + "all": "redact" + } + } + ], + "outputs": { + "off": { + "required_absent": [], + "required_present": [ + "17 May 1988" + ] + }, + "customers": { + "required_absent": [ + "17 May 1988" + ], + "required_present": [] + }, + "all": { + "required_absent": [ + "17 May 1988" + ], + "required_present": [] + } + }, + "tags": [ + "date", + "birth" + ] + }, + { + "id": "date-appointment-private", + "language": "en", + "script": "Latin", + "shape": "prose", + "risk": "high", + "reason": "A private appointment timestamp tied to a customer must be removed.", + "text": "The customer's private appointment is 2026-08-14 09:30.", + "known_identities": [], + "targets": [ + { + "id": "appointment", + "kind": "private_date", + "start": 38, + "end": 54, + "value": "2026-08-14 09:30", + "match": "covering", + "actions": { + "off": "preserve", + "customers": "redact", + "all": "redact" + } + } + ], + "outputs": { + "off": { + "required_absent": [], + "required_present": [ + "2026-08-14 09:30" + ] + }, + "customers": { + "required_absent": [ + "2026-08-14 09:30" + ], + "required_present": [] + }, + "all": { + "required_absent": [ + "2026-08-14 09:30" + ], + "required_present": [] + } + }, + "tags": [ + "date", + "appointment" + ] + }, + { + "id": "date-release-public", + "language": "en", + "script": "Latin", + "shape": "prose", + "risk": "preservation", + "reason": "A software release date is public operational context.", + "text": "The public release date is 17 July 2026.", + "known_identities": [], + "targets": [ + { + "id": "release-date", + "kind": "private_date", + "start": 27, + "end": 39, + "value": "17 July 2026", + "match": "exact", + "actions": { + "off": "preserve", + "customers": "preserve", + "all": "preserve" + } + } + ], + "outputs": { + "off": { + "required_absent": [], + "required_present": [ + "17 July 2026" + ] + }, + "customers": { + "required_absent": [], + "required_present": [ + "17 July 2026" + ] + }, + "all": { + "required_absent": [], + "required_present": [ + "17 July 2026" + ] + } + }, + "tags": [ + "date", + "release", + "preservation" + ] + }, + { + "id": "date-event-public", + "language": "en", + "script": "Latin", + "shape": "prose", + "risk": "preservation", + "reason": "A public conference date does not identify a private person.", + "text": "The Example Conference opens on 4 September 2026.", + "known_identities": [], + "targets": [ + { + "id": "event-date", + "kind": "private_date", + "start": 32, + "end": 48, + "value": "4 September 2026", + "match": "exact", + "actions": { + "off": "preserve", + "customers": "preserve", + "all": "preserve" + } + } + ], + "outputs": { + "off": { + "required_absent": [], + "required_present": [ + "4 September 2026" + ] + }, + "customers": { + "required_absent": [], + "required_present": [ + "4 September 2026" + ] + }, + "all": { + "required_absent": [], + "required_present": [ + "4 September 2026" + ] + } + }, + "tags": [ + "date", + "event", + "preservation" + ] + } + ] +} diff --git a/internal/pii/testdata/privacy-filter/v1/schema.json b/internal/pii/testdata/privacy-filter/v1/schema.json new file mode 100644 index 0000000..5548792 --- /dev/null +++ b/internal/pii/testdata/privacy-filter/v1/schema.json @@ -0,0 +1,187 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://operator-kit.example/schemas/privacy-filter-corpus-v1.json", + "title": "hs-cli synthetic typed privacy corpus v1", + "type": "object", + "additionalProperties": false, + "required": ["schema", "partition", "cases"], + "properties": { + "schema": {"const": 1}, + "partition": { + "enum": [ + "secrets", + "people-third-parties", + "account-identifiers", + "private-public-dates", + "addresses", + "emails-phones-urls", + "obfuscated-messy-pii", + "multilingual", + "preservation", + "long-input", + "command-output-payloads" + ] + }, + "cases": { + "type": "array", + "minItems": 1, + "items": {"$ref": "#/$defs/case"} + } + }, + "$defs": { + "case": { + "type": "object", + "additionalProperties": false, + "required": [ + "id", + "language", + "script", + "shape", + "risk", + "reason", + "text", + "known_identities", + "targets", + "outputs", + "tags" + ], + "properties": { + "id": {"type": "string", "pattern": "^[a-z0-9][a-z0-9-]*$"}, + "language": {"type": "string", "minLength": 2}, + "script": { + "enum": ["Latin", "Arabic", "Han", "Hiragana", "Hangul", "Devanagari", "Common", "Mixed"] + }, + "shape": { + "enum": [ + "prose", + "json", + "yaml", + "shell", + "url", + "markdown", + "html", + "quoted-reply", + "log", + "stack-trace", + "code", + "signature", + "long-thread", + "command-payload" + ] + }, + "risk": {"enum": ["critical", "high", "standard", "preservation"]}, + "reason": {"type": "string", "minLength": 1}, + "text": {"type": "string", "minLength": 1}, + "known_identities": { + "type": "array", + "items": {"$ref": "#/$defs/knownIdentity"} + }, + "targets": { + "type": "array", + "minItems": 1, + "items": {"$ref": "#/$defs/target"} + }, + "outputs": {"$ref": "#/$defs/modeOutputs"}, + "tags": { + "type": "array", + "items": {"type": "string", "minLength": 1}, + "uniqueItems": true + }, + "secret_fixture": {"$ref": "#/$defs/secretFixture"} + } + }, + "knownIdentity": { + "type": "object", + "additionalProperties": false, + "required": ["id", "type", "first", "last", "email", "phone"], + "properties": { + "id": {"type": "string", "pattern": "^[a-z0-9][a-z0-9-]*$"}, + "type": {"enum": ["customer", "user"]}, + "first": {"type": "string"}, + "last": {"type": "string"}, + "email": {"type": "string"}, + "phone": {"type": "string"} + } + }, + "target": { + "type": "object", + "additionalProperties": false, + "required": ["id", "kind", "start", "end", "value", "match", "actions"], + "properties": { + "id": {"type": "string", "pattern": "^[a-z0-9][a-z0-9-]*$"}, + "kind": { + "enum": ["person", "address", "email", "phone", "url", "private_date", "account_number", "secret"] + }, + "start": {"type": "integer", "minimum": 0}, + "end": {"type": "integer", "minimum": 1}, + "value": {"type": "string", "minLength": 1}, + "match": {"enum": ["exact", "covering"]}, + "identity_id": {"type": "string", "pattern": "^[a-z0-9][a-z0-9-]*$"}, + "actions": {"$ref": "#/$defs/modeActions"} + } + }, + "modeActions": { + "type": "object", + "additionalProperties": false, + "required": ["off", "customers", "all"], + "properties": { + "off": {"const": "preserve"}, + "customers": {"enum": ["preserve", "redact"]}, + "all": {"enum": ["preserve", "redact"]} + } + }, + "modeOutputs": { + "type": "object", + "additionalProperties": false, + "required": ["off", "customers", "all"], + "properties": { + "off": {"$ref": "#/$defs/outputExpectation"}, + "customers": {"$ref": "#/$defs/outputExpectation"}, + "all": {"$ref": "#/$defs/outputExpectation"} + } + }, + "outputExpectation": { + "type": "object", + "additionalProperties": false, + "required": ["required_absent", "required_present"], + "properties": { + "required_absent": { + "type": "array", + "items": {"type": "string", "minLength": 1}, + "uniqueItems": true + }, + "required_present": { + "type": "array", + "items": {"type": "string", "minLength": 1}, + "uniqueItems": true + } + } + }, + "secretFixture": { + "type": "object", + "additionalProperties": false, + "required": ["family", "role"], + "properties": { + "family": { + "enum": [ + "api-key", + "access-token", + "oauth-token", + "password", + "jwt", + "one-time-code", + "private-key", + "database-connection", + "cookie-authorization", + "webhook-secret", + "cloud-credential", + "source-control-token", + "payment-credential", + "observability-token" + ] + }, + "role": {"enum": ["must-detect", "preserve"]} + } + } + } +} diff --git a/internal/pii/testdata/privacy-filter/v1/secrets.json b/internal/pii/testdata/privacy-filter/v1/secrets.json new file mode 100644 index 0000000..fb72215 --- /dev/null +++ b/internal/pii/testdata/privacy-filter/v1/secrets.json @@ -0,0 +1,1518 @@ +{ + "schema": 1, + "partition": "secrets", + "cases": [ + { + "id": "secret-api-key-must-detect", + "language": "en", + "script": "Latin", + "shape": "prose", + "risk": "critical", + "reason": "A synthetic api-key value must be detected and removed in every redacting mode.", + "text": "Use sk-test-EXAMPLE-7A9B2C4D6E8F as the synthetic API key for the fixture only.", + "known_identities": [], + "targets": [ + { + "id": "secret-value", + "kind": "secret", + "start": 4, + "end": 32, + "value": "sk-test-EXAMPLE-7A9B2C4D6E8F", + "match": "covering", + "actions": { + "off": "preserve", + "customers": "redact", + "all": "redact" + } + } + ], + "outputs": { + "off": { + "required_absent": [], + "required_present": [ + "sk-test-EXAMPLE-7A9B2C4D6E8F" + ] + }, + "customers": { + "required_absent": [ + "sk-test-EXAMPLE-7A9B2C4D6E8F" + ], + "required_present": [] + }, + "all": { + "required_absent": [ + "sk-test-EXAMPLE-7A9B2C4D6E8F" + ], + "required_present": [] + } + }, + "tags": [ + "secret", + "must-detect", + "secret-family:api-key" + ], + "secret_fixture": { + "family": "api-key", + "role": "must-detect" + } + }, + { + "id": "secret-api-key-preserve", + "language": "en", + "script": "Latin", + "shape": "prose", + "risk": "preservation", + "reason": "The declared api-key documentation placeholder is a near miss that must remain readable.", + "text": "Documentation uses [EXAMPLE_API_KEY] as a non-secret placeholder.", + "known_identities": [], + "targets": [ + { + "id": "placeholder", + "kind": "secret", + "start": 19, + "end": 36, + "value": "[EXAMPLE_API_KEY]", + "match": "exact", + "actions": { + "off": "preserve", + "customers": "preserve", + "all": "preserve" + } + } + ], + "outputs": { + "off": { + "required_absent": [], + "required_present": [ + "[EXAMPLE_API_KEY]" + ] + }, + "customers": { + "required_absent": [], + "required_present": [ + "[EXAMPLE_API_KEY]" + ] + }, + "all": { + "required_absent": [], + "required_present": [ + "[EXAMPLE_API_KEY]" + ] + } + }, + "tags": [ + "secret", + "preservation", + "secret-family:api-key" + ], + "secret_fixture": { + "family": "api-key", + "role": "preserve" + } + }, + { + "id": "secret-access-token-must-detect", + "language": "en", + "script": "Latin", + "shape": "json", + "risk": "critical", + "reason": "A synthetic access-token value must be detected and removed in every redacting mode.", + "text": "{\"access_token\":\"tok_EXAMPLE_access_not-a-real_73c1\",\"environment\":\"fixture\"}", + "known_identities": [], + "targets": [ + { + "id": "secret-value", + "kind": "secret", + "start": 17, + "end": 51, + "value": "tok_EXAMPLE_access_not-a-real_73c1", + "match": "covering", + "actions": { + "off": "preserve", + "customers": "redact", + "all": "redact" + } + } + ], + "outputs": { + "off": { + "required_absent": [], + "required_present": [ + "tok_EXAMPLE_access_not-a-real_73c1" + ] + }, + "customers": { + "required_absent": [ + "tok_EXAMPLE_access_not-a-real_73c1" + ], + "required_present": [] + }, + "all": { + "required_absent": [ + "tok_EXAMPLE_access_not-a-real_73c1" + ], + "required_present": [] + } + }, + "tags": [ + "secret", + "must-detect", + "secret-family:access-token" + ], + "secret_fixture": { + "family": "access-token", + "role": "must-detect" + } + }, + { + "id": "secret-access-token-preserve", + "language": "en", + "script": "Latin", + "shape": "json", + "risk": "preservation", + "reason": "The declared access-token documentation placeholder is a near miss that must remain readable.", + "text": "{\"field_name\":\"ACCESS_TOKEN_EXAMPLE\",\"value\":\"placeholder\"}", + "known_identities": [], + "targets": [ + { + "id": "placeholder", + "kind": "secret", + "start": 15, + "end": 35, + "value": "ACCESS_TOKEN_EXAMPLE", + "match": "exact", + "actions": { + "off": "preserve", + "customers": "preserve", + "all": "preserve" + } + } + ], + "outputs": { + "off": { + "required_absent": [], + "required_present": [ + "ACCESS_TOKEN_EXAMPLE" + ] + }, + "customers": { + "required_absent": [], + "required_present": [ + "ACCESS_TOKEN_EXAMPLE" + ] + }, + "all": { + "required_absent": [], + "required_present": [ + "ACCESS_TOKEN_EXAMPLE" + ] + } + }, + "tags": [ + "secret", + "preservation", + "secret-family:access-token" + ], + "secret_fixture": { + "family": "access-token", + "role": "preserve" + } + }, + { + "id": "secret-oauth-token-must-detect", + "language": "en", + "script": "Latin", + "shape": "yaml", + "risk": "critical", + "reason": "A synthetic oauth-token value must be detected and removed in every redacting mode.", + "text": "oauth_refresh_token: oauth-EXAMPLE-refresh-not-a-real-91d2\nmode: fixture", + "known_identities": [], + "targets": [ + { + "id": "secret-value", + "kind": "secret", + "start": 21, + "end": 58, + "value": "oauth-EXAMPLE-refresh-not-a-real-91d2", + "match": "covering", + "actions": { + "off": "preserve", + "customers": "redact", + "all": "redact" + } + } + ], + "outputs": { + "off": { + "required_absent": [], + "required_present": [ + "oauth-EXAMPLE-refresh-not-a-real-91d2" + ] + }, + "customers": { + "required_absent": [ + "oauth-EXAMPLE-refresh-not-a-real-91d2" + ], + "required_present": [] + }, + "all": { + "required_absent": [ + "oauth-EXAMPLE-refresh-not-a-real-91d2" + ], + "required_present": [] + } + }, + "tags": [ + "secret", + "must-detect", + "secret-family:oauth-token" + ], + "secret_fixture": { + "family": "oauth-token", + "role": "must-detect" + } + }, + { + "id": "secret-oauth-token-preserve", + "language": "en", + "script": "Latin", + "shape": "yaml", + "risk": "preservation", + "reason": "The declared oauth-token documentation placeholder is a near miss that must remain readable.", + "text": "oauth_profile: oauth_example_version\nmode: documentation", + "known_identities": [], + "targets": [ + { + "id": "placeholder", + "kind": "secret", + "start": 15, + "end": 36, + "value": "oauth_example_version", + "match": "exact", + "actions": { + "off": "preserve", + "customers": "preserve", + "all": "preserve" + } + } + ], + "outputs": { + "off": { + "required_absent": [], + "required_present": [ + "oauth_example_version" + ] + }, + "customers": { + "required_absent": [], + "required_present": [ + "oauth_example_version" + ] + }, + "all": { + "required_absent": [], + "required_present": [ + "oauth_example_version" + ] + } + }, + "tags": [ + "secret", + "preservation", + "secret-family:oauth-token" + ], + "secret_fixture": { + "family": "oauth-token", + "role": "preserve" + } + }, + { + "id": "secret-password-must-detect", + "language": "en", + "script": "Latin", + "shape": "shell", + "risk": "critical", + "reason": "A synthetic password value must be detected and removed in every redacting mode.", + "text": "DB_PASSWORD='not-a-real-example-password-K7m9'\nrun_fixture=true", + "known_identities": [], + "targets": [ + { + "id": "secret-value", + "kind": "secret", + "start": 13, + "end": 45, + "value": "not-a-real-example-password-K7m9", + "match": "covering", + "actions": { + "off": "preserve", + "customers": "redact", + "all": "redact" + } + } + ], + "outputs": { + "off": { + "required_absent": [], + "required_present": [ + "not-a-real-example-password-K7m9" + ] + }, + "customers": { + "required_absent": [ + "not-a-real-example-password-K7m9" + ], + "required_present": [] + }, + "all": { + "required_absent": [ + "not-a-real-example-password-K7m9" + ], + "required_present": [] + } + }, + "tags": [ + "secret", + "must-detect", + "secret-family:password" + ], + "secret_fixture": { + "family": "password", + "role": "must-detect" + } + }, + { + "id": "secret-password-preserve", + "language": "en", + "script": "Latin", + "shape": "shell", + "risk": "preservation", + "reason": "The declared password documentation placeholder is a near miss that must remain readable.", + "text": "export PASSWORD_FIELD=PASSWORD_EXAMPLE", + "known_identities": [], + "targets": [ + { + "id": "placeholder", + "kind": "secret", + "start": 22, + "end": 38, + "value": "PASSWORD_EXAMPLE", + "match": "exact", + "actions": { + "off": "preserve", + "customers": "preserve", + "all": "preserve" + } + } + ], + "outputs": { + "off": { + "required_absent": [], + "required_present": [ + "PASSWORD_EXAMPLE" + ] + }, + "customers": { + "required_absent": [], + "required_present": [ + "PASSWORD_EXAMPLE" + ] + }, + "all": { + "required_absent": [], + "required_present": [ + "PASSWORD_EXAMPLE" + ] + } + }, + "tags": [ + "secret", + "preservation", + "secret-family:password" + ], + "secret_fixture": { + "family": "password", + "role": "preserve" + } + }, + { + "id": "secret-jwt-must-detect", + "language": "en", + "script": "Latin", + "shape": "log", + "risk": "critical", + "reason": "A synthetic jwt value must be detected and removed in every redacting mode.", + "text": "fixture auth failure bearer=eyJhbGciOiJub25lIn0.EXAMPLE-not-a-real-payload.invalid-signature", + "known_identities": [], + "targets": [ + { + "id": "secret-value", + "kind": "secret", + "start": 28, + "end": 92, + "value": "eyJhbGciOiJub25lIn0.EXAMPLE-not-a-real-payload.invalid-signature", + "match": "covering", + "actions": { + "off": "preserve", + "customers": "redact", + "all": "redact" + } + } + ], + "outputs": { + "off": { + "required_absent": [], + "required_present": [ + "eyJhbGciOiJub25lIn0.EXAMPLE-not-a-real-payload.invalid-signature" + ] + }, + "customers": { + "required_absent": [ + "eyJhbGciOiJub25lIn0.EXAMPLE-not-a-real-payload.invalid-signature" + ], + "required_present": [] + }, + "all": { + "required_absent": [ + "eyJhbGciOiJub25lIn0.EXAMPLE-not-a-real-payload.invalid-signature" + ], + "required_present": [] + } + }, + "tags": [ + "secret", + "must-detect", + "secret-family:jwt" + ], + "secret_fixture": { + "family": "jwt", + "role": "must-detect" + } + }, + { + "id": "secret-jwt-preserve", + "language": "en", + "script": "Latin", + "shape": "log", + "risk": "preservation", + "reason": "The declared jwt documentation placeholder is a near miss that must remain readable.", + "text": "The log template prints token=JWT_EXAMPLE_PLACEHOLDER.", + "known_identities": [], + "targets": [ + { + "id": "placeholder", + "kind": "secret", + "start": 30, + "end": 53, + "value": "JWT_EXAMPLE_PLACEHOLDER", + "match": "exact", + "actions": { + "off": "preserve", + "customers": "preserve", + "all": "preserve" + } + } + ], + "outputs": { + "off": { + "required_absent": [], + "required_present": [ + "JWT_EXAMPLE_PLACEHOLDER" + ] + }, + "customers": { + "required_absent": [], + "required_present": [ + "JWT_EXAMPLE_PLACEHOLDER" + ] + }, + "all": { + "required_absent": [], + "required_present": [ + "JWT_EXAMPLE_PLACEHOLDER" + ] + } + }, + "tags": [ + "secret", + "preservation", + "secret-family:jwt" + ], + "secret_fixture": { + "family": "jwt", + "role": "preserve" + } + }, + { + "id": "secret-one-time-code-must-detect", + "language": "en", + "script": "Latin", + "shape": "prose", + "risk": "critical", + "reason": "A synthetic one-time-code value must be detected and removed in every redacting mode.", + "text": "The temporary one-time code is EXAMPLE-482915 and is not functional.", + "known_identities": [], + "targets": [ + { + "id": "secret-value", + "kind": "secret", + "start": 31, + "end": 45, + "value": "EXAMPLE-482915", + "match": "covering", + "actions": { + "off": "preserve", + "customers": "redact", + "all": "redact" + } + } + ], + "outputs": { + "off": { + "required_absent": [], + "required_present": [ + "EXAMPLE-482915" + ] + }, + "customers": { + "required_absent": [ + "EXAMPLE-482915" + ], + "required_present": [] + }, + "all": { + "required_absent": [ + "EXAMPLE-482915" + ], + "required_present": [] + } + }, + "tags": [ + "secret", + "must-detect", + "secret-family:one-time-code" + ], + "secret_fixture": { + "family": "one-time-code", + "role": "must-detect" + } + }, + { + "id": "secret-one-time-code-preserve", + "language": "en", + "script": "Latin", + "shape": "prose", + "risk": "preservation", + "reason": "The declared one-time-code documentation placeholder is a near miss that must remain readable.", + "text": "Replace OTP_EXAMPLE with a synthetic code in the tutorial.", + "known_identities": [], + "targets": [ + { + "id": "placeholder", + "kind": "secret", + "start": 8, + "end": 19, + "value": "OTP_EXAMPLE", + "match": "exact", + "actions": { + "off": "preserve", + "customers": "preserve", + "all": "preserve" + } + } + ], + "outputs": { + "off": { + "required_absent": [], + "required_present": [ + "OTP_EXAMPLE" + ] + }, + "customers": { + "required_absent": [], + "required_present": [ + "OTP_EXAMPLE" + ] + }, + "all": { + "required_absent": [], + "required_present": [ + "OTP_EXAMPLE" + ] + } + }, + "tags": [ + "secret", + "preservation", + "secret-family:one-time-code" + ], + "secret_fixture": { + "family": "one-time-code", + "role": "preserve" + } + }, + { + "id": "secret-private-key-must-detect", + "language": "en", + "script": "Latin", + "shape": "code", + "risk": "critical", + "reason": "A synthetic private-key value must be detected and removed in every redacting mode.", + "text": "A synthetic key block was pasted:\n-----BEGIN SECRET-KEYX-----\nNOT-A-REAL-EXAMPLE-KEY\n-----END SECRET-KEYX-----\nEnd fixture.", + "known_identities": [], + "targets": [ + { + "id": "secret-value", + "kind": "secret", + "start": 34, + "end": 110, + "value": "-----BEGIN SECRET-KEYX-----\nNOT-A-REAL-EXAMPLE-KEY\n-----END SECRET-KEYX-----", + "match": "covering", + "actions": { + "off": "preserve", + "customers": "redact", + "all": "redact" + } + } + ], + "outputs": { + "off": { + "required_absent": [], + "required_present": [ + "-----BEGIN SECRET-KEYX-----\nNOT-A-REAL-EXAMPLE-KEY\n-----END SECRET-KEYX-----" + ] + }, + "customers": { + "required_absent": [ + "-----BEGIN SECRET-KEYX-----\nNOT-A-REAL-EXAMPLE-KEY\n-----END SECRET-KEYX-----" + ], + "required_present": [] + }, + "all": { + "required_absent": [ + "-----BEGIN SECRET-KEYX-----\nNOT-A-REAL-EXAMPLE-KEY\n-----END SECRET-KEYX-----" + ], + "required_present": [] + } + }, + "tags": [ + "secret", + "must-detect", + "secret-family:private-key" + ], + "secret_fixture": { + "family": "private-key", + "role": "must-detect" + } + }, + { + "id": "secret-private-key-preserve", + "language": "en", + "script": "Latin", + "shape": "code", + "risk": "preservation", + "reason": "The declared private-key documentation placeholder is a near miss that must remain readable.", + "text": "The parser documentation mentions -----BEGIN EXAMPLE KEY PLACEHOLDER----- literally.", + "known_identities": [], + "targets": [ + { + "id": "placeholder", + "kind": "secret", + "start": 34, + "end": 73, + "value": "-----BEGIN EXAMPLE KEY PLACEHOLDER-----", + "match": "exact", + "actions": { + "off": "preserve", + "customers": "preserve", + "all": "preserve" + } + } + ], + "outputs": { + "off": { + "required_absent": [], + "required_present": [ + "-----BEGIN EXAMPLE KEY PLACEHOLDER-----" + ] + }, + "customers": { + "required_absent": [], + "required_present": [ + "-----BEGIN EXAMPLE KEY PLACEHOLDER-----" + ] + }, + "all": { + "required_absent": [], + "required_present": [ + "-----BEGIN EXAMPLE KEY PLACEHOLDER-----" + ] + } + }, + "tags": [ + "secret", + "preservation", + "secret-family:private-key" + ], + "secret_fixture": { + "family": "private-key", + "role": "preserve" + } + }, + { + "id": "secret-database-connection-must-detect", + "language": "en", + "script": "Latin", + "shape": "url", + "risk": "critical", + "reason": "A synthetic database-connection value must be detected and removed in every redacting mode.", + "text": "The failing connection string is postgres://fixture:not-a-real-example-password@db.example.invalid/support", + "known_identities": [], + "targets": [ + { + "id": "secret-value", + "kind": "secret", + "start": 33, + "end": 106, + "value": "postgres://fixture:not-a-real-example-password@db.example.invalid/support", + "match": "covering", + "actions": { + "off": "preserve", + "customers": "redact", + "all": "redact" + } + } + ], + "outputs": { + "off": { + "required_absent": [], + "required_present": [ + "postgres://fixture:not-a-real-example-password@db.example.invalid/support" + ] + }, + "customers": { + "required_absent": [ + "postgres://fixture:not-a-real-example-password@db.example.invalid/support" + ], + "required_present": [] + }, + "all": { + "required_absent": [ + "postgres://fixture:not-a-real-example-password@db.example.invalid/support" + ], + "required_present": [] + } + }, + "tags": [ + "secret", + "must-detect", + "secret-family:database-connection" + ], + "secret_fixture": { + "family": "database-connection", + "role": "must-detect" + } + }, + { + "id": "secret-database-connection-preserve", + "language": "en", + "script": "Latin", + "shape": "url", + "risk": "preservation", + "reason": "The declared database-connection documentation placeholder is a near miss that must remain readable.", + "text": "The connection-string template is postgres://USER:PASSWORD_EXAMPLE@HOST.invalid/DB", + "known_identities": [], + "targets": [ + { + "id": "placeholder", + "kind": "secret", + "start": 34, + "end": 82, + "value": "postgres://USER:PASSWORD_EXAMPLE@HOST.invalid/DB", + "match": "exact", + "actions": { + "off": "preserve", + "customers": "preserve", + "all": "preserve" + } + } + ], + "outputs": { + "off": { + "required_absent": [], + "required_present": [ + "postgres://USER:PASSWORD_EXAMPLE@HOST.invalid/DB" + ] + }, + "customers": { + "required_absent": [], + "required_present": [ + "postgres://USER:PASSWORD_EXAMPLE@HOST.invalid/DB" + ] + }, + "all": { + "required_absent": [], + "required_present": [ + "postgres://USER:PASSWORD_EXAMPLE@HOST.invalid/DB" + ] + } + }, + "tags": [ + "secret", + "preservation", + "secret-family:database-connection" + ], + "secret_fixture": { + "family": "database-connection", + "role": "preserve" + } + }, + { + "id": "secret-cookie-authorization-must-detect", + "language": "en", + "script": "Latin", + "shape": "quoted-reply", + "risk": "critical", + "reason": "A synthetic cookie-authorization value must be detected and removed in every redacting mode.", + "text": "> Authorization failed\n> Cookie: session=EXAMPLE-not-a-real-cookie-73af\nReply below.", + "known_identities": [], + "targets": [ + { + "id": "secret-value", + "kind": "secret", + "start": 33, + "end": 71, + "value": "session=EXAMPLE-not-a-real-cookie-73af", + "match": "covering", + "actions": { + "off": "preserve", + "customers": "redact", + "all": "redact" + } + } + ], + "outputs": { + "off": { + "required_absent": [], + "required_present": [ + "session=EXAMPLE-not-a-real-cookie-73af" + ] + }, + "customers": { + "required_absent": [ + "session=EXAMPLE-not-a-real-cookie-73af" + ], + "required_present": [] + }, + "all": { + "required_absent": [ + "session=EXAMPLE-not-a-real-cookie-73af" + ], + "required_present": [] + } + }, + "tags": [ + "secret", + "must-detect", + "secret-family:cookie-authorization" + ], + "secret_fixture": { + "family": "cookie-authorization", + "role": "must-detect" + } + }, + { + "id": "secret-cookie-authorization-preserve", + "language": "en", + "script": "Latin", + "shape": "quoted-reply", + "risk": "preservation", + "reason": "The declared cookie-authorization documentation placeholder is a near miss that must remain readable.", + "text": "The documentation header is `Cookie: SESSION_EXAMPLE_PLACEHOLDER`.", + "known_identities": [], + "targets": [ + { + "id": "placeholder", + "kind": "secret", + "start": 29, + "end": 64, + "value": "Cookie: SESSION_EXAMPLE_PLACEHOLDER", + "match": "exact", + "actions": { + "off": "preserve", + "customers": "preserve", + "all": "preserve" + } + } + ], + "outputs": { + "off": { + "required_absent": [], + "required_present": [ + "Cookie: SESSION_EXAMPLE_PLACEHOLDER" + ] + }, + "customers": { + "required_absent": [], + "required_present": [ + "Cookie: SESSION_EXAMPLE_PLACEHOLDER" + ] + }, + "all": { + "required_absent": [], + "required_present": [ + "Cookie: SESSION_EXAMPLE_PLACEHOLDER" + ] + } + }, + "tags": [ + "secret", + "preservation", + "secret-family:cookie-authorization" + ], + "secret_fixture": { + "family": "cookie-authorization", + "role": "preserve" + } + }, + { + "id": "secret-webhook-secret-must-detect", + "language": "en", + "script": "Latin", + "shape": "html", + "risk": "critical", + "reason": "A synthetic webhook-secret value must be detected and removed in every redacting mode.", + "text": "

Webhook signing secret: whsig_EXAMPLE_not-a-real-webhook_8e2f

", + "known_identities": [], + "targets": [ + { + "id": "secret-value", + "kind": "secret", + "start": 33, + "end": 70, + "value": "whsig_EXAMPLE_not-a-real-webhook_8e2f", + "match": "covering", + "actions": { + "off": "preserve", + "customers": "redact", + "all": "redact" + } + } + ], + "outputs": { + "off": { + "required_absent": [], + "required_present": [ + "whsig_EXAMPLE_not-a-real-webhook_8e2f" + ] + }, + "customers": { + "required_absent": [ + "whsig_EXAMPLE_not-a-real-webhook_8e2f" + ], + "required_present": [] + }, + "all": { + "required_absent": [ + "whsig_EXAMPLE_not-a-real-webhook_8e2f" + ], + "required_present": [] + } + }, + "tags": [ + "secret", + "must-detect", + "secret-family:webhook-secret" + ], + "secret_fixture": { + "family": "webhook-secret", + "role": "must-detect" + } + }, + { + "id": "secret-webhook-secret-preserve", + "language": "en", + "script": "Latin", + "shape": "html", + "risk": "preservation", + "reason": "The declared webhook-secret documentation placeholder is a near miss that must remain readable.", + "text": "whsig_EXAMPLE_PLACEHOLDER is a documentation literal.", + "known_identities": [], + "targets": [ + { + "id": "placeholder", + "kind": "secret", + "start": 6, + "end": 31, + "value": "whsig_EXAMPLE_PLACEHOLDER", + "match": "exact", + "actions": { + "off": "preserve", + "customers": "preserve", + "all": "preserve" + } + } + ], + "outputs": { + "off": { + "required_absent": [], + "required_present": [ + "whsig_EXAMPLE_PLACEHOLDER" + ] + }, + "customers": { + "required_absent": [], + "required_present": [ + "whsig_EXAMPLE_PLACEHOLDER" + ] + }, + "all": { + "required_absent": [], + "required_present": [ + "whsig_EXAMPLE_PLACEHOLDER" + ] + } + }, + "tags": [ + "secret", + "preservation", + "secret-family:webhook-secret" + ], + "secret_fixture": { + "family": "webhook-secret", + "role": "preserve" + } + }, + { + "id": "secret-cloud-credential-must-detect", + "language": "en", + "script": "Latin", + "shape": "stack-trace", + "risk": "critical", + "reason": "A synthetic cloud-credential value must be detected and removed in every redacting mode.", + "text": "ConfigError: cloud access key CLDXEXAMPLE000000000\n at fixture.connect (fixture.go:42)", + "known_identities": [], + "targets": [ + { + "id": "secret-value", + "kind": "secret", + "start": 30, + "end": 50, + "value": "CLDXEXAMPLE000000000", + "match": "covering", + "actions": { + "off": "preserve", + "customers": "redact", + "all": "redact" + } + } + ], + "outputs": { + "off": { + "required_absent": [], + "required_present": [ + "CLDXEXAMPLE000000000" + ] + }, + "customers": { + "required_absent": [ + "CLDXEXAMPLE000000000" + ], + "required_present": [] + }, + "all": { + "required_absent": [ + "CLDXEXAMPLE000000000" + ], + "required_present": [] + } + }, + "tags": [ + "secret", + "must-detect", + "secret-family:cloud-credential" + ], + "secret_fixture": { + "family": "cloud-credential", + "role": "must-detect" + } + }, + { + "id": "secret-cloud-credential-preserve", + "language": "en", + "script": "Latin", + "shape": "stack-trace", + "risk": "preservation", + "reason": "The declared cloud-credential documentation placeholder is a near miss that must remain readable.", + "text": "The scanner rule uses CLDXEXAMPLEPLACEHOLDER as an inert example.", + "known_identities": [], + "targets": [ + { + "id": "placeholder", + "kind": "secret", + "start": 22, + "end": 44, + "value": "CLDXEXAMPLEPLACEHOLDER", + "match": "exact", + "actions": { + "off": "preserve", + "customers": "preserve", + "all": "preserve" + } + } + ], + "outputs": { + "off": { + "required_absent": [], + "required_present": [ + "CLDXEXAMPLEPLACEHOLDER" + ] + }, + "customers": { + "required_absent": [], + "required_present": [ + "CLDXEXAMPLEPLACEHOLDER" + ] + }, + "all": { + "required_absent": [], + "required_present": [ + "CLDXEXAMPLEPLACEHOLDER" + ] + } + }, + "tags": [ + "secret", + "preservation", + "secret-family:cloud-credential" + ], + "secret_fixture": { + "family": "cloud-credential", + "role": "preserve" + } + }, + { + "id": "secret-source-control-token-must-detect", + "language": "en", + "script": "Latin", + "shape": "markdown", + "risk": "critical", + "reason": "A synthetic source-control-token value must be detected and removed in every redacting mode.", + "text": "The pasted token was split in Markdown: **scm_EXAMPLEnotarealsourcecontroltoken73af**", + "known_identities": [], + "targets": [ + { + "id": "secret-value", + "kind": "secret", + "start": 42, + "end": 83, + "value": "scm_EXAMPLEnotarealsourcecontroltoken73af", + "match": "covering", + "actions": { + "off": "preserve", + "customers": "redact", + "all": "redact" + } + } + ], + "outputs": { + "off": { + "required_absent": [], + "required_present": [ + "scm_EXAMPLEnotarealsourcecontroltoken73af" + ] + }, + "customers": { + "required_absent": [ + "scm_EXAMPLEnotarealsourcecontroltoken73af" + ], + "required_present": [] + }, + "all": { + "required_absent": [ + "scm_EXAMPLEnotarealsourcecontroltoken73af" + ], + "required_present": [] + } + }, + "tags": [ + "secret", + "must-detect", + "secret-family:source-control-token" + ], + "secret_fixture": { + "family": "source-control-token", + "role": "must-detect" + } + }, + { + "id": "secret-source-control-token-preserve", + "language": "en", + "script": "Latin", + "shape": "markdown", + "risk": "preservation", + "reason": "The declared source-control-token documentation placeholder is a near miss that must remain readable.", + "text": "Use `scm_EXAMPLE_PLACEHOLDER` in documentation, never a real token.", + "known_identities": [], + "targets": [ + { + "id": "placeholder", + "kind": "secret", + "start": 5, + "end": 28, + "value": "scm_EXAMPLE_PLACEHOLDER", + "match": "exact", + "actions": { + "off": "preserve", + "customers": "preserve", + "all": "preserve" + } + } + ], + "outputs": { + "off": { + "required_absent": [], + "required_present": [ + "scm_EXAMPLE_PLACEHOLDER" + ] + }, + "customers": { + "required_absent": [], + "required_present": [ + "scm_EXAMPLE_PLACEHOLDER" + ] + }, + "all": { + "required_absent": [], + "required_present": [ + "scm_EXAMPLE_PLACEHOLDER" + ] + } + }, + "tags": [ + "secret", + "preservation", + "secret-family:source-control-token" + ], + "secret_fixture": { + "family": "source-control-token", + "role": "preserve" + } + }, + { + "id": "secret-payment-credential-must-detect", + "language": "en", + "script": "Latin", + "shape": "json", + "risk": "critical", + "reason": "A synthetic payment-credential value must be detected and removed in every redacting mode.", + "text": "{\"payment_secret\":\"rk_test_EXAMPLE_not-a-real-payment-key_91c\",\"live\":false}", + "known_identities": [], + "targets": [ + { + "id": "secret-value", + "kind": "secret", + "start": 19, + "end": 61, + "value": "rk_test_EXAMPLE_not-a-real-payment-key_91c", + "match": "covering", + "actions": { + "off": "preserve", + "customers": "redact", + "all": "redact" + } + } + ], + "outputs": { + "off": { + "required_absent": [], + "required_present": [ + "rk_test_EXAMPLE_not-a-real-payment-key_91c" + ] + }, + "customers": { + "required_absent": [ + "rk_test_EXAMPLE_not-a-real-payment-key_91c" + ], + "required_present": [] + }, + "all": { + "required_absent": [ + "rk_test_EXAMPLE_not-a-real-payment-key_91c" + ], + "required_present": [] + } + }, + "tags": [ + "secret", + "must-detect", + "secret-family:payment-credential" + ], + "secret_fixture": { + "family": "payment-credential", + "role": "must-detect" + } + }, + { + "id": "secret-payment-credential-preserve", + "language": "en", + "script": "Latin", + "shape": "json", + "risk": "preservation", + "reason": "The declared payment-credential documentation placeholder is a near miss that must remain readable.", + "text": "{\"example_key\":\"rk_test_EXAMPLE_PLACEHOLDER\"}", + "known_identities": [], + "targets": [ + { + "id": "placeholder", + "kind": "secret", + "start": 16, + "end": 43, + "value": "rk_test_EXAMPLE_PLACEHOLDER", + "match": "exact", + "actions": { + "off": "preserve", + "customers": "preserve", + "all": "preserve" + } + } + ], + "outputs": { + "off": { + "required_absent": [], + "required_present": [ + "rk_test_EXAMPLE_PLACEHOLDER" + ] + }, + "customers": { + "required_absent": [], + "required_present": [ + "rk_test_EXAMPLE_PLACEHOLDER" + ] + }, + "all": { + "required_absent": [], + "required_present": [ + "rk_test_EXAMPLE_PLACEHOLDER" + ] + } + }, + "tags": [ + "secret", + "preservation", + "secret-family:payment-credential" + ], + "secret_fixture": { + "family": "payment-credential", + "role": "preserve" + } + }, + { + "id": "secret-observability-token-must-detect", + "language": "en", + "script": "Latin", + "shape": "yaml", + "risk": "critical", + "reason": "A synthetic observability-token value must be detected and removed in every redacting mode.", + "text": "observability_api_key: obsap_EXAMPLE_not-a-real-observability-key_42d\nsite: example.invalid", + "known_identities": [], + "targets": [ + { + "id": "secret-value", + "kind": "secret", + "start": 23, + "end": 69, + "value": "obsap_EXAMPLE_not-a-real-observability-key_42d", + "match": "covering", + "actions": { + "off": "preserve", + "customers": "redact", + "all": "redact" + } + } + ], + "outputs": { + "off": { + "required_absent": [], + "required_present": [ + "obsap_EXAMPLE_not-a-real-observability-key_42d" + ] + }, + "customers": { + "required_absent": [ + "obsap_EXAMPLE_not-a-real-observability-key_42d" + ], + "required_present": [] + }, + "all": { + "required_absent": [ + "obsap_EXAMPLE_not-a-real-observability-key_42d" + ], + "required_present": [] + } + }, + "tags": [ + "secret", + "must-detect", + "secret-family:observability-token" + ], + "secret_fixture": { + "family": "observability-token", + "role": "must-detect" + } + }, + { + "id": "secret-observability-token-preserve", + "language": "en", + "script": "Latin", + "shape": "yaml", + "risk": "preservation", + "reason": "The declared observability-token documentation placeholder is a near miss that must remain readable.", + "text": "config_field: OBSERVABILITY_TOKEN_EXAMPLE", + "known_identities": [], + "targets": [ + { + "id": "placeholder", + "kind": "secret", + "start": 14, + "end": 41, + "value": "OBSERVABILITY_TOKEN_EXAMPLE", + "match": "exact", + "actions": { + "off": "preserve", + "customers": "preserve", + "all": "preserve" + } + } + ], + "outputs": { + "off": { + "required_absent": [], + "required_present": [ + "OBSERVABILITY_TOKEN_EXAMPLE" + ] + }, + "customers": { + "required_absent": [], + "required_present": [ + "OBSERVABILITY_TOKEN_EXAMPLE" + ] + }, + "all": { + "required_absent": [], + "required_present": [ + "OBSERVABILITY_TOKEN_EXAMPLE" + ] + } + }, + "tags": [ + "secret", + "preservation", + "secret-family:observability-token" + ], + "secret_fixture": { + "family": "observability-token", + "role": "preserve" + } + } + ] +} diff --git a/scripts/privacy-filter-g0-baseline.sh b/scripts/privacy-filter-g0-baseline.sh new file mode 100755 index 0000000..45bacbe --- /dev/null +++ b/scripts/privacy-filter-g0-baseline.sh @@ -0,0 +1,105 @@ +#!/usr/bin/env bash +# Produce the current DistilBERT-plus-regex baseline over the synthetic G0 corpus. +set -euo pipefail + +ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" +TRUST_MANIFEST="${ROOT_DIR}/internal/pii/ner/trusted_manifest.json" +SOURCE_LOCK="${ROOT_DIR}/scripts/pii-model-sources.json" +CACHE_DIR="${HS_PII_G0_CACHE_DIR:-${TMPDIR:-/tmp}/hs-cli-pii-g0-cache}" +REPORT_DIR="${HS_PII_G0_REPORT_DIR:-${ROOT_DIR}/dist/privacy-filter/g0}" +IMAGE_TAG="${HS_PII_G0_IMAGE_TAG:-hs-cli/privacy-filter-g0:local}" + +for command in curl docker git jq sha256sum stat tar; do + command -v "$command" >/dev/null || { echo "missing required command: $command" >&2; exit 1; } +done + +if ! docker info >/dev/null 2>&1; then + echo "Docker is required for the G0 baseline and its engine is unavailable." >&2 + exit 1 +fi + +MODEL_REVISION="$(jq -er '.model.revision' "$SOURCE_LOCK")" +MANIFEST_MODEL_REVISION="$(jq -er '.model_revision' "$TRUST_MANIFEST")" +[[ "$MODEL_REVISION" == "$MANIFEST_MODEL_REVISION" ]] || { echo "G0 model source lock and trust manifest disagree" >&2; exit 1; } +BUNDLE="$(jq -ec '.bundles[] | select(.goos == "linux" and .goarch == "amd64")' "$TRUST_MANIFEST")" +ARCHIVE_URL="$(jq -er '.archive.url' <<<"$BUNDLE")" +ARCHIVE_NAME="$(jq -er '.archive.filename' <<<"$BUNDLE")" +ARCHIVE_SHA256="$(jq -er '.archive.sha256' <<<"$BUNDLE")" +ARCHIVE_SIZE="$(jq -er '.archive.size' <<<"$BUNDLE")" +MODEL_SHA256="$(jq -er '.files[] | select(.name == "model_quantized.onnx") | .sha256' <<<"$BUNDLE")" + +mkdir -p "$CACHE_DIR" "$REPORT_DIR" +ARCHIVE_PATH="${CACHE_DIR}/${ARCHIVE_NAME}" +if [[ ! -f "$ARCHIVE_PATH" ]] || + [[ "$(stat -c '%s' "$ARCHIVE_PATH")" != "$ARCHIVE_SIZE" ]] || + [[ "$(sha256sum "$ARCHIVE_PATH" | awk '{print $1}')" != "$ARCHIVE_SHA256" ]]; then + DOWNLOAD_PATH="${ARCHIVE_PATH}.download" + curl --fail --silent --show-error --location --proto '=https' --tlsv1.2 --retry 3 \ + "$ARCHIVE_URL" -o "$DOWNLOAD_PATH" + [[ "$(stat -c '%s' "$DOWNLOAD_PATH")" == "$ARCHIVE_SIZE" ]] || { echo "G0 bundle size mismatch" >&2; exit 1; } + [[ "$(sha256sum "$DOWNLOAD_PATH" | awk '{print $1}')" == "$ARCHIVE_SHA256" ]] || { echo "G0 bundle hash mismatch" >&2; exit 1; } + mv -f "$DOWNLOAD_PATH" "$ARCHIVE_PATH" +fi + +STAGING="$(mktemp -d "${TMPDIR:-/tmp}/hs-cli-pii-g0-model.XXXXXX")" +trap 'rm -rf "$STAGING"' EXIT +tar -xzf "$ARCHIVE_PATH" -C "$STAGING" + +EXPECTED_NAMES="$(jq -r '.files[].name' <<<"$BUNDLE" | LC_ALL=C sort)" +ACTUAL_NAMES="$(find "$STAGING" -mindepth 1 -maxdepth 1 -type f -printf '%f\n' | LC_ALL=C sort)" +[[ "$ACTUAL_NAMES" == "$EXPECTED_NAMES" ]] || { echo "G0 bundle contains unexpected or missing files" >&2; exit 1; } +while IFS= read -r file; do + NAME="$(jq -er '.name' <<<"$file")" + EXPECTED_HASH="$(jq -er '.sha256' <<<"$file")" + EXPECTED_SIZE="$(jq -er '.size' <<<"$file")" + [[ "$(stat -c '%s' "${STAGING}/${NAME}")" == "$EXPECTED_SIZE" ]] || { echo "G0 file size mismatch: $NAME" >&2; exit 1; } + [[ "$(sha256sum "${STAGING}/${NAME}" | awk '{print $1}')" == "$EXPECTED_HASH" ]] || { echo "G0 file hash mismatch: $NAME" >&2; exit 1; } +done < <(jq -c '.files[]' <<<"$BUNDLE") + +docker build --file "${ROOT_DIR}/build/privacy-filter/Dockerfile.g0" --tag "$IMAGE_TAG" "$ROOT_DIR" +IMAGE_ID="$(docker image inspect "$IMAGE_TAG" --format '{{.Id}}')" + +AUTHORITY="${HS_PII_G0_EVIDENCE_AUTHORITY:-local-sanity}" +AUTHORITATIVE="${HS_PII_G0_AUTHORITATIVE:-false}" +if [[ "$AUTHORITATIVE" == "true" ]] && + { [[ "$AUTHORITY" != "docker-ci" ]] || [[ "${GITHUB_ACTIONS:-false}" != "true" ]] || [[ -z "${RUNNER_NAME:-}" ]]; }; then + echo "authoritative G0 evidence is restricted to identified GitHub Actions Docker CI runners" >&2 + exit 1 +fi +if [[ "$AUTHORITY" == "local-sanity" ]]; then + AUTHORITATIVE="false" +fi + +GIT_COMMIT="${GITHUB_SHA:-$(git -C "$ROOT_DIR" rev-parse HEAD)}" +REPORT_DIR="$(cd "$REPORT_DIR" && pwd)" +REPORT_PATH="${REPORT_DIR}/distilbert-baseline.json" +if [[ "$AUTHORITY" == "local-sanity" ]] && + [[ "$REPORT_PATH" == "${ROOT_DIR}/internal/pii/testdata/privacy-filter/v1/performance/"* ]]; then + echo "local-sanity evidence cannot write the checked-in performance baseline area" >&2 + exit 1 +fi + +docker run --rm \ + --network none \ + --read-only \ + --cap-drop ALL \ + --security-opt no-new-privileges \ + --pids-limit 512 \ + --tmpfs /tmp:rw,nosuid,nodev,size=2g \ + --mount "type=bind,src=${ROOT_DIR},dst=/workspace,readonly" \ + --mount "type=bind,src=${STAGING},dst=/models/distilbert,readonly" \ + --mount "type=bind,src=${REPORT_DIR},dst=/reports" \ + -e GITHUB_ACTIONS="${GITHUB_ACTIONS:-false}" \ + -e RUNNER_NAME="${RUNNER_NAME:-local-sanity}" \ + -e HS_PII_G0_MODEL_DIR=/models/distilbert \ + -e HS_PII_G0_REPORT=/reports/distilbert-baseline.json \ + -e HS_PII_G0_GIT_COMMIT="$GIT_COMMIT" \ + -e HS_PII_G0_MODEL_REVISION="$MODEL_REVISION" \ + -e HS_PII_G0_ARTIFACT_SHA256="$MODEL_SHA256" \ + -e HS_PII_G0_CONTAINER_IMAGE="$IMAGE_ID" \ + -e HS_PII_G0_HARDWARE_PROFILE="${HS_PII_G0_HARDWARE_PROFILE:-docker-functional}" \ + -e HS_PII_G0_EVIDENCE_AUTHORITY="$AUTHORITY" \ + -e HS_PII_G0_AUTHORITATIVE="$AUTHORITATIVE" \ + "$IMAGE_TAG" ./internal/pii/ner -run '^TestDistilBERTTypedCorpusBaseline$' -count=1 -v -timeout=15m + +echo "G0 DistilBERT baseline written to ${REPORT_PATH}" From 1fb9c626bf8a4404f355bd8e7e58858f19a54cc2 Mon Sep 17 00:00:00 2001 From: Ross Morsali Date: Fri, 17 Jul 2026 17:00:16 +0200 Subject: [PATCH 22/34] fix: enforce authoritative Privacy Filter G0 gates --- .../workflows/privacy-filter-evaluation.yml | 11 ++++++++ internal/pii/evaluation/metrics.go | 22 +++++++++++++++ internal/pii/evaluation/metrics_test.go | 25 +++++++++++++++++ internal/pii/ner/g0_baseline_test.go | 28 +++++++++++++++++++ 4 files changed, 86 insertions(+) diff --git a/.github/workflows/privacy-filter-evaluation.yml b/.github/workflows/privacy-filter-evaluation.yml index 072ff4c..eb80b96 100644 --- a/.github/workflows/privacy-filter-evaluation.yml +++ b/.github/workflows/privacy-filter-evaluation.yml @@ -60,7 +60,18 @@ jobs: HS_PII_G0_HARDWARE_PROFILE: docker-ci-functional run: ./scripts/privacy-filter-g0-baseline.sh + - name: Require authoritative G0 pass + if: always() + run: >- + jq -e ' + .authoritative == true and + .evidence_authority == "docker-ci" and + ([.gates[] | select(.gate == "G0")] | length) == 1 and + any(.gates[]; .gate == "G0" and .state == "pass") + ' "${{ runner.temp }}/privacy-filter-g0-report/distilbert-baseline.json" + - name: Upload immutable synthetic baseline report + if: always() uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 with: name: distilbert-g0-baseline-${{ github.sha }} diff --git a/internal/pii/evaluation/metrics.go b/internal/pii/evaluation/metrics.go index 04fde58..16c676b 100644 --- a/internal/pii/evaluation/metrics.go +++ b/internal/pii/evaluation/metrics.go @@ -579,3 +579,25 @@ func WriteReport(path string, report *Report) error { } return nil } + +// RequireGatePass rejects missing, duplicate, not-run, and failed gate results. +// Authoritative commands call this after writing their report so failed evidence +// remains inspectable without allowing the command to exit successfully. +func RequireGatePass(report *Report, gate string) error { + if report == nil { + return fmt.Errorf("require evaluation gate %s: report is nil", gate) + } + var matches []GateResult + for _, result := range report.Gates { + if result.Gate == gate { + matches = append(matches, result) + } + } + if len(matches) != 1 { + return fmt.Errorf("require evaluation gate %s: found %d results, want exactly one", gate, len(matches)) + } + if matches[0].State != GatePass { + return fmt.Errorf("require evaluation gate %s: state is %s, want %s", gate, matches[0].State, GatePass) + } + return nil +} diff --git a/internal/pii/evaluation/metrics_test.go b/internal/pii/evaluation/metrics_test.go index 1f1cba8..cf67fb7 100644 --- a/internal/pii/evaluation/metrics_test.go +++ b/internal/pii/evaluation/metrics_test.go @@ -102,6 +102,31 @@ func TestGateEvidenceRejectsLocalSanityAsAuthoritative(t *testing.T) { } } +func TestRequireGatePassRejectsFailedIncompleteAndDuplicateEvidence(t *testing.T) { + for _, test := range []struct { + name string + report *Report + }{ + {name: "nil report"}, + {name: "missing gate", report: &Report{}}, + {name: "not run", report: &Report{Gates: []GateResult{{Gate: "G0", State: GateNotRun}}}}, + {name: "failed", report: &Report{Gates: []GateResult{{Gate: "G0", State: GateFail}}}}, + {name: "duplicate", report: &Report{Gates: []GateResult{ + {Gate: "G0", State: GatePass}, {Gate: "G0", State: GatePass}, + }}}, + } { + t.Run(test.name, func(t *testing.T) { + if err := RequireGatePass(test.report, "G0"); err == nil { + t.Fatal("non-passing gate evidence was accepted") + } + }) + } + passing := &Report{Gates: []GateResult{{Gate: "G0", State: GatePass}}} + if err := RequireGatePass(passing, "G0"); err != nil { + t.Fatalf("passing gate evidence was rejected: %v", err) + } +} + func TestMetricMatchingUsesMaximumOneToOneAssignment(t *testing.T) { targets := []Target{ {Kind: SpanSecret, Start: 10, End: 20}, diff --git a/internal/pii/ner/g0_baseline_test.go b/internal/pii/ner/g0_baseline_test.go index 5abbea7..e1b475e 100644 --- a/internal/pii/ner/g0_baseline_test.go +++ b/internal/pii/ner/g0_baseline_test.go @@ -2,7 +2,9 @@ package ner import ( "context" + "errors" "os" + "os/exec" "path/filepath" "runtime" "strconv" @@ -127,9 +129,35 @@ func TestDistilBERTTypedCorpusBaseline(t *testing.T) { if err := evaluation.WriteReport(reportPath, report); err != nil { t.Fatalf("write DistilBERT baseline report: %v", err) } + requireAuthoritativeG0Pass(t, report) t.Logf("wrote synthetic-only DistilBERT G0 baseline: cases=%d exact_f2=%.6f covering_f2=%.6f", report.CasesEvaluated, report.Detector.Exact.F2, report.Detector.Covering.F2) } +func requireAuthoritativeG0Pass(t *testing.T, report *evaluation.Report) { + t.Helper() + if err := evaluation.RequireGatePass(report, "G0"); err != nil { + t.Fatalf("authoritative DistilBERT baseline did not pass G0: %v", err) + } +} + +func TestAuthoritativeG0GateFailureExitsNonZero(t *testing.T) { + const helperEnv = "HS_PII_G0_FAILED_GATE_HELPER" + if os.Getenv(helperEnv) == "1" { + requireAuthoritativeG0Pass(t, &evaluation.Report{Gates: []evaluation.GateResult{{ + Gate: "G0", State: evaluation.GateFail, + }}}) + return + } + + command := exec.Command(os.Args[0], "-test.run=^TestAuthoritativeG0GateFailureExitsNonZero$", "-test.count=1") + command.Env = append(os.Environ(), helperEnv+"=1") + err := command.Run() + var exitError *exec.ExitError + if !errors.As(err, &exitError) || exitError.ExitCode() == 0 { + t.Fatalf("failed authoritative G0 gate did not make the baseline command exit non-zero: %v", err) + } +} + func baselineMetadataFromEnvironment(t *testing.T) evaluation.EvidenceMetadata { t.Helper() authoritative, err := strconv.ParseBool(requiredBaselineEnv(t, "HS_PII_G0_AUTHORITATIVE")) From 7a3d12be67d0b1b4a738e7407c5e52429609d60b Mon Sep 17 00:00:00 2001 From: Ross Morsali Date: Fri, 17 Jul 2026 17:09:52 +0200 Subject: [PATCH 23/34] test: freeze complete Privacy Filter metric contract --- internal/pii/evaluation/corpus.go | 14 + internal/pii/evaluation/corpus_test.go | 12 + .../pii/evaluation/docker_contract_test.go | 2 +- internal/pii/evaluation/json_schema.go | 293 +++++++++++ internal/pii/evaluation/metrics.go | 480 +++++++++++++++--- internal/pii/evaluation/metrics_test.go | 97 +++- internal/pii/ner/g0_baseline_test.go | 14 + .../privacy-filter/v1/report-schema.json | 174 +++++++ scripts/privacy-filter-g0-baseline.sh | 4 + 9 files changed, 1004 insertions(+), 86 deletions(-) create mode 100644 internal/pii/evaluation/json_schema.go create mode 100644 internal/pii/testdata/privacy-filter/v1/report-schema.json diff --git a/internal/pii/evaluation/corpus.go b/internal/pii/evaluation/corpus.go index 0e1d350..e6ed383 100644 --- a/internal/pii/evaluation/corpus.go +++ b/internal/pii/evaluation/corpus.go @@ -237,6 +237,17 @@ func LoadCorpusDir(dir string) (*Corpus, error) { cases := make([]Case, 0) seenIDs := make(map[string]string) hasher := sha256.New() + schemaRaw, err := os.ReadFile(filepath.Join(dir, "schema.json")) + if err != nil { + return nil, fmt.Errorf("read privacy corpus schema: %w", err) + } + if _, err := decodeJSONValue(schemaRaw); err != nil { + return nil, fmt.Errorf("decode privacy corpus schema: %w", err) + } + hasher.Write([]byte("schema.json")) + hasher.Write([]byte{0}) + hasher.Write(schemaRaw) + hasher.Write([]byte{0}) for _, partition := range RequiredPartitions { name := partition + ".json" @@ -245,6 +256,9 @@ func LoadCorpusDir(dir string) (*Corpus, error) { if err != nil { return nil, fmt.Errorf("read privacy corpus partition %q: %w", partition, err) } + if err := ValidateJSONDocument(schemaRaw, raw); err != nil { + return nil, fmt.Errorf("validate privacy corpus partition %q against schema: %w", partition, err) + } var document CorpusDocument if err := decodeStrict(raw, &document); err != nil { return nil, fmt.Errorf("decode privacy corpus partition %q: %w", partition, err) diff --git a/internal/pii/evaluation/corpus_test.go b/internal/pii/evaluation/corpus_test.go index 5450dab..93786cc 100644 --- a/internal/pii/evaluation/corpus_test.go +++ b/internal/pii/evaluation/corpus_test.go @@ -50,6 +50,15 @@ func TestPrivacyCorpusSchemaIsStrictAndSelfConsistent(t *testing.T) { t.Fatalf("schema definition %q must reject unknown fields", name) } } + for _, partition := range RequiredPartitions { + documentRaw, readErr := os.ReadFile(filepath.Join(corpusDir(t), partition+".json")) + if readErr != nil { + t.Fatalf("read corpus partition %q for schema validation: %v", partition, readErr) + } + if err := ValidateJSONDocument(schemaRaw, documentRaw); err != nil { + t.Fatalf("execute corpus JSON schema for partition %q: %v", partition, err) + } + } t.Run("unknown fields", func(t *testing.T) { var document CorpusDocument @@ -84,6 +93,9 @@ func TestPrivacyCorpusSchemaIsStrictAndSelfConsistent(t *testing.T) { }) t.Run("duplicate case IDs", func(t *testing.T) { tempDir := t.TempDir() + if err := os.WriteFile(filepath.Join(tempDir, "schema.json"), schemaRaw, 0o600); err != nil { + t.Fatalf("write schema copy: %v", err) + } for _, partition := range RequiredPartitions { raw, readErr := os.ReadFile(filepath.Join(corpusDir(t), partition+".json")) if readErr != nil { diff --git a/internal/pii/evaluation/docker_contract_test.go b/internal/pii/evaluation/docker_contract_test.go index b92978f..f8a5eff 100644 --- a/internal/pii/evaluation/docker_contract_test.go +++ b/internal/pii/evaluation/docker_contract_test.go @@ -20,7 +20,7 @@ func TestG0DockerBaselineKeepsWeightsReadOnlyAndInferenceOffline(t *testing.T) { script := readContractFile(t, filepath.Join(repoRoot, "scripts", "privacy-filter-g0-baseline.sh")) for _, required := range []string{ "--network none", "dst=/models/distilbert,readonly", "HS_PII_G0_EVIDENCE_AUTHORITY", - "HS_PII_G0_AUTHORITATIVE", "sha256sum", "GITHUB_ACTIONS", "RUNNER_NAME", + "HS_PII_G0_AUTHORITATIVE", "HS_PII_G0_ARTIFACTS_JSON", "sha256sum", "GITHUB_ACTIONS", "RUNNER_NAME", } { if !strings.Contains(script, required) { t.Fatalf("G0 baseline script is missing required control %q", required) diff --git a/internal/pii/evaluation/json_schema.go b/internal/pii/evaluation/json_schema.go new file mode 100644 index 0000000..236dae5 --- /dev/null +++ b/internal/pii/evaluation/json_schema.go @@ -0,0 +1,293 @@ +package evaluation + +import ( + "bytes" + "encoding/json" + "fmt" + "io" + "reflect" + "regexp" + "strconv" + "strings" + "unicode/utf8" +) + +// ValidateJSONDocument executes the deliberately small JSON Schema vocabulary +// used by the checked evaluation schemas. Unsupported keywords fail closed so a +// schema edit cannot silently weaken validation. +func ValidateJSONDocument(schemaRaw, documentRaw []byte) error { + schemaValue, err := decodeJSONValue(schemaRaw) + if err != nil { + return fmt.Errorf("decode JSON schema: %w", err) + } + schema, ok := schemaValue.(map[string]any) + if !ok { + return fmt.Errorf("JSON schema root is not an object") + } + document, err := decodeJSONValue(documentRaw) + if err != nil { + return fmt.Errorf("decode JSON document: %w", err) + } + validator := schemaValidator{root: schema} + if err := validator.validate(schema, document, "$"); err != nil { + return fmt.Errorf("validate JSON document: %w", err) + } + return nil +} + +type schemaValidator struct { + root map[string]any +} + +var supportedSchemaKeywords = stringSet( + "$schema", "$id", "$defs", "$ref", "title", "description", "type", "additionalProperties", + "required", "properties", "const", "enum", "pattern", "minLength", "minimum", "minItems", "items", "uniqueItems", +) + +func (v schemaValidator) validate(schema map[string]any, value any, path string) error { + for keyword := range schema { + if !supportedSchemaKeywords[keyword] { + return fmt.Errorf("%s: unsupported JSON Schema keyword %q", path, keyword) + } + } + if reference, ok := schema["$ref"].(string); ok { + resolved, err := v.resolve(reference) + if err != nil { + return fmt.Errorf("%s: %w", path, err) + } + return v.validate(resolved, value, path) + } + if expected, ok := schema["type"].(string); ok && !jsonTypeMatches(expected, value) { + return fmt.Errorf("%s: got %s, want %s", path, jsonType(value), expected) + } + if constant, exists := schema["const"]; exists && !reflect.DeepEqual(constant, value) { + return fmt.Errorf("%s: value differs from schema constant", path) + } + if choices, ok := schema["enum"].([]any); ok { + matched := false + for _, choice := range choices { + if reflect.DeepEqual(choice, value) { + matched = true + break + } + } + if !matched { + return fmt.Errorf("%s: value is outside the schema enum", path) + } + } + + switch typed := value.(type) { + case map[string]any: + if err := v.validateObject(schema, typed, path); err != nil { + return err + } + case []any: + if err := v.validateArray(schema, typed, path); err != nil { + return err + } + case string: + if err := validateSchemaString(schema, typed, path); err != nil { + return err + } + case json.Number: + if err := validateSchemaNumber(schema, typed, path); err != nil { + return err + } + } + return nil +} + +func (v schemaValidator) validateObject(schema map[string]any, value map[string]any, path string) error { + properties, _ := schema["properties"].(map[string]any) + if additional, exists := schema["additionalProperties"]; exists && additional == false { + for name := range value { + if _, known := properties[name]; !known { + return fmt.Errorf("%s: unknown field %q", path, name) + } + } + } + if required, ok := schema["required"].([]any); ok { + for _, item := range required { + name, ok := item.(string) + if !ok { + return fmt.Errorf("%s: schema required entry is not a string", path) + } + if _, exists := value[name]; !exists { + return fmt.Errorf("%s: missing required field %q", path, name) + } + } + } + for name, childValue := range value { + rawChildSchema, exists := properties[name] + if !exists { + continue + } + childSchema, ok := rawChildSchema.(map[string]any) + if !ok { + return fmt.Errorf("%s: property schema %q is not an object", path, name) + } + if err := v.validate(childSchema, childValue, path+"."+name); err != nil { + return err + } + } + return nil +} + +func (v schemaValidator) validateArray(schema map[string]any, value []any, path string) error { + if minimum, exists := schemaInteger(schema["minItems"]); exists && len(value) < minimum { + return fmt.Errorf("%s: has %d items, minimum is %d", path, len(value), minimum) + } + if unique, _ := schema["uniqueItems"].(bool); unique { + seen := make(map[string]struct{}, len(value)) + for _, item := range value { + encoded, err := json.Marshal(item) + if err != nil { + return fmt.Errorf("%s: encode unique item: %w", path, err) + } + key := string(encoded) + if _, exists := seen[key]; exists { + return fmt.Errorf("%s: contains duplicate array item", path) + } + seen[key] = struct{}{} + } + } + if rawItems, exists := schema["items"]; exists { + items, ok := rawItems.(map[string]any) + if !ok { + return fmt.Errorf("%s: items schema is not an object", path) + } + for index, item := range value { + if err := v.validate(items, item, fmt.Sprintf("%s[%d]", path, index)); err != nil { + return err + } + } + } + return nil +} + +func validateSchemaString(schema map[string]any, value, path string) error { + if minimum, exists := schemaInteger(schema["minLength"]); exists && utf8.RuneCountInString(value) < minimum { + return fmt.Errorf("%s: string is shorter than %d Unicode code points", path, minimum) + } + if pattern, ok := schema["pattern"].(string); ok { + compiled, err := regexp.Compile(pattern) + if err != nil { + return fmt.Errorf("%s: schema has invalid pattern: %w", path, err) + } + if !compiled.MatchString(value) { + return fmt.Errorf("%s: string does not match schema pattern", path) + } + } + return nil +} + +func validateSchemaNumber(schema map[string]any, value json.Number, path string) error { + if expected, _ := schema["type"].(string); expected == "integer" { + if _, err := value.Int64(); err != nil { + return fmt.Errorf("%s: number is not an integer", path) + } + } + if minimum, exists := schemaInteger(schema["minimum"]); exists { + integer, err := value.Int64() + if err != nil || integer < int64(minimum) { + return fmt.Errorf("%s: number is below minimum %d", path, minimum) + } + } + return nil +} + +func (v schemaValidator) resolve(reference string) (map[string]any, error) { + const prefix = "#/$defs/" + if !strings.HasPrefix(reference, prefix) || strings.Contains(strings.TrimPrefix(reference, prefix), "/") { + return nil, fmt.Errorf("unsupported schema reference %q", reference) + } + definitions, ok := v.root["$defs"].(map[string]any) + if !ok { + return nil, fmt.Errorf("schema has no $defs object") + } + name := strings.ReplaceAll(strings.ReplaceAll(strings.TrimPrefix(reference, prefix), "~1", "/"), "~0", "~") + resolved, ok := definitions[name].(map[string]any) + if !ok { + return nil, fmt.Errorf("schema reference %q does not resolve to an object", reference) + } + return resolved, nil +} + +func decodeJSONValue(raw []byte) (any, error) { + if !utf8.Valid(raw) { + return nil, fmt.Errorf("document is not valid UTF-8") + } + decoder := json.NewDecoder(bytes.NewReader(raw)) + decoder.UseNumber() + var value any + if err := decoder.Decode(&value); err != nil { + return nil, err + } + var trailing any + if err := decoder.Decode(&trailing); err != io.EOF { + if err == nil { + return nil, fmt.Errorf("document contains multiple JSON values") + } + return nil, err + } + return value, nil +} + +func jsonTypeMatches(expected string, value any) bool { + switch expected { + case "object": + _, ok := value.(map[string]any) + return ok + case "array": + _, ok := value.([]any) + return ok + case "string": + _, ok := value.(string) + return ok + case "integer": + number, ok := value.(json.Number) + if !ok { + return false + } + _, err := number.Int64() + return err == nil + case "number": + _, ok := value.(json.Number) + return ok + case "boolean": + _, ok := value.(bool) + return ok + case "null": + return value == nil + default: + return false + } +} + +func jsonType(value any) string { + switch value.(type) { + case map[string]any: + return "object" + case []any: + return "array" + case string: + return "string" + case json.Number: + return "number" + case bool: + return "boolean" + case nil: + return "null" + default: + return fmt.Sprintf("%T", value) + } +} + +func schemaInteger(value any) (int, bool) { + number, ok := value.(json.Number) + if !ok { + return 0, false + } + parsed, err := strconv.Atoi(string(number)) + return parsed, err == nil +} diff --git a/internal/pii/evaluation/metrics.go b/internal/pii/evaluation/metrics.go index 16c676b..1247930 100644 --- a/internal/pii/evaluation/metrics.go +++ b/internal/pii/evaluation/metrics.go @@ -1,6 +1,7 @@ package evaluation import ( + "crypto/sha256" "encoding/hex" "encoding/json" "fmt" @@ -10,7 +11,7 @@ import ( "strings" ) -const ReportSchemaVersion = 1 +const ReportSchemaVersion = 2 type EvidenceAuthority string @@ -20,22 +21,30 @@ const ( ) type EvidenceMetadata struct { - GitCommit string - Backend string - ModelRevision string - Variant string - ArtifactSHA256 string - RuntimeVersion string - ContainerImage string - Platform string - HardwareProfile string - RunnerName string - CorpusSHA256 string - PolicySHA256 string - BudgetSHA256 string - IdentitySHA256 string - EvidenceAuthority EvidenceAuthority - Authoritative bool + GitCommit string + Backend string + ModelRevision string + Variant string + ArtifactSHA256 string + RuntimeVersion string + ContainerImage string + Platform string + HardwareProfile string + RunnerName string + CorpusSHA256 string + PolicySHA256 string + BudgetSHA256 string + IdentitySHA256 string + ReportSchemaSHA256 string + Artifacts []ArtifactIdentity + EvidenceAuthority EvidenceAuthority + Authoritative bool +} + +type ArtifactIdentity struct { + Name string `json:"name"` + SHA256 string `json:"sha256"` + SizeBytes int64 `json:"size_bytes"` } type PredictedSpan struct { @@ -59,44 +68,52 @@ const ( ) type Report struct { - Schema int `json:"schema"` - GitCommit string `json:"git_commit"` - CorpusSHA256 string `json:"corpus_sha256"` - PolicySHA256 string `json:"policy_sha256"` - BudgetSHA256 string `json:"budget_sha256"` - IdentitySHA256 string `json:"identity_sha256"` - Backend string `json:"backend"` - ModelRevision string `json:"model_revision"` - Variant string `json:"variant"` - ArtifactSHA256 string `json:"artifact_sha256"` - RuntimeVersion string `json:"runtime_version"` - ContainerImage string `json:"container_image"` - Platform string `json:"platform"` - HardwareProfile string `json:"hardware_profile"` - RunnerName string `json:"runner_name"` - EvidenceAuthority EvidenceAuthority `json:"evidence_authority"` - Authoritative bool `json:"authoritative"` - CasesEvaluated int `json:"cases_evaluated"` - Detector DetectorMetrics `json:"detector"` - FinalOutput []OutputMetrics `json:"final_output"` - CaseResults []CaseResult `json:"case_results"` - Gates []GateResult `json:"gates"` + Schema int `json:"schema"` + GitCommit string `json:"git_commit"` + CorpusSHA256 string `json:"corpus_sha256"` + PolicySHA256 string `json:"policy_sha256"` + BudgetSHA256 string `json:"budget_sha256"` + IdentitySHA256 string `json:"identity_sha256"` + ReportSchemaSHA256 string `json:"report_schema_sha256"` + Backend string `json:"backend"` + ModelRevision string `json:"model_revision"` + Variant string `json:"variant"` + ArtifactSHA256 string `json:"artifact_sha256"` + RuntimeVersion string `json:"runtime_version"` + ContainerImage string `json:"container_image"` + Platform string `json:"platform"` + HardwareProfile string `json:"hardware_profile"` + RunnerName string `json:"runner_name"` + EvidenceAuthority EvidenceAuthority `json:"evidence_authority"` + Authoritative bool `json:"authoritative"` + Artifacts []ArtifactIdentity `json:"artifacts"` + CasesEvaluated int `json:"cases_evaluated"` + Detector DetectorMetrics `json:"detector"` + FinalOutput []OutputMetrics `json:"final_output"` + FinalOutputSlices []OutputMetricSlice `json:"final_output_slices"` + CaseResults []CaseResult `json:"case_results"` + Gates []GateResult `json:"gates"` } type DetectorMetrics struct { Exact MetricSet `json:"exact"` Covering MetricSet `json:"covering"` + RequiredMatch MetricSet `json:"required_match"` SensitivityWeighted WeightedMetric `json:"sensitivity_weighted"` ByKind []MetricSlice `json:"by_kind"` ByRisk []MetricSlice `json:"by_risk"` ByLanguage []MetricSlice `json:"by_language"` ByScript []MetricSlice `json:"by_script"` + ByFormat []MetricSlice `json:"by_format"` + ByBoundary []MetricSlice `json:"by_boundary"` + ByIdentityPolicy []MetricSlice `json:"by_identity_policy"` } type MetricSlice struct { - Name string `json:"name"` - Exact MetricSet `json:"exact"` - Covering MetricSet `json:"covering"` + Name string `json:"name"` + Exact MetricSet `json:"exact"` + Covering MetricSet `json:"covering"` + RequiredMatch MetricSet `json:"required_match"` } type MetricSet struct { @@ -119,10 +136,29 @@ type WeightedMetric struct { } type OutputMetrics struct { - Mode Mode `json:"mode"` - RawValueLeaks int `json:"raw_value_leaks"` - PreservationFailures int `json:"preservation_failures"` - ExactPassThroughFail int `json:"exact_pass_through_failures"` + Mode Mode `json:"mode"` + RequiredAbsent int `json:"required_absent"` + RawValueLeaks int `json:"raw_value_leaks"` + LeakRate float64 `json:"leak_rate"` + RequiredPresent int `json:"required_present"` + PreservationFailures int `json:"preservation_failures"` + PreservationRate float64 `json:"preservation_rate"` + OverRedactionRate float64 `json:"over_redaction_rate"` + ExactPassThroughChecks int `json:"exact_pass_through_checks"` + ExactPassThroughFail int `json:"exact_pass_through_failures"` +} + +type OutputMetricSlice struct { + Mode Mode `json:"mode"` + Dimension string `json:"dimension"` + Name string `json:"name"` + RequiredAbsent int `json:"required_absent"` + RawValueLeaks int `json:"raw_value_leaks"` + LeakRate float64 `json:"leak_rate"` + RequiredPresent int `json:"required_present"` + PreservationFailures int `json:"preservation_failures"` + PreservationRate float64 `json:"preservation_rate"` + OverRedactionRate float64 `json:"over_redaction_rate"` } type CaseResult struct { @@ -130,13 +166,16 @@ type CaseResult struct { ExactMisses int `json:"exact_misses"` CoveringMisses int `json:"covering_misses"` FalsePositives int `json:"false_positives"` + RequiredAbsent int `json:"required_absent"` RawValueLeaks int `json:"raw_value_leaks"` + RequiredPresent int `json:"required_present"` PreservationFailures int `json:"preservation_failures"` } type GateResult struct { - Gate string `json:"gate"` - State GateState `json:"state"` + Gate string `json:"gate"` + State GateState `json:"state"` + Reason string `json:"reason"` } type metricCounts struct { @@ -152,8 +191,15 @@ type weightedCounts struct { } type sliceCounts struct { - exact metricCounts - covering metricCounts + exact metricCounts + covering metricCounts + requiredMatch metricCounts +} + +type outputSliceKey struct { + mode Mode + dimension string + name string } func Evaluate(corpus *Corpus, observations []CaseObservation, metadata EvidenceMetadata) (*Report, error) { @@ -163,6 +209,8 @@ func Evaluate(corpus *Corpus, observations []CaseObservation, metadata EvidenceM if err := validateEvidenceMetadata(metadata); err != nil { return nil, err } + artifacts := append([]ArtifactIdentity(nil), metadata.Artifacts...) + sort.Slice(artifacts, func(i, j int) bool { return artifacts[i].Name < artifacts[j].Name }) byCase := make(map[string]CaseObservation, len(observations)) for _, observation := range observations { if _, exists := byCase[observation.CaseID]; exists { @@ -174,17 +222,21 @@ func Evaluate(corpus *Corpus, observations []CaseObservation, metadata EvidenceM return nil, fmt.Errorf("evaluate privacy corpus: got %d observations for %d cases", len(byCase), len(corpus.Cases)) } - exactTotal, coveringTotal := metricCounts{}, metricCounts{} + exactTotal, coveringTotal, requiredMatchTotal := metricCounts{}, metricCounts{}, metricCounts{} weighted := weightedCounts{} byKind := make(map[string]*sliceCounts) byRisk := make(map[string]*sliceCounts) byLanguage := make(map[string]*sliceCounts) byScript := make(map[string]*sliceCounts) + byFormat := make(map[string]*sliceCounts) + byBoundary := make(map[string]*sliceCounts) + byIdentityPolicy := make(map[string]*sliceCounts) outputTotals := map[Mode]*OutputMetrics{ ModeOff: {Mode: ModeOff}, ModeCustomers: {Mode: ModeCustomers}, ModeAll: {Mode: ModeAll}, } + outputSlices := make(map[outputSliceKey]*OutputMetricSlice) caseResults := make([]CaseResult, 0, len(corpus.Cases)) for _, fixture := range corpus.Cases { @@ -204,9 +256,10 @@ func Evaluate(corpus *Corpus, observations []CaseObservation, metadata EvidenceM } exactCounts, _, _ := matchSpans(positiveTargets, observation.Predictions, false) coveringCounts, _, _ := matchSpans(positiveTargets, observation.Predictions, true) - _, policyTargetMatched, policyPredictionMatched := matchPolicySpans(positiveTargets, observation.Predictions) + requiredMatchCounts, policyTargetMatched, policyPredictionMatched := matchPolicySpans(positiveTargets, observation.Predictions) exactTotal.add(exactCounts) coveringTotal.add(coveringCounts) + requiredMatchTotal.add(requiredMatchCounts) weight := riskWeight(fixture.Risk) for targetIndex := range positiveTargets { @@ -222,15 +275,28 @@ func Evaluate(corpus *Corpus, observations []CaseObservation, metadata EvidenceM } } - addSliceCounts(byRisk, string(fixture.Risk), exactCounts, coveringCounts) - addSliceCounts(byLanguage, fixture.Language, exactCounts, coveringCounts) - addSliceCounts(byScript, fixture.Script, exactCounts, coveringCounts) + addSliceCounts(byRisk, string(fixture.Risk), exactCounts, coveringCounts, requiredMatchCounts) + addSliceCounts(byLanguage, fixture.Language, exactCounts, coveringCounts, requiredMatchCounts) + addSliceCounts(byScript, fixture.Script, exactCounts, coveringCounts, requiredMatchCounts) + addSliceCounts(byFormat, fixture.Shape, exactCounts, coveringCounts, requiredMatchCounts) + for _, boundary := range fixtureBoundaries(fixture) { + addSliceCounts(byBoundary, boundary, exactCounts, coveringCounts, requiredMatchCounts) + } for _, kind := range SpanKinds { kindTargets := filterTargets(positiveTargets, kind) kindPredictions := filterPredictions(observation.Predictions, kind) kindExact, _, _ := matchSpans(kindTargets, kindPredictions, false) kindCovering, _, _ := matchSpans(kindTargets, kindPredictions, true) - addSliceCounts(byKind, string(kind), kindExact, kindCovering) + kindRequired, _, _ := matchPolicySpans(kindTargets, kindPredictions) + addSliceCounts(byKind, string(kind), kindExact, kindCovering, kindRequired) + } + for _, identityPolicy := range identityPoliciesForFixture(fixture, positiveTargets) { + policyTargets := filterTargetsByIdentityPolicy(fixture, positiveTargets, identityPolicy) + policyPredictions := predictionsOverlappingTargets(observation.Predictions, policyTargets) + policyExact, _, _ := matchSpans(policyTargets, policyPredictions, false) + policyCovering, _, _ := matchSpans(policyTargets, policyPredictions, true) + policyRequired, _, _ := matchPolicySpans(policyTargets, policyPredictions) + addSliceCounts(byIdentityPolicy, identityPolicy, policyExact, policyCovering, policyRequired) } result := CaseResult{ @@ -246,55 +312,90 @@ func Evaluate(corpus *Corpus, observations []CaseObservation, metadata EvidenceM outputTotals[mode].ExactPassThroughFail++ result.PreservationFailures++ } + if mode == ModeOff { + outputTotals[mode].ExactPassThroughChecks++ + } for _, absent := range expected.RequiredAbsent { + outputTotals[mode].RequiredAbsent++ + result.RequiredAbsent++ if strings.Contains(output, absent) { outputTotals[mode].RawValueLeaks++ result.RawValueLeaks++ } } for _, present := range expected.RequiredPresent { + outputTotals[mode].RequiredPresent++ + result.RequiredPresent++ if !strings.Contains(output, present) { outputTotals[mode].PreservationFailures++ result.PreservationFailures++ } } + for _, target := range fixture.Targets { + observed := strings.Contains(output, target.Value) + for _, slice := range outputDimensions(fixture, target) { + counts := outputSlice(outputSlices, mode, slice.dimension, slice.name) + if target.Actions.For(mode) == ActionRedact { + counts.RequiredAbsent++ + if observed { + counts.RawValueLeaks++ + } + } else { + counts.RequiredPresent++ + if !observed { + counts.PreservationFailures++ + } + } + } + } } caseResults = append(caseResults, result) } sort.Slice(caseResults, func(i, j int) bool { return caseResults[i].CaseID < caseResults[j].CaseID }) - finalOutput := []OutputMetrics{*outputTotals[ModeOff], *outputTotals[ModeCustomers], *outputTotals[ModeAll]} + finalOutput := []OutputMetrics{ + finalizeOutputMetrics(*outputTotals[ModeOff]), + finalizeOutputMetrics(*outputTotals[ModeCustomers]), + finalizeOutputMetrics(*outputTotals[ModeAll]), + } report := &Report{ - Schema: ReportSchemaVersion, - GitCommit: metadata.GitCommit, - CorpusSHA256: metadata.CorpusSHA256, - PolicySHA256: metadata.PolicySHA256, - BudgetSHA256: metadata.BudgetSHA256, - IdentitySHA256: metadata.IdentitySHA256, - Backend: metadata.Backend, - ModelRevision: metadata.ModelRevision, - Variant: metadata.Variant, - ArtifactSHA256: metadata.ArtifactSHA256, - RuntimeVersion: metadata.RuntimeVersion, - ContainerImage: metadata.ContainerImage, - Platform: metadata.Platform, - HardwareProfile: metadata.HardwareProfile, - RunnerName: metadata.RunnerName, - EvidenceAuthority: metadata.EvidenceAuthority, - Authoritative: metadata.Authoritative, - CasesEvaluated: len(corpus.Cases), + Schema: ReportSchemaVersion, + GitCommit: metadata.GitCommit, + CorpusSHA256: metadata.CorpusSHA256, + PolicySHA256: metadata.PolicySHA256, + BudgetSHA256: metadata.BudgetSHA256, + IdentitySHA256: metadata.IdentitySHA256, + ReportSchemaSHA256: metadata.ReportSchemaSHA256, + Backend: metadata.Backend, + ModelRevision: metadata.ModelRevision, + Variant: metadata.Variant, + ArtifactSHA256: metadata.ArtifactSHA256, + RuntimeVersion: metadata.RuntimeVersion, + ContainerImage: metadata.ContainerImage, + Platform: metadata.Platform, + HardwareProfile: metadata.HardwareProfile, + RunnerName: metadata.RunnerName, + EvidenceAuthority: metadata.EvidenceAuthority, + Authoritative: metadata.Authoritative, + Artifacts: artifacts, + CasesEvaluated: len(corpus.Cases), Detector: DetectorMetrics{ Exact: exactTotal.metrics(), Covering: coveringTotal.metrics(), + RequiredMatch: requiredMatchTotal.metrics(), SensitivityWeighted: weighted.metrics(), ByKind: slicesToMetrics(byKind), ByRisk: slicesToMetrics(byRisk), ByLanguage: slicesToMetrics(byLanguage), ByScript: slicesToMetrics(byScript), + ByFormat: slicesToMetrics(byFormat), + ByBoundary: slicesToMetrics(byBoundary), + ByIdentityPolicy: slicesToMetrics(byIdentityPolicy), }, - FinalOutput: finalOutput, - CaseResults: caseResults, - Gates: evaluateGates(metadata, finalOutput), + FinalOutput: finalOutput, + FinalOutputSlices: outputSlicesToMetrics(outputSlices), + CaseResults: caseResults, + Gates: evaluateGates(metadata, finalOutput), } return report, nil } @@ -306,6 +407,7 @@ func validateEvidenceMetadata(metadata EvidenceMetadata) error { "container image": metadata.ContainerImage, "platform": metadata.Platform, "hardware profile": metadata.HardwareProfile, "runner name": metadata.RunnerName, "corpus sha256": metadata.CorpusSHA256, "policy sha256": metadata.PolicySHA256, "budget sha256": metadata.BudgetSHA256, "identity sha256": metadata.IdentitySHA256, + "report schema sha256": metadata.ReportSchemaSHA256, } { if value == "" { return fmt.Errorf("evaluate privacy corpus: evidence metadata is missing %s", name) @@ -320,7 +422,7 @@ func validateEvidenceMetadata(metadata EvidenceMetadata) error { if metadata.Authoritative { for name, value := range map[string]string{ "artifact": metadata.ArtifactSHA256, "corpus": metadata.CorpusSHA256, "policy": metadata.PolicySHA256, - "budget": metadata.BudgetSHA256, "identity": metadata.IdentitySHA256, + "budget": metadata.BudgetSHA256, "identity": metadata.IdentitySHA256, "report schema": metadata.ReportSchemaSHA256, } { if len(value) != sha256HexLength { return fmt.Errorf("evaluate privacy corpus: authoritative %s identity is not SHA-256", name) @@ -340,6 +442,50 @@ func validateEvidenceMetadata(metadata EvidenceMetadata) error { return fmt.Errorf("evaluate privacy corpus: local hardware cannot produce authoritative evidence") } } + if err := validateArtifactIdentities(metadata.Artifacts, metadata.Authoritative); err != nil { + return err + } + return nil +} + +func validateArtifactIdentities(artifacts []ArtifactIdentity, authoritative bool) error { + if len(artifacts) == 0 { + return fmt.Errorf("evaluate privacy corpus: evidence metadata has no component artifact identities") + } + seen := make(map[string]struct{}, len(artifacts)) + for _, artifact := range artifacts { + if artifact.Name == "" || artifact.SHA256 == "" || artifact.SizeBytes <= 0 { + return fmt.Errorf("evaluate privacy corpus: component artifact identity has incomplete metadata") + } + if _, exists := seen[artifact.Name]; exists { + return fmt.Errorf("evaluate privacy corpus: duplicate component artifact %q", artifact.Name) + } + seen[artifact.Name] = struct{}{} + if authoritative { + if len(artifact.SHA256) != sha256HexLength { + return fmt.Errorf("evaluate privacy corpus: authoritative component %q identity is not SHA-256", artifact.Name) + } + if _, err := hex.DecodeString(artifact.SHA256); err != nil { + return fmt.Errorf("evaluate privacy corpus: authoritative component %q identity is not SHA-256", artifact.Name) + } + } + } + if authoritative { + for _, required := range []string{"archive", "config.json", "model_quantized.onnx", "tokenizer.json"} { + if _, exists := seen[required]; !exists { + return fmt.Errorf("evaluate privacy corpus: authoritative evidence is missing component %q", required) + } + } + hasRuntime := false + for name := range seen { + if strings.HasPrefix(name, "libonnxruntime.") { + hasRuntime = true + } + } + if !hasRuntime { + return fmt.Errorf("evaluate privacy corpus: authoritative evidence is missing the runtime library identity") + } + } return nil } @@ -463,6 +609,76 @@ func filterPredictions(predictions []PredictedSpan, kind SpanKind) []PredictedSp return out } +func fixtureBoundaries(fixture Case) []string { + boundaries := make([]string, 0) + for _, tag := range fixture.Tags { + if strings.HasPrefix(tag, "boundary:") { + boundaries = append(boundaries, strings.TrimPrefix(tag, "boundary:")) + } + } + sort.Strings(boundaries) + return boundaries +} + +func identityPolicyName(fixture Case, target Target) string { + if target.Kind != SpanPerson { + return "" + } + if target.IdentityID != "" { + for _, identity := range fixture.KnownIdentities { + if identity.ID != target.IdentityID { + continue + } + if identity.Type == "customer" { + return "known-customer" + } + return "known-staff" + } + } + if target.Actions.Customers == ActionRedact || target.Actions.All == ActionRedact { + return "unknown-third-party" + } + return "public-person" +} + +func identityPoliciesForFixture(fixture Case, targets []Target) []string { + seen := make(map[string]struct{}) + for _, target := range targets { + if name := identityPolicyName(fixture, target); name != "" { + seen[name] = struct{}{} + } + } + names := make([]string, 0, len(seen)) + for name := range seen { + names = append(names, name) + } + sort.Strings(names) + return names +} + +func filterTargetsByIdentityPolicy(fixture Case, targets []Target, wanted string) []Target { + out := make([]Target, 0) + for _, target := range targets { + if identityPolicyName(fixture, target) == wanted { + out = append(out, target) + } + } + return out +} + +func predictionsOverlappingTargets(predictions []PredictedSpan, targets []Target) []PredictedSpan { + out := make([]PredictedSpan, 0) + for _, prediction := range predictions { + for _, target := range targets { + if prediction.Kind == target.Kind && prediction.Start < target.End && target.Start < prediction.End { + out = append(out, prediction) + break + } + } + } + return out +} + func (c *metricCounts) add(other metricCounts) { c.tp += other.tp c.fp += other.fp @@ -488,7 +704,7 @@ func (c weightedCounts) metrics() WeightedMetric { } } -func addSliceCounts(slices map[string]*sliceCounts, name string, exact, covering metricCounts) { +func addSliceCounts(slices map[string]*sliceCounts, name string, exact, covering, requiredMatch metricCounts) { counts := slices[name] if counts == nil { counts = &sliceCounts{} @@ -496,6 +712,7 @@ func addSliceCounts(slices map[string]*sliceCounts, name string, exact, covering } counts.exact.add(exact) counts.covering.add(covering) + counts.requiredMatch.add(requiredMatch) } func slicesToMetrics(values map[string]*sliceCounts) []MetricSlice { @@ -506,11 +723,86 @@ func slicesToMetrics(values map[string]*sliceCounts) []MetricSlice { sort.Strings(names) out := make([]MetricSlice, 0, len(names)) for _, name := range names { - out = append(out, MetricSlice{Name: name, Exact: values[name].exact.metrics(), Covering: values[name].covering.metrics()}) + out = append(out, MetricSlice{ + Name: name, Exact: values[name].exact.metrics(), Covering: values[name].covering.metrics(), + RequiredMatch: values[name].requiredMatch.metrics(), + }) + } + return out +} + +type metricDimension struct { + dimension string + name string +} + +func outputDimensions(fixture Case, target Target) []metricDimension { + dimensions := []metricDimension{ + {dimension: "kind", name: string(target.Kind)}, + {dimension: "risk", name: string(fixture.Risk)}, + {dimension: "language", name: fixture.Language}, + {dimension: "script", name: fixture.Script}, + {dimension: "format", name: fixture.Shape}, + {dimension: "match_policy", name: string(target.Match)}, + } + if identityPolicy := identityPolicyName(fixture, target); identityPolicy != "" { + dimensions = append(dimensions, metricDimension{dimension: "identity_policy", name: identityPolicy}) + } + for _, boundary := range fixtureBoundaries(fixture) { + dimensions = append(dimensions, metricDimension{dimension: "boundary", name: boundary}) + } + return dimensions +} + +func outputSlice(slices map[outputSliceKey]*OutputMetricSlice, mode Mode, dimension, name string) *OutputMetricSlice { + key := outputSliceKey{mode: mode, dimension: dimension, name: name} + counts := slices[key] + if counts == nil { + counts = &OutputMetricSlice{Mode: mode, Dimension: dimension, Name: name} + slices[key] = counts + } + return counts +} + +func finalizeOutputMetrics(metrics OutputMetrics) OutputMetrics { + metrics.LeakRate = failureRate(metrics.RawValueLeaks, metrics.RequiredAbsent) + metrics.OverRedactionRate = failureRate(metrics.PreservationFailures, metrics.RequiredPresent) + metrics.PreservationRate = ratio(metrics.RequiredPresent-metrics.PreservationFailures, metrics.RequiredPresent) + return metrics +} + +func outputSlicesToMetrics(values map[outputSliceKey]*OutputMetricSlice) []OutputMetricSlice { + keys := make([]outputSliceKey, 0, len(values)) + for key := range values { + keys = append(keys, key) + } + sort.Slice(keys, func(i, j int) bool { + if keys[i].mode != keys[j].mode { + return keys[i].mode < keys[j].mode + } + if keys[i].dimension != keys[j].dimension { + return keys[i].dimension < keys[j].dimension + } + return keys[i].name < keys[j].name + }) + out := make([]OutputMetricSlice, 0, len(keys)) + for _, key := range keys { + metrics := *values[key] + metrics.LeakRate = failureRate(metrics.RawValueLeaks, metrics.RequiredAbsent) + metrics.OverRedactionRate = failureRate(metrics.PreservationFailures, metrics.RequiredPresent) + metrics.PreservationRate = ratio(metrics.RequiredPresent-metrics.PreservationFailures, metrics.RequiredPresent) + out = append(out, metrics) } return out } +func failureRate(failures, opportunities int) float64 { + if opportunities == 0 { + return 0 + } + return ratio(failures, opportunities) +} + func ratio(numerator, denominator int) float64 { if denominator == 0 { return 1 @@ -545,22 +837,28 @@ func evaluateGates(metadata EvidenceMetadata, finalOutput []OutputMetrics) []Gat gates := make([]GateResult, 0, 11) for gate := 0; gate <= 10; gate++ { state := GateNotRun + reason := "phase-not-evaluated" if gate == 0 && metadata.Authoritative && metadata.EvidenceAuthority == AuthorityDockerCI { state = GatePass + reason = "authoritative-policy-freeze-evidence-complete" seenOff := false for _, output := range finalOutput { if output.Mode == ModeOff { seenOff = true if output.RawValueLeaks != 0 || output.PreservationFailures != 0 || output.ExactPassThroughFail != 0 { state = GateFail + reason = "mode-off-contract-regression" } } } if !seenOff { state = GateFail + reason = "mode-off-evidence-missing" } + } else if gate == 0 { + reason = "authoritative-docker-evidence-not-run" } - gates = append(gates, GateResult{Gate: fmt.Sprintf("G%d", gate), State: state}) + gates = append(gates, GateResult{Gate: fmt.Sprintf("G%d", gate), State: state, Reason: reason}) } return gates } @@ -580,6 +878,24 @@ func WriteReport(path string, report *Report) error { return nil } +func ValidateReportAgainstSchema(schemaRaw []byte, report *Report) error { + if report == nil { + return fmt.Errorf("validate evaluation report schema: report is nil") + } + hash := sha256.Sum256(schemaRaw) + if report.ReportSchemaSHA256 != hex.EncodeToString(hash[:]) { + return fmt.Errorf("validate evaluation report schema: report schema identity does not match checked schema") + } + raw, err := json.Marshal(report) + if err != nil { + return fmt.Errorf("encode evaluation report for schema validation: %w", err) + } + if err := ValidateJSONDocument(schemaRaw, raw); err != nil { + return fmt.Errorf("validate evaluation report schema: %w", err) + } + return nil +} + // RequireGatePass rejects missing, duplicate, not-run, and failed gate results. // Authoritative commands call this after writing their report so failed evidence // remains inspectable without allowing the command to exit successfully. diff --git a/internal/pii/evaluation/metrics_test.go b/internal/pii/evaluation/metrics_test.go index cf67fb7..bc09fa7 100644 --- a/internal/pii/evaluation/metrics_test.go +++ b/internal/pii/evaluation/metrics_test.go @@ -1,12 +1,22 @@ package evaluation import ( + "crypto/sha256" + "encoding/hex" "encoding/json" + "os" + "path/filepath" "reflect" "strings" "testing" ) +func mustSHA256(t *testing.T, raw []byte) string { + t.Helper() + hash := sha256.Sum256(raw) + return hex.EncodeToString(hash[:]) +} + func TestDeterministicMetricAndGateEvaluator(t *testing.T) { redactText := "private-value" preserveText := "public-value" @@ -66,6 +76,14 @@ func TestDeterministicMetricAndGateEvaluator(t *testing.T) { if strings.Contains(string(firstJSON), redactText) { t.Fatalf("metric report serialized a raw protected value") } + schemaRaw, err := os.ReadFile(filepath.Join(corpusDir(t), "report-schema.json")) + if err != nil { + t.Fatal(err) + } + report.ReportSchemaSHA256 = mustSHA256(t, schemaRaw) + if err := ValidateReportAgainstSchema(schemaRaw, report); err != nil { + t.Fatalf("metric report does not satisfy its frozen schema: %v", err) + } } func TestGateEvidenceRejectsLocalSanityAsAuthoritative(t *testing.T) { @@ -84,6 +102,13 @@ func TestGateEvidenceRejectsLocalSanityAsAuthoritative(t *testing.T) { metadata.ContainerImage = "sha256:" + hash metadata.HardwareProfile = "docker-functional" metadata.RunnerName = "privacy-filter-ci-01" + metadata.Artifacts = []ArtifactIdentity{ + {Name: "archive", SHA256: hash, SizeBytes: 10}, + {Name: "config.json", SHA256: hash, SizeBytes: 10}, + {Name: "model_quantized.onnx", SHA256: hash, SizeBytes: 10}, + {Name: "tokenizer.json", SHA256: hash, SizeBytes: 10}, + {Name: "libonnxruntime.so", SHA256: hash, SizeBytes: 10}, + } if err := validateEvidenceMetadata(metadata); err != nil { t.Fatalf("valid Docker CI evidence was rejected: %v", err) } @@ -152,12 +177,78 @@ func TestMetricMatchingUsesMaximumOneToOneAssignment(t *testing.T) { } } +func TestMetricReportFreezesRequiredMatchAndEndToEndSlices(t *testing.T) { + text := "Engineer Rowan Vale joined the thread." + value := "Rowan Vale" + start := strings.Index(text, value) + fixture := Case{ + ID: "unknown-third-party", Language: "en", Script: "Latin", Shape: "quoted-reply", Risk: RiskHigh, Text: text, + Targets: []Target{{ + ID: "developer", Kind: SpanPerson, Start: start, End: start + len(value), Value: value, Match: MatchCovering, + Actions: ModeActions{Off: ActionPreserve, Customers: ActionRedact, All: ActionRedact}, + }}, + Outputs: ModeOutputs{ + Off: OutputExpectation{RequiredAbsent: []string{}, RequiredPresent: []string{value}}, + Customers: OutputExpectation{RequiredAbsent: []string{value}, RequiredPresent: []string{}}, + All: OutputExpectation{RequiredAbsent: []string{value}, RequiredPresent: []string{}}, + }, + } + observation := CaseObservation{ + CaseID: fixture.ID, + Predictions: []PredictedSpan{{Kind: SpanPerson, Start: start - len("Engineer "), End: start + len(value)}}, + Outputs: map[Mode]string{ModeOff: text, ModeCustomers: "Engineer [PERSON] joined the thread.", ModeAll: "Engineer [PERSON] joined the thread."}, + } + report, err := Evaluate(&Corpus{Cases: []Case{fixture}}, []CaseObservation{observation}, testMetadata()) + if err != nil { + t.Fatal(err) + } + if report.Detector.Exact.FalseNegative != 1 || report.Detector.Covering.TruePositive != 1 || report.Detector.RequiredMatch.TruePositive != 1 { + t.Fatalf("target match policies were not reported independently: %+v", report.Detector) + } + identity := findMetricSlice(t, report.Detector.ByIdentityPolicy, "unknown-third-party") + if identity.RequiredMatch.TruePositive != 1 { + t.Fatalf("unknown-third-party detector slice was not preserved: %+v", identity) + } + format := findMetricSlice(t, report.Detector.ByFormat, "quoted-reply") + if format.Covering.TruePositive != 1 { + t.Fatalf("format detector slice was not preserved: %+v", format) + } + output := findOutputSlice(t, report.FinalOutputSlices, ModeCustomers, "identity_policy", "unknown-third-party") + if output.RequiredAbsent != 1 || output.RawValueLeaks != 0 || output.LeakRate != 0 { + t.Fatalf("unknown-third-party final-output slice is wrong: %+v", output) + } +} + +func findMetricSlice(t *testing.T, slices []MetricSlice, name string) MetricSlice { + t.Helper() + for _, slice := range slices { + if slice.Name == name { + return slice + } + } + t.Fatalf("metric slice %q not found", name) + return MetricSlice{} +} + +func findOutputSlice(t *testing.T, slices []OutputMetricSlice, mode Mode, dimension, name string) OutputMetricSlice { + t.Helper() + for _, slice := range slices { + if slice.Mode == mode && slice.Dimension == dimension && slice.Name == name { + return slice + } + } + t.Fatalf("output slice %s/%s/%s not found", mode, dimension, name) + return OutputMetricSlice{} +} + func testMetadata() EvidenceMetadata { + hash := strings.Repeat("a", 64) return EvidenceMetadata{ GitCommit: "fixture-commit", Backend: "distilbert", ModelRevision: "fixture-model", - Variant: "int8", ArtifactSHA256: "fixture-artifact", RuntimeVersion: "fixture-runtime", - ContainerImage: "fixture-image", Platform: "linux-amd64", HardwareProfile: "local", RunnerName: "fixture-runner", CorpusSHA256: "fixture-corpus", - PolicySHA256: "fixture-policy", BudgetSHA256: "fixture-budget", IdentitySHA256: "fixture-identity", + Variant: "int8", ArtifactSHA256: hash, RuntimeVersion: "fixture-runtime", + ContainerImage: "fixture-image", Platform: "linux-amd64", HardwareProfile: "local", RunnerName: "fixture-runner", CorpusSHA256: hash, + PolicySHA256: hash, BudgetSHA256: hash, IdentitySHA256: hash, ReportSchemaSHA256: hash, + Artifacts: []ArtifactIdentity{{Name: "fixture-component", SHA256: hash, SizeBytes: 1}}, EvidenceAuthority: AuthorityLocal, Authoritative: false, } } diff --git a/internal/pii/ner/g0_baseline_test.go b/internal/pii/ner/g0_baseline_test.go index e1b475e..1a4bde1 100644 --- a/internal/pii/ner/g0_baseline_test.go +++ b/internal/pii/ner/g0_baseline_test.go @@ -2,6 +2,7 @@ package ner import ( "context" + "encoding/json" "errors" "os" "os/exec" @@ -70,6 +71,7 @@ func TestDistilBERTTypedCorpusBaseline(t *testing.T) { filepath.Join(fixtureDir, "performance", "workloads.json"), ) metadata.IdentitySHA256 = mustHashFile(t, filepath.Join(fixtureDir, "identity-compatibility.json")) + metadata.ReportSchemaSHA256 = mustHashFile(t, filepath.Join(fixtureDir, "report-schema.json")) secret, err := pii.NewSecretString("phase0-baseline-synthetic-pseudonym-key") if err != nil { @@ -126,6 +128,13 @@ func TestDistilBERTTypedCorpusBaseline(t *testing.T) { if err != nil { t.Fatalf("evaluate DistilBERT baseline: %v", err) } + reportSchema, err := os.ReadFile(filepath.Join(fixtureDir, "report-schema.json")) + if err != nil { + t.Fatalf("read frozen report schema: %v", err) + } + if err := evaluation.ValidateReportAgainstSchema(reportSchema, report); err != nil { + t.Fatalf("validate DistilBERT baseline report schema: %v", err) + } if err := evaluation.WriteReport(reportPath, report); err != nil { t.Fatalf("write DistilBERT baseline report: %v", err) } @@ -168,6 +177,10 @@ func baselineMetadataFromEnvironment(t *testing.T) evaluation.EvidenceMetadata { if authoritative && (authority != evaluation.AuthorityDockerCI || os.Getenv("GITHUB_ACTIONS") != "true" || os.Getenv("RUNNER_NAME") == "") { t.Fatal("authoritative G0 evidence requires Docker CI running in GitHub Actions on an identified runner") } + var artifacts []evaluation.ArtifactIdentity + if err := json.Unmarshal([]byte(requiredBaselineEnv(t, "HS_PII_G0_ARTIFACTS_JSON")), &artifacts); err != nil { + t.Fatalf("HS_PII_G0_ARTIFACTS_JSON: %v", err) + } return evaluation.EvidenceMetadata{ GitCommit: requiredBaselineEnv(t, "HS_PII_G0_GIT_COMMIT"), Backend: "distilbert", @@ -179,6 +192,7 @@ func baselineMetadataFromEnvironment(t *testing.T) evaluation.EvidenceMetadata { Platform: runtime.GOOS + "-" + runtime.GOARCH, HardwareProfile: requiredBaselineEnv(t, "HS_PII_G0_HARDWARE_PROFILE"), RunnerName: requiredBaselineEnv(t, "RUNNER_NAME"), + Artifacts: artifacts, EvidenceAuthority: authority, Authoritative: authoritative, } diff --git a/internal/pii/testdata/privacy-filter/v1/report-schema.json b/internal/pii/testdata/privacy-filter/v1/report-schema.json new file mode 100644 index 0000000..a9d9396 --- /dev/null +++ b/internal/pii/testdata/privacy-filter/v1/report-schema.json @@ -0,0 +1,174 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://operator-kit.example/schemas/privacy-filter-report-v2.json", + "title": "hs-cli privacy evaluation report v2", + "type": "object", + "additionalProperties": false, + "required": [ + "schema", "git_commit", "corpus_sha256", "policy_sha256", "budget_sha256", + "identity_sha256", "report_schema_sha256", "backend", "model_revision", "variant", + "artifact_sha256", "runtime_version", "container_image", "platform", "hardware_profile", + "runner_name", "evidence_authority", "authoritative", "artifacts", "cases_evaluated", + "detector", "final_output", "final_output_slices", "case_results", "gates" + ], + "properties": { + "schema": {"const": 2}, + "git_commit": {"type": "string", "minLength": 1}, + "corpus_sha256": {"$ref": "#/$defs/sha256"}, + "policy_sha256": {"$ref": "#/$defs/sha256"}, + "budget_sha256": {"$ref": "#/$defs/sha256"}, + "identity_sha256": {"$ref": "#/$defs/sha256"}, + "report_schema_sha256": {"$ref": "#/$defs/sha256"}, + "backend": {"type": "string", "minLength": 1}, + "model_revision": {"type": "string", "minLength": 1}, + "variant": {"type": "string", "minLength": 1}, + "artifact_sha256": {"$ref": "#/$defs/sha256"}, + "runtime_version": {"type": "string", "minLength": 1}, + "container_image": {"type": "string", "minLength": 1}, + "platform": {"type": "string", "minLength": 1}, + "hardware_profile": {"type": "string", "minLength": 1}, + "runner_name": {"type": "string", "minLength": 1}, + "evidence_authority": {"enum": ["docker-ci", "local-sanity"]}, + "authoritative": {"type": "boolean"}, + "artifacts": {"type": "array", "minItems": 1, "items": {"$ref": "#/$defs/artifact"}}, + "cases_evaluated": {"type": "integer", "minimum": 1}, + "detector": {"$ref": "#/$defs/detector"}, + "final_output": {"type": "array", "minItems": 3, "items": {"$ref": "#/$defs/outputMetrics"}}, + "final_output_slices": {"type": "array", "minItems": 1, "items": {"$ref": "#/$defs/outputSlice"}}, + "case_results": {"type": "array", "minItems": 1, "items": {"$ref": "#/$defs/caseResult"}}, + "gates": {"type": "array", "minItems": 11, "items": {"$ref": "#/$defs/gate"}} + }, + "$defs": { + "sha256": {"type": "string", "pattern": "^[a-f0-9]{64}$"}, + "artifact": { + "type": "object", "additionalProperties": false, + "required": ["name", "sha256", "size_bytes"], + "properties": { + "name": {"type": "string", "minLength": 1}, + "sha256": {"$ref": "#/$defs/sha256"}, + "size_bytes": {"type": "integer", "minimum": 1} + } + }, + "metricSet": { + "type": "object", "additionalProperties": false, + "required": ["true_positive", "false_positive", "false_negative", "precision", "recall", "f1", "f2"], + "properties": { + "true_positive": {"type": "integer", "minimum": 0}, + "false_positive": {"type": "integer", "minimum": 0}, + "false_negative": {"type": "integer", "minimum": 0}, + "precision": {"type": "number", "minimum": 0}, + "recall": {"type": "number", "minimum": 0}, + "f1": {"type": "number", "minimum": 0}, + "f2": {"type": "number", "minimum": 0} + } + }, + "weightedMetric": { + "type": "object", "additionalProperties": false, + "required": ["true_positive_weight", "false_positive_weight", "false_negative_weight", "precision", "recall", "f2"], + "properties": { + "true_positive_weight": {"type": "integer", "minimum": 0}, + "false_positive_weight": {"type": "integer", "minimum": 0}, + "false_negative_weight": {"type": "integer", "minimum": 0}, + "precision": {"type": "number", "minimum": 0}, + "recall": {"type": "number", "minimum": 0}, + "f2": {"type": "number", "minimum": 0} + } + }, + "metricSlice": { + "type": "object", "additionalProperties": false, + "required": ["name", "exact", "covering", "required_match"], + "properties": { + "name": {"type": "string", "minLength": 1}, + "exact": {"$ref": "#/$defs/metricSet"}, + "covering": {"$ref": "#/$defs/metricSet"}, + "required_match": {"$ref": "#/$defs/metricSet"} + } + }, + "metricSlices": {"type": "array", "items": {"$ref": "#/$defs/metricSlice"}}, + "detector": { + "type": "object", "additionalProperties": false, + "required": [ + "exact", "covering", "required_match", "sensitivity_weighted", "by_kind", "by_risk", + "by_language", "by_script", "by_format", "by_boundary", "by_identity_policy" + ], + "properties": { + "exact": {"$ref": "#/$defs/metricSet"}, + "covering": {"$ref": "#/$defs/metricSet"}, + "required_match": {"$ref": "#/$defs/metricSet"}, + "sensitivity_weighted": {"$ref": "#/$defs/weightedMetric"}, + "by_kind": {"$ref": "#/$defs/metricSlices"}, + "by_risk": {"$ref": "#/$defs/metricSlices"}, + "by_language": {"$ref": "#/$defs/metricSlices"}, + "by_script": {"$ref": "#/$defs/metricSlices"}, + "by_format": {"$ref": "#/$defs/metricSlices"}, + "by_boundary": {"$ref": "#/$defs/metricSlices"}, + "by_identity_policy": {"$ref": "#/$defs/metricSlices"} + } + }, + "outputMetrics": { + "type": "object", "additionalProperties": false, + "required": [ + "mode", "required_absent", "raw_value_leaks", "leak_rate", "required_present", + "preservation_failures", "preservation_rate", "over_redaction_rate", + "exact_pass_through_checks", "exact_pass_through_failures" + ], + "properties": { + "mode": {"enum": ["off", "customers", "all"]}, + "required_absent": {"type": "integer", "minimum": 0}, + "raw_value_leaks": {"type": "integer", "minimum": 0}, + "leak_rate": {"type": "number", "minimum": 0}, + "required_present": {"type": "integer", "minimum": 0}, + "preservation_failures": {"type": "integer", "minimum": 0}, + "preservation_rate": {"type": "number", "minimum": 0}, + "over_redaction_rate": {"type": "number", "minimum": 0}, + "exact_pass_through_checks": {"type": "integer", "minimum": 0}, + "exact_pass_through_failures": {"type": "integer", "minimum": 0} + } + }, + "outputSlice": { + "type": "object", "additionalProperties": false, + "required": [ + "mode", "dimension", "name", "required_absent", "raw_value_leaks", "leak_rate", + "required_present", "preservation_failures", "preservation_rate", "over_redaction_rate" + ], + "properties": { + "mode": {"enum": ["off", "customers", "all"]}, + "dimension": {"enum": ["kind", "risk", "language", "script", "format", "match_policy", "identity_policy", "boundary"]}, + "name": {"type": "string", "minLength": 1}, + "required_absent": {"type": "integer", "minimum": 0}, + "raw_value_leaks": {"type": "integer", "minimum": 0}, + "leak_rate": {"type": "number", "minimum": 0}, + "required_present": {"type": "integer", "minimum": 0}, + "preservation_failures": {"type": "integer", "minimum": 0}, + "preservation_rate": {"type": "number", "minimum": 0}, + "over_redaction_rate": {"type": "number", "minimum": 0} + } + }, + "caseResult": { + "type": "object", "additionalProperties": false, + "required": [ + "case_id", "exact_misses", "covering_misses", "false_positives", "required_absent", + "raw_value_leaks", "required_present", "preservation_failures" + ], + "properties": { + "case_id": {"type": "string", "minLength": 1}, + "exact_misses": {"type": "integer", "minimum": 0}, + "covering_misses": {"type": "integer", "minimum": 0}, + "false_positives": {"type": "integer", "minimum": 0}, + "required_absent": {"type": "integer", "minimum": 0}, + "raw_value_leaks": {"type": "integer", "minimum": 0}, + "required_present": {"type": "integer", "minimum": 0}, + "preservation_failures": {"type": "integer", "minimum": 0} + } + }, + "gate": { + "type": "object", "additionalProperties": false, + "required": ["gate", "state", "reason"], + "properties": { + "gate": {"type": "string", "pattern": "^G([0-9]|10)$"}, + "state": {"enum": ["not-run", "pass", "fail"]}, + "reason": {"type": "string", "minLength": 1} + } + } + } +} diff --git a/scripts/privacy-filter-g0-baseline.sh b/scripts/privacy-filter-g0-baseline.sh index 45bacbe..fbb4329 100755 --- a/scripts/privacy-filter-g0-baseline.sh +++ b/scripts/privacy-filter-g0-baseline.sh @@ -27,6 +27,9 @@ ARCHIVE_NAME="$(jq -er '.archive.filename' <<<"$BUNDLE")" ARCHIVE_SHA256="$(jq -er '.archive.sha256' <<<"$BUNDLE")" ARCHIVE_SIZE="$(jq -er '.archive.size' <<<"$BUNDLE")" MODEL_SHA256="$(jq -er '.files[] | select(.name == "model_quantized.onnx") | .sha256' <<<"$BUNDLE")" +ARTIFACTS_JSON="$(jq -c '[ + {name: "archive", sha256: .archive.sha256, size_bytes: .archive.size} +] + [.files[] | {name: .name, sha256: .sha256, size_bytes: .size}]' <<<"$BUNDLE")" mkdir -p "$CACHE_DIR" "$REPORT_DIR" ARCHIVE_PATH="${CACHE_DIR}/${ARCHIVE_NAME}" @@ -96,6 +99,7 @@ docker run --rm \ -e HS_PII_G0_GIT_COMMIT="$GIT_COMMIT" \ -e HS_PII_G0_MODEL_REVISION="$MODEL_REVISION" \ -e HS_PII_G0_ARTIFACT_SHA256="$MODEL_SHA256" \ + -e HS_PII_G0_ARTIFACTS_JSON="$ARTIFACTS_JSON" \ -e HS_PII_G0_CONTAINER_IMAGE="$IMAGE_ID" \ -e HS_PII_G0_HARDWARE_PROFILE="${HS_PII_G0_HARDWARE_PROFILE:-docker-functional}" \ -e HS_PII_G0_EVIDENCE_AUTHORITY="$AUTHORITY" \ From 038b20588c396c28967dce038f58187feff2dc34 Mon Sep 17 00:00:00 2001 From: Ross Morsali Date: Fri, 17 Jul 2026 17:19:56 +0200 Subject: [PATCH 24/34] test: add realistic locked Privacy Filter quality corpus --- internal/pii/evaluation/broad.go | 268 +++ internal/pii/evaluation/broad_test.go | 184 ++ internal/pii/evaluation/cmd/corpusgen/main.go | 18 + internal/pii/evaluation/corpus.go | 98 +- internal/pii/evaluation/corpus_generator.go | 613 +++++ internal/pii/evaluation/corpus_test.go | 8 +- internal/pii/evaluation/metrics.go | 7 +- internal/pii/evaluation/metrics_test.go | 2 +- internal/pii/evaluation/synthetic.go | 207 ++ internal/pii/ner/g0_baseline_test.go | 15 +- .../broad/v1/account-identifiers.json | 206 ++ .../privacy-filter/broad/v1/manifest.json | 58 + .../privacy-filter/broad/v1/multilingual.json | 2006 +++++++++++++++++ .../privacy-filter/broad/v1/preservation.json | 106 + .../broad/v1/private-public-dates.json | 206 ++ .../privacy-filter/broad/v1/secrets.json | 230 ++ .../v1/command-output-payloads.json | 1867 ++++++++++++++- .../privacy-filter/v1/preservation.json | 73 +- .../privacy-filter/v1/report-schema.json | 3 +- .../testdata/privacy-filter/v1/schema.json | 13 + .../testdata/privacy-filter/v1/secrets.json | 784 ++++--- 21 files changed, 6607 insertions(+), 365 deletions(-) create mode 100644 internal/pii/evaluation/broad.go create mode 100644 internal/pii/evaluation/broad_test.go create mode 100644 internal/pii/evaluation/cmd/corpusgen/main.go create mode 100644 internal/pii/evaluation/corpus_generator.go create mode 100644 internal/pii/evaluation/synthetic.go create mode 100644 internal/pii/testdata/privacy-filter/broad/v1/account-identifiers.json create mode 100644 internal/pii/testdata/privacy-filter/broad/v1/manifest.json create mode 100644 internal/pii/testdata/privacy-filter/broad/v1/multilingual.json create mode 100644 internal/pii/testdata/privacy-filter/broad/v1/preservation.json create mode 100644 internal/pii/testdata/privacy-filter/broad/v1/private-public-dates.json create mode 100644 internal/pii/testdata/privacy-filter/broad/v1/secrets.json diff --git a/internal/pii/evaluation/broad.go b/internal/pii/evaluation/broad.go new file mode 100644 index 0000000..977fb54 --- /dev/null +++ b/internal/pii/evaluation/broad.go @@ -0,0 +1,268 @@ +package evaluation + +import ( + "crypto/sha256" + "encoding/hex" + "fmt" + "os" + "path/filepath" +) + +const ( + BroadCorpusSchemaVersion = 1 + BroadCorpusVersion = "broad-v1" + BroadCorpusGenerator = "hs-privacy-broad-corpus" + BroadCorpusGeneratorSeed = "broad-v1" +) + +var BroadCorpusPartitions = []string{ + "secrets", + "account-identifiers", + "private-public-dates", + "multilingual", + "preservation", +} + +type BroadCorpusManifest struct { + Schema int `json:"schema"` + CorpusVersion string `json:"corpus_version"` + SchemaFile string `json:"schema_file"` + SchemaSHA256 string `json:"schema_sha256"` + Generator BroadGeneratorIdentity `json:"generator"` + MinimumDenominators BroadMinimumDenominators `json:"minimum_denominators"` + MaximumCaseBasisPoints int `json:"maximum_case_basis_points"` + MinimumSecretFamilyCases int `json:"minimum_secret_family_cases"` + Partitions []BroadPartitionIdentity `json:"partitions"` +} + +type BroadGeneratorIdentity struct { + Name string `json:"name"` + Version int `json:"version"` + Seed string `json:"seed"` +} + +type BroadMinimumDenominators struct { + SecretRedactCases int `json:"secret_redact_cases"` + AccountRedactCases int `json:"account_redact_cases"` + PrivateDateRedactCases int `json:"private_date_redact_cases"` + PreservationCases int `json:"preservation_cases"` + LanguageRedactCases int `json:"language_redact_cases"` + LanguagePreserveCases int `json:"language_preserve_cases"` +} + +type BroadPartitionIdentity struct { + Name string `json:"name"` + File string `json:"file"` + SHA256 string `json:"sha256"` + Cases int `json:"cases"` + Targets int `json:"targets"` +} + +type BroadCorpus struct { + Manifest BroadCorpusManifest + Documents []CorpusDocument + Cases []Case + Fingerprint string + Coverage BroadCoverage +} + +type BroadCoverage struct { + SecretRedactCases int + AccountRedactCases int + PrivateDateRedactCases int + PreservationCases int + LanguageRedactCases map[string]int + LanguagePreserveCases map[string]int +} + +func LoadBroadCorpusDir(dir string) (*BroadCorpus, error) { + manifestRaw, err := os.ReadFile(filepath.Join(dir, "manifest.json")) + if err != nil { + return nil, fmt.Errorf("read broad corpus manifest: %w", err) + } + var manifest BroadCorpusManifest + if err := decodeStrict(manifestRaw, &manifest); err != nil { + return nil, fmt.Errorf("decode broad corpus manifest: %w", err) + } + if err := validateBroadManifest(&manifest); err != nil { + return nil, err + } + schemaPath := filepath.Clean(filepath.Join(dir, manifest.SchemaFile)) + expectedSchemaPath := filepath.Clean(filepath.Join(dir, "..", "..", "v1", "schema.json")) + if schemaPath != expectedSchemaPath { + return nil, fmt.Errorf("broad corpus schema path %q is not the locked smoke schema", manifest.SchemaFile) + } + schemaRaw, err := os.ReadFile(schemaPath) + if err != nil { + return nil, fmt.Errorf("read broad corpus schema: %w", err) + } + if hashBytes(schemaRaw) != manifest.SchemaSHA256 { + return nil, fmt.Errorf("broad corpus schema hash differs from its manifest identity") + } + + hasher := sha256.New() + hasher.Write([]byte("manifest.json")) + hasher.Write([]byte{0}) + hasher.Write(manifestRaw) + hasher.Write([]byte{0}) + hasher.Write([]byte("schema.json")) + hasher.Write([]byte{0}) + hasher.Write(schemaRaw) + hasher.Write([]byte{0}) + + documents := make([]CorpusDocument, 0, len(manifest.Partitions)) + cases := make([]Case, 0) + seenCases := make(map[string]string) + for _, identity := range manifest.Partitions { + raw, readErr := os.ReadFile(filepath.Join(dir, identity.File)) + if readErr != nil { + return nil, fmt.Errorf("read broad corpus partition %q: %w", identity.Name, readErr) + } + if hashBytes(raw) != identity.SHA256 { + return nil, fmt.Errorf("broad corpus partition %q hash differs from its manifest identity", identity.Name) + } + if err := ValidateJSONDocument(schemaRaw, raw); err != nil { + return nil, fmt.Errorf("validate broad corpus partition %q against schema: %w", identity.Name, err) + } + var document CorpusDocument + if err := decodeStrict(raw, &document); err != nil { + return nil, fmt.Errorf("decode broad corpus partition %q: %w", identity.Name, err) + } + if document.Schema != CorpusSchemaVersion || document.Partition != identity.Name || len(document.Cases) != identity.Cases { + return nil, fmt.Errorf("broad corpus partition %q metadata differs from its manifest", identity.Name) + } + targets := 0 + for index := range document.Cases { + fixture := &document.Cases[index] + if err := validateCase(fixture); err != nil { + return nil, err + } + if len(fixture.Targets) != 1 { + return nil, fmt.Errorf("broad corpus case %q must have exactly one target so one case is one percentage unit", fixture.ID) + } + if prior, exists := seenCases[fixture.ID]; exists { + return nil, fmt.Errorf("broad corpus duplicate case ID %q in %q and %q", fixture.ID, prior, identity.Name) + } + seenCases[fixture.ID] = identity.Name + targets += len(fixture.Targets) + cases = append(cases, *fixture) + } + if targets != identity.Targets { + return nil, fmt.Errorf("broad corpus partition %q target count differs from its manifest", identity.Name) + } + hasher.Write([]byte(identity.File)) + hasher.Write([]byte{0}) + hasher.Write(raw) + hasher.Write([]byte{0}) + documents = append(documents, document) + } + + coverage, err := validateBroadCoverage(cases, manifest) + if err != nil { + return nil, err + } + return &BroadCorpus{ + Manifest: manifest, Documents: documents, Cases: cases, + Fingerprint: hex.EncodeToString(hasher.Sum(nil)), Coverage: coverage, + }, nil +} + +func validateBroadManifest(manifest *BroadCorpusManifest) error { + if manifest.Schema != BroadCorpusSchemaVersion || manifest.CorpusVersion != BroadCorpusVersion { + return fmt.Errorf("broad corpus manifest has an unsupported schema or corpus version") + } + if manifest.SchemaFile != "../../v1/schema.json" || len(manifest.SchemaSHA256) != sha256HexLength { + return fmt.Errorf("broad corpus manifest does not pin the smoke corpus schema") + } + if manifest.Generator != (BroadGeneratorIdentity{Name: BroadCorpusGenerator, Version: 1, Seed: BroadCorpusGeneratorSeed}) { + return fmt.Errorf("broad corpus manifest generator identity changed") + } + wantMinimums := BroadMinimumDenominators{ + SecretRedactCases: 100, AccountRedactCases: 100, PrivateDateRedactCases: 100, + PreservationCases: 100, LanguageRedactCases: 100, LanguagePreserveCases: 100, + } + if manifest.MinimumDenominators != wantMinimums || manifest.MaximumCaseBasisPoints != 100 || manifest.MinimumSecretFamilyCases != 8 { + return fmt.Errorf("broad corpus statistical denominator contract changed") + } + if len(manifest.Partitions) != len(BroadCorpusPartitions) { + return fmt.Errorf("broad corpus manifest must contain exactly %d partitions", len(BroadCorpusPartitions)) + } + for index, expected := range BroadCorpusPartitions { + identity := manifest.Partitions[index] + if identity.Name != expected || identity.File != expected+".json" || len(identity.SHA256) != sha256HexLength || + identity.Cases <= 0 || identity.Targets != identity.Cases { + return fmt.Errorf("broad corpus partition identity %d is incomplete or out of order", index) + } + } + return nil +} + +func validateBroadCoverage(cases []Case, manifest BroadCorpusManifest) (BroadCoverage, error) { + coverage := BroadCoverage{ + LanguageRedactCases: make(map[string]int, len(RequiredLanguages)), + LanguagePreserveCases: make(map[string]int, len(RequiredLanguages)), + } + secretFamilies := make(map[string]map[string]int, len(RequiredSecretFamilies)) + formats := make(map[string]struct{ redact, preserve bool }, len(requiredShapes)) + for _, fixture := range cases { + target := fixture.Targets[0] + redact := target.Actions.All == ActionRedact + if redact { + coverage.LanguageRedactCases[fixture.Language]++ + } else { + coverage.LanguagePreserveCases[fixture.Language]++ + coverage.PreservationCases++ + } + format := formats[fixture.Shape] + format.redact = format.redact || redact + format.preserve = format.preserve || !redact + formats[fixture.Shape] = format + if redact { + switch target.Kind { + case SpanSecret: + coverage.SecretRedactCases++ + case SpanAccountNumber: + coverage.AccountRedactCases++ + case SpanPrivateDate: + coverage.PrivateDateRedactCases++ + } + } + if fixture.SecretFixture != nil { + if secretFamilies[fixture.SecretFixture.Family] == nil { + secretFamilies[fixture.SecretFixture.Family] = make(map[string]int) + } + secretFamilies[fixture.SecretFixture.Family][fixture.SecretFixture.Role]++ + } + } + minimums := manifest.MinimumDenominators + if coverage.SecretRedactCases < minimums.SecretRedactCases || + coverage.AccountRedactCases < minimums.AccountRedactCases || + coverage.PrivateDateRedactCases < minimums.PrivateDateRedactCases || + coverage.PreservationCases < minimums.PreservationCases { + return BroadCoverage{}, fmt.Errorf("broad corpus does not satisfy a frozen kind or preservation denominator") + } + for _, language := range RequiredLanguages { + if coverage.LanguageRedactCases[language] < minimums.LanguageRedactCases || + coverage.LanguagePreserveCases[language] < minimums.LanguagePreserveCases { + return BroadCoverage{}, fmt.Errorf("broad corpus language %q does not satisfy its redact/preserve denominators", language) + } + } + for _, family := range RequiredSecretFamilies { + if secretFamilies[family]["must-detect"] < manifest.MinimumSecretFamilyCases || + secretFamilies[family]["preserve"] < manifest.MinimumSecretFamilyCases { + return BroadCoverage{}, fmt.Errorf("broad corpus secret family %q lacks required variations", family) + } + } + for _, formatName := range requiredShapes { + format := formats[formatName] + if !format.redact || !format.preserve { + return BroadCoverage{}, fmt.Errorf("broad corpus format %q lacks redact and preservation coverage", formatName) + } + } + return coverage, nil +} + +func hashBytes(raw []byte) string { + hash := sha256.Sum256(raw) + return hex.EncodeToString(hash[:]) +} diff --git a/internal/pii/evaluation/broad_test.go b/internal/pii/evaluation/broad_test.go new file mode 100644 index 0000000..9be071a --- /dev/null +++ b/internal/pii/evaluation/broad_test.go @@ -0,0 +1,184 @@ +package evaluation + +import ( + "bytes" + "fmt" + "os" + "path/filepath" + "regexp" + "strings" + "testing" +) + +func broadCorpusDir(t *testing.T) string { + t.Helper() + return filepath.Join("..", "testdata", "privacy-filter", "broad", "v1") +} + +func TestBroadQualityCorpusHasStatisticallyMeaningfulLockedDenominators(t *testing.T) { + corpus, err := LoadBroadCorpusDir(broadCorpusDir(t)) + if err != nil { + t.Fatalf("load locked broad quality corpus: %v", err) + } + if len(corpus.Cases) != 2724 { + t.Fatalf("broad corpus case count changed: got %d want 2724", len(corpus.Cases)) + } + if len(corpus.Fingerprint) != sha256HexLength { + t.Fatalf("broad corpus lacks a stable SHA-256 identity: %q", corpus.Fingerprint) + } + minimums := corpus.Manifest.MinimumDenominators + for name, count := range map[string]int{ + "secret": corpus.Coverage.SecretRedactCases, + "account": corpus.Coverage.AccountRedactCases, + "private-date": corpus.Coverage.PrivateDateRedactCases, + "preservation": corpus.Coverage.PreservationCases, + } { + if count < 100 || 10000/count > corpus.Manifest.MaximumCaseBasisPoints { + t.Fatalf("%s denominator %d lets one case move more than one percentage point", name, count) + } + } + for _, language := range RequiredLanguages { + if corpus.Coverage.LanguageRedactCases[language] < minimums.LanguageRedactCases || + corpus.Coverage.LanguagePreserveCases[language] < minimums.LanguagePreserveCases { + t.Fatalf("language %q broad denominators are incomplete: redact=%d preserve=%d", language, + corpus.Coverage.LanguageRedactCases[language], corpus.Coverage.LanguagePreserveCases[language]) + } + } +} + +func TestSyntheticSecretsMatchOutOfBandProvenanceWithoutMarkerDrivenValues(t *testing.T) { + corpora := make([][]Case, 0, 2) + smoke, err := LoadCorpusDir(corpusDir(t)) + if err != nil { + t.Fatal(err) + } + corpora = append(corpora, smoke.Cases) + broad, err := LoadBroadCorpusDir(broadCorpusDir(t)) + if err != nil { + t.Fatal(err) + } + corpora = append(corpora, broad.Cases) + for _, cases := range corpora { + for _, fixture := range cases { + for _, target := range fixture.Targets { + if target.Kind != SpanSecret { + continue + } + if target.Synthetic == nil { + t.Fatalf("case %q secret target %q lacks provenance", fixture.ID, target.ID) + } + generated, generationErr := GenerateSyntheticValue(*target.Synthetic) + if generationErr != nil || generated != target.Value { + t.Fatalf("case %q secret target %q provenance mismatch: %v", fixture.ID, target.ID, generationErr) + } + if target.Synthetic.Purpose == "must-detect" { + lower := strings.ToLower(target.Value) + for _, marker := range []string{"example", "not-a-real", "not_a_real", "invalid", "placeholder", "synthetic"} { + if strings.Contains(lower, marker) { + t.Fatalf("case %q evaluated credential contains marker %q", fixture.ID, marker) + } + } + } + } + } + } +} + +func TestPrivacyFilterCorpusGeneratorIsByteReproducible(t *testing.T) { + repoRoot := filepath.Join("..", "..", "..") + tempRoot := t.TempDir() + smokeRelative := filepath.Join("internal", "pii", "testdata", "privacy-filter", "v1") + tempSmoke := filepath.Join(tempRoot, smokeRelative) + if err := os.MkdirAll(tempSmoke, 0o755); err != nil { + t.Fatal(err) + } + for _, name := range []string{"schema.json", "command-output-payloads.json", "preservation.json"} { + raw, readErr := os.ReadFile(filepath.Join(repoRoot, smokeRelative, name)) + if readErr != nil { + t.Fatal(readErr) + } + if writeErr := os.WriteFile(filepath.Join(tempSmoke, name), raw, 0o600); writeErr != nil { + t.Fatal(writeErr) + } + } + if err := GeneratePrivacyFilterTestdata(tempRoot); err != nil { + t.Fatalf("regenerate privacy corpus: %v", err) + } + generated := []string{ + filepath.Join(smokeRelative, "secrets.json"), + filepath.Join(smokeRelative, "command-output-payloads.json"), + filepath.Join(smokeRelative, "preservation.json"), + } + broadFiles := append(append([]string(nil), BroadCorpusPartitions...), "manifest") + for _, name := range broadFiles { + generated = append(generated, filepath.Join("internal", "pii", "testdata", "privacy-filter", "broad", "v1", name+".json")) + } + for _, relative := range generated { + want, readErr := os.ReadFile(filepath.Join(repoRoot, relative)) + if readErr != nil { + t.Fatal(readErr) + } + got, readErr := os.ReadFile(filepath.Join(tempRoot, relative)) + if readErr != nil { + t.Fatal(readErr) + } + if !bytes.Equal(got, want) { + t.Fatalf("generated corpus file %s is stale; run %s", relative, + fmt.Sprintf("go run ./internal/pii/evaluation/cmd/corpusgen -repo-root .")) + } + } +} + +func TestCredentialShapedFixtureMaterialIsIndependentlyScannedForProvenance(t *testing.T) { + patterns := []*regexp.Regexp{ + regexp.MustCompile(`CLDX[A-Z0-9]{16}`), + regexp.MustCompile(`scm_[A-Za-z0-9]{36}`), + regexp.MustCompile(`paylive_[A-Za-z0-9]{32}`), + regexp.MustCompile(`whsig_[A-Za-z0-9]{40}`), + regexp.MustCompile(`oat2_[A-Za-z0-9_-]{52}`), + regexp.MustCompile(`access_token_[A-Za-z0-9]{40}`), + regexp.MustCompile(`obsap_[a-f0-9]{32}`), + regexp.MustCompile(`-----BEGIN SECRET-KEYX-----`), + } + smoke, err := LoadCorpusDir(corpusDir(t)) + if err != nil { + t.Fatal(err) + } + broad, err := LoadBroadCorpusDir(broadCorpusDir(t)) + if err != nil { + t.Fatal(err) + } + for _, fixture := range append(append([]Case(nil), smoke.Cases...), broad.Cases...) { + for _, pattern := range patterns { + for _, location := range pattern.FindAllStringIndex(fixture.Text, -1) { + provenanced := false + for _, target := range fixture.Targets { + if target.Kind == SpanSecret && target.Synthetic != nil && target.Start <= location[0] && target.End >= location[1] { + provenanced = true + break + } + } + if !provenanced { + t.Fatalf("case %q contains unprovenanced credential shape %q", fixture.ID, pattern.String()) + } + } + } + } +} + +func TestBroadManifestRejectsDenominatorWeakening(t *testing.T) { + corpus, err := LoadBroadCorpusDir(broadCorpusDir(t)) + if err != nil { + t.Fatal(err) + } + weakened := corpus.Manifest + weakened.MinimumDenominators.SecretRedactCases = 99 + if err := validateBroadManifest(&weakened); err == nil { + t.Fatal("broad corpus accepted a weakened secret denominator") + } + weakened = corpus.Manifest + weakened.MaximumCaseBasisPoints = 101 + if err := validateBroadManifest(&weakened); err == nil { + t.Fatal("broad corpus accepted more than one percentage point per case") + } +} diff --git a/internal/pii/evaluation/cmd/corpusgen/main.go b/internal/pii/evaluation/cmd/corpusgen/main.go new file mode 100644 index 0000000..3068c99 --- /dev/null +++ b/internal/pii/evaluation/cmd/corpusgen/main.go @@ -0,0 +1,18 @@ +package main + +import ( + "flag" + "fmt" + "os" + + "github.com/operator-kit/hs-cli/internal/pii/evaluation" +) + +func main() { + repoRoot := flag.String("repo-root", ".", "repository root containing internal/pii/testdata") + flag.Parse() + if err := evaluation.GeneratePrivacyFilterTestdata(*repoRoot); err != nil { + fmt.Fprintln(os.Stderr, err) + os.Exit(1) + } +} diff --git a/internal/pii/evaluation/corpus.go b/internal/pii/evaluation/corpus.go index e6ed383..ca91d3b 100644 --- a/internal/pii/evaluation/corpus.go +++ b/internal/pii/evaluation/corpus.go @@ -105,14 +105,15 @@ type KnownIdentity struct { } type Target struct { - ID string `json:"id"` - Kind SpanKind `json:"kind"` - Start int `json:"start"` - End int `json:"end"` - Value string `json:"value"` - Match MatchPolicy `json:"match"` - IdentityID string `json:"identity_id,omitempty"` - Actions ModeActions `json:"actions"` + ID string `json:"id"` + Kind SpanKind `json:"kind"` + Start int `json:"start"` + End int `json:"end"` + Value string `json:"value"` + Match MatchPolicy `json:"match"` + IdentityID string `json:"identity_id,omitempty"` + Synthetic *SyntheticProvenance `json:"synthetic,omitempty"` + Actions ModeActions `json:"actions"` } type ModeActions struct { @@ -388,8 +389,19 @@ func validateCase(fixture *Case) error { if target.Value == "" || fixture.Text[target.Start:target.End] != target.Value { return fmt.Errorf("%s: target %q value does not match its declared byte range", prefix, target.ID) } - if target.Kind == SpanSecret && !declaredSyntheticSecret(target.Value) { - return fmt.Errorf("%s: secret target %q lacks a declared synthetic safety marker", prefix, target.ID) + if target.Kind == SpanSecret { + if target.Synthetic == nil { + return fmt.Errorf("%s: secret target %q lacks synthetic provenance", prefix, target.ID) + } + generated, err := GenerateSyntheticValue(*target.Synthetic) + if err != nil { + return fmt.Errorf("%s: secret target %q provenance: %w", prefix, target.ID, err) + } + if generated != target.Value { + return fmt.Errorf("%s: secret target %q does not match its deterministic synthetic provenance", prefix, target.ID) + } + } else if target.Synthetic != nil { + return fmt.Errorf("%s: non-secret target %q declares secret synthetic provenance", prefix, target.ID) } if target.IdentityID != "" { identity, exists := known[target.IdentityID] @@ -399,8 +411,13 @@ func validateCase(fixture *Case) error { if target.Kind == SpanSecret || target.Kind == SpanAccountNumber || target.Kind == SpanPrivateDate { return fmt.Errorf("%s: target %q kind %q cannot be protected by identity attribution", prefix, target.ID, target.Kind) } - if target.Kind == SpanPerson && identity.Type == "user" && target.Actions.Customers != ActionPreserve { - return fmt.Errorf("%s: known staff person target %q must be preserved in customers mode", prefix, target.ID) + if target.Kind == SpanPerson && identity.Type == "user" && + (target.Actions.Customers != ActionPreserve || target.Actions.All != ActionRedact) { + return fmt.Errorf("%s: known staff person target %q must preserve in customers and redact in all", prefix, target.ID) + } + if target.Kind == SpanPerson && identity.Type == "customer" && + (target.Actions.Customers != ActionRedact || target.Actions.All != ActionRedact) { + return fmt.Errorf("%s: known customer person target %q must redact in customers and all", prefix, target.ID) } } if err := validateActions(prefix, target); err != nil { @@ -505,8 +522,9 @@ func validateSecretFixture(prefix string, fixture *Case) error { (target.Actions.Customers != ActionPreserve || target.Actions.All != ActionPreserve) { return fmt.Errorf("%s: near-miss secret target %q must be preserved", prefix, target.ID) } - if !declaredSyntheticSecret(target.Value) { - return fmt.Errorf("%s: secret target %q lacks a declared synthetic safety marker", prefix, target.ID) + if target.Synthetic == nil || target.Synthetic.Recipe != fixture.SecretFixture.Family || + target.Synthetic.Purpose != fixture.SecretFixture.Role { + return fmt.Errorf("%s: secret target %q provenance contradicts the fixture family or role", prefix, target.ID) } } if !hasSecret { @@ -515,30 +533,6 @@ func validateSecretFixture(prefix string, fixture *Case) error { return nil } -func declaredSyntheticSecret(value string) bool { - lower := strings.ToLower(value) - for _, marker := range []string{ - "example", "not-a-real", "not_a_real", "invalid", "synthetic", "placeholder", "redacted", - } { - if strings.Contains(lower, marker) { - return true - } - } - if len(value) >= 16 { - uniform := true - for i := 1; i < len(value); i++ { - if value[i] != value[0] { - uniform = false - break - } - } - if uniform { - return true - } - } - return false -} - func validByteRange(text string, start, end int) bool { if start < 0 || end <= start || end > len(text) { return false @@ -584,8 +578,14 @@ func (c *Corpus) ValidateCoverage() error { for _, family := range RequiredSecretFamilies { secretFamilies[family] = &outcomes{} } - shapes := make(map[string]bool, len(requiredShapes)) - boundaries := make(map[string]bool, len(RequiredOutputBoundaries)) + shapes := make(map[string]*outcomes, len(requiredShapes)) + for _, shape := range requiredShapes { + shapes[shape] = &outcomes{} + } + boundaries := make(map[string]*outcomes, len(RequiredOutputBoundaries)) + for _, boundary := range RequiredOutputBoundaries { + boundaries[boundary] = &outcomes{} + } for _, document := range c.Documents { partitionOutcome := partitions[document.Partition] @@ -606,10 +606,16 @@ func (c *Corpus) ValidateCoverage() error { languageOutcome.redact = languageOutcome.redact || hasRedact languageOutcome.preserve = languageOutcome.preserve || hasPreserve } - shapes[fixture.Shape] = true + shapeOutcome := shapes[fixture.Shape] + shapeOutcome.redact = shapeOutcome.redact || hasRedact + shapeOutcome.preserve = shapeOutcome.preserve || hasPreserve for _, tag := range fixture.Tags { if strings.HasPrefix(tag, "boundary:") { - boundaries[strings.TrimPrefix(tag, "boundary:")] = true + boundaryOutcome := boundaries[strings.TrimPrefix(tag, "boundary:")] + if boundaryOutcome != nil { + boundaryOutcome.redact = boundaryOutcome.redact || hasRedact + boundaryOutcome.preserve = boundaryOutcome.preserve || hasPreserve + } } } if fixture.SecretFixture != nil { @@ -644,13 +650,13 @@ func (c *Corpus) ValidateCoverage() error { } } for _, shape := range requiredShapes { - if !shapes[shape] { - return fmt.Errorf("privacy corpus is missing required content shape %q", shape) + if outcome := shapes[shape]; !outcome.redact || !outcome.preserve { + return fmt.Errorf("privacy corpus content shape %q requires redact and preservation coverage", shape) } } for _, boundary := range RequiredOutputBoundaries { - if !boundaries[boundary] { - return fmt.Errorf("privacy corpus is missing output boundary coverage %q", boundary) + if outcome := boundaries[boundary]; !outcome.redact || !outcome.preserve { + return fmt.Errorf("privacy corpus output boundary %q requires independent redact and preservation coverage", boundary) } } return nil diff --git a/internal/pii/evaluation/corpus_generator.go b/internal/pii/evaluation/corpus_generator.go new file mode 100644 index 0000000..745a311 --- /dev/null +++ b/internal/pii/evaluation/corpus_generator.go @@ -0,0 +1,613 @@ +package evaluation + +import ( + "bytes" + "encoding/json" + "fmt" + "os" + "path/filepath" + "sort" + "strings" +) + +// GeneratePrivacyFilterTestdata rewrites only deterministic synthetic fixture +// files. It is used by the checked generator command and byte-for-byte tests. +func GeneratePrivacyFilterTestdata(repoRoot string) error { + smokeDir := filepath.Join(repoRoot, "internal", "pii", "testdata", "privacy-filter", "v1") + broadDir := filepath.Join(repoRoot, "internal", "pii", "testdata", "privacy-filter", "broad", "v1") + if err := writeCorpusDocument(filepath.Join(smokeDir, "secrets.json"), generateSmokeSecrets()); err != nil { + return err + } + if err := rewriteCommandBoundaryFixtures(filepath.Join(smokeDir, "command-output-payloads.json")); err != nil { + return err + } + if err := rewriteSupplementalPreservationFixtures(filepath.Join(smokeDir, "preservation.json")); err != nil { + return err + } + return generateBroadCorpus(smokeDir, broadDir) +} + +type secretContext struct { + shape string + detectContext string + preserveContext string +} + +var smokeSecretContexts = map[string]secretContext{ + "api-key": {"prose", "The integration credential is ", "The configuration field is "}, + "access-token": {"json", "The response included ", "The schema property is "}, + "oauth-token": {"yaml", "The authorization value is ", "The authorization scheme is "}, + "password": {"shell", "The copied password is ", "The documented setting is "}, + "jwt": {"log", "The authentication token was ", "The token grammar is "}, + "one-time-code": {"prose", "The recovery code is ", "The public build number is "}, + "private-key": {"code", "The pasted credential block follows:\n", "The published verification material follows:\n"}, + "database-connection": {"url", "The service connection is ", "The public service endpoint is "}, + "cookie-authorization": {"quoted-reply", "The copied cookie was ", "The cookie policy attribute is "}, + "webhook-secret": {"html", "The webhook signing value is ", "The webhook event name is "}, + "cloud-credential": {"stack-trace", "The cloud access identifier is ", "The public cloud account number is "}, + "source-control-token": {"markdown", "The repository token is ", "The public commit identifier is "}, + "payment-credential": {"json", "The payment credential is ", "The publishable client identifier is "}, + "observability-token": {"yaml", "The telemetry credential is ", "The public trace identifier is "}, +} + +func generateSmokeSecrets() CorpusDocument { + document := CorpusDocument{Schema: CorpusSchemaVersion, Partition: "secrets", Cases: make([]Case, 0, len(RequiredSecretFamilies)*2)} + for _, family := range RequiredSecretFamilies { + context := smokeSecretContexts[family] + for _, role := range []string{"must-detect", "preserve"} { + seed := "smoke-" + family + "-" + role + provenance := SyntheticProvenance{ + Generator: SyntheticSecretGenerator, Version: SyntheticSecretVersion, + Seed: seed, Recipe: family, Purpose: role, + } + value, err := GenerateSyntheticValue(provenance) + if err != nil { + panic(err) + } + contextText := context.detectContext + if role == "preserve" { + contextText = context.preserveContext + } + text, start := wrapFixtureShape(context.shape, contextText, value, 0) + actions := ModeActions{Off: ActionPreserve, Customers: ActionRedact, All: ActionRedact} + risk := RiskCritical + match := MatchCovering + if role == "preserve" { + actions = ModeActions{Off: ActionPreserve, Customers: ActionPreserve, All: ActionPreserve} + risk = RiskPreservation + match = MatchExact + } + document.Cases = append(document.Cases, makeGeneratedCase( + "secret-"+family+"-"+role, "en", "Latin", context.shape, risk, + "Offline-generated "+family+" "+role+" contract fixture.", text, + Target{ID: "secret-value", Kind: SpanSecret, Start: start, End: start + len(value), Value: value, + Match: match, Synthetic: &provenance, Actions: actions}, + []string{"secret", "secret-family:" + family, "synthetic-generator:v1"}, + &SecretFixtureRole{Family: family, Role: role}, + )) + } + } + return document +} + +func rewriteCommandBoundaryFixtures(path string) error { + document, err := readCorpusDocument(path) + if err != nil { + return err + } + retained := make([]Case, 0, len(document.Cases)+len(RequiredOutputBoundaries)*2) + for _, fixture := range document.Cases { + if fixture.ID == "command-secret-all-boundaries" || strings.HasPrefix(fixture.ID, "command-boundary-") || + strings.HasPrefix(fixture.ID, "command-secret-boundary-") { + continue + } + retained = append(retained, fixture) + } + generated := make([]Case, 0, len(RequiredOutputBoundaries)*2) + for _, boundary := range RequiredOutputBoundaries { + for _, role := range []string{"must-detect", "preserve"} { + recipe := "command-secret" + actions := ModeActions{Off: ActionPreserve, Customers: ActionRedact, All: ActionRedact} + risk := RiskCritical + match := MatchCovering + if role == "preserve" { + recipe = "checksum" + actions = ModeActions{Off: ActionPreserve, Customers: ActionPreserve, All: ActionPreserve} + risk = RiskPreservation + match = MatchExact + } + provenance := SyntheticProvenance{ + Generator: SyntheticSecretGenerator, Version: SyntheticSecretVersion, + Seed: "smoke-boundary-" + boundary + "-" + role, Recipe: recipe, Purpose: role, + } + value, generationErr := GenerateSyntheticValue(provenance) + if generationErr != nil { + return generationErr + } + ticket := "TICKET-EXAMPLE-42" + text := fmt.Sprintf(`{"ticket":"%s","message":"value=%s"}`, ticket, value) + secretStart := strings.Index(text, value) + ticketStart := strings.Index(text, ticket) + fixture := makeGeneratedCase( + "command-boundary-"+boundary+"-"+role, "en", "Latin", "command-payload", risk, + "The independently exercised "+boundary+" boundary has a locked "+role+" expectation.", text, + Target{ID: "secret-shape", Kind: SpanSecret, Start: secretStart, End: secretStart + len(value), Value: value, + Match: match, Synthetic: &provenance, Actions: actions}, + []string{"command-output", "boundary:" + boundary, "synthetic-generator:v1"}, nil, + ) + fixture.Targets = append([]Target{{ + ID: "ticket", Kind: SpanAccountNumber, Start: ticketStart, End: ticketStart + len(ticket), Value: ticket, + Match: MatchExact, Actions: ModeActions{Off: ActionPreserve, Customers: ActionPreserve, All: ActionPreserve}, + }}, fixture.Targets...) + for _, mode := range Modes { + expected := fixture.Outputs.For(mode) + expected.RequiredPresent = append(expected.RequiredPresent, ticket) + sort.Strings(expected.RequiredPresent) + setOutputExpectation(&fixture.Outputs, mode, expected) + } + generated = append(generated, fixture) + } + } + document.Cases = append(generated, retained...) + return writeCorpusDocument(path, document) +} + +func rewriteSupplementalPreservationFixtures(path string) error { + document, err := readCorpusDocument(path) + if err != nil { + return err + } + retained := document.Cases[:0] + for _, fixture := range document.Cases { + if fixture.ID != "preservation-signature-public-organization" { + retained = append(retained, fixture) + } + } + document.Cases = retained + for index := range document.Cases { + fixture := &document.Cases[index] + switch fixture.ID { + case "preservation-checksum-and-email": + provenance := SyntheticProvenance{Generator: SyntheticSecretGenerator, Version: 1, Seed: "smoke-checksum-preserve", Recipe: "checksum", Purpose: "preserve"} + if err := replaceGeneratedTarget(fixture, "checksum", provenance); err != nil { + return err + } + case "preservation-redacted-marker": + provenance := SyntheticProvenance{Generator: SyntheticSecretGenerator, Version: 1, Seed: "smoke-redacted-marker-preserve", Recipe: "redacted-marker", Purpose: "preserve"} + if err := replaceGeneratedTarget(fixture, "redacted-marker", provenance); err != nil { + return err + } + } + } + value := "Atlas Labs" + text := "--\nAtlas Labs Support\nDocumentation: https://docs.example.invalid" + start := strings.Index(text, value) + document.Cases = append(document.Cases, makeGeneratedCase( + "preservation-signature-public-organization", "en", "Latin", "signature", RiskPreservation, + "A public organization in a signature must remain unchanged.", text, + Target{ID: "public-organization", Kind: SpanPerson, Start: start, End: start + len(value), Value: value, + Match: MatchExact, Actions: ModeActions{Off: ActionPreserve, Customers: ActionPreserve, All: ActionPreserve}}, + []string{"preservation", "format:signature"}, nil, + )) + return writeCorpusDocument(path, document) +} + +func replaceGeneratedTarget(fixture *Case, targetID string, provenance SyntheticProvenance) error { + value, err := GenerateSyntheticValue(provenance) + if err != nil { + return err + } + old := "" + for index := range fixture.Targets { + if fixture.Targets[index].ID == targetID { + old = fixture.Targets[index].Value + fixture.Targets[index].Value = value + fixture.Targets[index].Synthetic = &provenance + } + } + if old == "" { + return fmt.Errorf("case %q lacks generated target %q", fixture.ID, targetID) + } + fixture.Text = strings.ReplaceAll(fixture.Text, old, value) + for index := range fixture.Targets { + start := strings.Index(fixture.Text, fixture.Targets[index].Value) + if start < 0 { + return fmt.Errorf("case %q target %q disappeared while regenerating", fixture.ID, fixture.Targets[index].ID) + } + fixture.Targets[index].Start = start + fixture.Targets[index].End = start + len(fixture.Targets[index].Value) + } + for _, mode := range Modes { + expected := fixture.Outputs.For(mode) + for index := range expected.RequiredAbsent { + if expected.RequiredAbsent[index] == old { + expected.RequiredAbsent[index] = value + } + } + for index := range expected.RequiredPresent { + if expected.RequiredPresent[index] == old { + expected.RequiredPresent[index] = value + } + } + setOutputExpectation(&fixture.Outputs, mode, expected) + } + return nil +} + +func generateBroadCorpus(smokeDir, broadDir string) error { + if err := os.MkdirAll(broadDir, 0o755); err != nil { + return fmt.Errorf("create broad corpus directory: %w", err) + } + documents := []CorpusDocument{ + generateBroadSecrets(), + generateBroadAccounts(), + generateBroadDates(), + generateBroadLanguages(), + generateBroadPreservation(), + } + identities := make([]BroadPartitionIdentity, 0, len(documents)) + for _, document := range documents { + raw, err := marshalBroadCorpusDocument(document) + if err != nil { + return err + } + path := filepath.Join(broadDir, document.Partition+".json") + if err := os.WriteFile(path, raw, 0o644); err != nil { + return fmt.Errorf("write broad corpus partition %q: %w", document.Partition, err) + } + targets := 0 + for _, fixture := range document.Cases { + targets += len(fixture.Targets) + } + identities = append(identities, BroadPartitionIdentity{ + Name: document.Partition, File: document.Partition + ".json", SHA256: hashBytes(raw), + Cases: len(document.Cases), Targets: targets, + }) + } + schemaRaw, err := os.ReadFile(filepath.Join(smokeDir, "schema.json")) + if err != nil { + return fmt.Errorf("read smoke schema for broad manifest: %w", err) + } + manifest := BroadCorpusManifest{ + Schema: BroadCorpusSchemaVersion, CorpusVersion: BroadCorpusVersion, + SchemaFile: "../../v1/schema.json", SchemaSHA256: hashBytes(schemaRaw), + Generator: BroadGeneratorIdentity{Name: BroadCorpusGenerator, Version: 1, Seed: BroadCorpusGeneratorSeed}, + MinimumDenominators: BroadMinimumDenominators{ + SecretRedactCases: 100, AccountRedactCases: 100, PrivateDateRedactCases: 100, + PreservationCases: 100, LanguageRedactCases: 100, LanguagePreserveCases: 100, + }, + MaximumCaseBasisPoints: 100, MinimumSecretFamilyCases: 8, Partitions: identities, + } + raw, err := json.MarshalIndent(manifest, "", " ") + if err != nil { + return fmt.Errorf("encode broad corpus manifest: %w", err) + } + raw = append(raw, '\n') + if err := os.WriteFile(filepath.Join(broadDir, "manifest.json"), raw, 0o644); err != nil { + return fmt.Errorf("write broad corpus manifest: %w", err) + } + return nil +} + +func generateBroadSecrets() CorpusDocument { + document := CorpusDocument{Schema: 1, Partition: "secrets", Cases: make([]Case, 0, len(RequiredSecretFamilies)*16)} + detectContexts := []string{ + "Credential copied from a support reply: ", "Authorization header value: ", "Log field auth_value=", + "Rotating this exposed value: ", "Quoted credential follows: ", "Configuration secret: ", + "Stack trace captured credential ", "Wrapped message credential: ", + } + preserveContexts := []string{ + "Public configuration vocabulary: ", "Documentation syntax: ", "Public operational identifier: ", + "Schema field label: ", "Non-confidential protocol token: ", "Release metadata: ", + "Public verification material: ", "Troubleshooting reference: ", + } + for familyIndex, family := range RequiredSecretFamilies { + for variation := 0; variation < 8; variation++ { + for _, role := range []string{"must-detect", "preserve"} { + provenance := SyntheticProvenance{ + Generator: SyntheticSecretGenerator, Version: 1, + Seed: fmt.Sprintf("broad-secret-%s-%s-%02d", family, role, variation), Recipe: family, Purpose: role, + } + value, err := GenerateSyntheticValue(provenance) + if err != nil { + panic(err) + } + shape := requiredShapes[(familyIndex*8+variation)%len(requiredShapes)] + context := detectContexts[variation] + actions := ModeActions{Off: ActionPreserve, Customers: ActionRedact, All: ActionRedact} + risk := RiskCritical + match := MatchCovering + if role == "preserve" { + context = preserveContexts[variation] + actions = ModeActions{Off: ActionPreserve, Customers: ActionPreserve, All: ActionPreserve} + risk = RiskPreservation + match = MatchExact + } + text, start := wrapFixtureShape(shape, context, value, variation) + document.Cases = append(document.Cases, makeGeneratedCase( + fmt.Sprintf("broad-secret-%s-%s-%02d", family, role, variation), "en", "Latin", shape, risk, + "Locked broad "+family+" variation.", text, + Target{ID: "value", Kind: SpanSecret, Start: start, End: start + len(value), Value: value, + Match: match, Synthetic: &provenance, Actions: actions}, + []string{"broad-quality", "secret-family:" + family, fmt.Sprintf("variation:%02d", variation)}, + &SecretFixtureRole{Family: family, Role: role}, + )) + } + } + } + return document +} + +func generateBroadAccounts() CorpusDocument { + document := CorpusDocument{Schema: 1, Partition: "account-identifiers", Cases: make([]Case, 0, 200)} + for index := 0; index < 100; index++ { + for _, preserve := range []bool{false, true} { + role := "redact" + prefix := "Customer account reference: " + value := fmt.Sprintf("CUST-%04d-%s", index, generatedPublicCode("account-private", index, 8)) + actions := ModeActions{Off: ActionPreserve, Customers: ActionRedact, All: ActionRedact} + risk := RiskHigh + if preserve { + role = "preserve" + prefix = "Published documentation reference: " + value = fmt.Sprintf("DOC-%04d-%s", index, generatedPublicCode("account-public", index, 8)) + actions = ModeActions{Off: ActionPreserve, Customers: ActionPreserve, All: ActionPreserve} + risk = RiskPreservation + } + shape := requiredShapes[index%len(requiredShapes)] + text, start := wrapFixtureShape(shape, prefix, value, index) + document.Cases = append(document.Cases, makeGeneratedCase( + fmt.Sprintf("broad-account-%s-%03d", role, index), "en", "Latin", shape, risk, + "Locked broad account identifier variation.", text, + Target{ID: "account", Kind: SpanAccountNumber, Start: start, End: start + len(value), Value: value, + Match: MatchExact, Actions: actions}, []string{"broad-quality", "account-identifier"}, nil, + )) + } + } + return document +} + +func generateBroadDates() CorpusDocument { + document := CorpusDocument{Schema: 1, Partition: "private-public-dates", Cases: make([]Case, 0, 200)} + for index := 0; index < 100; index++ { + date := fmt.Sprintf("%04d-%02d-%02d", 1960+index%50, 1+(index/7)%12, 1+index%28) + for _, preserve := range []bool{false, true} { + role := "redact" + prefix := "Customer date of birth: " + actions := ModeActions{Off: ActionPreserve, Customers: ActionRedact, All: ActionRedact} + risk := RiskHigh + if preserve { + role = "preserve" + prefix = "Public release date: " + actions = ModeActions{Off: ActionPreserve, Customers: ActionPreserve, All: ActionPreserve} + risk = RiskPreservation + } + shape := requiredShapes[(index+3)%len(requiredShapes)] + text, start := wrapFixtureShape(shape, prefix, date, index) + document.Cases = append(document.Cases, makeGeneratedCase( + fmt.Sprintf("broad-date-%s-%03d", role, index), "en", "Latin", shape, risk, + "Locked broad private/public date variation.", text, + Target{ID: "date", Kind: SpanPrivateDate, Start: start, End: start + len(date), Value: date, + Match: MatchExact, Actions: actions}, []string{"broad-quality", "date-policy"}, nil, + )) + } + } + return document +} + +type languageGeneratorProfile struct { + code, script, separator, privateContext, publicContext string + privateLeft, privateRight, publicLeft, publicRight []string +} + +func generateBroadLanguages() CorpusDocument { + profiles := broadLanguageProfiles() + document := CorpusDocument{Schema: 1, Partition: "multilingual", Cases: make([]Case, 0, len(profiles)*200)} + for _, profile := range profiles { + for index := 0; index < 100; index++ { + for _, preserve := range []bool{false, true} { + role := "redact" + value := profile.privateLeft[index/10] + profile.separator + profile.privateRight[index%10] + context := profile.privateContext + actions := ModeActions{Off: ActionPreserve, Customers: ActionRedact, All: ActionRedact} + risk := RiskHigh + if preserve { + role = "preserve" + value = profile.publicLeft[index/10] + profile.separator + profile.publicRight[index%10] + context = profile.publicContext + actions = ModeActions{Off: ActionPreserve, Customers: ActionPreserve, All: ActionPreserve} + risk = RiskPreservation + } + shape := requiredShapes[index%len(requiredShapes)] + text, start := wrapFixtureShape(shape, context, value, index) + document.Cases = append(document.Cases, makeGeneratedCase( + fmt.Sprintf("broad-language-%s-%s-%03d", profile.code, role, index), profile.code, profile.script, shape, risk, + "Locked broad multilingual person/preservation variation.", text, + Target{ID: "person", Kind: SpanPerson, Start: start, End: start + len(value), Value: value, + Match: MatchExact, Actions: actions}, []string{"broad-quality", "multilingual"}, nil, + )) + } + } + } + return document +} + +func generateBroadPreservation() CorpusDocument { + document := CorpusDocument{Schema: 1, Partition: "preservation", Cases: make([]Case, 0, 100)} + for index := 0; index < 100; index++ { + provenance := SyntheticProvenance{ + Generator: SyntheticSecretGenerator, Version: 1, Seed: fmt.Sprintf("broad-checksum-preserve-%03d", index), + Recipe: "checksum", Purpose: "preserve", + } + value, err := GenerateSyntheticValue(provenance) + if err != nil { + panic(err) + } + shape := requiredShapes[(index+7)%len(requiredShapes)] + text, start := wrapFixtureShape(shape, "Published artifact checksum: ", value, index) + document.Cases = append(document.Cases, makeGeneratedCase( + fmt.Sprintf("broad-preservation-checksum-%03d", index), "en", "Latin", shape, RiskPreservation, + "Locked broad high-entropy preservation variation.", text, + Target{ID: "checksum", Kind: SpanSecret, Start: start, End: start + len(value), Value: value, Match: MatchExact, + Synthetic: &provenance, Actions: ModeActions{Off: ActionPreserve, Customers: ActionPreserve, All: ActionPreserve}}, + []string{"broad-quality", "preservation", "checksum"}, nil, + )) + } + return document +} + +func broadLanguageProfiles() []languageGeneratorProfile { + latinFirst := []string{"Amina", "Bruno", "Clara", "Diego", "Elena", "Farid", "Greta", "Hugo", "Ines", "Jonas"} + latinLast := []string{"Arden", "Borel", "Costa", "Durand", "Esteves", "Fischer", "Garcia", "Holm", "Ibarra", "Jensen"} + latinPublic := []string{"Atlas", "Boreal", "Cedar", "Delta", "Ember", "Flora", "Gaia", "Helios", "Ion", "Juniper"} + latinEntity := []string{"Labs", "Works", "Studio", "Systems", "Collective", "Foundation", "Network", "Group", "Project", "Press"} + return []languageGeneratorProfile{ + {"en", "Latin", " ", "Customer mentioned ", "Public organization ", latinFirst, latinLast, latinPublic, latinEntity}, + {"fr", "Latin", " ", "Le client mentionne ", "Organisation publique ", latinFirst, latinLast, latinPublic, latinEntity}, + {"de", "Latin", " ", "Der Kunde nennt ", "Öffentliche Organisation ", latinFirst, latinLast, latinPublic, latinEntity}, + {"es", "Latin", " ", "El cliente menciona a ", "Organización pública ", latinFirst, latinLast, latinPublic, latinEntity}, + {"pt", "Latin", " ", "O cliente mencionou ", "Organização pública ", latinFirst, latinLast, latinPublic, latinEntity}, + {"ar", "Arabic", " ", "ذكر العميل ", "المؤسسة العامة ", + []string{"أمين", "باسل", "جمانة", "داليا", "رامي", "سلمى", "طارق", "عالية", "فارس", "ليلى"}, + []string{"الحداد", "البكري", "الجابر", "الخطيب", "الدرويش", "الراوي", "السالم", "الطائي", "العلي", "المصري"}, + []string{"أطلس", "بستان", "جسر", "دليل", "رؤية", "سحاب", "شمس", "طيف", "عمران", "فضاء"}, + []string{"العامة", "للبحوث", "للنشر", "للعلوم", "للفنون", "للتقنية", "للثقافة", "للتعليم", "للبيئة", "للتنمية"}}, + {"zh", "Han", "", "客户提到了", "公共机构", []string{"王", "李", "张", "刘", "陈", "杨", "赵", "黄", "周", "吴"}, + []string{"明", "芳", "伟", "秀英", "强", "磊", "洋", "艳", "勇", "静"}, + []string{"北辰", "长河", "春山", "东海", "飞云", "光华", "禾木", "金石", "蓝桥", "明川"}, + []string{"研究院", "出版社", "基金会", "实验室", "中心", "协会", "大学", "博物馆", "图书馆", "剧团"}}, + {"ja", "Hiragana", "", "顧客が話した相手は", "公開組織は", []string{"あおい", "かえで", "さくら", "たくみ", "なお", "はる", "ひなた", "まこと", "ゆい", "りん"}, + []string{"あらい", "いとう", "うえだ", "えんどう", "おおた", "かとう", "きむら", "こばやし", "さとう", "たなか"}, + []string{"あさひ", "いずみ", "うみ", "えにし", "おおぞら", "かすみ", "きぼう", "こもれび", "さざなみ", "つばさ"}, + []string{"けんきゅうじょ", "しゅっぱん", "ざいだん", "こうぼう", "がくえん", "ぶんかかい", "としょかん", "げきだん", "はくぶつかん", "きょうかい"}}, + {"ko", "Hangul", " ", "고객이 언급한 사람은 ", "공개 기관은 ", []string{"가람", "나래", "다온", "라온", "마루", "바다", "새봄", "아람", "이든", "하늘"}, + []string{"김", "이", "박", "최", "정", "강", "조", "윤", "장", "임"}, + []string{"가온", "나무", "다솜", "라움", "마중", "바람", "새길", "아침", "이음", "한빛"}, + []string{"연구소", "출판사", "재단", "공방", "학교", "협회", "박물관", "도서관", "극단", "센터"}}, + {"hi", "Devanagari", " ", "ग्राहक ने उल्लेख किया ", "सार्वजनिक संस्था ", []string{"आरव", "इशान", "काव्या", "दीया", "नील", "प्रिया", "रवि", "सिया", "तनय", "वाणी"}, + []string{"अरोड़ा", "बंसल", "चौहान", "देसाई", "गोयल", "कपूर", "मेहता", "नायर", "पटेल", "शर्मा"}, + []string{"आकाश", "उदय", "किरण", "गंगा", "चेतना", "तरंग", "दिशा", "नव", "प्रकाश", "संगम"}, + []string{"संस्थान", "प्रकाशन", "फाउंडेशन", "प्रयोगशाला", "विद्यालय", "संग्रहालय", "पुस्तकालय", "परिषद", "केंद्र", "मंच"}}, + } +} + +func makeGeneratedCase(id, language, script, shape string, risk RiskTier, reason, text string, target Target, tags []string, secret *SecretFixtureRole) Case { + fixture := Case{ + ID: id, Language: language, Script: script, Shape: shape, Risk: risk, Reason: reason, Text: text, + KnownIdentities: []KnownIdentity{}, Targets: []Target{target}, Tags: tags, SecretFixture: secret, + } + for _, mode := range Modes { + expected := OutputExpectation{RequiredAbsent: []string{}, RequiredPresent: []string{}} + if target.Actions.For(mode) == ActionRedact { + expected.RequiredAbsent = append(expected.RequiredAbsent, target.Value) + } else { + expected.RequiredPresent = append(expected.RequiredPresent, target.Value) + } + setOutputExpectation(&fixture.Outputs, mode, expected) + } + return fixture +} + +func setOutputExpectation(outputs *ModeOutputs, mode Mode, expected OutputExpectation) { + switch mode { + case ModeOff: + outputs.Off = expected + case ModeCustomers: + outputs.Customers = expected + case ModeAll: + outputs.All = expected + } +} + +func wrapFixtureShape(shape, context, value string, variation int) (string, int) { + prefix, suffix := context, "" + switch shape { + case "json": + prefix, suffix = fmt.Sprintf(`{"message_%d":"%s`, variation, context), `"}` + case "yaml": + prefix = fmt.Sprintf("message_%d: %s", variation, context) + case "shell": + prefix, suffix = fmt.Sprintf("MESSAGE_%d='%s", variation, context), "'" + case "url": + prefix = fmt.Sprintf("endpoint=https://192.0.2.10/%d ; %s", variation, context) + case "markdown": + prefix, suffix = "**"+context, "**" + case "html": + prefix, suffix = "

"+context, "

" + case "quoted-reply": + prefix = "> " + context + case "log": + prefix = fmt.Sprintf("level=warn sample=%d message=%q value=", variation, context) + case "stack-trace": + prefix = fmt.Sprintf("Trace[%d]: %s", variation, context) + case "code": + prefix, suffix = fmt.Sprintf("fixture_%d := `%s", variation, context), "`" + case "signature": + prefix = "--\n" + context + case "long-thread": + prefix = strings.Repeat("Earlier public context. ", 20) + context + case "command-payload": + prefix = fmt.Sprintf("--sample=%d --message=%q --value=", variation, context) + } + text := prefix + value + suffix + return text, len(prefix) +} + +func generatedPublicCode(namespace string, index, length int) string { + provenance := SyntheticProvenance{Generator: SyntheticSecretGenerator, Version: 1, Seed: fmt.Sprintf("broad-%s-%03d", namespace, index), Recipe: "checksum", Purpose: "preserve"} + return syntheticAlphabet(provenance, namespace, upperAlphaNumeric, length) +} + +func readCorpusDocument(path string) (CorpusDocument, error) { + raw, err := os.ReadFile(path) + if err != nil { + return CorpusDocument{}, fmt.Errorf("read generated corpus document: %w", err) + } + var document CorpusDocument + if err := decodeStrict(raw, &document); err != nil { + return CorpusDocument{}, fmt.Errorf("decode generated corpus document: %w", err) + } + return document, nil +} + +func marshalCorpusDocument(document CorpusDocument) ([]byte, error) { + raw, err := json.MarshalIndent(document, "", " ") + if err != nil { + return nil, fmt.Errorf("encode generated corpus partition %q: %w", document.Partition, err) + } + return append(raw, '\n'), nil +} + +func marshalBroadCorpusDocument(document CorpusDocument) ([]byte, error) { + partition, err := json.Marshal(document.Partition) + if err != nil { + return nil, fmt.Errorf("encode broad corpus partition name: %w", err) + } + var output bytes.Buffer + fmt.Fprintf(&output, "{\n \"schema\": %d,\n \"partition\": %s,\n \"cases\": [\n", document.Schema, partition) + for index, fixture := range document.Cases { + raw, marshalErr := json.Marshal(fixture) + if marshalErr != nil { + return nil, fmt.Errorf("encode broad corpus case %q: %w", fixture.ID, marshalErr) + } + output.WriteString(" ") + output.Write(raw) + if index+1 != len(document.Cases) { + output.WriteByte(',') + } + output.WriteByte('\n') + } + output.WriteString(" ]\n}\n") + return output.Bytes(), nil +} + +func writeCorpusDocument(path string, document CorpusDocument) error { + raw, err := marshalCorpusDocument(document) + if err != nil { + return err + } + if err := os.WriteFile(path, raw, 0o644); err != nil { + return fmt.Errorf("write generated corpus partition %q: %w", document.Partition, err) + } + return nil +} diff --git a/internal/pii/evaluation/corpus_test.go b/internal/pii/evaluation/corpus_test.go index 93786cc..00b9e87 100644 --- a/internal/pii/evaluation/corpus_test.go +++ b/internal/pii/evaluation/corpus_test.go @@ -168,8 +168,12 @@ func TestSecretFixturesContainOnlyDeclaredSyntheticMaterial(t *testing.T) { continue } secretTargets++ - if !declaredSyntheticSecret(target.Value) { - t.Fatalf("case %q secret target %q is not declared synthetic", fixture.ID, target.ID) + if target.Synthetic == nil { + t.Fatalf("case %q secret target %q lacks synthetic provenance", fixture.ID, target.ID) + } + generated, generationErr := GenerateSyntheticValue(*target.Synthetic) + if generationErr != nil || generated != target.Value { + t.Fatalf("case %q secret target %q does not match its deterministic provenance: %v", fixture.ID, target.ID, generationErr) } } } diff --git a/internal/pii/evaluation/metrics.go b/internal/pii/evaluation/metrics.go index 1247930..16cd476 100644 --- a/internal/pii/evaluation/metrics.go +++ b/internal/pii/evaluation/metrics.go @@ -32,6 +32,7 @@ type EvidenceMetadata struct { HardwareProfile string RunnerName string CorpusSHA256 string + BroadCorpusSHA256 string PolicySHA256 string BudgetSHA256 string IdentitySHA256 string @@ -71,6 +72,7 @@ type Report struct { Schema int `json:"schema"` GitCommit string `json:"git_commit"` CorpusSHA256 string `json:"corpus_sha256"` + BroadCorpusSHA256 string `json:"broad_corpus_sha256"` PolicySHA256 string `json:"policy_sha256"` BudgetSHA256 string `json:"budget_sha256"` IdentitySHA256 string `json:"identity_sha256"` @@ -362,6 +364,7 @@ func Evaluate(corpus *Corpus, observations []CaseObservation, metadata EvidenceM Schema: ReportSchemaVersion, GitCommit: metadata.GitCommit, CorpusSHA256: metadata.CorpusSHA256, + BroadCorpusSHA256: metadata.BroadCorpusSHA256, PolicySHA256: metadata.PolicySHA256, BudgetSHA256: metadata.BudgetSHA256, IdentitySHA256: metadata.IdentitySHA256, @@ -405,7 +408,7 @@ func validateEvidenceMetadata(metadata EvidenceMetadata) error { "git commit": metadata.GitCommit, "backend": metadata.Backend, "model revision": metadata.ModelRevision, "variant": metadata.Variant, "artifact sha256": metadata.ArtifactSHA256, "runtime version": metadata.RuntimeVersion, "container image": metadata.ContainerImage, "platform": metadata.Platform, "hardware profile": metadata.HardwareProfile, - "runner name": metadata.RunnerName, "corpus sha256": metadata.CorpusSHA256, + "runner name": metadata.RunnerName, "corpus sha256": metadata.CorpusSHA256, "broad corpus sha256": metadata.BroadCorpusSHA256, "policy sha256": metadata.PolicySHA256, "budget sha256": metadata.BudgetSHA256, "identity sha256": metadata.IdentitySHA256, "report schema sha256": metadata.ReportSchemaSHA256, } { @@ -421,7 +424,7 @@ func validateEvidenceMetadata(metadata EvidenceMetadata) error { } if metadata.Authoritative { for name, value := range map[string]string{ - "artifact": metadata.ArtifactSHA256, "corpus": metadata.CorpusSHA256, "policy": metadata.PolicySHA256, + "artifact": metadata.ArtifactSHA256, "corpus": metadata.CorpusSHA256, "broad corpus": metadata.BroadCorpusSHA256, "policy": metadata.PolicySHA256, "budget": metadata.BudgetSHA256, "identity": metadata.IdentitySHA256, "report schema": metadata.ReportSchemaSHA256, } { if len(value) != sha256HexLength { diff --git a/internal/pii/evaluation/metrics_test.go b/internal/pii/evaluation/metrics_test.go index bc09fa7..6dbc7b0 100644 --- a/internal/pii/evaluation/metrics_test.go +++ b/internal/pii/evaluation/metrics_test.go @@ -246,7 +246,7 @@ func testMetadata() EvidenceMetadata { return EvidenceMetadata{ GitCommit: "fixture-commit", Backend: "distilbert", ModelRevision: "fixture-model", Variant: "int8", ArtifactSHA256: hash, RuntimeVersion: "fixture-runtime", - ContainerImage: "fixture-image", Platform: "linux-amd64", HardwareProfile: "local", RunnerName: "fixture-runner", CorpusSHA256: hash, + ContainerImage: "fixture-image", Platform: "linux-amd64", HardwareProfile: "local", RunnerName: "fixture-runner", CorpusSHA256: hash, BroadCorpusSHA256: hash, PolicySHA256: hash, BudgetSHA256: hash, IdentitySHA256: hash, ReportSchemaSHA256: hash, Artifacts: []ArtifactIdentity{{Name: "fixture-component", SHA256: hash, SizeBytes: 1}}, EvidenceAuthority: AuthorityLocal, Authoritative: false, diff --git a/internal/pii/evaluation/synthetic.go b/internal/pii/evaluation/synthetic.go new file mode 100644 index 0000000..ecdc385 --- /dev/null +++ b/internal/pii/evaluation/synthetic.go @@ -0,0 +1,207 @@ +package evaluation + +import ( + "crypto/sha256" + "encoding/base64" + "encoding/hex" + "fmt" + "strings" +) + +const ( + SyntheticSecretGenerator = "hs-privacy-structural" + SyntheticSecretVersion = 1 +) + +type SyntheticProvenance struct { + Generator string `json:"generator"` + Version int `json:"version"` + Seed string `json:"seed"` + Recipe string `json:"recipe"` + Purpose string `json:"purpose"` +} + +var syntheticRecipes = func() map[string]bool { + out := make(map[string]bool, len(RequiredSecretFamilies)+3) + for _, family := range RequiredSecretFamilies { + out[family] = true + } + out["checksum"] = true + out["redacted-marker"] = true + out["command-secret"] = true + return out +}() + +// GenerateSyntheticValue deterministically produces structurally realistic, +// offline-only fixture material. Provenance lives outside the generated text; +// validators recompute every declared value byte-for-byte. +func GenerateSyntheticValue(provenance SyntheticProvenance) (string, error) { + if provenance.Generator != SyntheticSecretGenerator || provenance.Version != SyntheticSecretVersion { + return "", fmt.Errorf("unsupported synthetic generator %q version %d", provenance.Generator, provenance.Version) + } + if !idPattern.MatchString(provenance.Seed) { + return "", fmt.Errorf("invalid synthetic seed %q", provenance.Seed) + } + if !syntheticRecipes[provenance.Recipe] { + return "", fmt.Errorf("unsupported synthetic recipe %q", provenance.Recipe) + } + if provenance.Purpose != "must-detect" && provenance.Purpose != "preserve" { + return "", fmt.Errorf("unsupported synthetic purpose %q", provenance.Purpose) + } + if provenance.Purpose == "preserve" { + return generateSyntheticNearMiss(provenance) + } + return generateSyntheticCredential(provenance) +} + +func generateSyntheticCredential(provenance SyntheticProvenance) (string, error) { + switch provenance.Recipe { + case "api-key": + return "ak_" + syntheticAlphabet(provenance, "api", upperAlphaNumeric, 32), nil + case "access-token": + return "access_token_" + syntheticAlphabet(provenance, "access", alphaNumeric, 40), nil + case "oauth-token": + return "oat2_" + syntheticAlphabet(provenance, "oauth", alphaNumericDash, 52), nil + case "password": + return "R7!" + syntheticAlphabet(provenance, "password", alphaNumeric, 14) + "#q2", nil + case "jwt": + header := base64.RawURLEncoding.EncodeToString([]byte(`{"alg":"HS256","typ":"JWT"}`)) + payload := base64.RawURLEncoding.EncodeToString([]byte(`{"sub":"offline-fixture","aud":"privacy-eval"}`)) + signature := syntheticAlphabet(provenance, "jwt-signature", alphaNumericDash, 43) + return header + "." + payload + "." + signature, nil + case "one-time-code": + return syntheticDigits(provenance, "otp", 8), nil + case "private-key": + body := syntheticBase64(provenance, "private-key", 192) + return "-----BEGIN SECRET-KEYX-----\n" + wrapFixed(body, 64) + "\n-----END SECRET-KEYX-----", nil + case "database-connection": + user := "svc_" + syntheticAlphabet(provenance, "db-user", lowerAlphaNumeric, 8) + password := "P9!" + syntheticAlphabet(provenance, "db-password", alphaNumeric, 18) + return "postgresql://" + user + ":" + password + "@192.0.2.42:5432/support", nil + case "cookie-authorization": + return "session=" + syntheticAlphabet(provenance, "cookie", alphaNumericDash, 48), nil + case "webhook-secret": + return "whsig_" + syntheticAlphabet(provenance, "webhook", alphaNumeric, 40), nil + case "cloud-credential": + return "CLDX" + syntheticAlphabet(provenance, "cloud", upperAlphaNumeric, 16), nil + case "source-control-token": + return "scm_" + syntheticAlphabet(provenance, "source-control", alphaNumeric, 36), nil + case "payment-credential": + return "paylive_" + syntheticAlphabet(provenance, "payment", alphaNumeric, 32), nil + case "observability-token": + return "obsap_" + syntheticHex(provenance, "observability", 32), nil + case "command-secret": + return "cmdtok_" + syntheticAlphabet(provenance, "command", alphaNumericDash, 40), nil + default: + return "", fmt.Errorf("synthetic recipe %q cannot produce a must-detect credential", provenance.Recipe) + } +} + +func generateSyntheticNearMiss(provenance SyntheticProvenance) (string, error) { + switch provenance.Recipe { + case "api-key": + return "api_key_name", nil + case "access-token": + return "access_token", nil + case "oauth-token": + return "Bearer", nil + case "password": + return "password_hash_algorithm", nil + case "jwt": + return "header.payload.signature", nil + case "one-time-code": + return syntheticDigits(provenance, "public-reference", 8), nil + case "private-key": + body := syntheticBase64(provenance, "public-key", 96) + return "-----BEGIN PUBLIC KEY-----\n" + wrapFixed(body, 64) + "\n-----END PUBLIC KEY-----", nil + case "database-connection": + return "postgresql://192.0.2.42:5432/support", nil + case "cookie-authorization": + return "SameSite=Strict", nil + case "webhook-secret": + return "event.delivery.created", nil + case "cloud-credential": + return syntheticDigits(provenance, "cloud-account", 12), nil + case "source-control-token": + return syntheticSafeHex(provenance, "commit", 40), nil + case "payment-credential": + return "pk_live_" + syntheticAlphabet(provenance, "publishable", alphaNumeric, 32), nil + case "observability-token": + return syntheticSafeHex(provenance, "trace", 32), nil + case "checksum": + return syntheticSafeHex(provenance, "checksum", 64), nil + case "redacted-marker": + return SecretMarker, nil + default: + return "", fmt.Errorf("synthetic recipe %q cannot produce a preservation near miss", provenance.Recipe) + } +} + +const ( + upperAlphaNumeric = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" + lowerAlphaNumeric = "abcdefghijklmnopqrstuvwxyz0123456789" + alphaNumeric = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789" + alphaNumericDash = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_" +) + +func syntheticAlphabet(provenance SyntheticProvenance, label, alphabet string, length int) string { + stream := syntheticStream(provenance, label, length) + var out strings.Builder + out.Grow(length) + for _, value := range stream { + out.WriteByte(alphabet[int(value)%len(alphabet)]) + } + return out.String() +} + +func syntheticDigits(provenance SyntheticProvenance, label string, length int) string { + return syntheticAlphabet(provenance, label, "0123456789", length) +} + +func syntheticHex(provenance SyntheticProvenance, label string, length int) string { + bytesNeeded := (length + 1) / 2 + return hex.EncodeToString(syntheticStream(provenance, label, bytesNeeded))[:length] +} + +func syntheticSafeHex(provenance SyntheticProvenance, label string, length int) string { + stream := syntheticStream(provenance, label, length) + const letters = "abcdef" + const hexadecimal = "abcdef0123456789" + var out strings.Builder + out.Grow(length) + for index, value := range stream { + alphabet := hexadecimal + if index%3 == 0 { + alphabet = letters + } + out.WriteByte(alphabet[int(value)%len(alphabet)]) + } + return out.String() +} + +func syntheticBase64(provenance SyntheticProvenance, label string, bytesNeeded int) string { + return base64.StdEncoding.EncodeToString(syntheticStream(provenance, label, bytesNeeded)) +} + +func syntheticStream(provenance SyntheticProvenance, label string, length int) []byte { + out := make([]byte, 0, length) + for counter := 0; len(out) < length; counter++ { + input := fmt.Sprintf("%s|%d|%s|%s|%s|%s|%d", provenance.Generator, provenance.Version, + provenance.Seed, provenance.Recipe, provenance.Purpose, label, counter) + digest := sha256.Sum256([]byte(input)) + out = append(out, digest[:]...) + } + return out[:length] +} + +func wrapFixed(value string, width int) string { + lines := make([]string, 0, (len(value)+width-1)/width) + for len(value) > width { + lines = append(lines, value[:width]) + value = value[width:] + } + if value != "" { + lines = append(lines, value) + } + return strings.Join(lines, "\n") +} diff --git a/internal/pii/ner/g0_baseline_test.go b/internal/pii/ner/g0_baseline_test.go index 1a4bde1..4daa2a0 100644 --- a/internal/pii/ner/g0_baseline_test.go +++ b/internal/pii/ner/g0_baseline_test.go @@ -53,6 +53,15 @@ func TestDistilBERTTypedCorpusBaseline(t *testing.T) { t.Fatalf("load typed privacy corpus: %v", err) } metadata.CorpusSHA256 = corpus.Fingerprint + broad, err := evaluation.LoadBroadCorpusDir(filepath.Join(fixtureDir, "..", "broad", "v1")) + if err != nil { + t.Fatalf("load locked broad quality corpus: %v", err) + } + metadata.BroadCorpusSHA256 = broad.Fingerprint + combinedCases := make([]evaluation.Case, 0, len(corpus.Cases)+len(broad.Cases)) + combinedCases = append(combinedCases, corpus.Cases...) + combinedCases = append(combinedCases, broad.Cases...) + evaluationCorpus := &evaluation.Corpus{Cases: combinedCases} if _, err := evaluation.LoadPolicy(filepath.Join(fixtureDir, "policy.json")); err != nil { t.Fatalf("load frozen typed policy: %v", err) } @@ -82,8 +91,8 @@ func TestDistilBERTTypedCorpusBaseline(t *testing.T) { t.Fatalf("construct baseline pseudonym context: %v", err) } - observations := make([]evaluation.CaseObservation, 0, len(corpus.Cases)) - for _, fixture := range corpus.Cases { + observations := make([]evaluation.CaseObservation, 0, len(evaluationCorpus.Cases)) + for _, fixture := range evaluationCorpus.Cases { if err := ctx.Err(); err != nil { t.Fatalf("DistilBERT baseline timed out after case %q: %v", fixture.ID, err) } @@ -124,7 +133,7 @@ func TestDistilBERTTypedCorpusBaseline(t *testing.T) { }) } - report, err := evaluation.Evaluate(corpus, observations, metadata) + report, err := evaluation.Evaluate(evaluationCorpus, observations, metadata) if err != nil { t.Fatalf("evaluate DistilBERT baseline: %v", err) } diff --git a/internal/pii/testdata/privacy-filter/broad/v1/account-identifiers.json b/internal/pii/testdata/privacy-filter/broad/v1/account-identifiers.json new file mode 100644 index 0000000..d2777a9 --- /dev/null +++ b/internal/pii/testdata/privacy-filter/broad/v1/account-identifiers.json @@ -0,0 +1,206 @@ +{ + "schema": 1, + "partition": "account-identifiers", + "cases": [ + {"id":"broad-account-redact-000","language":"en","script":"Latin","shape":"prose","risk":"high","reason":"Locked broad account identifier variation.","text":"Customer account reference: CUST-0000-TUH4UQ36","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":28,"end":46,"value":"CUST-0000-TUH4UQ36","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0000-TUH4UQ36"]},"customers":{"required_absent":["CUST-0000-TUH4UQ36"],"required_present":[]},"all":{"required_absent":["CUST-0000-TUH4UQ36"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-000","language":"en","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad account identifier variation.","text":"Published documentation reference: DOC-0000-0TXWZKB4","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":35,"end":52,"value":"DOC-0000-0TXWZKB4","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0000-0TXWZKB4"]},"customers":{"required_absent":[],"required_present":["DOC-0000-0TXWZKB4"]},"all":{"required_absent":[],"required_present":["DOC-0000-0TXWZKB4"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-001","language":"en","script":"Latin","shape":"json","risk":"high","reason":"Locked broad account identifier variation.","text":"{\"message_1\":\"Customer account reference: CUST-0001-3STQMQ8L\"}","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":42,"end":60,"value":"CUST-0001-3STQMQ8L","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0001-3STQMQ8L"]},"customers":{"required_absent":["CUST-0001-3STQMQ8L"],"required_present":[]},"all":{"required_absent":["CUST-0001-3STQMQ8L"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-001","language":"en","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad account identifier variation.","text":"{\"message_1\":\"Published documentation reference: DOC-0001-WMPL60F1\"}","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":49,"end":66,"value":"DOC-0001-WMPL60F1","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0001-WMPL60F1"]},"customers":{"required_absent":[],"required_present":["DOC-0001-WMPL60F1"]},"all":{"required_absent":[],"required_present":["DOC-0001-WMPL60F1"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-002","language":"en","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad account identifier variation.","text":"message_2: Customer account reference: CUST-0002-MDS6LULB","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":39,"end":57,"value":"CUST-0002-MDS6LULB","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0002-MDS6LULB"]},"customers":{"required_absent":["CUST-0002-MDS6LULB"],"required_present":[]},"all":{"required_absent":["CUST-0002-MDS6LULB"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-002","language":"en","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad account identifier variation.","text":"message_2: Published documentation reference: DOC-0002-M6DKJTE3","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":46,"end":63,"value":"DOC-0002-M6DKJTE3","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0002-M6DKJTE3"]},"customers":{"required_absent":[],"required_present":["DOC-0002-M6DKJTE3"]},"all":{"required_absent":[],"required_present":["DOC-0002-M6DKJTE3"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-003","language":"en","script":"Latin","shape":"shell","risk":"high","reason":"Locked broad account identifier variation.","text":"MESSAGE_3='Customer account reference: CUST-0003-ZWXH0SFM'","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":39,"end":57,"value":"CUST-0003-ZWXH0SFM","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0003-ZWXH0SFM"]},"customers":{"required_absent":["CUST-0003-ZWXH0SFM"],"required_present":[]},"all":{"required_absent":["CUST-0003-ZWXH0SFM"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-003","language":"en","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad account identifier variation.","text":"MESSAGE_3='Published documentation reference: DOC-0003-PH23PHFY'","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":46,"end":63,"value":"DOC-0003-PH23PHFY","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0003-PH23PHFY"]},"customers":{"required_absent":[],"required_present":["DOC-0003-PH23PHFY"]},"all":{"required_absent":[],"required_present":["DOC-0003-PH23PHFY"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-004","language":"en","script":"Latin","shape":"url","risk":"high","reason":"Locked broad account identifier variation.","text":"endpoint=https://192.0.2.10/4 ; Customer account reference: CUST-0004-Y8VVQXIC","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":60,"end":78,"value":"CUST-0004-Y8VVQXIC","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0004-Y8VVQXIC"]},"customers":{"required_absent":["CUST-0004-Y8VVQXIC"],"required_present":[]},"all":{"required_absent":["CUST-0004-Y8VVQXIC"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-004","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad account identifier variation.","text":"endpoint=https://192.0.2.10/4 ; Published documentation reference: DOC-0004-KOHMLNMI","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":67,"end":84,"value":"DOC-0004-KOHMLNMI","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0004-KOHMLNMI"]},"customers":{"required_absent":[],"required_present":["DOC-0004-KOHMLNMI"]},"all":{"required_absent":[],"required_present":["DOC-0004-KOHMLNMI"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-005","language":"en","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad account identifier variation.","text":"**Customer account reference: CUST-0005-07SJ18MJ**","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":30,"end":48,"value":"CUST-0005-07SJ18MJ","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0005-07SJ18MJ"]},"customers":{"required_absent":["CUST-0005-07SJ18MJ"],"required_present":[]},"all":{"required_absent":["CUST-0005-07SJ18MJ"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-005","language":"en","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad account identifier variation.","text":"**Published documentation reference: DOC-0005-MO2ZL8ZG**","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":37,"end":54,"value":"DOC-0005-MO2ZL8ZG","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0005-MO2ZL8ZG"]},"customers":{"required_absent":[],"required_present":["DOC-0005-MO2ZL8ZG"]},"all":{"required_absent":[],"required_present":["DOC-0005-MO2ZL8ZG"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-006","language":"en","script":"Latin","shape":"html","risk":"high","reason":"Locked broad account identifier variation.","text":"\u003cp\u003eCustomer account reference: CUST-0006-MGT6FRVY\u003c/p\u003e","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":31,"end":49,"value":"CUST-0006-MGT6FRVY","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0006-MGT6FRVY"]},"customers":{"required_absent":["CUST-0006-MGT6FRVY"],"required_present":[]},"all":{"required_absent":["CUST-0006-MGT6FRVY"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-006","language":"en","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad account identifier variation.","text":"\u003cp\u003ePublished documentation reference: DOC-0006-QM0ETO9J\u003c/p\u003e","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":38,"end":55,"value":"DOC-0006-QM0ETO9J","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0006-QM0ETO9J"]},"customers":{"required_absent":[],"required_present":["DOC-0006-QM0ETO9J"]},"all":{"required_absent":[],"required_present":["DOC-0006-QM0ETO9J"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-007","language":"en","script":"Latin","shape":"quoted-reply","risk":"high","reason":"Locked broad account identifier variation.","text":"\u003e Customer account reference: CUST-0007-04LJBYKE","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":30,"end":48,"value":"CUST-0007-04LJBYKE","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0007-04LJBYKE"]},"customers":{"required_absent":["CUST-0007-04LJBYKE"],"required_present":[]},"all":{"required_absent":["CUST-0007-04LJBYKE"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-007","language":"en","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad account identifier variation.","text":"\u003e Published documentation reference: DOC-0007-K83ILMB7","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":37,"end":54,"value":"DOC-0007-K83ILMB7","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0007-K83ILMB7"]},"customers":{"required_absent":[],"required_present":["DOC-0007-K83ILMB7"]},"all":{"required_absent":[],"required_present":["DOC-0007-K83ILMB7"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-008","language":"en","script":"Latin","shape":"log","risk":"high","reason":"Locked broad account identifier variation.","text":"level=warn sample=8 message=\"Customer account reference: \" value=CUST-0008-BJZQP73E","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":65,"end":83,"value":"CUST-0008-BJZQP73E","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0008-BJZQP73E"]},"customers":{"required_absent":["CUST-0008-BJZQP73E"],"required_present":[]},"all":{"required_absent":["CUST-0008-BJZQP73E"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-008","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad account identifier variation.","text":"level=warn sample=8 message=\"Published documentation reference: \" value=DOC-0008-Y681WTI8","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":72,"end":89,"value":"DOC-0008-Y681WTI8","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0008-Y681WTI8"]},"customers":{"required_absent":[],"required_present":["DOC-0008-Y681WTI8"]},"all":{"required_absent":[],"required_present":["DOC-0008-Y681WTI8"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-009","language":"en","script":"Latin","shape":"stack-trace","risk":"high","reason":"Locked broad account identifier variation.","text":"Trace[9]: Customer account reference: CUST-0009-ZUYEDVSM","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":38,"end":56,"value":"CUST-0009-ZUYEDVSM","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0009-ZUYEDVSM"]},"customers":{"required_absent":["CUST-0009-ZUYEDVSM"],"required_present":[]},"all":{"required_absent":["CUST-0009-ZUYEDVSM"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-009","language":"en","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad account identifier variation.","text":"Trace[9]: Published documentation reference: DOC-0009-Z8GUK1Y6","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":45,"end":62,"value":"DOC-0009-Z8GUK1Y6","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0009-Z8GUK1Y6"]},"customers":{"required_absent":[],"required_present":["DOC-0009-Z8GUK1Y6"]},"all":{"required_absent":[],"required_present":["DOC-0009-Z8GUK1Y6"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-010","language":"en","script":"Latin","shape":"code","risk":"high","reason":"Locked broad account identifier variation.","text":"fixture_10 := `Customer account reference: CUST-0010-FJ8D9ETB`","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":43,"end":61,"value":"CUST-0010-FJ8D9ETB","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0010-FJ8D9ETB"]},"customers":{"required_absent":["CUST-0010-FJ8D9ETB"],"required_present":[]},"all":{"required_absent":["CUST-0010-FJ8D9ETB"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-010","language":"en","script":"Latin","shape":"code","risk":"preservation","reason":"Locked broad account identifier variation.","text":"fixture_10 := `Published documentation reference: DOC-0010-0GMTQN01`","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":50,"end":67,"value":"DOC-0010-0GMTQN01","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0010-0GMTQN01"]},"customers":{"required_absent":[],"required_present":["DOC-0010-0GMTQN01"]},"all":{"required_absent":[],"required_present":["DOC-0010-0GMTQN01"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-011","language":"en","script":"Latin","shape":"signature","risk":"high","reason":"Locked broad account identifier variation.","text":"--\nCustomer account reference: CUST-0011-8USCHSVL","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":31,"end":49,"value":"CUST-0011-8USCHSVL","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0011-8USCHSVL"]},"customers":{"required_absent":["CUST-0011-8USCHSVL"],"required_present":[]},"all":{"required_absent":["CUST-0011-8USCHSVL"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-011","language":"en","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad account identifier variation.","text":"--\nPublished documentation reference: DOC-0011-OIT7Q1S1","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":38,"end":55,"value":"DOC-0011-OIT7Q1S1","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0011-OIT7Q1S1"]},"customers":{"required_absent":[],"required_present":["DOC-0011-OIT7Q1S1"]},"all":{"required_absent":[],"required_present":["DOC-0011-OIT7Q1S1"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-012","language":"en","script":"Latin","shape":"long-thread","risk":"high","reason":"Locked broad account identifier variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Customer account reference: CUST-0012-SBBRFZB9","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":508,"end":526,"value":"CUST-0012-SBBRFZB9","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0012-SBBRFZB9"]},"customers":{"required_absent":["CUST-0012-SBBRFZB9"],"required_present":[]},"all":{"required_absent":["CUST-0012-SBBRFZB9"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-012","language":"en","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad account identifier variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Published documentation reference: DOC-0012-9I2ECLOM","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":515,"end":532,"value":"DOC-0012-9I2ECLOM","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0012-9I2ECLOM"]},"customers":{"required_absent":[],"required_present":["DOC-0012-9I2ECLOM"]},"all":{"required_absent":[],"required_present":["DOC-0012-9I2ECLOM"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-013","language":"en","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad account identifier variation.","text":"--sample=13 --message=\"Customer account reference: \" --value=CUST-0013-LEE7NYXX","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":61,"end":79,"value":"CUST-0013-LEE7NYXX","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0013-LEE7NYXX"]},"customers":{"required_absent":["CUST-0013-LEE7NYXX"],"required_present":[]},"all":{"required_absent":["CUST-0013-LEE7NYXX"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-013","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad account identifier variation.","text":"--sample=13 --message=\"Published documentation reference: \" --value=DOC-0013-GYHOVEGG","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":68,"end":85,"value":"DOC-0013-GYHOVEGG","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0013-GYHOVEGG"]},"customers":{"required_absent":[],"required_present":["DOC-0013-GYHOVEGG"]},"all":{"required_absent":[],"required_present":["DOC-0013-GYHOVEGG"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-014","language":"en","script":"Latin","shape":"prose","risk":"high","reason":"Locked broad account identifier variation.","text":"Customer account reference: CUST-0014-GM2WQTFS","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":28,"end":46,"value":"CUST-0014-GM2WQTFS","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0014-GM2WQTFS"]},"customers":{"required_absent":["CUST-0014-GM2WQTFS"],"required_present":[]},"all":{"required_absent":["CUST-0014-GM2WQTFS"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-014","language":"en","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad account identifier variation.","text":"Published documentation reference: DOC-0014-SNSAWJ4W","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":35,"end":52,"value":"DOC-0014-SNSAWJ4W","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0014-SNSAWJ4W"]},"customers":{"required_absent":[],"required_present":["DOC-0014-SNSAWJ4W"]},"all":{"required_absent":[],"required_present":["DOC-0014-SNSAWJ4W"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-015","language":"en","script":"Latin","shape":"json","risk":"high","reason":"Locked broad account identifier variation.","text":"{\"message_15\":\"Customer account reference: CUST-0015-2W20LZAZ\"}","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":43,"end":61,"value":"CUST-0015-2W20LZAZ","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0015-2W20LZAZ"]},"customers":{"required_absent":["CUST-0015-2W20LZAZ"],"required_present":[]},"all":{"required_absent":["CUST-0015-2W20LZAZ"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-015","language":"en","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad account identifier variation.","text":"{\"message_15\":\"Published documentation reference: DOC-0015-D2BTMRYJ\"}","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":50,"end":67,"value":"DOC-0015-D2BTMRYJ","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0015-D2BTMRYJ"]},"customers":{"required_absent":[],"required_present":["DOC-0015-D2BTMRYJ"]},"all":{"required_absent":[],"required_present":["DOC-0015-D2BTMRYJ"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-016","language":"en","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad account identifier variation.","text":"message_16: Customer account reference: CUST-0016-KVTT4CZQ","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":40,"end":58,"value":"CUST-0016-KVTT4CZQ","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0016-KVTT4CZQ"]},"customers":{"required_absent":["CUST-0016-KVTT4CZQ"],"required_present":[]},"all":{"required_absent":["CUST-0016-KVTT4CZQ"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-016","language":"en","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad account identifier variation.","text":"message_16: Published documentation reference: DOC-0016-YPDF30BF","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":47,"end":64,"value":"DOC-0016-YPDF30BF","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0016-YPDF30BF"]},"customers":{"required_absent":[],"required_present":["DOC-0016-YPDF30BF"]},"all":{"required_absent":[],"required_present":["DOC-0016-YPDF30BF"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-017","language":"en","script":"Latin","shape":"shell","risk":"high","reason":"Locked broad account identifier variation.","text":"MESSAGE_17='Customer account reference: CUST-0017-AQPCMOG9'","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":40,"end":58,"value":"CUST-0017-AQPCMOG9","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0017-AQPCMOG9"]},"customers":{"required_absent":["CUST-0017-AQPCMOG9"],"required_present":[]},"all":{"required_absent":["CUST-0017-AQPCMOG9"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-017","language":"en","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad account identifier variation.","text":"MESSAGE_17='Published documentation reference: DOC-0017-EAQ021T6'","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":47,"end":64,"value":"DOC-0017-EAQ021T6","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0017-EAQ021T6"]},"customers":{"required_absent":[],"required_present":["DOC-0017-EAQ021T6"]},"all":{"required_absent":[],"required_present":["DOC-0017-EAQ021T6"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-018","language":"en","script":"Latin","shape":"url","risk":"high","reason":"Locked broad account identifier variation.","text":"endpoint=https://192.0.2.10/18 ; Customer account reference: CUST-0018-8W1ZU6AO","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":61,"end":79,"value":"CUST-0018-8W1ZU6AO","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0018-8W1ZU6AO"]},"customers":{"required_absent":["CUST-0018-8W1ZU6AO"],"required_present":[]},"all":{"required_absent":["CUST-0018-8W1ZU6AO"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-018","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad account identifier variation.","text":"endpoint=https://192.0.2.10/18 ; Published documentation reference: DOC-0018-S49PTPIS","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":68,"end":85,"value":"DOC-0018-S49PTPIS","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0018-S49PTPIS"]},"customers":{"required_absent":[],"required_present":["DOC-0018-S49PTPIS"]},"all":{"required_absent":[],"required_present":["DOC-0018-S49PTPIS"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-019","language":"en","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad account identifier variation.","text":"**Customer account reference: CUST-0019-XOD6EX03**","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":30,"end":48,"value":"CUST-0019-XOD6EX03","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0019-XOD6EX03"]},"customers":{"required_absent":["CUST-0019-XOD6EX03"],"required_present":[]},"all":{"required_absent":["CUST-0019-XOD6EX03"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-019","language":"en","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad account identifier variation.","text":"**Published documentation reference: DOC-0019-MRHAP1O6**","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":37,"end":54,"value":"DOC-0019-MRHAP1O6","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0019-MRHAP1O6"]},"customers":{"required_absent":[],"required_present":["DOC-0019-MRHAP1O6"]},"all":{"required_absent":[],"required_present":["DOC-0019-MRHAP1O6"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-020","language":"en","script":"Latin","shape":"html","risk":"high","reason":"Locked broad account identifier variation.","text":"\u003cp\u003eCustomer account reference: CUST-0020-E7QVMNSG\u003c/p\u003e","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":31,"end":49,"value":"CUST-0020-E7QVMNSG","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0020-E7QVMNSG"]},"customers":{"required_absent":["CUST-0020-E7QVMNSG"],"required_present":[]},"all":{"required_absent":["CUST-0020-E7QVMNSG"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-020","language":"en","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad account identifier variation.","text":"\u003cp\u003ePublished documentation reference: DOC-0020-08U3NETB\u003c/p\u003e","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":38,"end":55,"value":"DOC-0020-08U3NETB","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0020-08U3NETB"]},"customers":{"required_absent":[],"required_present":["DOC-0020-08U3NETB"]},"all":{"required_absent":[],"required_present":["DOC-0020-08U3NETB"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-021","language":"en","script":"Latin","shape":"quoted-reply","risk":"high","reason":"Locked broad account identifier variation.","text":"\u003e Customer account reference: CUST-0021-Q2JTQ7BY","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":30,"end":48,"value":"CUST-0021-Q2JTQ7BY","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0021-Q2JTQ7BY"]},"customers":{"required_absent":["CUST-0021-Q2JTQ7BY"],"required_present":[]},"all":{"required_absent":["CUST-0021-Q2JTQ7BY"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-021","language":"en","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad account identifier variation.","text":"\u003e Published documentation reference: DOC-0021-FO9NQKIG","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":37,"end":54,"value":"DOC-0021-FO9NQKIG","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0021-FO9NQKIG"]},"customers":{"required_absent":[],"required_present":["DOC-0021-FO9NQKIG"]},"all":{"required_absent":[],"required_present":["DOC-0021-FO9NQKIG"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-022","language":"en","script":"Latin","shape":"log","risk":"high","reason":"Locked broad account identifier variation.","text":"level=warn sample=22 message=\"Customer account reference: \" value=CUST-0022-UCNVCIV0","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":66,"end":84,"value":"CUST-0022-UCNVCIV0","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0022-UCNVCIV0"]},"customers":{"required_absent":["CUST-0022-UCNVCIV0"],"required_present":[]},"all":{"required_absent":["CUST-0022-UCNVCIV0"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-022","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad account identifier variation.","text":"level=warn sample=22 message=\"Published documentation reference: \" value=DOC-0022-UN7Z9167","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":73,"end":90,"value":"DOC-0022-UN7Z9167","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0022-UN7Z9167"]},"customers":{"required_absent":[],"required_present":["DOC-0022-UN7Z9167"]},"all":{"required_absent":[],"required_present":["DOC-0022-UN7Z9167"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-023","language":"en","script":"Latin","shape":"stack-trace","risk":"high","reason":"Locked broad account identifier variation.","text":"Trace[23]: Customer account reference: CUST-0023-Q664HPCT","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":39,"end":57,"value":"CUST-0023-Q664HPCT","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0023-Q664HPCT"]},"customers":{"required_absent":["CUST-0023-Q664HPCT"],"required_present":[]},"all":{"required_absent":["CUST-0023-Q664HPCT"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-023","language":"en","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad account identifier variation.","text":"Trace[23]: Published documentation reference: DOC-0023-HHLUPVQD","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":46,"end":63,"value":"DOC-0023-HHLUPVQD","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0023-HHLUPVQD"]},"customers":{"required_absent":[],"required_present":["DOC-0023-HHLUPVQD"]},"all":{"required_absent":[],"required_present":["DOC-0023-HHLUPVQD"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-024","language":"en","script":"Latin","shape":"code","risk":"high","reason":"Locked broad account identifier variation.","text":"fixture_24 := `Customer account reference: CUST-0024-PO3EB4GF`","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":43,"end":61,"value":"CUST-0024-PO3EB4GF","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0024-PO3EB4GF"]},"customers":{"required_absent":["CUST-0024-PO3EB4GF"],"required_present":[]},"all":{"required_absent":["CUST-0024-PO3EB4GF"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-024","language":"en","script":"Latin","shape":"code","risk":"preservation","reason":"Locked broad account identifier variation.","text":"fixture_24 := `Published documentation reference: DOC-0024-FXABJ6XG`","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":50,"end":67,"value":"DOC-0024-FXABJ6XG","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0024-FXABJ6XG"]},"customers":{"required_absent":[],"required_present":["DOC-0024-FXABJ6XG"]},"all":{"required_absent":[],"required_present":["DOC-0024-FXABJ6XG"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-025","language":"en","script":"Latin","shape":"signature","risk":"high","reason":"Locked broad account identifier variation.","text":"--\nCustomer account reference: CUST-0025-1BZP0KBP","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":31,"end":49,"value":"CUST-0025-1BZP0KBP","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0025-1BZP0KBP"]},"customers":{"required_absent":["CUST-0025-1BZP0KBP"],"required_present":[]},"all":{"required_absent":["CUST-0025-1BZP0KBP"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-025","language":"en","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad account identifier variation.","text":"--\nPublished documentation reference: DOC-0025-9EVFNGYZ","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":38,"end":55,"value":"DOC-0025-9EVFNGYZ","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0025-9EVFNGYZ"]},"customers":{"required_absent":[],"required_present":["DOC-0025-9EVFNGYZ"]},"all":{"required_absent":[],"required_present":["DOC-0025-9EVFNGYZ"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-026","language":"en","script":"Latin","shape":"long-thread","risk":"high","reason":"Locked broad account identifier variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Customer account reference: CUST-0026-8OU4PFHH","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":508,"end":526,"value":"CUST-0026-8OU4PFHH","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0026-8OU4PFHH"]},"customers":{"required_absent":["CUST-0026-8OU4PFHH"],"required_present":[]},"all":{"required_absent":["CUST-0026-8OU4PFHH"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-026","language":"en","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad account identifier variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Published documentation reference: DOC-0026-4BKHOOAQ","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":515,"end":532,"value":"DOC-0026-4BKHOOAQ","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0026-4BKHOOAQ"]},"customers":{"required_absent":[],"required_present":["DOC-0026-4BKHOOAQ"]},"all":{"required_absent":[],"required_present":["DOC-0026-4BKHOOAQ"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-027","language":"en","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad account identifier variation.","text":"--sample=27 --message=\"Customer account reference: \" --value=CUST-0027-V27QCSX8","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":61,"end":79,"value":"CUST-0027-V27QCSX8","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0027-V27QCSX8"]},"customers":{"required_absent":["CUST-0027-V27QCSX8"],"required_present":[]},"all":{"required_absent":["CUST-0027-V27QCSX8"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-027","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad account identifier variation.","text":"--sample=27 --message=\"Published documentation reference: \" --value=DOC-0027-QAN2HWH2","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":68,"end":85,"value":"DOC-0027-QAN2HWH2","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0027-QAN2HWH2"]},"customers":{"required_absent":[],"required_present":["DOC-0027-QAN2HWH2"]},"all":{"required_absent":[],"required_present":["DOC-0027-QAN2HWH2"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-028","language":"en","script":"Latin","shape":"prose","risk":"high","reason":"Locked broad account identifier variation.","text":"Customer account reference: CUST-0028-TUMHZQ1F","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":28,"end":46,"value":"CUST-0028-TUMHZQ1F","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0028-TUMHZQ1F"]},"customers":{"required_absent":["CUST-0028-TUMHZQ1F"],"required_present":[]},"all":{"required_absent":["CUST-0028-TUMHZQ1F"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-028","language":"en","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad account identifier variation.","text":"Published documentation reference: DOC-0028-QVVLAJZZ","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":35,"end":52,"value":"DOC-0028-QVVLAJZZ","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0028-QVVLAJZZ"]},"customers":{"required_absent":[],"required_present":["DOC-0028-QVVLAJZZ"]},"all":{"required_absent":[],"required_present":["DOC-0028-QVVLAJZZ"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-029","language":"en","script":"Latin","shape":"json","risk":"high","reason":"Locked broad account identifier variation.","text":"{\"message_29\":\"Customer account reference: CUST-0029-HS306DGP\"}","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":43,"end":61,"value":"CUST-0029-HS306DGP","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0029-HS306DGP"]},"customers":{"required_absent":["CUST-0029-HS306DGP"],"required_present":[]},"all":{"required_absent":["CUST-0029-HS306DGP"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-029","language":"en","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad account identifier variation.","text":"{\"message_29\":\"Published documentation reference: DOC-0029-88OIRA38\"}","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":50,"end":67,"value":"DOC-0029-88OIRA38","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0029-88OIRA38"]},"customers":{"required_absent":[],"required_present":["DOC-0029-88OIRA38"]},"all":{"required_absent":[],"required_present":["DOC-0029-88OIRA38"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-030","language":"en","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad account identifier variation.","text":"message_30: Customer account reference: CUST-0030-T4SQNVP3","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":40,"end":58,"value":"CUST-0030-T4SQNVP3","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0030-T4SQNVP3"]},"customers":{"required_absent":["CUST-0030-T4SQNVP3"],"required_present":[]},"all":{"required_absent":["CUST-0030-T4SQNVP3"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-030","language":"en","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad account identifier variation.","text":"message_30: Published documentation reference: DOC-0030-U5K08GQ0","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":47,"end":64,"value":"DOC-0030-U5K08GQ0","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0030-U5K08GQ0"]},"customers":{"required_absent":[],"required_present":["DOC-0030-U5K08GQ0"]},"all":{"required_absent":[],"required_present":["DOC-0030-U5K08GQ0"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-031","language":"en","script":"Latin","shape":"shell","risk":"high","reason":"Locked broad account identifier variation.","text":"MESSAGE_31='Customer account reference: CUST-0031-RZC6GF2C'","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":40,"end":58,"value":"CUST-0031-RZC6GF2C","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0031-RZC6GF2C"]},"customers":{"required_absent":["CUST-0031-RZC6GF2C"],"required_present":[]},"all":{"required_absent":["CUST-0031-RZC6GF2C"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-031","language":"en","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad account identifier variation.","text":"MESSAGE_31='Published documentation reference: DOC-0031-UVP0EWBK'","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":47,"end":64,"value":"DOC-0031-UVP0EWBK","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0031-UVP0EWBK"]},"customers":{"required_absent":[],"required_present":["DOC-0031-UVP0EWBK"]},"all":{"required_absent":[],"required_present":["DOC-0031-UVP0EWBK"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-032","language":"en","script":"Latin","shape":"url","risk":"high","reason":"Locked broad account identifier variation.","text":"endpoint=https://192.0.2.10/32 ; Customer account reference: CUST-0032-M3UHDN62","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":61,"end":79,"value":"CUST-0032-M3UHDN62","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0032-M3UHDN62"]},"customers":{"required_absent":["CUST-0032-M3UHDN62"],"required_present":[]},"all":{"required_absent":["CUST-0032-M3UHDN62"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-032","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad account identifier variation.","text":"endpoint=https://192.0.2.10/32 ; Published documentation reference: DOC-0032-2VJRS3BT","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":68,"end":85,"value":"DOC-0032-2VJRS3BT","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0032-2VJRS3BT"]},"customers":{"required_absent":[],"required_present":["DOC-0032-2VJRS3BT"]},"all":{"required_absent":[],"required_present":["DOC-0032-2VJRS3BT"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-033","language":"en","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad account identifier variation.","text":"**Customer account reference: CUST-0033-J79EFKH4**","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":30,"end":48,"value":"CUST-0033-J79EFKH4","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0033-J79EFKH4"]},"customers":{"required_absent":["CUST-0033-J79EFKH4"],"required_present":[]},"all":{"required_absent":["CUST-0033-J79EFKH4"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-033","language":"en","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad account identifier variation.","text":"**Published documentation reference: DOC-0033-BG8AGYUI**","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":37,"end":54,"value":"DOC-0033-BG8AGYUI","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0033-BG8AGYUI"]},"customers":{"required_absent":[],"required_present":["DOC-0033-BG8AGYUI"]},"all":{"required_absent":[],"required_present":["DOC-0033-BG8AGYUI"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-034","language":"en","script":"Latin","shape":"html","risk":"high","reason":"Locked broad account identifier variation.","text":"\u003cp\u003eCustomer account reference: CUST-0034-4Q9JBNWJ\u003c/p\u003e","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":31,"end":49,"value":"CUST-0034-4Q9JBNWJ","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0034-4Q9JBNWJ"]},"customers":{"required_absent":["CUST-0034-4Q9JBNWJ"],"required_present":[]},"all":{"required_absent":["CUST-0034-4Q9JBNWJ"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-034","language":"en","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad account identifier variation.","text":"\u003cp\u003ePublished documentation reference: DOC-0034-BWD091J8\u003c/p\u003e","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":38,"end":55,"value":"DOC-0034-BWD091J8","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0034-BWD091J8"]},"customers":{"required_absent":[],"required_present":["DOC-0034-BWD091J8"]},"all":{"required_absent":[],"required_present":["DOC-0034-BWD091J8"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-035","language":"en","script":"Latin","shape":"quoted-reply","risk":"high","reason":"Locked broad account identifier variation.","text":"\u003e Customer account reference: CUST-0035-QCNHSDAO","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":30,"end":48,"value":"CUST-0035-QCNHSDAO","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0035-QCNHSDAO"]},"customers":{"required_absent":["CUST-0035-QCNHSDAO"],"required_present":[]},"all":{"required_absent":["CUST-0035-QCNHSDAO"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-035","language":"en","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad account identifier variation.","text":"\u003e Published documentation reference: DOC-0035-TSQ0JAE3","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":37,"end":54,"value":"DOC-0035-TSQ0JAE3","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0035-TSQ0JAE3"]},"customers":{"required_absent":[],"required_present":["DOC-0035-TSQ0JAE3"]},"all":{"required_absent":[],"required_present":["DOC-0035-TSQ0JAE3"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-036","language":"en","script":"Latin","shape":"log","risk":"high","reason":"Locked broad account identifier variation.","text":"level=warn sample=36 message=\"Customer account reference: \" value=CUST-0036-00N1YK74","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":66,"end":84,"value":"CUST-0036-00N1YK74","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0036-00N1YK74"]},"customers":{"required_absent":["CUST-0036-00N1YK74"],"required_present":[]},"all":{"required_absent":["CUST-0036-00N1YK74"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-036","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad account identifier variation.","text":"level=warn sample=36 message=\"Published documentation reference: \" value=DOC-0036-K701KTVD","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":73,"end":90,"value":"DOC-0036-K701KTVD","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0036-K701KTVD"]},"customers":{"required_absent":[],"required_present":["DOC-0036-K701KTVD"]},"all":{"required_absent":[],"required_present":["DOC-0036-K701KTVD"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-037","language":"en","script":"Latin","shape":"stack-trace","risk":"high","reason":"Locked broad account identifier variation.","text":"Trace[37]: Customer account reference: CUST-0037-JMV78UCM","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":39,"end":57,"value":"CUST-0037-JMV78UCM","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0037-JMV78UCM"]},"customers":{"required_absent":["CUST-0037-JMV78UCM"],"required_present":[]},"all":{"required_absent":["CUST-0037-JMV78UCM"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-037","language":"en","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad account identifier variation.","text":"Trace[37]: Published documentation reference: DOC-0037-WU7FWKLA","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":46,"end":63,"value":"DOC-0037-WU7FWKLA","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0037-WU7FWKLA"]},"customers":{"required_absent":[],"required_present":["DOC-0037-WU7FWKLA"]},"all":{"required_absent":[],"required_present":["DOC-0037-WU7FWKLA"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-038","language":"en","script":"Latin","shape":"code","risk":"high","reason":"Locked broad account identifier variation.","text":"fixture_38 := `Customer account reference: CUST-0038-JEJJB2H8`","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":43,"end":61,"value":"CUST-0038-JEJJB2H8","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0038-JEJJB2H8"]},"customers":{"required_absent":["CUST-0038-JEJJB2H8"],"required_present":[]},"all":{"required_absent":["CUST-0038-JEJJB2H8"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-038","language":"en","script":"Latin","shape":"code","risk":"preservation","reason":"Locked broad account identifier variation.","text":"fixture_38 := `Published documentation reference: DOC-0038-VP9D2FQ3`","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":50,"end":67,"value":"DOC-0038-VP9D2FQ3","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0038-VP9D2FQ3"]},"customers":{"required_absent":[],"required_present":["DOC-0038-VP9D2FQ3"]},"all":{"required_absent":[],"required_present":["DOC-0038-VP9D2FQ3"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-039","language":"en","script":"Latin","shape":"signature","risk":"high","reason":"Locked broad account identifier variation.","text":"--\nCustomer account reference: CUST-0039-DBAQZ1AL","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":31,"end":49,"value":"CUST-0039-DBAQZ1AL","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0039-DBAQZ1AL"]},"customers":{"required_absent":["CUST-0039-DBAQZ1AL"],"required_present":[]},"all":{"required_absent":["CUST-0039-DBAQZ1AL"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-039","language":"en","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad account identifier variation.","text":"--\nPublished documentation reference: DOC-0039-DJBKFQ6T","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":38,"end":55,"value":"DOC-0039-DJBKFQ6T","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0039-DJBKFQ6T"]},"customers":{"required_absent":[],"required_present":["DOC-0039-DJBKFQ6T"]},"all":{"required_absent":[],"required_present":["DOC-0039-DJBKFQ6T"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-040","language":"en","script":"Latin","shape":"long-thread","risk":"high","reason":"Locked broad account identifier variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Customer account reference: CUST-0040-8B9USM5O","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":508,"end":526,"value":"CUST-0040-8B9USM5O","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0040-8B9USM5O"]},"customers":{"required_absent":["CUST-0040-8B9USM5O"],"required_present":[]},"all":{"required_absent":["CUST-0040-8B9USM5O"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-040","language":"en","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad account identifier variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Published documentation reference: DOC-0040-J8J9L73Q","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":515,"end":532,"value":"DOC-0040-J8J9L73Q","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0040-J8J9L73Q"]},"customers":{"required_absent":[],"required_present":["DOC-0040-J8J9L73Q"]},"all":{"required_absent":[],"required_present":["DOC-0040-J8J9L73Q"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-041","language":"en","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad account identifier variation.","text":"--sample=41 --message=\"Customer account reference: \" --value=CUST-0041-ICRJXDPQ","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":61,"end":79,"value":"CUST-0041-ICRJXDPQ","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0041-ICRJXDPQ"]},"customers":{"required_absent":["CUST-0041-ICRJXDPQ"],"required_present":[]},"all":{"required_absent":["CUST-0041-ICRJXDPQ"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-041","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad account identifier variation.","text":"--sample=41 --message=\"Published documentation reference: \" --value=DOC-0041-Q5574NPY","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":68,"end":85,"value":"DOC-0041-Q5574NPY","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0041-Q5574NPY"]},"customers":{"required_absent":[],"required_present":["DOC-0041-Q5574NPY"]},"all":{"required_absent":[],"required_present":["DOC-0041-Q5574NPY"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-042","language":"en","script":"Latin","shape":"prose","risk":"high","reason":"Locked broad account identifier variation.","text":"Customer account reference: CUST-0042-QVX8M4YN","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":28,"end":46,"value":"CUST-0042-QVX8M4YN","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0042-QVX8M4YN"]},"customers":{"required_absent":["CUST-0042-QVX8M4YN"],"required_present":[]},"all":{"required_absent":["CUST-0042-QVX8M4YN"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-042","language":"en","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad account identifier variation.","text":"Published documentation reference: DOC-0042-6LLGFMWB","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":35,"end":52,"value":"DOC-0042-6LLGFMWB","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0042-6LLGFMWB"]},"customers":{"required_absent":[],"required_present":["DOC-0042-6LLGFMWB"]},"all":{"required_absent":[],"required_present":["DOC-0042-6LLGFMWB"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-043","language":"en","script":"Latin","shape":"json","risk":"high","reason":"Locked broad account identifier variation.","text":"{\"message_43\":\"Customer account reference: CUST-0043-WTDQSJ22\"}","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":43,"end":61,"value":"CUST-0043-WTDQSJ22","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0043-WTDQSJ22"]},"customers":{"required_absent":["CUST-0043-WTDQSJ22"],"required_present":[]},"all":{"required_absent":["CUST-0043-WTDQSJ22"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-043","language":"en","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad account identifier variation.","text":"{\"message_43\":\"Published documentation reference: DOC-0043-I13KK3OZ\"}","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":50,"end":67,"value":"DOC-0043-I13KK3OZ","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0043-I13KK3OZ"]},"customers":{"required_absent":[],"required_present":["DOC-0043-I13KK3OZ"]},"all":{"required_absent":[],"required_present":["DOC-0043-I13KK3OZ"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-044","language":"en","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad account identifier variation.","text":"message_44: Customer account reference: CUST-0044-3XJPR1Y2","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":40,"end":58,"value":"CUST-0044-3XJPR1Y2","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0044-3XJPR1Y2"]},"customers":{"required_absent":["CUST-0044-3XJPR1Y2"],"required_present":[]},"all":{"required_absent":["CUST-0044-3XJPR1Y2"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-044","language":"en","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad account identifier variation.","text":"message_44: Published documentation reference: DOC-0044-5QRDMKO5","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":47,"end":64,"value":"DOC-0044-5QRDMKO5","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0044-5QRDMKO5"]},"customers":{"required_absent":[],"required_present":["DOC-0044-5QRDMKO5"]},"all":{"required_absent":[],"required_present":["DOC-0044-5QRDMKO5"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-045","language":"en","script":"Latin","shape":"shell","risk":"high","reason":"Locked broad account identifier variation.","text":"MESSAGE_45='Customer account reference: CUST-0045-GNEVFQF1'","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":40,"end":58,"value":"CUST-0045-GNEVFQF1","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0045-GNEVFQF1"]},"customers":{"required_absent":["CUST-0045-GNEVFQF1"],"required_present":[]},"all":{"required_absent":["CUST-0045-GNEVFQF1"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-045","language":"en","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad account identifier variation.","text":"MESSAGE_45='Published documentation reference: DOC-0045-R615UP9M'","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":47,"end":64,"value":"DOC-0045-R615UP9M","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0045-R615UP9M"]},"customers":{"required_absent":[],"required_present":["DOC-0045-R615UP9M"]},"all":{"required_absent":[],"required_present":["DOC-0045-R615UP9M"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-046","language":"en","script":"Latin","shape":"url","risk":"high","reason":"Locked broad account identifier variation.","text":"endpoint=https://192.0.2.10/46 ; Customer account reference: CUST-0046-XQ8F4QM8","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":61,"end":79,"value":"CUST-0046-XQ8F4QM8","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0046-XQ8F4QM8"]},"customers":{"required_absent":["CUST-0046-XQ8F4QM8"],"required_present":[]},"all":{"required_absent":["CUST-0046-XQ8F4QM8"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-046","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad account identifier variation.","text":"endpoint=https://192.0.2.10/46 ; Published documentation reference: DOC-0046-CDDFHJ8B","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":68,"end":85,"value":"DOC-0046-CDDFHJ8B","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0046-CDDFHJ8B"]},"customers":{"required_absent":[],"required_present":["DOC-0046-CDDFHJ8B"]},"all":{"required_absent":[],"required_present":["DOC-0046-CDDFHJ8B"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-047","language":"en","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad account identifier variation.","text":"**Customer account reference: CUST-0047-6K6UZ99P**","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":30,"end":48,"value":"CUST-0047-6K6UZ99P","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0047-6K6UZ99P"]},"customers":{"required_absent":["CUST-0047-6K6UZ99P"],"required_present":[]},"all":{"required_absent":["CUST-0047-6K6UZ99P"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-047","language":"en","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad account identifier variation.","text":"**Published documentation reference: DOC-0047-L7VEJ30F**","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":37,"end":54,"value":"DOC-0047-L7VEJ30F","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0047-L7VEJ30F"]},"customers":{"required_absent":[],"required_present":["DOC-0047-L7VEJ30F"]},"all":{"required_absent":[],"required_present":["DOC-0047-L7VEJ30F"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-048","language":"en","script":"Latin","shape":"html","risk":"high","reason":"Locked broad account identifier variation.","text":"\u003cp\u003eCustomer account reference: CUST-0048-7DCB2UBO\u003c/p\u003e","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":31,"end":49,"value":"CUST-0048-7DCB2UBO","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0048-7DCB2UBO"]},"customers":{"required_absent":["CUST-0048-7DCB2UBO"],"required_present":[]},"all":{"required_absent":["CUST-0048-7DCB2UBO"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-048","language":"en","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad account identifier variation.","text":"\u003cp\u003ePublished documentation reference: DOC-0048-9LV2DZMN\u003c/p\u003e","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":38,"end":55,"value":"DOC-0048-9LV2DZMN","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0048-9LV2DZMN"]},"customers":{"required_absent":[],"required_present":["DOC-0048-9LV2DZMN"]},"all":{"required_absent":[],"required_present":["DOC-0048-9LV2DZMN"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-049","language":"en","script":"Latin","shape":"quoted-reply","risk":"high","reason":"Locked broad account identifier variation.","text":"\u003e Customer account reference: CUST-0049-HQBFJC2V","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":30,"end":48,"value":"CUST-0049-HQBFJC2V","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0049-HQBFJC2V"]},"customers":{"required_absent":["CUST-0049-HQBFJC2V"],"required_present":[]},"all":{"required_absent":["CUST-0049-HQBFJC2V"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-049","language":"en","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad account identifier variation.","text":"\u003e Published documentation reference: DOC-0049-ZZG2DJCM","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":37,"end":54,"value":"DOC-0049-ZZG2DJCM","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0049-ZZG2DJCM"]},"customers":{"required_absent":[],"required_present":["DOC-0049-ZZG2DJCM"]},"all":{"required_absent":[],"required_present":["DOC-0049-ZZG2DJCM"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-050","language":"en","script":"Latin","shape":"log","risk":"high","reason":"Locked broad account identifier variation.","text":"level=warn sample=50 message=\"Customer account reference: \" value=CUST-0050-5F8FYP8S","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":66,"end":84,"value":"CUST-0050-5F8FYP8S","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0050-5F8FYP8S"]},"customers":{"required_absent":["CUST-0050-5F8FYP8S"],"required_present":[]},"all":{"required_absent":["CUST-0050-5F8FYP8S"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-050","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad account identifier variation.","text":"level=warn sample=50 message=\"Published documentation reference: \" value=DOC-0050-YPT8IKV6","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":73,"end":90,"value":"DOC-0050-YPT8IKV6","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0050-YPT8IKV6"]},"customers":{"required_absent":[],"required_present":["DOC-0050-YPT8IKV6"]},"all":{"required_absent":[],"required_present":["DOC-0050-YPT8IKV6"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-051","language":"en","script":"Latin","shape":"stack-trace","risk":"high","reason":"Locked broad account identifier variation.","text":"Trace[51]: Customer account reference: CUST-0051-0KA73YYK","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":39,"end":57,"value":"CUST-0051-0KA73YYK","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0051-0KA73YYK"]},"customers":{"required_absent":["CUST-0051-0KA73YYK"],"required_present":[]},"all":{"required_absent":["CUST-0051-0KA73YYK"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-051","language":"en","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad account identifier variation.","text":"Trace[51]: Published documentation reference: DOC-0051-D19G5DJT","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":46,"end":63,"value":"DOC-0051-D19G5DJT","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0051-D19G5DJT"]},"customers":{"required_absent":[],"required_present":["DOC-0051-D19G5DJT"]},"all":{"required_absent":[],"required_present":["DOC-0051-D19G5DJT"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-052","language":"en","script":"Latin","shape":"code","risk":"high","reason":"Locked broad account identifier variation.","text":"fixture_52 := `Customer account reference: CUST-0052-W1FC4KC2`","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":43,"end":61,"value":"CUST-0052-W1FC4KC2","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0052-W1FC4KC2"]},"customers":{"required_absent":["CUST-0052-W1FC4KC2"],"required_present":[]},"all":{"required_absent":["CUST-0052-W1FC4KC2"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-052","language":"en","script":"Latin","shape":"code","risk":"preservation","reason":"Locked broad account identifier variation.","text":"fixture_52 := `Published documentation reference: DOC-0052-HHW4ZZ5Q`","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":50,"end":67,"value":"DOC-0052-HHW4ZZ5Q","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0052-HHW4ZZ5Q"]},"customers":{"required_absent":[],"required_present":["DOC-0052-HHW4ZZ5Q"]},"all":{"required_absent":[],"required_present":["DOC-0052-HHW4ZZ5Q"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-053","language":"en","script":"Latin","shape":"signature","risk":"high","reason":"Locked broad account identifier variation.","text":"--\nCustomer account reference: CUST-0053-RWJYA7TW","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":31,"end":49,"value":"CUST-0053-RWJYA7TW","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0053-RWJYA7TW"]},"customers":{"required_absent":["CUST-0053-RWJYA7TW"],"required_present":[]},"all":{"required_absent":["CUST-0053-RWJYA7TW"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-053","language":"en","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad account identifier variation.","text":"--\nPublished documentation reference: DOC-0053-AGDXTFUB","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":38,"end":55,"value":"DOC-0053-AGDXTFUB","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0053-AGDXTFUB"]},"customers":{"required_absent":[],"required_present":["DOC-0053-AGDXTFUB"]},"all":{"required_absent":[],"required_present":["DOC-0053-AGDXTFUB"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-054","language":"en","script":"Latin","shape":"long-thread","risk":"high","reason":"Locked broad account identifier variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Customer account reference: CUST-0054-ZLXG8IBB","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":508,"end":526,"value":"CUST-0054-ZLXG8IBB","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0054-ZLXG8IBB"]},"customers":{"required_absent":["CUST-0054-ZLXG8IBB"],"required_present":[]},"all":{"required_absent":["CUST-0054-ZLXG8IBB"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-054","language":"en","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad account identifier variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Published documentation reference: DOC-0054-V245FT3Y","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":515,"end":532,"value":"DOC-0054-V245FT3Y","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0054-V245FT3Y"]},"customers":{"required_absent":[],"required_present":["DOC-0054-V245FT3Y"]},"all":{"required_absent":[],"required_present":["DOC-0054-V245FT3Y"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-055","language":"en","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad account identifier variation.","text":"--sample=55 --message=\"Customer account reference: \" --value=CUST-0055-0XD798I1","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":61,"end":79,"value":"CUST-0055-0XD798I1","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0055-0XD798I1"]},"customers":{"required_absent":["CUST-0055-0XD798I1"],"required_present":[]},"all":{"required_absent":["CUST-0055-0XD798I1"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-055","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad account identifier variation.","text":"--sample=55 --message=\"Published documentation reference: \" --value=DOC-0055-O1HZ2A19","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":68,"end":85,"value":"DOC-0055-O1HZ2A19","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0055-O1HZ2A19"]},"customers":{"required_absent":[],"required_present":["DOC-0055-O1HZ2A19"]},"all":{"required_absent":[],"required_present":["DOC-0055-O1HZ2A19"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-056","language":"en","script":"Latin","shape":"prose","risk":"high","reason":"Locked broad account identifier variation.","text":"Customer account reference: CUST-0056-D7TL2BOD","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":28,"end":46,"value":"CUST-0056-D7TL2BOD","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0056-D7TL2BOD"]},"customers":{"required_absent":["CUST-0056-D7TL2BOD"],"required_present":[]},"all":{"required_absent":["CUST-0056-D7TL2BOD"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-056","language":"en","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad account identifier variation.","text":"Published documentation reference: DOC-0056-J05QNUGY","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":35,"end":52,"value":"DOC-0056-J05QNUGY","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0056-J05QNUGY"]},"customers":{"required_absent":[],"required_present":["DOC-0056-J05QNUGY"]},"all":{"required_absent":[],"required_present":["DOC-0056-J05QNUGY"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-057","language":"en","script":"Latin","shape":"json","risk":"high","reason":"Locked broad account identifier variation.","text":"{\"message_57\":\"Customer account reference: CUST-0057-PPNNHGNY\"}","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":43,"end":61,"value":"CUST-0057-PPNNHGNY","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0057-PPNNHGNY"]},"customers":{"required_absent":["CUST-0057-PPNNHGNY"],"required_present":[]},"all":{"required_absent":["CUST-0057-PPNNHGNY"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-057","language":"en","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad account identifier variation.","text":"{\"message_57\":\"Published documentation reference: DOC-0057-OKVOW3LZ\"}","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":50,"end":67,"value":"DOC-0057-OKVOW3LZ","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0057-OKVOW3LZ"]},"customers":{"required_absent":[],"required_present":["DOC-0057-OKVOW3LZ"]},"all":{"required_absent":[],"required_present":["DOC-0057-OKVOW3LZ"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-058","language":"en","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad account identifier variation.","text":"message_58: Customer account reference: CUST-0058-PW17D3DK","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":40,"end":58,"value":"CUST-0058-PW17D3DK","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0058-PW17D3DK"]},"customers":{"required_absent":["CUST-0058-PW17D3DK"],"required_present":[]},"all":{"required_absent":["CUST-0058-PW17D3DK"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-058","language":"en","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad account identifier variation.","text":"message_58: Published documentation reference: DOC-0058-8A7DGLF2","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":47,"end":64,"value":"DOC-0058-8A7DGLF2","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0058-8A7DGLF2"]},"customers":{"required_absent":[],"required_present":["DOC-0058-8A7DGLF2"]},"all":{"required_absent":[],"required_present":["DOC-0058-8A7DGLF2"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-059","language":"en","script":"Latin","shape":"shell","risk":"high","reason":"Locked broad account identifier variation.","text":"MESSAGE_59='Customer account reference: CUST-0059-NYQDJSJ6'","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":40,"end":58,"value":"CUST-0059-NYQDJSJ6","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0059-NYQDJSJ6"]},"customers":{"required_absent":["CUST-0059-NYQDJSJ6"],"required_present":[]},"all":{"required_absent":["CUST-0059-NYQDJSJ6"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-059","language":"en","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad account identifier variation.","text":"MESSAGE_59='Published documentation reference: DOC-0059-KM4ALHCM'","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":47,"end":64,"value":"DOC-0059-KM4ALHCM","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0059-KM4ALHCM"]},"customers":{"required_absent":[],"required_present":["DOC-0059-KM4ALHCM"]},"all":{"required_absent":[],"required_present":["DOC-0059-KM4ALHCM"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-060","language":"en","script":"Latin","shape":"url","risk":"high","reason":"Locked broad account identifier variation.","text":"endpoint=https://192.0.2.10/60 ; Customer account reference: CUST-0060-7LUXALFF","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":61,"end":79,"value":"CUST-0060-7LUXALFF","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0060-7LUXALFF"]},"customers":{"required_absent":["CUST-0060-7LUXALFF"],"required_present":[]},"all":{"required_absent":["CUST-0060-7LUXALFF"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-060","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad account identifier variation.","text":"endpoint=https://192.0.2.10/60 ; Published documentation reference: DOC-0060-HU7JAPMS","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":68,"end":85,"value":"DOC-0060-HU7JAPMS","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0060-HU7JAPMS"]},"customers":{"required_absent":[],"required_present":["DOC-0060-HU7JAPMS"]},"all":{"required_absent":[],"required_present":["DOC-0060-HU7JAPMS"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-061","language":"en","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad account identifier variation.","text":"**Customer account reference: CUST-0061-QJUIP9I2**","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":30,"end":48,"value":"CUST-0061-QJUIP9I2","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0061-QJUIP9I2"]},"customers":{"required_absent":["CUST-0061-QJUIP9I2"],"required_present":[]},"all":{"required_absent":["CUST-0061-QJUIP9I2"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-061","language":"en","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad account identifier variation.","text":"**Published documentation reference: DOC-0061-K39HA0I6**","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":37,"end":54,"value":"DOC-0061-K39HA0I6","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0061-K39HA0I6"]},"customers":{"required_absent":[],"required_present":["DOC-0061-K39HA0I6"]},"all":{"required_absent":[],"required_present":["DOC-0061-K39HA0I6"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-062","language":"en","script":"Latin","shape":"html","risk":"high","reason":"Locked broad account identifier variation.","text":"\u003cp\u003eCustomer account reference: CUST-0062-1PIANGBM\u003c/p\u003e","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":31,"end":49,"value":"CUST-0062-1PIANGBM","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0062-1PIANGBM"]},"customers":{"required_absent":["CUST-0062-1PIANGBM"],"required_present":[]},"all":{"required_absent":["CUST-0062-1PIANGBM"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-062","language":"en","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad account identifier variation.","text":"\u003cp\u003ePublished documentation reference: DOC-0062-GTL00X1W\u003c/p\u003e","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":38,"end":55,"value":"DOC-0062-GTL00X1W","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0062-GTL00X1W"]},"customers":{"required_absent":[],"required_present":["DOC-0062-GTL00X1W"]},"all":{"required_absent":[],"required_present":["DOC-0062-GTL00X1W"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-063","language":"en","script":"Latin","shape":"quoted-reply","risk":"high","reason":"Locked broad account identifier variation.","text":"\u003e Customer account reference: CUST-0063-V6AR4XSO","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":30,"end":48,"value":"CUST-0063-V6AR4XSO","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0063-V6AR4XSO"]},"customers":{"required_absent":["CUST-0063-V6AR4XSO"],"required_present":[]},"all":{"required_absent":["CUST-0063-V6AR4XSO"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-063","language":"en","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad account identifier variation.","text":"\u003e Published documentation reference: DOC-0063-UZOH1CZP","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":37,"end":54,"value":"DOC-0063-UZOH1CZP","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0063-UZOH1CZP"]},"customers":{"required_absent":[],"required_present":["DOC-0063-UZOH1CZP"]},"all":{"required_absent":[],"required_present":["DOC-0063-UZOH1CZP"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-064","language":"en","script":"Latin","shape":"log","risk":"high","reason":"Locked broad account identifier variation.","text":"level=warn sample=64 message=\"Customer account reference: \" value=CUST-0064-5CYN6IMU","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":66,"end":84,"value":"CUST-0064-5CYN6IMU","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0064-5CYN6IMU"]},"customers":{"required_absent":["CUST-0064-5CYN6IMU"],"required_present":[]},"all":{"required_absent":["CUST-0064-5CYN6IMU"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-064","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad account identifier variation.","text":"level=warn sample=64 message=\"Published documentation reference: \" value=DOC-0064-ETADRH35","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":73,"end":90,"value":"DOC-0064-ETADRH35","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0064-ETADRH35"]},"customers":{"required_absent":[],"required_present":["DOC-0064-ETADRH35"]},"all":{"required_absent":[],"required_present":["DOC-0064-ETADRH35"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-065","language":"en","script":"Latin","shape":"stack-trace","risk":"high","reason":"Locked broad account identifier variation.","text":"Trace[65]: Customer account reference: CUST-0065-T7ER9V85","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":39,"end":57,"value":"CUST-0065-T7ER9V85","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0065-T7ER9V85"]},"customers":{"required_absent":["CUST-0065-T7ER9V85"],"required_present":[]},"all":{"required_absent":["CUST-0065-T7ER9V85"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-065","language":"en","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad account identifier variation.","text":"Trace[65]: Published documentation reference: DOC-0065-TCHVV883","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":46,"end":63,"value":"DOC-0065-TCHVV883","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0065-TCHVV883"]},"customers":{"required_absent":[],"required_present":["DOC-0065-TCHVV883"]},"all":{"required_absent":[],"required_present":["DOC-0065-TCHVV883"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-066","language":"en","script":"Latin","shape":"code","risk":"high","reason":"Locked broad account identifier variation.","text":"fixture_66 := `Customer account reference: CUST-0066-XB1TUYU0`","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":43,"end":61,"value":"CUST-0066-XB1TUYU0","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0066-XB1TUYU0"]},"customers":{"required_absent":["CUST-0066-XB1TUYU0"],"required_present":[]},"all":{"required_absent":["CUST-0066-XB1TUYU0"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-066","language":"en","script":"Latin","shape":"code","risk":"preservation","reason":"Locked broad account identifier variation.","text":"fixture_66 := `Published documentation reference: DOC-0066-IL2EOMFH`","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":50,"end":67,"value":"DOC-0066-IL2EOMFH","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0066-IL2EOMFH"]},"customers":{"required_absent":[],"required_present":["DOC-0066-IL2EOMFH"]},"all":{"required_absent":[],"required_present":["DOC-0066-IL2EOMFH"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-067","language":"en","script":"Latin","shape":"signature","risk":"high","reason":"Locked broad account identifier variation.","text":"--\nCustomer account reference: CUST-0067-OPTXW36W","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":31,"end":49,"value":"CUST-0067-OPTXW36W","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0067-OPTXW36W"]},"customers":{"required_absent":["CUST-0067-OPTXW36W"],"required_present":[]},"all":{"required_absent":["CUST-0067-OPTXW36W"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-067","language":"en","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad account identifier variation.","text":"--\nPublished documentation reference: DOC-0067-QQUZ4SX7","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":38,"end":55,"value":"DOC-0067-QQUZ4SX7","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0067-QQUZ4SX7"]},"customers":{"required_absent":[],"required_present":["DOC-0067-QQUZ4SX7"]},"all":{"required_absent":[],"required_present":["DOC-0067-QQUZ4SX7"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-068","language":"en","script":"Latin","shape":"long-thread","risk":"high","reason":"Locked broad account identifier variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Customer account reference: CUST-0068-PLVBUXG0","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":508,"end":526,"value":"CUST-0068-PLVBUXG0","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0068-PLVBUXG0"]},"customers":{"required_absent":["CUST-0068-PLVBUXG0"],"required_present":[]},"all":{"required_absent":["CUST-0068-PLVBUXG0"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-068","language":"en","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad account identifier variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Published documentation reference: DOC-0068-4C6DOOZ4","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":515,"end":532,"value":"DOC-0068-4C6DOOZ4","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0068-4C6DOOZ4"]},"customers":{"required_absent":[],"required_present":["DOC-0068-4C6DOOZ4"]},"all":{"required_absent":[],"required_present":["DOC-0068-4C6DOOZ4"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-069","language":"en","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad account identifier variation.","text":"--sample=69 --message=\"Customer account reference: \" --value=CUST-0069-81GO6DZN","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":61,"end":79,"value":"CUST-0069-81GO6DZN","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0069-81GO6DZN"]},"customers":{"required_absent":["CUST-0069-81GO6DZN"],"required_present":[]},"all":{"required_absent":["CUST-0069-81GO6DZN"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-069","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad account identifier variation.","text":"--sample=69 --message=\"Published documentation reference: \" --value=DOC-0069-7IXGYGQC","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":68,"end":85,"value":"DOC-0069-7IXGYGQC","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0069-7IXGYGQC"]},"customers":{"required_absent":[],"required_present":["DOC-0069-7IXGYGQC"]},"all":{"required_absent":[],"required_present":["DOC-0069-7IXGYGQC"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-070","language":"en","script":"Latin","shape":"prose","risk":"high","reason":"Locked broad account identifier variation.","text":"Customer account reference: CUST-0070-J94N34NK","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":28,"end":46,"value":"CUST-0070-J94N34NK","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0070-J94N34NK"]},"customers":{"required_absent":["CUST-0070-J94N34NK"],"required_present":[]},"all":{"required_absent":["CUST-0070-J94N34NK"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-070","language":"en","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad account identifier variation.","text":"Published documentation reference: DOC-0070-4SZCSPSV","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":35,"end":52,"value":"DOC-0070-4SZCSPSV","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0070-4SZCSPSV"]},"customers":{"required_absent":[],"required_present":["DOC-0070-4SZCSPSV"]},"all":{"required_absent":[],"required_present":["DOC-0070-4SZCSPSV"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-071","language":"en","script":"Latin","shape":"json","risk":"high","reason":"Locked broad account identifier variation.","text":"{\"message_71\":\"Customer account reference: CUST-0071-P7WHQAX4\"}","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":43,"end":61,"value":"CUST-0071-P7WHQAX4","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0071-P7WHQAX4"]},"customers":{"required_absent":["CUST-0071-P7WHQAX4"],"required_present":[]},"all":{"required_absent":["CUST-0071-P7WHQAX4"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-071","language":"en","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad account identifier variation.","text":"{\"message_71\":\"Published documentation reference: DOC-0071-6ZL1KVXE\"}","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":50,"end":67,"value":"DOC-0071-6ZL1KVXE","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0071-6ZL1KVXE"]},"customers":{"required_absent":[],"required_present":["DOC-0071-6ZL1KVXE"]},"all":{"required_absent":[],"required_present":["DOC-0071-6ZL1KVXE"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-072","language":"en","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad account identifier variation.","text":"message_72: Customer account reference: CUST-0072-L37X2IL0","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":40,"end":58,"value":"CUST-0072-L37X2IL0","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0072-L37X2IL0"]},"customers":{"required_absent":["CUST-0072-L37X2IL0"],"required_present":[]},"all":{"required_absent":["CUST-0072-L37X2IL0"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-072","language":"en","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad account identifier variation.","text":"message_72: Published documentation reference: DOC-0072-TXKUCV0R","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":47,"end":64,"value":"DOC-0072-TXKUCV0R","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0072-TXKUCV0R"]},"customers":{"required_absent":[],"required_present":["DOC-0072-TXKUCV0R"]},"all":{"required_absent":[],"required_present":["DOC-0072-TXKUCV0R"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-073","language":"en","script":"Latin","shape":"shell","risk":"high","reason":"Locked broad account identifier variation.","text":"MESSAGE_73='Customer account reference: CUST-0073-TRM90U9Q'","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":40,"end":58,"value":"CUST-0073-TRM90U9Q","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0073-TRM90U9Q"]},"customers":{"required_absent":["CUST-0073-TRM90U9Q"],"required_present":[]},"all":{"required_absent":["CUST-0073-TRM90U9Q"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-073","language":"en","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad account identifier variation.","text":"MESSAGE_73='Published documentation reference: DOC-0073-1ZZYHLRY'","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":47,"end":64,"value":"DOC-0073-1ZZYHLRY","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0073-1ZZYHLRY"]},"customers":{"required_absent":[],"required_present":["DOC-0073-1ZZYHLRY"]},"all":{"required_absent":[],"required_present":["DOC-0073-1ZZYHLRY"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-074","language":"en","script":"Latin","shape":"url","risk":"high","reason":"Locked broad account identifier variation.","text":"endpoint=https://192.0.2.10/74 ; Customer account reference: CUST-0074-1PNIVG1V","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":61,"end":79,"value":"CUST-0074-1PNIVG1V","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0074-1PNIVG1V"]},"customers":{"required_absent":["CUST-0074-1PNIVG1V"],"required_present":[]},"all":{"required_absent":["CUST-0074-1PNIVG1V"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-074","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad account identifier variation.","text":"endpoint=https://192.0.2.10/74 ; Published documentation reference: DOC-0074-JND9Q3VP","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":68,"end":85,"value":"DOC-0074-JND9Q3VP","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0074-JND9Q3VP"]},"customers":{"required_absent":[],"required_present":["DOC-0074-JND9Q3VP"]},"all":{"required_absent":[],"required_present":["DOC-0074-JND9Q3VP"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-075","language":"en","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad account identifier variation.","text":"**Customer account reference: CUST-0075-8RHBRYHH**","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":30,"end":48,"value":"CUST-0075-8RHBRYHH","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0075-8RHBRYHH"]},"customers":{"required_absent":["CUST-0075-8RHBRYHH"],"required_present":[]},"all":{"required_absent":["CUST-0075-8RHBRYHH"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-075","language":"en","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad account identifier variation.","text":"**Published documentation reference: DOC-0075-MQF1VVKK**","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":37,"end":54,"value":"DOC-0075-MQF1VVKK","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0075-MQF1VVKK"]},"customers":{"required_absent":[],"required_present":["DOC-0075-MQF1VVKK"]},"all":{"required_absent":[],"required_present":["DOC-0075-MQF1VVKK"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-076","language":"en","script":"Latin","shape":"html","risk":"high","reason":"Locked broad account identifier variation.","text":"\u003cp\u003eCustomer account reference: CUST-0076-85VETVAI\u003c/p\u003e","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":31,"end":49,"value":"CUST-0076-85VETVAI","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0076-85VETVAI"]},"customers":{"required_absent":["CUST-0076-85VETVAI"],"required_present":[]},"all":{"required_absent":["CUST-0076-85VETVAI"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-076","language":"en","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad account identifier variation.","text":"\u003cp\u003ePublished documentation reference: DOC-0076-DRQV9RN5\u003c/p\u003e","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":38,"end":55,"value":"DOC-0076-DRQV9RN5","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0076-DRQV9RN5"]},"customers":{"required_absent":[],"required_present":["DOC-0076-DRQV9RN5"]},"all":{"required_absent":[],"required_present":["DOC-0076-DRQV9RN5"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-077","language":"en","script":"Latin","shape":"quoted-reply","risk":"high","reason":"Locked broad account identifier variation.","text":"\u003e Customer account reference: CUST-0077-7HFNOVGW","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":30,"end":48,"value":"CUST-0077-7HFNOVGW","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0077-7HFNOVGW"]},"customers":{"required_absent":["CUST-0077-7HFNOVGW"],"required_present":[]},"all":{"required_absent":["CUST-0077-7HFNOVGW"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-077","language":"en","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad account identifier variation.","text":"\u003e Published documentation reference: DOC-0077-AQD44ZA7","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":37,"end":54,"value":"DOC-0077-AQD44ZA7","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0077-AQD44ZA7"]},"customers":{"required_absent":[],"required_present":["DOC-0077-AQD44ZA7"]},"all":{"required_absent":[],"required_present":["DOC-0077-AQD44ZA7"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-078","language":"en","script":"Latin","shape":"log","risk":"high","reason":"Locked broad account identifier variation.","text":"level=warn sample=78 message=\"Customer account reference: \" value=CUST-0078-OP8BLH9L","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":66,"end":84,"value":"CUST-0078-OP8BLH9L","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0078-OP8BLH9L"]},"customers":{"required_absent":["CUST-0078-OP8BLH9L"],"required_present":[]},"all":{"required_absent":["CUST-0078-OP8BLH9L"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-078","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad account identifier variation.","text":"level=warn sample=78 message=\"Published documentation reference: \" value=DOC-0078-RMXXL0DQ","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":73,"end":90,"value":"DOC-0078-RMXXL0DQ","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0078-RMXXL0DQ"]},"customers":{"required_absent":[],"required_present":["DOC-0078-RMXXL0DQ"]},"all":{"required_absent":[],"required_present":["DOC-0078-RMXXL0DQ"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-079","language":"en","script":"Latin","shape":"stack-trace","risk":"high","reason":"Locked broad account identifier variation.","text":"Trace[79]: Customer account reference: CUST-0079-SZZKVGZL","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":39,"end":57,"value":"CUST-0079-SZZKVGZL","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0079-SZZKVGZL"]},"customers":{"required_absent":["CUST-0079-SZZKVGZL"],"required_present":[]},"all":{"required_absent":["CUST-0079-SZZKVGZL"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-079","language":"en","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad account identifier variation.","text":"Trace[79]: Published documentation reference: DOC-0079-633I4J6F","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":46,"end":63,"value":"DOC-0079-633I4J6F","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0079-633I4J6F"]},"customers":{"required_absent":[],"required_present":["DOC-0079-633I4J6F"]},"all":{"required_absent":[],"required_present":["DOC-0079-633I4J6F"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-080","language":"en","script":"Latin","shape":"code","risk":"high","reason":"Locked broad account identifier variation.","text":"fixture_80 := `Customer account reference: CUST-0080-L6R87XFT`","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":43,"end":61,"value":"CUST-0080-L6R87XFT","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0080-L6R87XFT"]},"customers":{"required_absent":["CUST-0080-L6R87XFT"],"required_present":[]},"all":{"required_absent":["CUST-0080-L6R87XFT"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-080","language":"en","script":"Latin","shape":"code","risk":"preservation","reason":"Locked broad account identifier variation.","text":"fixture_80 := `Published documentation reference: DOC-0080-HS5SRJKK`","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":50,"end":67,"value":"DOC-0080-HS5SRJKK","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0080-HS5SRJKK"]},"customers":{"required_absent":[],"required_present":["DOC-0080-HS5SRJKK"]},"all":{"required_absent":[],"required_present":["DOC-0080-HS5SRJKK"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-081","language":"en","script":"Latin","shape":"signature","risk":"high","reason":"Locked broad account identifier variation.","text":"--\nCustomer account reference: CUST-0081-AFPFWG8Z","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":31,"end":49,"value":"CUST-0081-AFPFWG8Z","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0081-AFPFWG8Z"]},"customers":{"required_absent":["CUST-0081-AFPFWG8Z"],"required_present":[]},"all":{"required_absent":["CUST-0081-AFPFWG8Z"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-081","language":"en","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad account identifier variation.","text":"--\nPublished documentation reference: DOC-0081-NPOONWSG","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":38,"end":55,"value":"DOC-0081-NPOONWSG","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0081-NPOONWSG"]},"customers":{"required_absent":[],"required_present":["DOC-0081-NPOONWSG"]},"all":{"required_absent":[],"required_present":["DOC-0081-NPOONWSG"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-082","language":"en","script":"Latin","shape":"long-thread","risk":"high","reason":"Locked broad account identifier variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Customer account reference: CUST-0082-4BLQ3YLB","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":508,"end":526,"value":"CUST-0082-4BLQ3YLB","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0082-4BLQ3YLB"]},"customers":{"required_absent":["CUST-0082-4BLQ3YLB"],"required_present":[]},"all":{"required_absent":["CUST-0082-4BLQ3YLB"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-082","language":"en","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad account identifier variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Published documentation reference: DOC-0082-XCUUF3LA","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":515,"end":532,"value":"DOC-0082-XCUUF3LA","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0082-XCUUF3LA"]},"customers":{"required_absent":[],"required_present":["DOC-0082-XCUUF3LA"]},"all":{"required_absent":[],"required_present":["DOC-0082-XCUUF3LA"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-083","language":"en","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad account identifier variation.","text":"--sample=83 --message=\"Customer account reference: \" --value=CUST-0083-T3G8VNJQ","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":61,"end":79,"value":"CUST-0083-T3G8VNJQ","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0083-T3G8VNJQ"]},"customers":{"required_absent":["CUST-0083-T3G8VNJQ"],"required_present":[]},"all":{"required_absent":["CUST-0083-T3G8VNJQ"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-083","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad account identifier variation.","text":"--sample=83 --message=\"Published documentation reference: \" --value=DOC-0083-TWXGIRZG","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":68,"end":85,"value":"DOC-0083-TWXGIRZG","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0083-TWXGIRZG"]},"customers":{"required_absent":[],"required_present":["DOC-0083-TWXGIRZG"]},"all":{"required_absent":[],"required_present":["DOC-0083-TWXGIRZG"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-084","language":"en","script":"Latin","shape":"prose","risk":"high","reason":"Locked broad account identifier variation.","text":"Customer account reference: CUST-0084-T7V0ULI9","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":28,"end":46,"value":"CUST-0084-T7V0ULI9","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0084-T7V0ULI9"]},"customers":{"required_absent":["CUST-0084-T7V0ULI9"],"required_present":[]},"all":{"required_absent":["CUST-0084-T7V0ULI9"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-084","language":"en","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad account identifier variation.","text":"Published documentation reference: DOC-0084-QV56I1C1","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":35,"end":52,"value":"DOC-0084-QV56I1C1","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0084-QV56I1C1"]},"customers":{"required_absent":[],"required_present":["DOC-0084-QV56I1C1"]},"all":{"required_absent":[],"required_present":["DOC-0084-QV56I1C1"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-085","language":"en","script":"Latin","shape":"json","risk":"high","reason":"Locked broad account identifier variation.","text":"{\"message_85\":\"Customer account reference: CUST-0085-JUX1RRKG\"}","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":43,"end":61,"value":"CUST-0085-JUX1RRKG","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0085-JUX1RRKG"]},"customers":{"required_absent":["CUST-0085-JUX1RRKG"],"required_present":[]},"all":{"required_absent":["CUST-0085-JUX1RRKG"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-085","language":"en","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad account identifier variation.","text":"{\"message_85\":\"Published documentation reference: DOC-0085-384OOQX0\"}","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":50,"end":67,"value":"DOC-0085-384OOQX0","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0085-384OOQX0"]},"customers":{"required_absent":[],"required_present":["DOC-0085-384OOQX0"]},"all":{"required_absent":[],"required_present":["DOC-0085-384OOQX0"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-086","language":"en","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad account identifier variation.","text":"message_86: Customer account reference: CUST-0086-FWCBHESN","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":40,"end":58,"value":"CUST-0086-FWCBHESN","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0086-FWCBHESN"]},"customers":{"required_absent":["CUST-0086-FWCBHESN"],"required_present":[]},"all":{"required_absent":["CUST-0086-FWCBHESN"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-086","language":"en","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad account identifier variation.","text":"message_86: Published documentation reference: DOC-0086-MVD1ZHAM","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":47,"end":64,"value":"DOC-0086-MVD1ZHAM","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0086-MVD1ZHAM"]},"customers":{"required_absent":[],"required_present":["DOC-0086-MVD1ZHAM"]},"all":{"required_absent":[],"required_present":["DOC-0086-MVD1ZHAM"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-087","language":"en","script":"Latin","shape":"shell","risk":"high","reason":"Locked broad account identifier variation.","text":"MESSAGE_87='Customer account reference: CUST-0087-85X9PQJB'","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":40,"end":58,"value":"CUST-0087-85X9PQJB","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0087-85X9PQJB"]},"customers":{"required_absent":["CUST-0087-85X9PQJB"],"required_present":[]},"all":{"required_absent":["CUST-0087-85X9PQJB"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-087","language":"en","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad account identifier variation.","text":"MESSAGE_87='Published documentation reference: DOC-0087-O4Y8FMMS'","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":47,"end":64,"value":"DOC-0087-O4Y8FMMS","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0087-O4Y8FMMS"]},"customers":{"required_absent":[],"required_present":["DOC-0087-O4Y8FMMS"]},"all":{"required_absent":[],"required_present":["DOC-0087-O4Y8FMMS"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-088","language":"en","script":"Latin","shape":"url","risk":"high","reason":"Locked broad account identifier variation.","text":"endpoint=https://192.0.2.10/88 ; Customer account reference: CUST-0088-4JWLS406","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":61,"end":79,"value":"CUST-0088-4JWLS406","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0088-4JWLS406"]},"customers":{"required_absent":["CUST-0088-4JWLS406"],"required_present":[]},"all":{"required_absent":["CUST-0088-4JWLS406"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-088","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad account identifier variation.","text":"endpoint=https://192.0.2.10/88 ; Published documentation reference: DOC-0088-L2X9NEGF","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":68,"end":85,"value":"DOC-0088-L2X9NEGF","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0088-L2X9NEGF"]},"customers":{"required_absent":[],"required_present":["DOC-0088-L2X9NEGF"]},"all":{"required_absent":[],"required_present":["DOC-0088-L2X9NEGF"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-089","language":"en","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad account identifier variation.","text":"**Customer account reference: CUST-0089-VZ9CLQ36**","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":30,"end":48,"value":"CUST-0089-VZ9CLQ36","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0089-VZ9CLQ36"]},"customers":{"required_absent":["CUST-0089-VZ9CLQ36"],"required_present":[]},"all":{"required_absent":["CUST-0089-VZ9CLQ36"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-089","language":"en","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad account identifier variation.","text":"**Published documentation reference: DOC-0089-PKLQ6P3Y**","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":37,"end":54,"value":"DOC-0089-PKLQ6P3Y","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0089-PKLQ6P3Y"]},"customers":{"required_absent":[],"required_present":["DOC-0089-PKLQ6P3Y"]},"all":{"required_absent":[],"required_present":["DOC-0089-PKLQ6P3Y"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-090","language":"en","script":"Latin","shape":"html","risk":"high","reason":"Locked broad account identifier variation.","text":"\u003cp\u003eCustomer account reference: CUST-0090-NBTLOLDU\u003c/p\u003e","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":31,"end":49,"value":"CUST-0090-NBTLOLDU","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0090-NBTLOLDU"]},"customers":{"required_absent":["CUST-0090-NBTLOLDU"],"required_present":[]},"all":{"required_absent":["CUST-0090-NBTLOLDU"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-090","language":"en","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad account identifier variation.","text":"\u003cp\u003ePublished documentation reference: DOC-0090-G6N0QYPI\u003c/p\u003e","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":38,"end":55,"value":"DOC-0090-G6N0QYPI","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0090-G6N0QYPI"]},"customers":{"required_absent":[],"required_present":["DOC-0090-G6N0QYPI"]},"all":{"required_absent":[],"required_present":["DOC-0090-G6N0QYPI"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-091","language":"en","script":"Latin","shape":"quoted-reply","risk":"high","reason":"Locked broad account identifier variation.","text":"\u003e Customer account reference: CUST-0091-H4Q7XBBJ","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":30,"end":48,"value":"CUST-0091-H4Q7XBBJ","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0091-H4Q7XBBJ"]},"customers":{"required_absent":["CUST-0091-H4Q7XBBJ"],"required_present":[]},"all":{"required_absent":["CUST-0091-H4Q7XBBJ"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-091","language":"en","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad account identifier variation.","text":"\u003e Published documentation reference: DOC-0091-QKARJBMB","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":37,"end":54,"value":"DOC-0091-QKARJBMB","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0091-QKARJBMB"]},"customers":{"required_absent":[],"required_present":["DOC-0091-QKARJBMB"]},"all":{"required_absent":[],"required_present":["DOC-0091-QKARJBMB"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-092","language":"en","script":"Latin","shape":"log","risk":"high","reason":"Locked broad account identifier variation.","text":"level=warn sample=92 message=\"Customer account reference: \" value=CUST-0092-TRD6B7NC","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":66,"end":84,"value":"CUST-0092-TRD6B7NC","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0092-TRD6B7NC"]},"customers":{"required_absent":["CUST-0092-TRD6B7NC"],"required_present":[]},"all":{"required_absent":["CUST-0092-TRD6B7NC"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-092","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad account identifier variation.","text":"level=warn sample=92 message=\"Published documentation reference: \" value=DOC-0092-6OOSQXOL","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":73,"end":90,"value":"DOC-0092-6OOSQXOL","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0092-6OOSQXOL"]},"customers":{"required_absent":[],"required_present":["DOC-0092-6OOSQXOL"]},"all":{"required_absent":[],"required_present":["DOC-0092-6OOSQXOL"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-093","language":"en","script":"Latin","shape":"stack-trace","risk":"high","reason":"Locked broad account identifier variation.","text":"Trace[93]: Customer account reference: CUST-0093-9ADAJC5O","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":39,"end":57,"value":"CUST-0093-9ADAJC5O","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0093-9ADAJC5O"]},"customers":{"required_absent":["CUST-0093-9ADAJC5O"],"required_present":[]},"all":{"required_absent":["CUST-0093-9ADAJC5O"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-093","language":"en","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad account identifier variation.","text":"Trace[93]: Published documentation reference: DOC-0093-Z8DB9G2U","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":46,"end":63,"value":"DOC-0093-Z8DB9G2U","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0093-Z8DB9G2U"]},"customers":{"required_absent":[],"required_present":["DOC-0093-Z8DB9G2U"]},"all":{"required_absent":[],"required_present":["DOC-0093-Z8DB9G2U"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-094","language":"en","script":"Latin","shape":"code","risk":"high","reason":"Locked broad account identifier variation.","text":"fixture_94 := `Customer account reference: CUST-0094-0DDX85H3`","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":43,"end":61,"value":"CUST-0094-0DDX85H3","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0094-0DDX85H3"]},"customers":{"required_absent":["CUST-0094-0DDX85H3"],"required_present":[]},"all":{"required_absent":["CUST-0094-0DDX85H3"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-094","language":"en","script":"Latin","shape":"code","risk":"preservation","reason":"Locked broad account identifier variation.","text":"fixture_94 := `Published documentation reference: DOC-0094-5GFMKAIO`","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":50,"end":67,"value":"DOC-0094-5GFMKAIO","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0094-5GFMKAIO"]},"customers":{"required_absent":[],"required_present":["DOC-0094-5GFMKAIO"]},"all":{"required_absent":[],"required_present":["DOC-0094-5GFMKAIO"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-095","language":"en","script":"Latin","shape":"signature","risk":"high","reason":"Locked broad account identifier variation.","text":"--\nCustomer account reference: CUST-0095-DBB08E38","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":31,"end":49,"value":"CUST-0095-DBB08E38","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0095-DBB08E38"]},"customers":{"required_absent":["CUST-0095-DBB08E38"],"required_present":[]},"all":{"required_absent":["CUST-0095-DBB08E38"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-095","language":"en","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad account identifier variation.","text":"--\nPublished documentation reference: DOC-0095-1UXQDE07","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":38,"end":55,"value":"DOC-0095-1UXQDE07","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0095-1UXQDE07"]},"customers":{"required_absent":[],"required_present":["DOC-0095-1UXQDE07"]},"all":{"required_absent":[],"required_present":["DOC-0095-1UXQDE07"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-096","language":"en","script":"Latin","shape":"long-thread","risk":"high","reason":"Locked broad account identifier variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Customer account reference: CUST-0096-0TK7VW2I","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":508,"end":526,"value":"CUST-0096-0TK7VW2I","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0096-0TK7VW2I"]},"customers":{"required_absent":["CUST-0096-0TK7VW2I"],"required_present":[]},"all":{"required_absent":["CUST-0096-0TK7VW2I"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-096","language":"en","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad account identifier variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Published documentation reference: DOC-0096-MI129B07","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":515,"end":532,"value":"DOC-0096-MI129B07","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0096-MI129B07"]},"customers":{"required_absent":[],"required_present":["DOC-0096-MI129B07"]},"all":{"required_absent":[],"required_present":["DOC-0096-MI129B07"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-097","language":"en","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad account identifier variation.","text":"--sample=97 --message=\"Customer account reference: \" --value=CUST-0097-TQNZFQW0","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":61,"end":79,"value":"CUST-0097-TQNZFQW0","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0097-TQNZFQW0"]},"customers":{"required_absent":["CUST-0097-TQNZFQW0"],"required_present":[]},"all":{"required_absent":["CUST-0097-TQNZFQW0"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-097","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad account identifier variation.","text":"--sample=97 --message=\"Published documentation reference: \" --value=DOC-0097-A6G4FE6E","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":68,"end":85,"value":"DOC-0097-A6G4FE6E","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0097-A6G4FE6E"]},"customers":{"required_absent":[],"required_present":["DOC-0097-A6G4FE6E"]},"all":{"required_absent":[],"required_present":["DOC-0097-A6G4FE6E"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-098","language":"en","script":"Latin","shape":"prose","risk":"high","reason":"Locked broad account identifier variation.","text":"Customer account reference: CUST-0098-4YRYIAD3","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":28,"end":46,"value":"CUST-0098-4YRYIAD3","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0098-4YRYIAD3"]},"customers":{"required_absent":["CUST-0098-4YRYIAD3"],"required_present":[]},"all":{"required_absent":["CUST-0098-4YRYIAD3"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-098","language":"en","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad account identifier variation.","text":"Published documentation reference: DOC-0098-JEB5IWGQ","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":35,"end":52,"value":"DOC-0098-JEB5IWGQ","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0098-JEB5IWGQ"]},"customers":{"required_absent":[],"required_present":["DOC-0098-JEB5IWGQ"]},"all":{"required_absent":[],"required_present":["DOC-0098-JEB5IWGQ"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-099","language":"en","script":"Latin","shape":"json","risk":"high","reason":"Locked broad account identifier variation.","text":"{\"message_99\":\"Customer account reference: CUST-0099-IB2S8AIZ\"}","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":43,"end":61,"value":"CUST-0099-IB2S8AIZ","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0099-IB2S8AIZ"]},"customers":{"required_absent":["CUST-0099-IB2S8AIZ"],"required_present":[]},"all":{"required_absent":["CUST-0099-IB2S8AIZ"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-099","language":"en","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad account identifier variation.","text":"{\"message_99\":\"Published documentation reference: DOC-0099-KQNFP411\"}","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":50,"end":67,"value":"DOC-0099-KQNFP411","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0099-KQNFP411"]},"customers":{"required_absent":[],"required_present":["DOC-0099-KQNFP411"]},"all":{"required_absent":[],"required_present":["DOC-0099-KQNFP411"]}},"tags":["broad-quality","account-identifier"]} + ] +} diff --git a/internal/pii/testdata/privacy-filter/broad/v1/manifest.json b/internal/pii/testdata/privacy-filter/broad/v1/manifest.json new file mode 100644 index 0000000..18c0f97 --- /dev/null +++ b/internal/pii/testdata/privacy-filter/broad/v1/manifest.json @@ -0,0 +1,58 @@ +{ + "schema": 1, + "corpus_version": "broad-v1", + "schema_file": "../../v1/schema.json", + "schema_sha256": "94457b0524ae247d712799fca9c4a7ab5df089557ff235c404198feb4a8707cc", + "generator": { + "name": "hs-privacy-broad-corpus", + "version": 1, + "seed": "broad-v1" + }, + "minimum_denominators": { + "secret_redact_cases": 100, + "account_redact_cases": 100, + "private_date_redact_cases": 100, + "preservation_cases": 100, + "language_redact_cases": 100, + "language_preserve_cases": 100 + }, + "maximum_case_basis_points": 100, + "minimum_secret_family_cases": 8, + "partitions": [ + { + "name": "secrets", + "file": "secrets.json", + "sha256": "73b055c7b0851c8024982330f04741f7678707bfb56bf9ba2831915525f6474a", + "cases": 224, + "targets": 224 + }, + { + "name": "account-identifiers", + "file": "account-identifiers.json", + "sha256": "1673af4a577dea8c7fac93629b8124d405e91d452988908178501add6a746e4d", + "cases": 200, + "targets": 200 + }, + { + "name": "private-public-dates", + "file": "private-public-dates.json", + "sha256": "93e90cf5c56f6bd69ceeaa1c35d10dafaa968ae951c9e03907f028661e159f38", + "cases": 200, + "targets": 200 + }, + { + "name": "multilingual", + "file": "multilingual.json", + "sha256": "29acae80717b878b7374d20273c150e31cc99f013e4cdd3b74b5159f8b722532", + "cases": 2000, + "targets": 2000 + }, + { + "name": "preservation", + "file": "preservation.json", + "sha256": "9f79836b23e7b3703debc975135a72b9fd03c1423a5be95fcae690151ba4a390", + "cases": 100, + "targets": 100 + } + ] +} diff --git a/internal/pii/testdata/privacy-filter/broad/v1/multilingual.json b/internal/pii/testdata/privacy-filter/broad/v1/multilingual.json new file mode 100644 index 0000000..9206104 --- /dev/null +++ b/internal/pii/testdata/privacy-filter/broad/v1/multilingual.json @@ -0,0 +1,2006 @@ +{ + "schema": 1, + "partition": "multilingual", + "cases": [ + {"id":"broad-language-en-redact-000","language":"en","script":"Latin","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Customer mentioned Amina Arden","known_identities":[],"targets":[{"id":"person","kind":"person","start":19,"end":30,"value":"Amina Arden","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Amina Arden"]},"customers":{"required_absent":["Amina Arden"],"required_present":[]},"all":{"required_absent":["Amina Arden"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-000","language":"en","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Public organization Atlas Labs","known_identities":[],"targets":[{"id":"person","kind":"person","start":20,"end":30,"value":"Atlas Labs","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Atlas Labs"]},"customers":{"required_absent":[],"required_present":["Atlas Labs"]},"all":{"required_absent":[],"required_present":["Atlas Labs"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-001","language":"en","script":"Latin","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_1\":\"Customer mentioned Amina Borel\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":33,"end":44,"value":"Amina Borel","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Amina Borel"]},"customers":{"required_absent":["Amina Borel"],"required_present":[]},"all":{"required_absent":["Amina Borel"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-001","language":"en","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_1\":\"Public organization Atlas Works\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":34,"end":45,"value":"Atlas Works","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Atlas Works"]},"customers":{"required_absent":[],"required_present":["Atlas Works"]},"all":{"required_absent":[],"required_present":["Atlas Works"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-002","language":"en","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_2: Customer mentioned Amina Costa","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":41,"value":"Amina Costa","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Amina Costa"]},"customers":{"required_absent":["Amina Costa"],"required_present":[]},"all":{"required_absent":["Amina Costa"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-002","language":"en","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_2: Public organization Atlas Studio","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":43,"value":"Atlas Studio","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Atlas Studio"]},"customers":{"required_absent":[],"required_present":["Atlas Studio"]},"all":{"required_absent":[],"required_present":["Atlas Studio"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-003","language":"en","script":"Latin","shape":"shell","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_3='Customer mentioned Amina Durand'","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":42,"value":"Amina Durand","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Amina Durand"]},"customers":{"required_absent":["Amina Durand"],"required_present":[]},"all":{"required_absent":["Amina Durand"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-003","language":"en","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_3='Public organization Atlas Systems'","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":44,"value":"Atlas Systems","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Atlas Systems"]},"customers":{"required_absent":[],"required_present":["Atlas Systems"]},"all":{"required_absent":[],"required_present":["Atlas Systems"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-004","language":"en","script":"Latin","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/4 ; Customer mentioned Amina Esteves","known_identities":[],"targets":[{"id":"person","kind":"person","start":51,"end":64,"value":"Amina Esteves","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Amina Esteves"]},"customers":{"required_absent":["Amina Esteves"],"required_present":[]},"all":{"required_absent":["Amina Esteves"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-004","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/4 ; Public organization Atlas Collective","known_identities":[],"targets":[{"id":"person","kind":"person","start":52,"end":68,"value":"Atlas Collective","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Atlas Collective"]},"customers":{"required_absent":[],"required_present":["Atlas Collective"]},"all":{"required_absent":[],"required_present":["Atlas Collective"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-005","language":"en","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"**Customer mentioned Amina Fischer**","known_identities":[],"targets":[{"id":"person","kind":"person","start":21,"end":34,"value":"Amina Fischer","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Amina Fischer"]},"customers":{"required_absent":["Amina Fischer"],"required_present":[]},"all":{"required_absent":["Amina Fischer"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-005","language":"en","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"**Public organization Atlas Foundation**","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":38,"value":"Atlas Foundation","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Atlas Foundation"]},"customers":{"required_absent":[],"required_present":["Atlas Foundation"]},"all":{"required_absent":[],"required_present":["Atlas Foundation"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-006","language":"en","script":"Latin","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eCustomer mentioned Amina Garcia\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":34,"value":"Amina Garcia","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Amina Garcia"]},"customers":{"required_absent":["Amina Garcia"],"required_present":[]},"all":{"required_absent":["Amina Garcia"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-006","language":"en","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003ePublic organization Atlas Network\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":36,"value":"Atlas Network","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Atlas Network"]},"customers":{"required_absent":[],"required_present":["Atlas Network"]},"all":{"required_absent":[],"required_present":["Atlas Network"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-007","language":"en","script":"Latin","shape":"quoted-reply","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e Customer mentioned Amina Holm","known_identities":[],"targets":[{"id":"person","kind":"person","start":21,"end":31,"value":"Amina Holm","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Amina Holm"]},"customers":{"required_absent":["Amina Holm"],"required_present":[]},"all":{"required_absent":["Amina Holm"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-007","language":"en","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e Public organization Atlas Group","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":33,"value":"Atlas Group","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Atlas Group"]},"customers":{"required_absent":[],"required_present":["Atlas Group"]},"all":{"required_absent":[],"required_present":["Atlas Group"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-008","language":"en","script":"Latin","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=8 message=\"Customer mentioned \" value=Amina Ibarra","known_identities":[],"targets":[{"id":"person","kind":"person","start":56,"end":68,"value":"Amina Ibarra","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Amina Ibarra"]},"customers":{"required_absent":["Amina Ibarra"],"required_present":[]},"all":{"required_absent":["Amina Ibarra"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-008","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=8 message=\"Public organization \" value=Atlas Project","known_identities":[],"targets":[{"id":"person","kind":"person","start":57,"end":70,"value":"Atlas Project","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Atlas Project"]},"customers":{"required_absent":[],"required_present":["Atlas Project"]},"all":{"required_absent":[],"required_present":["Atlas Project"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-009","language":"en","script":"Latin","shape":"stack-trace","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[9]: Customer mentioned Amina Jensen","known_identities":[],"targets":[{"id":"person","kind":"person","start":29,"end":41,"value":"Amina Jensen","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Amina Jensen"]},"customers":{"required_absent":["Amina Jensen"],"required_present":[]},"all":{"required_absent":["Amina Jensen"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-009","language":"en","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[9]: Public organization Atlas Press","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":41,"value":"Atlas Press","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Atlas Press"]},"customers":{"required_absent":[],"required_present":["Atlas Press"]},"all":{"required_absent":[],"required_present":["Atlas Press"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-010","language":"en","script":"Latin","shape":"code","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_10 := `Customer mentioned Bruno Arden`","known_identities":[],"targets":[{"id":"person","kind":"person","start":34,"end":45,"value":"Bruno Arden","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bruno Arden"]},"customers":{"required_absent":["Bruno Arden"],"required_present":[]},"all":{"required_absent":["Bruno Arden"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-010","language":"en","script":"Latin","shape":"code","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_10 := `Public organization Boreal Labs`","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":46,"value":"Boreal Labs","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Boreal Labs"]},"customers":{"required_absent":[],"required_present":["Boreal Labs"]},"all":{"required_absent":[],"required_present":["Boreal Labs"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-011","language":"en","script":"Latin","shape":"signature","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--\nCustomer mentioned Bruno Borel","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":33,"value":"Bruno Borel","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bruno Borel"]},"customers":{"required_absent":["Bruno Borel"],"required_present":[]},"all":{"required_absent":["Bruno Borel"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-011","language":"en","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--\nPublic organization Boreal Works","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":35,"value":"Boreal Works","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Boreal Works"]},"customers":{"required_absent":[],"required_present":["Boreal Works"]},"all":{"required_absent":[],"required_present":["Boreal Works"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-012","language":"en","script":"Latin","shape":"long-thread","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Customer mentioned Bruno Costa","known_identities":[],"targets":[{"id":"person","kind":"person","start":499,"end":510,"value":"Bruno Costa","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bruno Costa"]},"customers":{"required_absent":["Bruno Costa"],"required_present":[]},"all":{"required_absent":["Bruno Costa"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-012","language":"en","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Public organization Boreal Studio","known_identities":[],"targets":[{"id":"person","kind":"person","start":500,"end":513,"value":"Boreal Studio","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Boreal Studio"]},"customers":{"required_absent":[],"required_present":["Boreal Studio"]},"all":{"required_absent":[],"required_present":["Boreal Studio"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-013","language":"en","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=13 --message=\"Customer mentioned \" --value=Bruno Durand","known_identities":[],"targets":[{"id":"person","kind":"person","start":52,"end":64,"value":"Bruno Durand","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bruno Durand"]},"customers":{"required_absent":["Bruno Durand"],"required_present":[]},"all":{"required_absent":["Bruno Durand"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-013","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=13 --message=\"Public organization \" --value=Boreal Systems","known_identities":[],"targets":[{"id":"person","kind":"person","start":53,"end":67,"value":"Boreal Systems","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Boreal Systems"]},"customers":{"required_absent":[],"required_present":["Boreal Systems"]},"all":{"required_absent":[],"required_present":["Boreal Systems"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-014","language":"en","script":"Latin","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Customer mentioned Bruno Esteves","known_identities":[],"targets":[{"id":"person","kind":"person","start":19,"end":32,"value":"Bruno Esteves","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bruno Esteves"]},"customers":{"required_absent":["Bruno Esteves"],"required_present":[]},"all":{"required_absent":["Bruno Esteves"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-014","language":"en","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Public organization Boreal Collective","known_identities":[],"targets":[{"id":"person","kind":"person","start":20,"end":37,"value":"Boreal Collective","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Boreal Collective"]},"customers":{"required_absent":[],"required_present":["Boreal Collective"]},"all":{"required_absent":[],"required_present":["Boreal Collective"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-015","language":"en","script":"Latin","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_15\":\"Customer mentioned Bruno Fischer\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":34,"end":47,"value":"Bruno Fischer","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bruno Fischer"]},"customers":{"required_absent":["Bruno Fischer"],"required_present":[]},"all":{"required_absent":["Bruno Fischer"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-015","language":"en","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_15\":\"Public organization Boreal Foundation\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":52,"value":"Boreal Foundation","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Boreal Foundation"]},"customers":{"required_absent":[],"required_present":["Boreal Foundation"]},"all":{"required_absent":[],"required_present":["Boreal Foundation"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-016","language":"en","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_16: Customer mentioned Bruno Garcia","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":43,"value":"Bruno Garcia","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bruno Garcia"]},"customers":{"required_absent":["Bruno Garcia"],"required_present":[]},"all":{"required_absent":["Bruno Garcia"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-016","language":"en","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_16: Public organization Boreal Network","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":46,"value":"Boreal Network","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Boreal Network"]},"customers":{"required_absent":[],"required_present":["Boreal Network"]},"all":{"required_absent":[],"required_present":["Boreal Network"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-017","language":"en","script":"Latin","shape":"shell","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_17='Customer mentioned Bruno Holm'","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":41,"value":"Bruno Holm","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bruno Holm"]},"customers":{"required_absent":["Bruno Holm"],"required_present":[]},"all":{"required_absent":["Bruno Holm"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-017","language":"en","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_17='Public organization Boreal Group'","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":44,"value":"Boreal Group","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Boreal Group"]},"customers":{"required_absent":[],"required_present":["Boreal Group"]},"all":{"required_absent":[],"required_present":["Boreal Group"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-018","language":"en","script":"Latin","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/18 ; Customer mentioned Bruno Ibarra","known_identities":[],"targets":[{"id":"person","kind":"person","start":52,"end":64,"value":"Bruno Ibarra","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bruno Ibarra"]},"customers":{"required_absent":["Bruno Ibarra"],"required_present":[]},"all":{"required_absent":["Bruno Ibarra"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-018","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/18 ; Public organization Boreal Project","known_identities":[],"targets":[{"id":"person","kind":"person","start":53,"end":67,"value":"Boreal Project","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Boreal Project"]},"customers":{"required_absent":[],"required_present":["Boreal Project"]},"all":{"required_absent":[],"required_present":["Boreal Project"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-019","language":"en","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"**Customer mentioned Bruno Jensen**","known_identities":[],"targets":[{"id":"person","kind":"person","start":21,"end":33,"value":"Bruno Jensen","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bruno Jensen"]},"customers":{"required_absent":["Bruno Jensen"],"required_present":[]},"all":{"required_absent":["Bruno Jensen"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-019","language":"en","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"**Public organization Boreal Press**","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":34,"value":"Boreal Press","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Boreal Press"]},"customers":{"required_absent":[],"required_present":["Boreal Press"]},"all":{"required_absent":[],"required_present":["Boreal Press"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-020","language":"en","script":"Latin","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eCustomer mentioned Clara Arden\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":33,"value":"Clara Arden","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Clara Arden"]},"customers":{"required_absent":["Clara Arden"],"required_present":[]},"all":{"required_absent":["Clara Arden"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-020","language":"en","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003ePublic organization Cedar Labs\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":33,"value":"Cedar Labs","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Cedar Labs"]},"customers":{"required_absent":[],"required_present":["Cedar Labs"]},"all":{"required_absent":[],"required_present":["Cedar Labs"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-021","language":"en","script":"Latin","shape":"quoted-reply","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e Customer mentioned Clara Borel","known_identities":[],"targets":[{"id":"person","kind":"person","start":21,"end":32,"value":"Clara Borel","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Clara Borel"]},"customers":{"required_absent":["Clara Borel"],"required_present":[]},"all":{"required_absent":["Clara Borel"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-021","language":"en","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e Public organization Cedar Works","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":33,"value":"Cedar Works","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Cedar Works"]},"customers":{"required_absent":[],"required_present":["Cedar Works"]},"all":{"required_absent":[],"required_present":["Cedar Works"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-022","language":"en","script":"Latin","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=22 message=\"Customer mentioned \" value=Clara Costa","known_identities":[],"targets":[{"id":"person","kind":"person","start":57,"end":68,"value":"Clara Costa","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Clara Costa"]},"customers":{"required_absent":["Clara Costa"],"required_present":[]},"all":{"required_absent":["Clara Costa"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-022","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=22 message=\"Public organization \" value=Cedar Studio","known_identities":[],"targets":[{"id":"person","kind":"person","start":58,"end":70,"value":"Cedar Studio","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Cedar Studio"]},"customers":{"required_absent":[],"required_present":["Cedar Studio"]},"all":{"required_absent":[],"required_present":["Cedar Studio"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-023","language":"en","script":"Latin","shape":"stack-trace","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[23]: Customer mentioned Clara Durand","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":42,"value":"Clara Durand","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Clara Durand"]},"customers":{"required_absent":["Clara Durand"],"required_present":[]},"all":{"required_absent":["Clara Durand"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-023","language":"en","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[23]: Public organization Cedar Systems","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":44,"value":"Cedar Systems","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Cedar Systems"]},"customers":{"required_absent":[],"required_present":["Cedar Systems"]},"all":{"required_absent":[],"required_present":["Cedar Systems"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-024","language":"en","script":"Latin","shape":"code","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_24 := `Customer mentioned Clara Esteves`","known_identities":[],"targets":[{"id":"person","kind":"person","start":34,"end":47,"value":"Clara Esteves","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Clara Esteves"]},"customers":{"required_absent":["Clara Esteves"],"required_present":[]},"all":{"required_absent":["Clara Esteves"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-024","language":"en","script":"Latin","shape":"code","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_24 := `Public organization Cedar Collective`","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":51,"value":"Cedar Collective","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Cedar Collective"]},"customers":{"required_absent":[],"required_present":["Cedar Collective"]},"all":{"required_absent":[],"required_present":["Cedar Collective"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-025","language":"en","script":"Latin","shape":"signature","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--\nCustomer mentioned Clara Fischer","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":35,"value":"Clara Fischer","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Clara Fischer"]},"customers":{"required_absent":["Clara Fischer"],"required_present":[]},"all":{"required_absent":["Clara Fischer"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-025","language":"en","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--\nPublic organization Cedar Foundation","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":39,"value":"Cedar Foundation","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Cedar Foundation"]},"customers":{"required_absent":[],"required_present":["Cedar Foundation"]},"all":{"required_absent":[],"required_present":["Cedar Foundation"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-026","language":"en","script":"Latin","shape":"long-thread","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Customer mentioned Clara Garcia","known_identities":[],"targets":[{"id":"person","kind":"person","start":499,"end":511,"value":"Clara Garcia","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Clara Garcia"]},"customers":{"required_absent":["Clara Garcia"],"required_present":[]},"all":{"required_absent":["Clara Garcia"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-026","language":"en","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Public organization Cedar Network","known_identities":[],"targets":[{"id":"person","kind":"person","start":500,"end":513,"value":"Cedar Network","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Cedar Network"]},"customers":{"required_absent":[],"required_present":["Cedar Network"]},"all":{"required_absent":[],"required_present":["Cedar Network"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-027","language":"en","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=27 --message=\"Customer mentioned \" --value=Clara Holm","known_identities":[],"targets":[{"id":"person","kind":"person","start":52,"end":62,"value":"Clara Holm","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Clara Holm"]},"customers":{"required_absent":["Clara Holm"],"required_present":[]},"all":{"required_absent":["Clara Holm"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-027","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=27 --message=\"Public organization \" --value=Cedar Group","known_identities":[],"targets":[{"id":"person","kind":"person","start":53,"end":64,"value":"Cedar Group","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Cedar Group"]},"customers":{"required_absent":[],"required_present":["Cedar Group"]},"all":{"required_absent":[],"required_present":["Cedar Group"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-028","language":"en","script":"Latin","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Customer mentioned Clara Ibarra","known_identities":[],"targets":[{"id":"person","kind":"person","start":19,"end":31,"value":"Clara Ibarra","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Clara Ibarra"]},"customers":{"required_absent":["Clara Ibarra"],"required_present":[]},"all":{"required_absent":["Clara Ibarra"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-028","language":"en","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Public organization Cedar Project","known_identities":[],"targets":[{"id":"person","kind":"person","start":20,"end":33,"value":"Cedar Project","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Cedar Project"]},"customers":{"required_absent":[],"required_present":["Cedar Project"]},"all":{"required_absent":[],"required_present":["Cedar Project"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-029","language":"en","script":"Latin","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_29\":\"Customer mentioned Clara Jensen\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":34,"end":46,"value":"Clara Jensen","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Clara Jensen"]},"customers":{"required_absent":["Clara Jensen"],"required_present":[]},"all":{"required_absent":["Clara Jensen"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-029","language":"en","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_29\":\"Public organization Cedar Press\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":46,"value":"Cedar Press","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Cedar Press"]},"customers":{"required_absent":[],"required_present":["Cedar Press"]},"all":{"required_absent":[],"required_present":["Cedar Press"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-030","language":"en","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_30: Customer mentioned Diego Arden","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":42,"value":"Diego Arden","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Diego Arden"]},"customers":{"required_absent":["Diego Arden"],"required_present":[]},"all":{"required_absent":["Diego Arden"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-030","language":"en","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_30: Public organization Delta Labs","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":42,"value":"Delta Labs","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Delta Labs"]},"customers":{"required_absent":[],"required_present":["Delta Labs"]},"all":{"required_absent":[],"required_present":["Delta Labs"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-031","language":"en","script":"Latin","shape":"shell","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_31='Customer mentioned Diego Borel'","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":42,"value":"Diego Borel","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Diego Borel"]},"customers":{"required_absent":["Diego Borel"],"required_present":[]},"all":{"required_absent":["Diego Borel"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-031","language":"en","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_31='Public organization Delta Works'","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":43,"value":"Delta Works","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Delta Works"]},"customers":{"required_absent":[],"required_present":["Delta Works"]},"all":{"required_absent":[],"required_present":["Delta Works"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-032","language":"en","script":"Latin","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/32 ; Customer mentioned Diego Costa","known_identities":[],"targets":[{"id":"person","kind":"person","start":52,"end":63,"value":"Diego Costa","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Diego Costa"]},"customers":{"required_absent":["Diego Costa"],"required_present":[]},"all":{"required_absent":["Diego Costa"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-032","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/32 ; Public organization Delta Studio","known_identities":[],"targets":[{"id":"person","kind":"person","start":53,"end":65,"value":"Delta Studio","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Delta Studio"]},"customers":{"required_absent":[],"required_present":["Delta Studio"]},"all":{"required_absent":[],"required_present":["Delta Studio"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-033","language":"en","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"**Customer mentioned Diego Durand**","known_identities":[],"targets":[{"id":"person","kind":"person","start":21,"end":33,"value":"Diego Durand","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Diego Durand"]},"customers":{"required_absent":["Diego Durand"],"required_present":[]},"all":{"required_absent":["Diego Durand"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-033","language":"en","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"**Public organization Delta Systems**","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":35,"value":"Delta Systems","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Delta Systems"]},"customers":{"required_absent":[],"required_present":["Delta Systems"]},"all":{"required_absent":[],"required_present":["Delta Systems"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-034","language":"en","script":"Latin","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eCustomer mentioned Diego Esteves\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":35,"value":"Diego Esteves","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Diego Esteves"]},"customers":{"required_absent":["Diego Esteves"],"required_present":[]},"all":{"required_absent":["Diego Esteves"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-034","language":"en","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003ePublic organization Delta Collective\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":39,"value":"Delta Collective","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Delta Collective"]},"customers":{"required_absent":[],"required_present":["Delta Collective"]},"all":{"required_absent":[],"required_present":["Delta Collective"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-035","language":"en","script":"Latin","shape":"quoted-reply","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e Customer mentioned Diego Fischer","known_identities":[],"targets":[{"id":"person","kind":"person","start":21,"end":34,"value":"Diego Fischer","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Diego Fischer"]},"customers":{"required_absent":["Diego Fischer"],"required_present":[]},"all":{"required_absent":["Diego Fischer"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-035","language":"en","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e Public organization Delta Foundation","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":38,"value":"Delta Foundation","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Delta Foundation"]},"customers":{"required_absent":[],"required_present":["Delta Foundation"]},"all":{"required_absent":[],"required_present":["Delta Foundation"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-036","language":"en","script":"Latin","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=36 message=\"Customer mentioned \" value=Diego Garcia","known_identities":[],"targets":[{"id":"person","kind":"person","start":57,"end":69,"value":"Diego Garcia","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Diego Garcia"]},"customers":{"required_absent":["Diego Garcia"],"required_present":[]},"all":{"required_absent":["Diego Garcia"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-036","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=36 message=\"Public organization \" value=Delta Network","known_identities":[],"targets":[{"id":"person","kind":"person","start":58,"end":71,"value":"Delta Network","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Delta Network"]},"customers":{"required_absent":[],"required_present":["Delta Network"]},"all":{"required_absent":[],"required_present":["Delta Network"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-037","language":"en","script":"Latin","shape":"stack-trace","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[37]: Customer mentioned Diego Holm","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":40,"value":"Diego Holm","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Diego Holm"]},"customers":{"required_absent":["Diego Holm"],"required_present":[]},"all":{"required_absent":["Diego Holm"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-037","language":"en","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[37]: Public organization Delta Group","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":42,"value":"Delta Group","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Delta Group"]},"customers":{"required_absent":[],"required_present":["Delta Group"]},"all":{"required_absent":[],"required_present":["Delta Group"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-038","language":"en","script":"Latin","shape":"code","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_38 := `Customer mentioned Diego Ibarra`","known_identities":[],"targets":[{"id":"person","kind":"person","start":34,"end":46,"value":"Diego Ibarra","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Diego Ibarra"]},"customers":{"required_absent":["Diego Ibarra"],"required_present":[]},"all":{"required_absent":["Diego Ibarra"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-038","language":"en","script":"Latin","shape":"code","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_38 := `Public organization Delta Project`","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":48,"value":"Delta Project","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Delta Project"]},"customers":{"required_absent":[],"required_present":["Delta Project"]},"all":{"required_absent":[],"required_present":["Delta Project"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-039","language":"en","script":"Latin","shape":"signature","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--\nCustomer mentioned Diego Jensen","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":34,"value":"Diego Jensen","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Diego Jensen"]},"customers":{"required_absent":["Diego Jensen"],"required_present":[]},"all":{"required_absent":["Diego Jensen"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-039","language":"en","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--\nPublic organization Delta Press","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":34,"value":"Delta Press","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Delta Press"]},"customers":{"required_absent":[],"required_present":["Delta Press"]},"all":{"required_absent":[],"required_present":["Delta Press"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-040","language":"en","script":"Latin","shape":"long-thread","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Customer mentioned Elena Arden","known_identities":[],"targets":[{"id":"person","kind":"person","start":499,"end":510,"value":"Elena Arden","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Elena Arden"]},"customers":{"required_absent":["Elena Arden"],"required_present":[]},"all":{"required_absent":["Elena Arden"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-040","language":"en","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Public organization Ember Labs","known_identities":[],"targets":[{"id":"person","kind":"person","start":500,"end":510,"value":"Ember Labs","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ember Labs"]},"customers":{"required_absent":[],"required_present":["Ember Labs"]},"all":{"required_absent":[],"required_present":["Ember Labs"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-041","language":"en","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=41 --message=\"Customer mentioned \" --value=Elena Borel","known_identities":[],"targets":[{"id":"person","kind":"person","start":52,"end":63,"value":"Elena Borel","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Elena Borel"]},"customers":{"required_absent":["Elena Borel"],"required_present":[]},"all":{"required_absent":["Elena Borel"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-041","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=41 --message=\"Public organization \" --value=Ember Works","known_identities":[],"targets":[{"id":"person","kind":"person","start":53,"end":64,"value":"Ember Works","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ember Works"]},"customers":{"required_absent":[],"required_present":["Ember Works"]},"all":{"required_absent":[],"required_present":["Ember Works"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-042","language":"en","script":"Latin","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Customer mentioned Elena Costa","known_identities":[],"targets":[{"id":"person","kind":"person","start":19,"end":30,"value":"Elena Costa","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Elena Costa"]},"customers":{"required_absent":["Elena Costa"],"required_present":[]},"all":{"required_absent":["Elena Costa"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-042","language":"en","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Public organization Ember Studio","known_identities":[],"targets":[{"id":"person","kind":"person","start":20,"end":32,"value":"Ember Studio","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ember Studio"]},"customers":{"required_absent":[],"required_present":["Ember Studio"]},"all":{"required_absent":[],"required_present":["Ember Studio"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-043","language":"en","script":"Latin","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_43\":\"Customer mentioned Elena Durand\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":34,"end":46,"value":"Elena Durand","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Elena Durand"]},"customers":{"required_absent":["Elena Durand"],"required_present":[]},"all":{"required_absent":["Elena Durand"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-043","language":"en","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_43\":\"Public organization Ember Systems\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":48,"value":"Ember Systems","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ember Systems"]},"customers":{"required_absent":[],"required_present":["Ember Systems"]},"all":{"required_absent":[],"required_present":["Ember Systems"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-044","language":"en","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_44: Customer mentioned Elena Esteves","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":44,"value":"Elena Esteves","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Elena Esteves"]},"customers":{"required_absent":["Elena Esteves"],"required_present":[]},"all":{"required_absent":["Elena Esteves"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-044","language":"en","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_44: Public organization Ember Collective","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":48,"value":"Ember Collective","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ember Collective"]},"customers":{"required_absent":[],"required_present":["Ember Collective"]},"all":{"required_absent":[],"required_present":["Ember Collective"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-045","language":"en","script":"Latin","shape":"shell","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_45='Customer mentioned Elena Fischer'","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":44,"value":"Elena Fischer","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Elena Fischer"]},"customers":{"required_absent":["Elena Fischer"],"required_present":[]},"all":{"required_absent":["Elena Fischer"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-045","language":"en","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_45='Public organization Ember Foundation'","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":48,"value":"Ember Foundation","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ember Foundation"]},"customers":{"required_absent":[],"required_present":["Ember Foundation"]},"all":{"required_absent":[],"required_present":["Ember Foundation"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-046","language":"en","script":"Latin","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/46 ; Customer mentioned Elena Garcia","known_identities":[],"targets":[{"id":"person","kind":"person","start":52,"end":64,"value":"Elena Garcia","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Elena Garcia"]},"customers":{"required_absent":["Elena Garcia"],"required_present":[]},"all":{"required_absent":["Elena Garcia"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-046","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/46 ; Public organization Ember Network","known_identities":[],"targets":[{"id":"person","kind":"person","start":53,"end":66,"value":"Ember Network","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ember Network"]},"customers":{"required_absent":[],"required_present":["Ember Network"]},"all":{"required_absent":[],"required_present":["Ember Network"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-047","language":"en","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"**Customer mentioned Elena Holm**","known_identities":[],"targets":[{"id":"person","kind":"person","start":21,"end":31,"value":"Elena Holm","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Elena Holm"]},"customers":{"required_absent":["Elena Holm"],"required_present":[]},"all":{"required_absent":["Elena Holm"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-047","language":"en","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"**Public organization Ember Group**","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":33,"value":"Ember Group","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ember Group"]},"customers":{"required_absent":[],"required_present":["Ember Group"]},"all":{"required_absent":[],"required_present":["Ember Group"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-048","language":"en","script":"Latin","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eCustomer mentioned Elena Ibarra\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":34,"value":"Elena Ibarra","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Elena Ibarra"]},"customers":{"required_absent":["Elena Ibarra"],"required_present":[]},"all":{"required_absent":["Elena Ibarra"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-048","language":"en","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003ePublic organization Ember Project\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":36,"value":"Ember Project","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ember Project"]},"customers":{"required_absent":[],"required_present":["Ember Project"]},"all":{"required_absent":[],"required_present":["Ember Project"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-049","language":"en","script":"Latin","shape":"quoted-reply","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e Customer mentioned Elena Jensen","known_identities":[],"targets":[{"id":"person","kind":"person","start":21,"end":33,"value":"Elena Jensen","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Elena Jensen"]},"customers":{"required_absent":["Elena Jensen"],"required_present":[]},"all":{"required_absent":["Elena Jensen"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-049","language":"en","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e Public organization Ember Press","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":33,"value":"Ember Press","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ember Press"]},"customers":{"required_absent":[],"required_present":["Ember Press"]},"all":{"required_absent":[],"required_present":["Ember Press"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-050","language":"en","script":"Latin","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=50 message=\"Customer mentioned \" value=Farid Arden","known_identities":[],"targets":[{"id":"person","kind":"person","start":57,"end":68,"value":"Farid Arden","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Farid Arden"]},"customers":{"required_absent":["Farid Arden"],"required_present":[]},"all":{"required_absent":["Farid Arden"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-050","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=50 message=\"Public organization \" value=Flora Labs","known_identities":[],"targets":[{"id":"person","kind":"person","start":58,"end":68,"value":"Flora Labs","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Flora Labs"]},"customers":{"required_absent":[],"required_present":["Flora Labs"]},"all":{"required_absent":[],"required_present":["Flora Labs"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-051","language":"en","script":"Latin","shape":"stack-trace","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[51]: Customer mentioned Farid Borel","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":41,"value":"Farid Borel","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Farid Borel"]},"customers":{"required_absent":["Farid Borel"],"required_present":[]},"all":{"required_absent":["Farid Borel"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-051","language":"en","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[51]: Public organization Flora Works","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":42,"value":"Flora Works","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Flora Works"]},"customers":{"required_absent":[],"required_present":["Flora Works"]},"all":{"required_absent":[],"required_present":["Flora Works"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-052","language":"en","script":"Latin","shape":"code","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_52 := `Customer mentioned Farid Costa`","known_identities":[],"targets":[{"id":"person","kind":"person","start":34,"end":45,"value":"Farid Costa","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Farid Costa"]},"customers":{"required_absent":["Farid Costa"],"required_present":[]},"all":{"required_absent":["Farid Costa"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-052","language":"en","script":"Latin","shape":"code","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_52 := `Public organization Flora Studio`","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":47,"value":"Flora Studio","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Flora Studio"]},"customers":{"required_absent":[],"required_present":["Flora Studio"]},"all":{"required_absent":[],"required_present":["Flora Studio"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-053","language":"en","script":"Latin","shape":"signature","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--\nCustomer mentioned Farid Durand","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":34,"value":"Farid Durand","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Farid Durand"]},"customers":{"required_absent":["Farid Durand"],"required_present":[]},"all":{"required_absent":["Farid Durand"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-053","language":"en","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--\nPublic organization Flora Systems","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":36,"value":"Flora Systems","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Flora Systems"]},"customers":{"required_absent":[],"required_present":["Flora Systems"]},"all":{"required_absent":[],"required_present":["Flora Systems"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-054","language":"en","script":"Latin","shape":"long-thread","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Customer mentioned Farid Esteves","known_identities":[],"targets":[{"id":"person","kind":"person","start":499,"end":512,"value":"Farid Esteves","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Farid Esteves"]},"customers":{"required_absent":["Farid Esteves"],"required_present":[]},"all":{"required_absent":["Farid Esteves"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-054","language":"en","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Public organization Flora Collective","known_identities":[],"targets":[{"id":"person","kind":"person","start":500,"end":516,"value":"Flora Collective","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Flora Collective"]},"customers":{"required_absent":[],"required_present":["Flora Collective"]},"all":{"required_absent":[],"required_present":["Flora Collective"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-055","language":"en","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=55 --message=\"Customer mentioned \" --value=Farid Fischer","known_identities":[],"targets":[{"id":"person","kind":"person","start":52,"end":65,"value":"Farid Fischer","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Farid Fischer"]},"customers":{"required_absent":["Farid Fischer"],"required_present":[]},"all":{"required_absent":["Farid Fischer"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-055","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=55 --message=\"Public organization \" --value=Flora Foundation","known_identities":[],"targets":[{"id":"person","kind":"person","start":53,"end":69,"value":"Flora Foundation","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Flora Foundation"]},"customers":{"required_absent":[],"required_present":["Flora Foundation"]},"all":{"required_absent":[],"required_present":["Flora Foundation"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-056","language":"en","script":"Latin","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Customer mentioned Farid Garcia","known_identities":[],"targets":[{"id":"person","kind":"person","start":19,"end":31,"value":"Farid Garcia","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Farid Garcia"]},"customers":{"required_absent":["Farid Garcia"],"required_present":[]},"all":{"required_absent":["Farid Garcia"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-056","language":"en","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Public organization Flora Network","known_identities":[],"targets":[{"id":"person","kind":"person","start":20,"end":33,"value":"Flora Network","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Flora Network"]},"customers":{"required_absent":[],"required_present":["Flora Network"]},"all":{"required_absent":[],"required_present":["Flora Network"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-057","language":"en","script":"Latin","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_57\":\"Customer mentioned Farid Holm\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":34,"end":44,"value":"Farid Holm","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Farid Holm"]},"customers":{"required_absent":["Farid Holm"],"required_present":[]},"all":{"required_absent":["Farid Holm"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-057","language":"en","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_57\":\"Public organization Flora Group\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":46,"value":"Flora Group","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Flora Group"]},"customers":{"required_absent":[],"required_present":["Flora Group"]},"all":{"required_absent":[],"required_present":["Flora Group"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-058","language":"en","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_58: Customer mentioned Farid Ibarra","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":43,"value":"Farid Ibarra","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Farid Ibarra"]},"customers":{"required_absent":["Farid Ibarra"],"required_present":[]},"all":{"required_absent":["Farid Ibarra"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-058","language":"en","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_58: Public organization Flora Project","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":45,"value":"Flora Project","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Flora Project"]},"customers":{"required_absent":[],"required_present":["Flora Project"]},"all":{"required_absent":[],"required_present":["Flora Project"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-059","language":"en","script":"Latin","shape":"shell","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_59='Customer mentioned Farid Jensen'","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":43,"value":"Farid Jensen","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Farid Jensen"]},"customers":{"required_absent":["Farid Jensen"],"required_present":[]},"all":{"required_absent":["Farid Jensen"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-059","language":"en","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_59='Public organization Flora Press'","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":43,"value":"Flora Press","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Flora Press"]},"customers":{"required_absent":[],"required_present":["Flora Press"]},"all":{"required_absent":[],"required_present":["Flora Press"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-060","language":"en","script":"Latin","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/60 ; Customer mentioned Greta Arden","known_identities":[],"targets":[{"id":"person","kind":"person","start":52,"end":63,"value":"Greta Arden","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Greta Arden"]},"customers":{"required_absent":["Greta Arden"],"required_present":[]},"all":{"required_absent":["Greta Arden"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-060","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/60 ; Public organization Gaia Labs","known_identities":[],"targets":[{"id":"person","kind":"person","start":53,"end":62,"value":"Gaia Labs","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Gaia Labs"]},"customers":{"required_absent":[],"required_present":["Gaia Labs"]},"all":{"required_absent":[],"required_present":["Gaia Labs"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-061","language":"en","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"**Customer mentioned Greta Borel**","known_identities":[],"targets":[{"id":"person","kind":"person","start":21,"end":32,"value":"Greta Borel","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Greta Borel"]},"customers":{"required_absent":["Greta Borel"],"required_present":[]},"all":{"required_absent":["Greta Borel"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-061","language":"en","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"**Public organization Gaia Works**","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":32,"value":"Gaia Works","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Gaia Works"]},"customers":{"required_absent":[],"required_present":["Gaia Works"]},"all":{"required_absent":[],"required_present":["Gaia Works"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-062","language":"en","script":"Latin","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eCustomer mentioned Greta Costa\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":33,"value":"Greta Costa","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Greta Costa"]},"customers":{"required_absent":["Greta Costa"],"required_present":[]},"all":{"required_absent":["Greta Costa"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-062","language":"en","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003ePublic organization Gaia Studio\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":34,"value":"Gaia Studio","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Gaia Studio"]},"customers":{"required_absent":[],"required_present":["Gaia Studio"]},"all":{"required_absent":[],"required_present":["Gaia Studio"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-063","language":"en","script":"Latin","shape":"quoted-reply","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e Customer mentioned Greta Durand","known_identities":[],"targets":[{"id":"person","kind":"person","start":21,"end":33,"value":"Greta Durand","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Greta Durand"]},"customers":{"required_absent":["Greta Durand"],"required_present":[]},"all":{"required_absent":["Greta Durand"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-063","language":"en","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e Public organization Gaia Systems","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":34,"value":"Gaia Systems","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Gaia Systems"]},"customers":{"required_absent":[],"required_present":["Gaia Systems"]},"all":{"required_absent":[],"required_present":["Gaia Systems"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-064","language":"en","script":"Latin","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=64 message=\"Customer mentioned \" value=Greta Esteves","known_identities":[],"targets":[{"id":"person","kind":"person","start":57,"end":70,"value":"Greta Esteves","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Greta Esteves"]},"customers":{"required_absent":["Greta Esteves"],"required_present":[]},"all":{"required_absent":["Greta Esteves"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-064","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=64 message=\"Public organization \" value=Gaia Collective","known_identities":[],"targets":[{"id":"person","kind":"person","start":58,"end":73,"value":"Gaia Collective","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Gaia Collective"]},"customers":{"required_absent":[],"required_present":["Gaia Collective"]},"all":{"required_absent":[],"required_present":["Gaia Collective"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-065","language":"en","script":"Latin","shape":"stack-trace","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[65]: Customer mentioned Greta Fischer","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":43,"value":"Greta Fischer","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Greta Fischer"]},"customers":{"required_absent":["Greta Fischer"],"required_present":[]},"all":{"required_absent":["Greta Fischer"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-065","language":"en","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[65]: Public organization Gaia Foundation","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":46,"value":"Gaia Foundation","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Gaia Foundation"]},"customers":{"required_absent":[],"required_present":["Gaia Foundation"]},"all":{"required_absent":[],"required_present":["Gaia Foundation"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-066","language":"en","script":"Latin","shape":"code","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_66 := `Customer mentioned Greta Garcia`","known_identities":[],"targets":[{"id":"person","kind":"person","start":34,"end":46,"value":"Greta Garcia","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Greta Garcia"]},"customers":{"required_absent":["Greta Garcia"],"required_present":[]},"all":{"required_absent":["Greta Garcia"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-066","language":"en","script":"Latin","shape":"code","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_66 := `Public organization Gaia Network`","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":47,"value":"Gaia Network","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Gaia Network"]},"customers":{"required_absent":[],"required_present":["Gaia Network"]},"all":{"required_absent":[],"required_present":["Gaia Network"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-067","language":"en","script":"Latin","shape":"signature","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--\nCustomer mentioned Greta Holm","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":32,"value":"Greta Holm","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Greta Holm"]},"customers":{"required_absent":["Greta Holm"],"required_present":[]},"all":{"required_absent":["Greta Holm"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-067","language":"en","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--\nPublic organization Gaia Group","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":33,"value":"Gaia Group","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Gaia Group"]},"customers":{"required_absent":[],"required_present":["Gaia Group"]},"all":{"required_absent":[],"required_present":["Gaia Group"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-068","language":"en","script":"Latin","shape":"long-thread","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Customer mentioned Greta Ibarra","known_identities":[],"targets":[{"id":"person","kind":"person","start":499,"end":511,"value":"Greta Ibarra","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Greta Ibarra"]},"customers":{"required_absent":["Greta Ibarra"],"required_present":[]},"all":{"required_absent":["Greta Ibarra"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-068","language":"en","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Public organization Gaia Project","known_identities":[],"targets":[{"id":"person","kind":"person","start":500,"end":512,"value":"Gaia Project","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Gaia Project"]},"customers":{"required_absent":[],"required_present":["Gaia Project"]},"all":{"required_absent":[],"required_present":["Gaia Project"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-069","language":"en","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=69 --message=\"Customer mentioned \" --value=Greta Jensen","known_identities":[],"targets":[{"id":"person","kind":"person","start":52,"end":64,"value":"Greta Jensen","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Greta Jensen"]},"customers":{"required_absent":["Greta Jensen"],"required_present":[]},"all":{"required_absent":["Greta Jensen"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-069","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=69 --message=\"Public organization \" --value=Gaia Press","known_identities":[],"targets":[{"id":"person","kind":"person","start":53,"end":63,"value":"Gaia Press","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Gaia Press"]},"customers":{"required_absent":[],"required_present":["Gaia Press"]},"all":{"required_absent":[],"required_present":["Gaia Press"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-070","language":"en","script":"Latin","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Customer mentioned Hugo Arden","known_identities":[],"targets":[{"id":"person","kind":"person","start":19,"end":29,"value":"Hugo Arden","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Hugo Arden"]},"customers":{"required_absent":["Hugo Arden"],"required_present":[]},"all":{"required_absent":["Hugo Arden"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-070","language":"en","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Public organization Helios Labs","known_identities":[],"targets":[{"id":"person","kind":"person","start":20,"end":31,"value":"Helios Labs","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Helios Labs"]},"customers":{"required_absent":[],"required_present":["Helios Labs"]},"all":{"required_absent":[],"required_present":["Helios Labs"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-071","language":"en","script":"Latin","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_71\":\"Customer mentioned Hugo Borel\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":34,"end":44,"value":"Hugo Borel","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Hugo Borel"]},"customers":{"required_absent":["Hugo Borel"],"required_present":[]},"all":{"required_absent":["Hugo Borel"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-071","language":"en","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_71\":\"Public organization Helios Works\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":47,"value":"Helios Works","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Helios Works"]},"customers":{"required_absent":[],"required_present":["Helios Works"]},"all":{"required_absent":[],"required_present":["Helios Works"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-072","language":"en","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_72: Customer mentioned Hugo Costa","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":41,"value":"Hugo Costa","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Hugo Costa"]},"customers":{"required_absent":["Hugo Costa"],"required_present":[]},"all":{"required_absent":["Hugo Costa"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-072","language":"en","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_72: Public organization Helios Studio","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":45,"value":"Helios Studio","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Helios Studio"]},"customers":{"required_absent":[],"required_present":["Helios Studio"]},"all":{"required_absent":[],"required_present":["Helios Studio"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-073","language":"en","script":"Latin","shape":"shell","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_73='Customer mentioned Hugo Durand'","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":42,"value":"Hugo Durand","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Hugo Durand"]},"customers":{"required_absent":["Hugo Durand"],"required_present":[]},"all":{"required_absent":["Hugo Durand"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-073","language":"en","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_73='Public organization Helios Systems'","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":46,"value":"Helios Systems","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Helios Systems"]},"customers":{"required_absent":[],"required_present":["Helios Systems"]},"all":{"required_absent":[],"required_present":["Helios Systems"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-074","language":"en","script":"Latin","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/74 ; Customer mentioned Hugo Esteves","known_identities":[],"targets":[{"id":"person","kind":"person","start":52,"end":64,"value":"Hugo Esteves","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Hugo Esteves"]},"customers":{"required_absent":["Hugo Esteves"],"required_present":[]},"all":{"required_absent":["Hugo Esteves"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-074","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/74 ; Public organization Helios Collective","known_identities":[],"targets":[{"id":"person","kind":"person","start":53,"end":70,"value":"Helios Collective","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Helios Collective"]},"customers":{"required_absent":[],"required_present":["Helios Collective"]},"all":{"required_absent":[],"required_present":["Helios Collective"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-075","language":"en","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"**Customer mentioned Hugo Fischer**","known_identities":[],"targets":[{"id":"person","kind":"person","start":21,"end":33,"value":"Hugo Fischer","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Hugo Fischer"]},"customers":{"required_absent":["Hugo Fischer"],"required_present":[]},"all":{"required_absent":["Hugo Fischer"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-075","language":"en","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"**Public organization Helios Foundation**","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":39,"value":"Helios Foundation","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Helios Foundation"]},"customers":{"required_absent":[],"required_present":["Helios Foundation"]},"all":{"required_absent":[],"required_present":["Helios Foundation"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-076","language":"en","script":"Latin","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eCustomer mentioned Hugo Garcia\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":33,"value":"Hugo Garcia","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Hugo Garcia"]},"customers":{"required_absent":["Hugo Garcia"],"required_present":[]},"all":{"required_absent":["Hugo Garcia"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-076","language":"en","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003ePublic organization Helios Network\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":37,"value":"Helios Network","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Helios Network"]},"customers":{"required_absent":[],"required_present":["Helios Network"]},"all":{"required_absent":[],"required_present":["Helios Network"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-077","language":"en","script":"Latin","shape":"quoted-reply","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e Customer mentioned Hugo Holm","known_identities":[],"targets":[{"id":"person","kind":"person","start":21,"end":30,"value":"Hugo Holm","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Hugo Holm"]},"customers":{"required_absent":["Hugo Holm"],"required_present":[]},"all":{"required_absent":["Hugo Holm"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-077","language":"en","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e Public organization Helios Group","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":34,"value":"Helios Group","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Helios Group"]},"customers":{"required_absent":[],"required_present":["Helios Group"]},"all":{"required_absent":[],"required_present":["Helios Group"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-078","language":"en","script":"Latin","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=78 message=\"Customer mentioned \" value=Hugo Ibarra","known_identities":[],"targets":[{"id":"person","kind":"person","start":57,"end":68,"value":"Hugo Ibarra","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Hugo Ibarra"]},"customers":{"required_absent":["Hugo Ibarra"],"required_present":[]},"all":{"required_absent":["Hugo Ibarra"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-078","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=78 message=\"Public organization \" value=Helios Project","known_identities":[],"targets":[{"id":"person","kind":"person","start":58,"end":72,"value":"Helios Project","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Helios Project"]},"customers":{"required_absent":[],"required_present":["Helios Project"]},"all":{"required_absent":[],"required_present":["Helios Project"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-079","language":"en","script":"Latin","shape":"stack-trace","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[79]: Customer mentioned Hugo Jensen","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":41,"value":"Hugo Jensen","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Hugo Jensen"]},"customers":{"required_absent":["Hugo Jensen"],"required_present":[]},"all":{"required_absent":["Hugo Jensen"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-079","language":"en","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[79]: Public organization Helios Press","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":43,"value":"Helios Press","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Helios Press"]},"customers":{"required_absent":[],"required_present":["Helios Press"]},"all":{"required_absent":[],"required_present":["Helios Press"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-080","language":"en","script":"Latin","shape":"code","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_80 := `Customer mentioned Ines Arden`","known_identities":[],"targets":[{"id":"person","kind":"person","start":34,"end":44,"value":"Ines Arden","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ines Arden"]},"customers":{"required_absent":["Ines Arden"],"required_present":[]},"all":{"required_absent":["Ines Arden"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-080","language":"en","script":"Latin","shape":"code","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_80 := `Public organization Ion Labs`","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":43,"value":"Ion Labs","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ion Labs"]},"customers":{"required_absent":[],"required_present":["Ion Labs"]},"all":{"required_absent":[],"required_present":["Ion Labs"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-081","language":"en","script":"Latin","shape":"signature","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--\nCustomer mentioned Ines Borel","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":32,"value":"Ines Borel","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ines Borel"]},"customers":{"required_absent":["Ines Borel"],"required_present":[]},"all":{"required_absent":["Ines Borel"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-081","language":"en","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--\nPublic organization Ion Works","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":32,"value":"Ion Works","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ion Works"]},"customers":{"required_absent":[],"required_present":["Ion Works"]},"all":{"required_absent":[],"required_present":["Ion Works"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-082","language":"en","script":"Latin","shape":"long-thread","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Customer mentioned Ines Costa","known_identities":[],"targets":[{"id":"person","kind":"person","start":499,"end":509,"value":"Ines Costa","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ines Costa"]},"customers":{"required_absent":["Ines Costa"],"required_present":[]},"all":{"required_absent":["Ines Costa"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-082","language":"en","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Public organization Ion Studio","known_identities":[],"targets":[{"id":"person","kind":"person","start":500,"end":510,"value":"Ion Studio","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ion Studio"]},"customers":{"required_absent":[],"required_present":["Ion Studio"]},"all":{"required_absent":[],"required_present":["Ion Studio"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-083","language":"en","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=83 --message=\"Customer mentioned \" --value=Ines Durand","known_identities":[],"targets":[{"id":"person","kind":"person","start":52,"end":63,"value":"Ines Durand","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ines Durand"]},"customers":{"required_absent":["Ines Durand"],"required_present":[]},"all":{"required_absent":["Ines Durand"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-083","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=83 --message=\"Public organization \" --value=Ion Systems","known_identities":[],"targets":[{"id":"person","kind":"person","start":53,"end":64,"value":"Ion Systems","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ion Systems"]},"customers":{"required_absent":[],"required_present":["Ion Systems"]},"all":{"required_absent":[],"required_present":["Ion Systems"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-084","language":"en","script":"Latin","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Customer mentioned Ines Esteves","known_identities":[],"targets":[{"id":"person","kind":"person","start":19,"end":31,"value":"Ines Esteves","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ines Esteves"]},"customers":{"required_absent":["Ines Esteves"],"required_present":[]},"all":{"required_absent":["Ines Esteves"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-084","language":"en","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Public organization Ion Collective","known_identities":[],"targets":[{"id":"person","kind":"person","start":20,"end":34,"value":"Ion Collective","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ion Collective"]},"customers":{"required_absent":[],"required_present":["Ion Collective"]},"all":{"required_absent":[],"required_present":["Ion Collective"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-085","language":"en","script":"Latin","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_85\":\"Customer mentioned Ines Fischer\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":34,"end":46,"value":"Ines Fischer","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ines Fischer"]},"customers":{"required_absent":["Ines Fischer"],"required_present":[]},"all":{"required_absent":["Ines Fischer"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-085","language":"en","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_85\":\"Public organization Ion Foundation\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":49,"value":"Ion Foundation","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ion Foundation"]},"customers":{"required_absent":[],"required_present":["Ion Foundation"]},"all":{"required_absent":[],"required_present":["Ion Foundation"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-086","language":"en","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_86: Customer mentioned Ines Garcia","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":42,"value":"Ines Garcia","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ines Garcia"]},"customers":{"required_absent":["Ines Garcia"],"required_present":[]},"all":{"required_absent":["Ines Garcia"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-086","language":"en","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_86: Public organization Ion Network","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":43,"value":"Ion Network","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ion Network"]},"customers":{"required_absent":[],"required_present":["Ion Network"]},"all":{"required_absent":[],"required_present":["Ion Network"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-087","language":"en","script":"Latin","shape":"shell","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_87='Customer mentioned Ines Holm'","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":40,"value":"Ines Holm","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ines Holm"]},"customers":{"required_absent":["Ines Holm"],"required_present":[]},"all":{"required_absent":["Ines Holm"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-087","language":"en","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_87='Public organization Ion Group'","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":41,"value":"Ion Group","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ion Group"]},"customers":{"required_absent":[],"required_present":["Ion Group"]},"all":{"required_absent":[],"required_present":["Ion Group"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-088","language":"en","script":"Latin","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/88 ; Customer mentioned Ines Ibarra","known_identities":[],"targets":[{"id":"person","kind":"person","start":52,"end":63,"value":"Ines Ibarra","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ines Ibarra"]},"customers":{"required_absent":["Ines Ibarra"],"required_present":[]},"all":{"required_absent":["Ines Ibarra"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-088","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/88 ; Public organization Ion Project","known_identities":[],"targets":[{"id":"person","kind":"person","start":53,"end":64,"value":"Ion Project","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ion Project"]},"customers":{"required_absent":[],"required_present":["Ion Project"]},"all":{"required_absent":[],"required_present":["Ion Project"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-089","language":"en","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"**Customer mentioned Ines Jensen**","known_identities":[],"targets":[{"id":"person","kind":"person","start":21,"end":32,"value":"Ines Jensen","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ines Jensen"]},"customers":{"required_absent":["Ines Jensen"],"required_present":[]},"all":{"required_absent":["Ines Jensen"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-089","language":"en","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"**Public organization Ion Press**","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":31,"value":"Ion Press","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ion Press"]},"customers":{"required_absent":[],"required_present":["Ion Press"]},"all":{"required_absent":[],"required_present":["Ion Press"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-090","language":"en","script":"Latin","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eCustomer mentioned Jonas Arden\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":33,"value":"Jonas Arden","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Jonas Arden"]},"customers":{"required_absent":["Jonas Arden"],"required_present":[]},"all":{"required_absent":["Jonas Arden"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-090","language":"en","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003ePublic organization Juniper Labs\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":35,"value":"Juniper Labs","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Juniper Labs"]},"customers":{"required_absent":[],"required_present":["Juniper Labs"]},"all":{"required_absent":[],"required_present":["Juniper Labs"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-091","language":"en","script":"Latin","shape":"quoted-reply","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e Customer mentioned Jonas Borel","known_identities":[],"targets":[{"id":"person","kind":"person","start":21,"end":32,"value":"Jonas Borel","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Jonas Borel"]},"customers":{"required_absent":["Jonas Borel"],"required_present":[]},"all":{"required_absent":["Jonas Borel"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-091","language":"en","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e Public organization Juniper Works","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":35,"value":"Juniper Works","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Juniper Works"]},"customers":{"required_absent":[],"required_present":["Juniper Works"]},"all":{"required_absent":[],"required_present":["Juniper Works"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-092","language":"en","script":"Latin","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=92 message=\"Customer mentioned \" value=Jonas Costa","known_identities":[],"targets":[{"id":"person","kind":"person","start":57,"end":68,"value":"Jonas Costa","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Jonas Costa"]},"customers":{"required_absent":["Jonas Costa"],"required_present":[]},"all":{"required_absent":["Jonas Costa"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-092","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=92 message=\"Public organization \" value=Juniper Studio","known_identities":[],"targets":[{"id":"person","kind":"person","start":58,"end":72,"value":"Juniper Studio","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Juniper Studio"]},"customers":{"required_absent":[],"required_present":["Juniper Studio"]},"all":{"required_absent":[],"required_present":["Juniper Studio"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-093","language":"en","script":"Latin","shape":"stack-trace","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[93]: Customer mentioned Jonas Durand","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":42,"value":"Jonas Durand","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Jonas Durand"]},"customers":{"required_absent":["Jonas Durand"],"required_present":[]},"all":{"required_absent":["Jonas Durand"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-093","language":"en","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[93]: Public organization Juniper Systems","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":46,"value":"Juniper Systems","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Juniper Systems"]},"customers":{"required_absent":[],"required_present":["Juniper Systems"]},"all":{"required_absent":[],"required_present":["Juniper Systems"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-094","language":"en","script":"Latin","shape":"code","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_94 := `Customer mentioned Jonas Esteves`","known_identities":[],"targets":[{"id":"person","kind":"person","start":34,"end":47,"value":"Jonas Esteves","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Jonas Esteves"]},"customers":{"required_absent":["Jonas Esteves"],"required_present":[]},"all":{"required_absent":["Jonas Esteves"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-094","language":"en","script":"Latin","shape":"code","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_94 := `Public organization Juniper Collective`","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":53,"value":"Juniper Collective","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Juniper Collective"]},"customers":{"required_absent":[],"required_present":["Juniper Collective"]},"all":{"required_absent":[],"required_present":["Juniper Collective"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-095","language":"en","script":"Latin","shape":"signature","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--\nCustomer mentioned Jonas Fischer","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":35,"value":"Jonas Fischer","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Jonas Fischer"]},"customers":{"required_absent":["Jonas Fischer"],"required_present":[]},"all":{"required_absent":["Jonas Fischer"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-095","language":"en","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--\nPublic organization Juniper Foundation","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":41,"value":"Juniper Foundation","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Juniper Foundation"]},"customers":{"required_absent":[],"required_present":["Juniper Foundation"]},"all":{"required_absent":[],"required_present":["Juniper Foundation"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-096","language":"en","script":"Latin","shape":"long-thread","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Customer mentioned Jonas Garcia","known_identities":[],"targets":[{"id":"person","kind":"person","start":499,"end":511,"value":"Jonas Garcia","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Jonas Garcia"]},"customers":{"required_absent":["Jonas Garcia"],"required_present":[]},"all":{"required_absent":["Jonas Garcia"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-096","language":"en","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Public organization Juniper Network","known_identities":[],"targets":[{"id":"person","kind":"person","start":500,"end":515,"value":"Juniper Network","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Juniper Network"]},"customers":{"required_absent":[],"required_present":["Juniper Network"]},"all":{"required_absent":[],"required_present":["Juniper Network"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-097","language":"en","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=97 --message=\"Customer mentioned \" --value=Jonas Holm","known_identities":[],"targets":[{"id":"person","kind":"person","start":52,"end":62,"value":"Jonas Holm","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Jonas Holm"]},"customers":{"required_absent":["Jonas Holm"],"required_present":[]},"all":{"required_absent":["Jonas Holm"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-097","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=97 --message=\"Public organization \" --value=Juniper Group","known_identities":[],"targets":[{"id":"person","kind":"person","start":53,"end":66,"value":"Juniper Group","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Juniper Group"]},"customers":{"required_absent":[],"required_present":["Juniper Group"]},"all":{"required_absent":[],"required_present":["Juniper Group"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-098","language":"en","script":"Latin","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Customer mentioned Jonas Ibarra","known_identities":[],"targets":[{"id":"person","kind":"person","start":19,"end":31,"value":"Jonas Ibarra","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Jonas Ibarra"]},"customers":{"required_absent":["Jonas Ibarra"],"required_present":[]},"all":{"required_absent":["Jonas Ibarra"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-098","language":"en","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Public organization Juniper Project","known_identities":[],"targets":[{"id":"person","kind":"person","start":20,"end":35,"value":"Juniper Project","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Juniper Project"]},"customers":{"required_absent":[],"required_present":["Juniper Project"]},"all":{"required_absent":[],"required_present":["Juniper Project"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-099","language":"en","script":"Latin","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_99\":\"Customer mentioned Jonas Jensen\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":34,"end":46,"value":"Jonas Jensen","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Jonas Jensen"]},"customers":{"required_absent":["Jonas Jensen"],"required_present":[]},"all":{"required_absent":["Jonas Jensen"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-099","language":"en","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_99\":\"Public organization Juniper Press\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":48,"value":"Juniper Press","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Juniper Press"]},"customers":{"required_absent":[],"required_present":["Juniper Press"]},"all":{"required_absent":[],"required_present":["Juniper Press"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-000","language":"fr","script":"Latin","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Le client mentionne Amina Arden","known_identities":[],"targets":[{"id":"person","kind":"person","start":20,"end":31,"value":"Amina Arden","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Amina Arden"]},"customers":{"required_absent":["Amina Arden"],"required_present":[]},"all":{"required_absent":["Amina Arden"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-000","language":"fr","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Organisation publique Atlas Labs","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":32,"value":"Atlas Labs","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Atlas Labs"]},"customers":{"required_absent":[],"required_present":["Atlas Labs"]},"all":{"required_absent":[],"required_present":["Atlas Labs"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-001","language":"fr","script":"Latin","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_1\":\"Le client mentionne Amina Borel\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":34,"end":45,"value":"Amina Borel","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Amina Borel"]},"customers":{"required_absent":["Amina Borel"],"required_present":[]},"all":{"required_absent":["Amina Borel"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-001","language":"fr","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_1\":\"Organisation publique Atlas Works\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":36,"end":47,"value":"Atlas Works","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Atlas Works"]},"customers":{"required_absent":[],"required_present":["Atlas Works"]},"all":{"required_absent":[],"required_present":["Atlas Works"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-002","language":"fr","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_2: Le client mentionne Amina Costa","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":42,"value":"Amina Costa","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Amina Costa"]},"customers":{"required_absent":["Amina Costa"],"required_present":[]},"all":{"required_absent":["Amina Costa"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-002","language":"fr","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_2: Organisation publique Atlas Studio","known_identities":[],"targets":[{"id":"person","kind":"person","start":33,"end":45,"value":"Atlas Studio","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Atlas Studio"]},"customers":{"required_absent":[],"required_present":["Atlas Studio"]},"all":{"required_absent":[],"required_present":["Atlas Studio"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-003","language":"fr","script":"Latin","shape":"shell","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_3='Le client mentionne Amina Durand'","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":43,"value":"Amina Durand","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Amina Durand"]},"customers":{"required_absent":["Amina Durand"],"required_present":[]},"all":{"required_absent":["Amina Durand"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-003","language":"fr","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_3='Organisation publique Atlas Systems'","known_identities":[],"targets":[{"id":"person","kind":"person","start":33,"end":46,"value":"Atlas Systems","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Atlas Systems"]},"customers":{"required_absent":[],"required_present":["Atlas Systems"]},"all":{"required_absent":[],"required_present":["Atlas Systems"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-004","language":"fr","script":"Latin","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/4 ; Le client mentionne Amina Esteves","known_identities":[],"targets":[{"id":"person","kind":"person","start":52,"end":65,"value":"Amina Esteves","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Amina Esteves"]},"customers":{"required_absent":["Amina Esteves"],"required_present":[]},"all":{"required_absent":["Amina Esteves"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-004","language":"fr","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/4 ; Organisation publique Atlas Collective","known_identities":[],"targets":[{"id":"person","kind":"person","start":54,"end":70,"value":"Atlas Collective","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Atlas Collective"]},"customers":{"required_absent":[],"required_present":["Atlas Collective"]},"all":{"required_absent":[],"required_present":["Atlas Collective"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-005","language":"fr","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"**Le client mentionne Amina Fischer**","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":35,"value":"Amina Fischer","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Amina Fischer"]},"customers":{"required_absent":["Amina Fischer"],"required_present":[]},"all":{"required_absent":["Amina Fischer"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-005","language":"fr","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"**Organisation publique Atlas Foundation**","known_identities":[],"targets":[{"id":"person","kind":"person","start":24,"end":40,"value":"Atlas Foundation","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Atlas Foundation"]},"customers":{"required_absent":[],"required_present":["Atlas Foundation"]},"all":{"required_absent":[],"required_present":["Atlas Foundation"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-006","language":"fr","script":"Latin","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eLe client mentionne Amina Garcia\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":35,"value":"Amina Garcia","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Amina Garcia"]},"customers":{"required_absent":["Amina Garcia"],"required_present":[]},"all":{"required_absent":["Amina Garcia"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-006","language":"fr","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eOrganisation publique Atlas Network\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":25,"end":38,"value":"Atlas Network","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Atlas Network"]},"customers":{"required_absent":[],"required_present":["Atlas Network"]},"all":{"required_absent":[],"required_present":["Atlas Network"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-007","language":"fr","script":"Latin","shape":"quoted-reply","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e Le client mentionne Amina Holm","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":32,"value":"Amina Holm","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Amina Holm"]},"customers":{"required_absent":["Amina Holm"],"required_present":[]},"all":{"required_absent":["Amina Holm"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-007","language":"fr","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e Organisation publique Atlas Group","known_identities":[],"targets":[{"id":"person","kind":"person","start":24,"end":35,"value":"Atlas Group","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Atlas Group"]},"customers":{"required_absent":[],"required_present":["Atlas Group"]},"all":{"required_absent":[],"required_present":["Atlas Group"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-008","language":"fr","script":"Latin","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=8 message=\"Le client mentionne \" value=Amina Ibarra","known_identities":[],"targets":[{"id":"person","kind":"person","start":57,"end":69,"value":"Amina Ibarra","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Amina Ibarra"]},"customers":{"required_absent":["Amina Ibarra"],"required_present":[]},"all":{"required_absent":["Amina Ibarra"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-008","language":"fr","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=8 message=\"Organisation publique \" value=Atlas Project","known_identities":[],"targets":[{"id":"person","kind":"person","start":59,"end":72,"value":"Atlas Project","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Atlas Project"]},"customers":{"required_absent":[],"required_present":["Atlas Project"]},"all":{"required_absent":[],"required_present":["Atlas Project"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-009","language":"fr","script":"Latin","shape":"stack-trace","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[9]: Le client mentionne Amina Jensen","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":42,"value":"Amina Jensen","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Amina Jensen"]},"customers":{"required_absent":["Amina Jensen"],"required_present":[]},"all":{"required_absent":["Amina Jensen"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-009","language":"fr","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[9]: Organisation publique Atlas Press","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":43,"value":"Atlas Press","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Atlas Press"]},"customers":{"required_absent":[],"required_present":["Atlas Press"]},"all":{"required_absent":[],"required_present":["Atlas Press"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-010","language":"fr","script":"Latin","shape":"code","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_10 := `Le client mentionne Bruno Arden`","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":46,"value":"Bruno Arden","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bruno Arden"]},"customers":{"required_absent":["Bruno Arden"],"required_present":[]},"all":{"required_absent":["Bruno Arden"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-010","language":"fr","script":"Latin","shape":"code","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_10 := `Organisation publique Boreal Labs`","known_identities":[],"targets":[{"id":"person","kind":"person","start":37,"end":48,"value":"Boreal Labs","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Boreal Labs"]},"customers":{"required_absent":[],"required_present":["Boreal Labs"]},"all":{"required_absent":[],"required_present":["Boreal Labs"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-011","language":"fr","script":"Latin","shape":"signature","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--\nLe client mentionne Bruno Borel","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":34,"value":"Bruno Borel","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bruno Borel"]},"customers":{"required_absent":["Bruno Borel"],"required_present":[]},"all":{"required_absent":["Bruno Borel"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-011","language":"fr","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--\nOrganisation publique Boreal Works","known_identities":[],"targets":[{"id":"person","kind":"person","start":25,"end":37,"value":"Boreal Works","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Boreal Works"]},"customers":{"required_absent":[],"required_present":["Boreal Works"]},"all":{"required_absent":[],"required_present":["Boreal Works"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-012","language":"fr","script":"Latin","shape":"long-thread","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Le client mentionne Bruno Costa","known_identities":[],"targets":[{"id":"person","kind":"person","start":500,"end":511,"value":"Bruno Costa","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bruno Costa"]},"customers":{"required_absent":["Bruno Costa"],"required_present":[]},"all":{"required_absent":["Bruno Costa"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-012","language":"fr","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Organisation publique Boreal Studio","known_identities":[],"targets":[{"id":"person","kind":"person","start":502,"end":515,"value":"Boreal Studio","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Boreal Studio"]},"customers":{"required_absent":[],"required_present":["Boreal Studio"]},"all":{"required_absent":[],"required_present":["Boreal Studio"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-013","language":"fr","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=13 --message=\"Le client mentionne \" --value=Bruno Durand","known_identities":[],"targets":[{"id":"person","kind":"person","start":53,"end":65,"value":"Bruno Durand","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bruno Durand"]},"customers":{"required_absent":["Bruno Durand"],"required_present":[]},"all":{"required_absent":["Bruno Durand"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-013","language":"fr","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=13 --message=\"Organisation publique \" --value=Boreal Systems","known_identities":[],"targets":[{"id":"person","kind":"person","start":55,"end":69,"value":"Boreal Systems","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Boreal Systems"]},"customers":{"required_absent":[],"required_present":["Boreal Systems"]},"all":{"required_absent":[],"required_present":["Boreal Systems"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-014","language":"fr","script":"Latin","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Le client mentionne Bruno Esteves","known_identities":[],"targets":[{"id":"person","kind":"person","start":20,"end":33,"value":"Bruno Esteves","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bruno Esteves"]},"customers":{"required_absent":["Bruno Esteves"],"required_present":[]},"all":{"required_absent":["Bruno Esteves"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-014","language":"fr","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Organisation publique Boreal Collective","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":39,"value":"Boreal Collective","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Boreal Collective"]},"customers":{"required_absent":[],"required_present":["Boreal Collective"]},"all":{"required_absent":[],"required_present":["Boreal Collective"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-015","language":"fr","script":"Latin","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_15\":\"Le client mentionne Bruno Fischer\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":48,"value":"Bruno Fischer","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bruno Fischer"]},"customers":{"required_absent":["Bruno Fischer"],"required_present":[]},"all":{"required_absent":["Bruno Fischer"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-015","language":"fr","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_15\":\"Organisation publique Boreal Foundation\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":37,"end":54,"value":"Boreal Foundation","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Boreal Foundation"]},"customers":{"required_absent":[],"required_present":["Boreal Foundation"]},"all":{"required_absent":[],"required_present":["Boreal Foundation"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-016","language":"fr","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_16: Le client mentionne Bruno Garcia","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":44,"value":"Bruno Garcia","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bruno Garcia"]},"customers":{"required_absent":["Bruno Garcia"],"required_present":[]},"all":{"required_absent":["Bruno Garcia"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-016","language":"fr","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_16: Organisation publique Boreal Network","known_identities":[],"targets":[{"id":"person","kind":"person","start":34,"end":48,"value":"Boreal Network","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Boreal Network"]},"customers":{"required_absent":[],"required_present":["Boreal Network"]},"all":{"required_absent":[],"required_present":["Boreal Network"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-017","language":"fr","script":"Latin","shape":"shell","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_17='Le client mentionne Bruno Holm'","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":42,"value":"Bruno Holm","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bruno Holm"]},"customers":{"required_absent":["Bruno Holm"],"required_present":[]},"all":{"required_absent":["Bruno Holm"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-017","language":"fr","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_17='Organisation publique Boreal Group'","known_identities":[],"targets":[{"id":"person","kind":"person","start":34,"end":46,"value":"Boreal Group","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Boreal Group"]},"customers":{"required_absent":[],"required_present":["Boreal Group"]},"all":{"required_absent":[],"required_present":["Boreal Group"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-018","language":"fr","script":"Latin","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/18 ; Le client mentionne Bruno Ibarra","known_identities":[],"targets":[{"id":"person","kind":"person","start":53,"end":65,"value":"Bruno Ibarra","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bruno Ibarra"]},"customers":{"required_absent":["Bruno Ibarra"],"required_present":[]},"all":{"required_absent":["Bruno Ibarra"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-018","language":"fr","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/18 ; Organisation publique Boreal Project","known_identities":[],"targets":[{"id":"person","kind":"person","start":55,"end":69,"value":"Boreal Project","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Boreal Project"]},"customers":{"required_absent":[],"required_present":["Boreal Project"]},"all":{"required_absent":[],"required_present":["Boreal Project"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-019","language":"fr","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"**Le client mentionne Bruno Jensen**","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":34,"value":"Bruno Jensen","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bruno Jensen"]},"customers":{"required_absent":["Bruno Jensen"],"required_present":[]},"all":{"required_absent":["Bruno Jensen"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-019","language":"fr","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"**Organisation publique Boreal Press**","known_identities":[],"targets":[{"id":"person","kind":"person","start":24,"end":36,"value":"Boreal Press","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Boreal Press"]},"customers":{"required_absent":[],"required_present":["Boreal Press"]},"all":{"required_absent":[],"required_present":["Boreal Press"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-020","language":"fr","script":"Latin","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eLe client mentionne Clara Arden\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":34,"value":"Clara Arden","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Clara Arden"]},"customers":{"required_absent":["Clara Arden"],"required_present":[]},"all":{"required_absent":["Clara Arden"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-020","language":"fr","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eOrganisation publique Cedar Labs\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":25,"end":35,"value":"Cedar Labs","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Cedar Labs"]},"customers":{"required_absent":[],"required_present":["Cedar Labs"]},"all":{"required_absent":[],"required_present":["Cedar Labs"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-021","language":"fr","script":"Latin","shape":"quoted-reply","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e Le client mentionne Clara Borel","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":33,"value":"Clara Borel","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Clara Borel"]},"customers":{"required_absent":["Clara Borel"],"required_present":[]},"all":{"required_absent":["Clara Borel"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-021","language":"fr","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e Organisation publique Cedar Works","known_identities":[],"targets":[{"id":"person","kind":"person","start":24,"end":35,"value":"Cedar Works","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Cedar Works"]},"customers":{"required_absent":[],"required_present":["Cedar Works"]},"all":{"required_absent":[],"required_present":["Cedar Works"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-022","language":"fr","script":"Latin","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=22 message=\"Le client mentionne \" value=Clara Costa","known_identities":[],"targets":[{"id":"person","kind":"person","start":58,"end":69,"value":"Clara Costa","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Clara Costa"]},"customers":{"required_absent":["Clara Costa"],"required_present":[]},"all":{"required_absent":["Clara Costa"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-022","language":"fr","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=22 message=\"Organisation publique \" value=Cedar Studio","known_identities":[],"targets":[{"id":"person","kind":"person","start":60,"end":72,"value":"Cedar Studio","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Cedar Studio"]},"customers":{"required_absent":[],"required_present":["Cedar Studio"]},"all":{"required_absent":[],"required_present":["Cedar Studio"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-023","language":"fr","script":"Latin","shape":"stack-trace","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[23]: Le client mentionne Clara Durand","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":43,"value":"Clara Durand","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Clara Durand"]},"customers":{"required_absent":["Clara Durand"],"required_present":[]},"all":{"required_absent":["Clara Durand"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-023","language":"fr","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[23]: Organisation publique Cedar Systems","known_identities":[],"targets":[{"id":"person","kind":"person","start":33,"end":46,"value":"Cedar Systems","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Cedar Systems"]},"customers":{"required_absent":[],"required_present":["Cedar Systems"]},"all":{"required_absent":[],"required_present":["Cedar Systems"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-024","language":"fr","script":"Latin","shape":"code","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_24 := `Le client mentionne Clara Esteves`","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":48,"value":"Clara Esteves","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Clara Esteves"]},"customers":{"required_absent":["Clara Esteves"],"required_present":[]},"all":{"required_absent":["Clara Esteves"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-024","language":"fr","script":"Latin","shape":"code","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_24 := `Organisation publique Cedar Collective`","known_identities":[],"targets":[{"id":"person","kind":"person","start":37,"end":53,"value":"Cedar Collective","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Cedar Collective"]},"customers":{"required_absent":[],"required_present":["Cedar Collective"]},"all":{"required_absent":[],"required_present":["Cedar Collective"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-025","language":"fr","script":"Latin","shape":"signature","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--\nLe client mentionne Clara Fischer","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":36,"value":"Clara Fischer","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Clara Fischer"]},"customers":{"required_absent":["Clara Fischer"],"required_present":[]},"all":{"required_absent":["Clara Fischer"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-025","language":"fr","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--\nOrganisation publique Cedar Foundation","known_identities":[],"targets":[{"id":"person","kind":"person","start":25,"end":41,"value":"Cedar Foundation","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Cedar Foundation"]},"customers":{"required_absent":[],"required_present":["Cedar Foundation"]},"all":{"required_absent":[],"required_present":["Cedar Foundation"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-026","language":"fr","script":"Latin","shape":"long-thread","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Le client mentionne Clara Garcia","known_identities":[],"targets":[{"id":"person","kind":"person","start":500,"end":512,"value":"Clara Garcia","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Clara Garcia"]},"customers":{"required_absent":["Clara Garcia"],"required_present":[]},"all":{"required_absent":["Clara Garcia"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-026","language":"fr","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Organisation publique Cedar Network","known_identities":[],"targets":[{"id":"person","kind":"person","start":502,"end":515,"value":"Cedar Network","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Cedar Network"]},"customers":{"required_absent":[],"required_present":["Cedar Network"]},"all":{"required_absent":[],"required_present":["Cedar Network"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-027","language":"fr","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=27 --message=\"Le client mentionne \" --value=Clara Holm","known_identities":[],"targets":[{"id":"person","kind":"person","start":53,"end":63,"value":"Clara Holm","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Clara Holm"]},"customers":{"required_absent":["Clara Holm"],"required_present":[]},"all":{"required_absent":["Clara Holm"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-027","language":"fr","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=27 --message=\"Organisation publique \" --value=Cedar Group","known_identities":[],"targets":[{"id":"person","kind":"person","start":55,"end":66,"value":"Cedar Group","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Cedar Group"]},"customers":{"required_absent":[],"required_present":["Cedar Group"]},"all":{"required_absent":[],"required_present":["Cedar Group"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-028","language":"fr","script":"Latin","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Le client mentionne Clara Ibarra","known_identities":[],"targets":[{"id":"person","kind":"person","start":20,"end":32,"value":"Clara Ibarra","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Clara Ibarra"]},"customers":{"required_absent":["Clara Ibarra"],"required_present":[]},"all":{"required_absent":["Clara Ibarra"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-028","language":"fr","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Organisation publique Cedar Project","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":35,"value":"Cedar Project","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Cedar Project"]},"customers":{"required_absent":[],"required_present":["Cedar Project"]},"all":{"required_absent":[],"required_present":["Cedar Project"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-029","language":"fr","script":"Latin","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_29\":\"Le client mentionne Clara Jensen\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":47,"value":"Clara Jensen","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Clara Jensen"]},"customers":{"required_absent":["Clara Jensen"],"required_present":[]},"all":{"required_absent":["Clara Jensen"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-029","language":"fr","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_29\":\"Organisation publique Cedar Press\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":37,"end":48,"value":"Cedar Press","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Cedar Press"]},"customers":{"required_absent":[],"required_present":["Cedar Press"]},"all":{"required_absent":[],"required_present":["Cedar Press"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-030","language":"fr","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_30: Le client mentionne Diego Arden","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":43,"value":"Diego Arden","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Diego Arden"]},"customers":{"required_absent":["Diego Arden"],"required_present":[]},"all":{"required_absent":["Diego Arden"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-030","language":"fr","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_30: Organisation publique Delta Labs","known_identities":[],"targets":[{"id":"person","kind":"person","start":34,"end":44,"value":"Delta Labs","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Delta Labs"]},"customers":{"required_absent":[],"required_present":["Delta Labs"]},"all":{"required_absent":[],"required_present":["Delta Labs"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-031","language":"fr","script":"Latin","shape":"shell","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_31='Le client mentionne Diego Borel'","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":43,"value":"Diego Borel","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Diego Borel"]},"customers":{"required_absent":["Diego Borel"],"required_present":[]},"all":{"required_absent":["Diego Borel"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-031","language":"fr","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_31='Organisation publique Delta Works'","known_identities":[],"targets":[{"id":"person","kind":"person","start":34,"end":45,"value":"Delta Works","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Delta Works"]},"customers":{"required_absent":[],"required_present":["Delta Works"]},"all":{"required_absent":[],"required_present":["Delta Works"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-032","language":"fr","script":"Latin","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/32 ; Le client mentionne Diego Costa","known_identities":[],"targets":[{"id":"person","kind":"person","start":53,"end":64,"value":"Diego Costa","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Diego Costa"]},"customers":{"required_absent":["Diego Costa"],"required_present":[]},"all":{"required_absent":["Diego Costa"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-032","language":"fr","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/32 ; Organisation publique Delta Studio","known_identities":[],"targets":[{"id":"person","kind":"person","start":55,"end":67,"value":"Delta Studio","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Delta Studio"]},"customers":{"required_absent":[],"required_present":["Delta Studio"]},"all":{"required_absent":[],"required_present":["Delta Studio"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-033","language":"fr","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"**Le client mentionne Diego Durand**","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":34,"value":"Diego Durand","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Diego Durand"]},"customers":{"required_absent":["Diego Durand"],"required_present":[]},"all":{"required_absent":["Diego Durand"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-033","language":"fr","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"**Organisation publique Delta Systems**","known_identities":[],"targets":[{"id":"person","kind":"person","start":24,"end":37,"value":"Delta Systems","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Delta Systems"]},"customers":{"required_absent":[],"required_present":["Delta Systems"]},"all":{"required_absent":[],"required_present":["Delta Systems"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-034","language":"fr","script":"Latin","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eLe client mentionne Diego Esteves\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":36,"value":"Diego Esteves","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Diego Esteves"]},"customers":{"required_absent":["Diego Esteves"],"required_present":[]},"all":{"required_absent":["Diego Esteves"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-034","language":"fr","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eOrganisation publique Delta Collective\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":25,"end":41,"value":"Delta Collective","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Delta Collective"]},"customers":{"required_absent":[],"required_present":["Delta Collective"]},"all":{"required_absent":[],"required_present":["Delta Collective"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-035","language":"fr","script":"Latin","shape":"quoted-reply","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e Le client mentionne Diego Fischer","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":35,"value":"Diego Fischer","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Diego Fischer"]},"customers":{"required_absent":["Diego Fischer"],"required_present":[]},"all":{"required_absent":["Diego Fischer"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-035","language":"fr","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e Organisation publique Delta Foundation","known_identities":[],"targets":[{"id":"person","kind":"person","start":24,"end":40,"value":"Delta Foundation","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Delta Foundation"]},"customers":{"required_absent":[],"required_present":["Delta Foundation"]},"all":{"required_absent":[],"required_present":["Delta Foundation"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-036","language":"fr","script":"Latin","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=36 message=\"Le client mentionne \" value=Diego Garcia","known_identities":[],"targets":[{"id":"person","kind":"person","start":58,"end":70,"value":"Diego Garcia","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Diego Garcia"]},"customers":{"required_absent":["Diego Garcia"],"required_present":[]},"all":{"required_absent":["Diego Garcia"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-036","language":"fr","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=36 message=\"Organisation publique \" value=Delta Network","known_identities":[],"targets":[{"id":"person","kind":"person","start":60,"end":73,"value":"Delta Network","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Delta Network"]},"customers":{"required_absent":[],"required_present":["Delta Network"]},"all":{"required_absent":[],"required_present":["Delta Network"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-037","language":"fr","script":"Latin","shape":"stack-trace","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[37]: Le client mentionne Diego Holm","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":41,"value":"Diego Holm","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Diego Holm"]},"customers":{"required_absent":["Diego Holm"],"required_present":[]},"all":{"required_absent":["Diego Holm"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-037","language":"fr","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[37]: Organisation publique Delta Group","known_identities":[],"targets":[{"id":"person","kind":"person","start":33,"end":44,"value":"Delta Group","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Delta Group"]},"customers":{"required_absent":[],"required_present":["Delta Group"]},"all":{"required_absent":[],"required_present":["Delta Group"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-038","language":"fr","script":"Latin","shape":"code","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_38 := `Le client mentionne Diego Ibarra`","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":47,"value":"Diego Ibarra","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Diego Ibarra"]},"customers":{"required_absent":["Diego Ibarra"],"required_present":[]},"all":{"required_absent":["Diego Ibarra"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-038","language":"fr","script":"Latin","shape":"code","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_38 := `Organisation publique Delta Project`","known_identities":[],"targets":[{"id":"person","kind":"person","start":37,"end":50,"value":"Delta Project","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Delta Project"]},"customers":{"required_absent":[],"required_present":["Delta Project"]},"all":{"required_absent":[],"required_present":["Delta Project"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-039","language":"fr","script":"Latin","shape":"signature","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--\nLe client mentionne Diego Jensen","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":35,"value":"Diego Jensen","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Diego Jensen"]},"customers":{"required_absent":["Diego Jensen"],"required_present":[]},"all":{"required_absent":["Diego Jensen"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-039","language":"fr","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--\nOrganisation publique Delta Press","known_identities":[],"targets":[{"id":"person","kind":"person","start":25,"end":36,"value":"Delta Press","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Delta Press"]},"customers":{"required_absent":[],"required_present":["Delta Press"]},"all":{"required_absent":[],"required_present":["Delta Press"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-040","language":"fr","script":"Latin","shape":"long-thread","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Le client mentionne Elena Arden","known_identities":[],"targets":[{"id":"person","kind":"person","start":500,"end":511,"value":"Elena Arden","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Elena Arden"]},"customers":{"required_absent":["Elena Arden"],"required_present":[]},"all":{"required_absent":["Elena Arden"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-040","language":"fr","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Organisation publique Ember Labs","known_identities":[],"targets":[{"id":"person","kind":"person","start":502,"end":512,"value":"Ember Labs","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ember Labs"]},"customers":{"required_absent":[],"required_present":["Ember Labs"]},"all":{"required_absent":[],"required_present":["Ember Labs"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-041","language":"fr","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=41 --message=\"Le client mentionne \" --value=Elena Borel","known_identities":[],"targets":[{"id":"person","kind":"person","start":53,"end":64,"value":"Elena Borel","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Elena Borel"]},"customers":{"required_absent":["Elena Borel"],"required_present":[]},"all":{"required_absent":["Elena Borel"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-041","language":"fr","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=41 --message=\"Organisation publique \" --value=Ember Works","known_identities":[],"targets":[{"id":"person","kind":"person","start":55,"end":66,"value":"Ember Works","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ember Works"]},"customers":{"required_absent":[],"required_present":["Ember Works"]},"all":{"required_absent":[],"required_present":["Ember Works"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-042","language":"fr","script":"Latin","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Le client mentionne Elena Costa","known_identities":[],"targets":[{"id":"person","kind":"person","start":20,"end":31,"value":"Elena Costa","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Elena Costa"]},"customers":{"required_absent":["Elena Costa"],"required_present":[]},"all":{"required_absent":["Elena Costa"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-042","language":"fr","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Organisation publique Ember Studio","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":34,"value":"Ember Studio","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ember Studio"]},"customers":{"required_absent":[],"required_present":["Ember Studio"]},"all":{"required_absent":[],"required_present":["Ember Studio"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-043","language":"fr","script":"Latin","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_43\":\"Le client mentionne Elena Durand\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":47,"value":"Elena Durand","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Elena Durand"]},"customers":{"required_absent":["Elena Durand"],"required_present":[]},"all":{"required_absent":["Elena Durand"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-043","language":"fr","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_43\":\"Organisation publique Ember Systems\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":37,"end":50,"value":"Ember Systems","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ember Systems"]},"customers":{"required_absent":[],"required_present":["Ember Systems"]},"all":{"required_absent":[],"required_present":["Ember Systems"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-044","language":"fr","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_44: Le client mentionne Elena Esteves","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":45,"value":"Elena Esteves","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Elena Esteves"]},"customers":{"required_absent":["Elena Esteves"],"required_present":[]},"all":{"required_absent":["Elena Esteves"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-044","language":"fr","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_44: Organisation publique Ember Collective","known_identities":[],"targets":[{"id":"person","kind":"person","start":34,"end":50,"value":"Ember Collective","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ember Collective"]},"customers":{"required_absent":[],"required_present":["Ember Collective"]},"all":{"required_absent":[],"required_present":["Ember Collective"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-045","language":"fr","script":"Latin","shape":"shell","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_45='Le client mentionne Elena Fischer'","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":45,"value":"Elena Fischer","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Elena Fischer"]},"customers":{"required_absent":["Elena Fischer"],"required_present":[]},"all":{"required_absent":["Elena Fischer"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-045","language":"fr","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_45='Organisation publique Ember Foundation'","known_identities":[],"targets":[{"id":"person","kind":"person","start":34,"end":50,"value":"Ember Foundation","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ember Foundation"]},"customers":{"required_absent":[],"required_present":["Ember Foundation"]},"all":{"required_absent":[],"required_present":["Ember Foundation"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-046","language":"fr","script":"Latin","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/46 ; Le client mentionne Elena Garcia","known_identities":[],"targets":[{"id":"person","kind":"person","start":53,"end":65,"value":"Elena Garcia","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Elena Garcia"]},"customers":{"required_absent":["Elena Garcia"],"required_present":[]},"all":{"required_absent":["Elena Garcia"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-046","language":"fr","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/46 ; Organisation publique Ember Network","known_identities":[],"targets":[{"id":"person","kind":"person","start":55,"end":68,"value":"Ember Network","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ember Network"]},"customers":{"required_absent":[],"required_present":["Ember Network"]},"all":{"required_absent":[],"required_present":["Ember Network"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-047","language":"fr","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"**Le client mentionne Elena Holm**","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":32,"value":"Elena Holm","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Elena Holm"]},"customers":{"required_absent":["Elena Holm"],"required_present":[]},"all":{"required_absent":["Elena Holm"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-047","language":"fr","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"**Organisation publique Ember Group**","known_identities":[],"targets":[{"id":"person","kind":"person","start":24,"end":35,"value":"Ember Group","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ember Group"]},"customers":{"required_absent":[],"required_present":["Ember Group"]},"all":{"required_absent":[],"required_present":["Ember Group"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-048","language":"fr","script":"Latin","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eLe client mentionne Elena Ibarra\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":35,"value":"Elena Ibarra","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Elena Ibarra"]},"customers":{"required_absent":["Elena Ibarra"],"required_present":[]},"all":{"required_absent":["Elena Ibarra"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-048","language":"fr","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eOrganisation publique Ember Project\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":25,"end":38,"value":"Ember Project","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ember Project"]},"customers":{"required_absent":[],"required_present":["Ember Project"]},"all":{"required_absent":[],"required_present":["Ember Project"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-049","language":"fr","script":"Latin","shape":"quoted-reply","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e Le client mentionne Elena Jensen","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":34,"value":"Elena Jensen","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Elena Jensen"]},"customers":{"required_absent":["Elena Jensen"],"required_present":[]},"all":{"required_absent":["Elena Jensen"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-049","language":"fr","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e Organisation publique Ember Press","known_identities":[],"targets":[{"id":"person","kind":"person","start":24,"end":35,"value":"Ember Press","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ember Press"]},"customers":{"required_absent":[],"required_present":["Ember Press"]},"all":{"required_absent":[],"required_present":["Ember Press"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-050","language":"fr","script":"Latin","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=50 message=\"Le client mentionne \" value=Farid Arden","known_identities":[],"targets":[{"id":"person","kind":"person","start":58,"end":69,"value":"Farid Arden","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Farid Arden"]},"customers":{"required_absent":["Farid Arden"],"required_present":[]},"all":{"required_absent":["Farid Arden"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-050","language":"fr","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=50 message=\"Organisation publique \" value=Flora Labs","known_identities":[],"targets":[{"id":"person","kind":"person","start":60,"end":70,"value":"Flora Labs","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Flora Labs"]},"customers":{"required_absent":[],"required_present":["Flora Labs"]},"all":{"required_absent":[],"required_present":["Flora Labs"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-051","language":"fr","script":"Latin","shape":"stack-trace","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[51]: Le client mentionne Farid Borel","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":42,"value":"Farid Borel","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Farid Borel"]},"customers":{"required_absent":["Farid Borel"],"required_present":[]},"all":{"required_absent":["Farid Borel"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-051","language":"fr","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[51]: Organisation publique Flora Works","known_identities":[],"targets":[{"id":"person","kind":"person","start":33,"end":44,"value":"Flora Works","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Flora Works"]},"customers":{"required_absent":[],"required_present":["Flora Works"]},"all":{"required_absent":[],"required_present":["Flora Works"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-052","language":"fr","script":"Latin","shape":"code","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_52 := `Le client mentionne Farid Costa`","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":46,"value":"Farid Costa","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Farid Costa"]},"customers":{"required_absent":["Farid Costa"],"required_present":[]},"all":{"required_absent":["Farid Costa"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-052","language":"fr","script":"Latin","shape":"code","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_52 := `Organisation publique Flora Studio`","known_identities":[],"targets":[{"id":"person","kind":"person","start":37,"end":49,"value":"Flora Studio","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Flora Studio"]},"customers":{"required_absent":[],"required_present":["Flora Studio"]},"all":{"required_absent":[],"required_present":["Flora Studio"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-053","language":"fr","script":"Latin","shape":"signature","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--\nLe client mentionne Farid Durand","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":35,"value":"Farid Durand","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Farid Durand"]},"customers":{"required_absent":["Farid Durand"],"required_present":[]},"all":{"required_absent":["Farid Durand"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-053","language":"fr","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--\nOrganisation publique Flora Systems","known_identities":[],"targets":[{"id":"person","kind":"person","start":25,"end":38,"value":"Flora Systems","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Flora Systems"]},"customers":{"required_absent":[],"required_present":["Flora Systems"]},"all":{"required_absent":[],"required_present":["Flora Systems"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-054","language":"fr","script":"Latin","shape":"long-thread","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Le client mentionne Farid Esteves","known_identities":[],"targets":[{"id":"person","kind":"person","start":500,"end":513,"value":"Farid Esteves","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Farid Esteves"]},"customers":{"required_absent":["Farid Esteves"],"required_present":[]},"all":{"required_absent":["Farid Esteves"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-054","language":"fr","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Organisation publique Flora Collective","known_identities":[],"targets":[{"id":"person","kind":"person","start":502,"end":518,"value":"Flora Collective","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Flora Collective"]},"customers":{"required_absent":[],"required_present":["Flora Collective"]},"all":{"required_absent":[],"required_present":["Flora Collective"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-055","language":"fr","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=55 --message=\"Le client mentionne \" --value=Farid Fischer","known_identities":[],"targets":[{"id":"person","kind":"person","start":53,"end":66,"value":"Farid Fischer","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Farid Fischer"]},"customers":{"required_absent":["Farid Fischer"],"required_present":[]},"all":{"required_absent":["Farid Fischer"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-055","language":"fr","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=55 --message=\"Organisation publique \" --value=Flora Foundation","known_identities":[],"targets":[{"id":"person","kind":"person","start":55,"end":71,"value":"Flora Foundation","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Flora Foundation"]},"customers":{"required_absent":[],"required_present":["Flora Foundation"]},"all":{"required_absent":[],"required_present":["Flora Foundation"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-056","language":"fr","script":"Latin","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Le client mentionne Farid Garcia","known_identities":[],"targets":[{"id":"person","kind":"person","start":20,"end":32,"value":"Farid Garcia","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Farid Garcia"]},"customers":{"required_absent":["Farid Garcia"],"required_present":[]},"all":{"required_absent":["Farid Garcia"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-056","language":"fr","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Organisation publique Flora Network","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":35,"value":"Flora Network","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Flora Network"]},"customers":{"required_absent":[],"required_present":["Flora Network"]},"all":{"required_absent":[],"required_present":["Flora Network"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-057","language":"fr","script":"Latin","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_57\":\"Le client mentionne Farid Holm\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":45,"value":"Farid Holm","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Farid Holm"]},"customers":{"required_absent":["Farid Holm"],"required_present":[]},"all":{"required_absent":["Farid Holm"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-057","language":"fr","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_57\":\"Organisation publique Flora Group\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":37,"end":48,"value":"Flora Group","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Flora Group"]},"customers":{"required_absent":[],"required_present":["Flora Group"]},"all":{"required_absent":[],"required_present":["Flora Group"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-058","language":"fr","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_58: Le client mentionne Farid Ibarra","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":44,"value":"Farid Ibarra","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Farid Ibarra"]},"customers":{"required_absent":["Farid Ibarra"],"required_present":[]},"all":{"required_absent":["Farid Ibarra"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-058","language":"fr","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_58: Organisation publique Flora Project","known_identities":[],"targets":[{"id":"person","kind":"person","start":34,"end":47,"value":"Flora Project","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Flora Project"]},"customers":{"required_absent":[],"required_present":["Flora Project"]},"all":{"required_absent":[],"required_present":["Flora Project"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-059","language":"fr","script":"Latin","shape":"shell","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_59='Le client mentionne Farid Jensen'","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":44,"value":"Farid Jensen","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Farid Jensen"]},"customers":{"required_absent":["Farid Jensen"],"required_present":[]},"all":{"required_absent":["Farid Jensen"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-059","language":"fr","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_59='Organisation publique Flora Press'","known_identities":[],"targets":[{"id":"person","kind":"person","start":34,"end":45,"value":"Flora Press","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Flora Press"]},"customers":{"required_absent":[],"required_present":["Flora Press"]},"all":{"required_absent":[],"required_present":["Flora Press"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-060","language":"fr","script":"Latin","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/60 ; Le client mentionne Greta Arden","known_identities":[],"targets":[{"id":"person","kind":"person","start":53,"end":64,"value":"Greta Arden","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Greta Arden"]},"customers":{"required_absent":["Greta Arden"],"required_present":[]},"all":{"required_absent":["Greta Arden"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-060","language":"fr","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/60 ; Organisation publique Gaia Labs","known_identities":[],"targets":[{"id":"person","kind":"person","start":55,"end":64,"value":"Gaia Labs","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Gaia Labs"]},"customers":{"required_absent":[],"required_present":["Gaia Labs"]},"all":{"required_absent":[],"required_present":["Gaia Labs"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-061","language":"fr","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"**Le client mentionne Greta Borel**","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":33,"value":"Greta Borel","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Greta Borel"]},"customers":{"required_absent":["Greta Borel"],"required_present":[]},"all":{"required_absent":["Greta Borel"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-061","language":"fr","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"**Organisation publique Gaia Works**","known_identities":[],"targets":[{"id":"person","kind":"person","start":24,"end":34,"value":"Gaia Works","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Gaia Works"]},"customers":{"required_absent":[],"required_present":["Gaia Works"]},"all":{"required_absent":[],"required_present":["Gaia Works"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-062","language":"fr","script":"Latin","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eLe client mentionne Greta Costa\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":34,"value":"Greta Costa","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Greta Costa"]},"customers":{"required_absent":["Greta Costa"],"required_present":[]},"all":{"required_absent":["Greta Costa"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-062","language":"fr","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eOrganisation publique Gaia Studio\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":25,"end":36,"value":"Gaia Studio","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Gaia Studio"]},"customers":{"required_absent":[],"required_present":["Gaia Studio"]},"all":{"required_absent":[],"required_present":["Gaia Studio"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-063","language":"fr","script":"Latin","shape":"quoted-reply","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e Le client mentionne Greta Durand","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":34,"value":"Greta Durand","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Greta Durand"]},"customers":{"required_absent":["Greta Durand"],"required_present":[]},"all":{"required_absent":["Greta Durand"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-063","language":"fr","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e Organisation publique Gaia Systems","known_identities":[],"targets":[{"id":"person","kind":"person","start":24,"end":36,"value":"Gaia Systems","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Gaia Systems"]},"customers":{"required_absent":[],"required_present":["Gaia Systems"]},"all":{"required_absent":[],"required_present":["Gaia Systems"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-064","language":"fr","script":"Latin","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=64 message=\"Le client mentionne \" value=Greta Esteves","known_identities":[],"targets":[{"id":"person","kind":"person","start":58,"end":71,"value":"Greta Esteves","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Greta Esteves"]},"customers":{"required_absent":["Greta Esteves"],"required_present":[]},"all":{"required_absent":["Greta Esteves"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-064","language":"fr","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=64 message=\"Organisation publique \" value=Gaia Collective","known_identities":[],"targets":[{"id":"person","kind":"person","start":60,"end":75,"value":"Gaia Collective","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Gaia Collective"]},"customers":{"required_absent":[],"required_present":["Gaia Collective"]},"all":{"required_absent":[],"required_present":["Gaia Collective"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-065","language":"fr","script":"Latin","shape":"stack-trace","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[65]: Le client mentionne Greta Fischer","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":44,"value":"Greta Fischer","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Greta Fischer"]},"customers":{"required_absent":["Greta Fischer"],"required_present":[]},"all":{"required_absent":["Greta Fischer"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-065","language":"fr","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[65]: Organisation publique Gaia Foundation","known_identities":[],"targets":[{"id":"person","kind":"person","start":33,"end":48,"value":"Gaia Foundation","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Gaia Foundation"]},"customers":{"required_absent":[],"required_present":["Gaia Foundation"]},"all":{"required_absent":[],"required_present":["Gaia Foundation"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-066","language":"fr","script":"Latin","shape":"code","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_66 := `Le client mentionne Greta Garcia`","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":47,"value":"Greta Garcia","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Greta Garcia"]},"customers":{"required_absent":["Greta Garcia"],"required_present":[]},"all":{"required_absent":["Greta Garcia"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-066","language":"fr","script":"Latin","shape":"code","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_66 := `Organisation publique Gaia Network`","known_identities":[],"targets":[{"id":"person","kind":"person","start":37,"end":49,"value":"Gaia Network","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Gaia Network"]},"customers":{"required_absent":[],"required_present":["Gaia Network"]},"all":{"required_absent":[],"required_present":["Gaia Network"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-067","language":"fr","script":"Latin","shape":"signature","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--\nLe client mentionne Greta Holm","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":33,"value":"Greta Holm","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Greta Holm"]},"customers":{"required_absent":["Greta Holm"],"required_present":[]},"all":{"required_absent":["Greta Holm"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-067","language":"fr","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--\nOrganisation publique Gaia Group","known_identities":[],"targets":[{"id":"person","kind":"person","start":25,"end":35,"value":"Gaia Group","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Gaia Group"]},"customers":{"required_absent":[],"required_present":["Gaia Group"]},"all":{"required_absent":[],"required_present":["Gaia Group"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-068","language":"fr","script":"Latin","shape":"long-thread","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Le client mentionne Greta Ibarra","known_identities":[],"targets":[{"id":"person","kind":"person","start":500,"end":512,"value":"Greta Ibarra","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Greta Ibarra"]},"customers":{"required_absent":["Greta Ibarra"],"required_present":[]},"all":{"required_absent":["Greta Ibarra"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-068","language":"fr","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Organisation publique Gaia Project","known_identities":[],"targets":[{"id":"person","kind":"person","start":502,"end":514,"value":"Gaia Project","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Gaia Project"]},"customers":{"required_absent":[],"required_present":["Gaia Project"]},"all":{"required_absent":[],"required_present":["Gaia Project"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-069","language":"fr","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=69 --message=\"Le client mentionne \" --value=Greta Jensen","known_identities":[],"targets":[{"id":"person","kind":"person","start":53,"end":65,"value":"Greta Jensen","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Greta Jensen"]},"customers":{"required_absent":["Greta Jensen"],"required_present":[]},"all":{"required_absent":["Greta Jensen"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-069","language":"fr","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=69 --message=\"Organisation publique \" --value=Gaia Press","known_identities":[],"targets":[{"id":"person","kind":"person","start":55,"end":65,"value":"Gaia Press","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Gaia Press"]},"customers":{"required_absent":[],"required_present":["Gaia Press"]},"all":{"required_absent":[],"required_present":["Gaia Press"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-070","language":"fr","script":"Latin","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Le client mentionne Hugo Arden","known_identities":[],"targets":[{"id":"person","kind":"person","start":20,"end":30,"value":"Hugo Arden","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Hugo Arden"]},"customers":{"required_absent":["Hugo Arden"],"required_present":[]},"all":{"required_absent":["Hugo Arden"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-070","language":"fr","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Organisation publique Helios Labs","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":33,"value":"Helios Labs","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Helios Labs"]},"customers":{"required_absent":[],"required_present":["Helios Labs"]},"all":{"required_absent":[],"required_present":["Helios Labs"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-071","language":"fr","script":"Latin","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_71\":\"Le client mentionne Hugo Borel\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":45,"value":"Hugo Borel","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Hugo Borel"]},"customers":{"required_absent":["Hugo Borel"],"required_present":[]},"all":{"required_absent":["Hugo Borel"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-071","language":"fr","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_71\":\"Organisation publique Helios Works\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":37,"end":49,"value":"Helios Works","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Helios Works"]},"customers":{"required_absent":[],"required_present":["Helios Works"]},"all":{"required_absent":[],"required_present":["Helios Works"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-072","language":"fr","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_72: Le client mentionne Hugo Costa","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":42,"value":"Hugo Costa","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Hugo Costa"]},"customers":{"required_absent":["Hugo Costa"],"required_present":[]},"all":{"required_absent":["Hugo Costa"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-072","language":"fr","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_72: Organisation publique Helios Studio","known_identities":[],"targets":[{"id":"person","kind":"person","start":34,"end":47,"value":"Helios Studio","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Helios Studio"]},"customers":{"required_absent":[],"required_present":["Helios Studio"]},"all":{"required_absent":[],"required_present":["Helios Studio"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-073","language":"fr","script":"Latin","shape":"shell","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_73='Le client mentionne Hugo Durand'","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":43,"value":"Hugo Durand","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Hugo Durand"]},"customers":{"required_absent":["Hugo Durand"],"required_present":[]},"all":{"required_absent":["Hugo Durand"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-073","language":"fr","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_73='Organisation publique Helios Systems'","known_identities":[],"targets":[{"id":"person","kind":"person","start":34,"end":48,"value":"Helios Systems","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Helios Systems"]},"customers":{"required_absent":[],"required_present":["Helios Systems"]},"all":{"required_absent":[],"required_present":["Helios Systems"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-074","language":"fr","script":"Latin","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/74 ; Le client mentionne Hugo Esteves","known_identities":[],"targets":[{"id":"person","kind":"person","start":53,"end":65,"value":"Hugo Esteves","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Hugo Esteves"]},"customers":{"required_absent":["Hugo Esteves"],"required_present":[]},"all":{"required_absent":["Hugo Esteves"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-074","language":"fr","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/74 ; Organisation publique Helios Collective","known_identities":[],"targets":[{"id":"person","kind":"person","start":55,"end":72,"value":"Helios Collective","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Helios Collective"]},"customers":{"required_absent":[],"required_present":["Helios Collective"]},"all":{"required_absent":[],"required_present":["Helios Collective"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-075","language":"fr","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"**Le client mentionne Hugo Fischer**","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":34,"value":"Hugo Fischer","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Hugo Fischer"]},"customers":{"required_absent":["Hugo Fischer"],"required_present":[]},"all":{"required_absent":["Hugo Fischer"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-075","language":"fr","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"**Organisation publique Helios Foundation**","known_identities":[],"targets":[{"id":"person","kind":"person","start":24,"end":41,"value":"Helios Foundation","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Helios Foundation"]},"customers":{"required_absent":[],"required_present":["Helios Foundation"]},"all":{"required_absent":[],"required_present":["Helios Foundation"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-076","language":"fr","script":"Latin","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eLe client mentionne Hugo Garcia\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":34,"value":"Hugo Garcia","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Hugo Garcia"]},"customers":{"required_absent":["Hugo Garcia"],"required_present":[]},"all":{"required_absent":["Hugo Garcia"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-076","language":"fr","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eOrganisation publique Helios Network\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":25,"end":39,"value":"Helios Network","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Helios Network"]},"customers":{"required_absent":[],"required_present":["Helios Network"]},"all":{"required_absent":[],"required_present":["Helios Network"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-077","language":"fr","script":"Latin","shape":"quoted-reply","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e Le client mentionne Hugo Holm","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":31,"value":"Hugo Holm","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Hugo Holm"]},"customers":{"required_absent":["Hugo Holm"],"required_present":[]},"all":{"required_absent":["Hugo Holm"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-077","language":"fr","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e Organisation publique Helios Group","known_identities":[],"targets":[{"id":"person","kind":"person","start":24,"end":36,"value":"Helios Group","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Helios Group"]},"customers":{"required_absent":[],"required_present":["Helios Group"]},"all":{"required_absent":[],"required_present":["Helios Group"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-078","language":"fr","script":"Latin","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=78 message=\"Le client mentionne \" value=Hugo Ibarra","known_identities":[],"targets":[{"id":"person","kind":"person","start":58,"end":69,"value":"Hugo Ibarra","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Hugo Ibarra"]},"customers":{"required_absent":["Hugo Ibarra"],"required_present":[]},"all":{"required_absent":["Hugo Ibarra"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-078","language":"fr","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=78 message=\"Organisation publique \" value=Helios Project","known_identities":[],"targets":[{"id":"person","kind":"person","start":60,"end":74,"value":"Helios Project","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Helios Project"]},"customers":{"required_absent":[],"required_present":["Helios Project"]},"all":{"required_absent":[],"required_present":["Helios Project"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-079","language":"fr","script":"Latin","shape":"stack-trace","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[79]: Le client mentionne Hugo Jensen","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":42,"value":"Hugo Jensen","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Hugo Jensen"]},"customers":{"required_absent":["Hugo Jensen"],"required_present":[]},"all":{"required_absent":["Hugo Jensen"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-079","language":"fr","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[79]: Organisation publique Helios Press","known_identities":[],"targets":[{"id":"person","kind":"person","start":33,"end":45,"value":"Helios Press","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Helios Press"]},"customers":{"required_absent":[],"required_present":["Helios Press"]},"all":{"required_absent":[],"required_present":["Helios Press"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-080","language":"fr","script":"Latin","shape":"code","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_80 := `Le client mentionne Ines Arden`","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":45,"value":"Ines Arden","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ines Arden"]},"customers":{"required_absent":["Ines Arden"],"required_present":[]},"all":{"required_absent":["Ines Arden"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-080","language":"fr","script":"Latin","shape":"code","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_80 := `Organisation publique Ion Labs`","known_identities":[],"targets":[{"id":"person","kind":"person","start":37,"end":45,"value":"Ion Labs","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ion Labs"]},"customers":{"required_absent":[],"required_present":["Ion Labs"]},"all":{"required_absent":[],"required_present":["Ion Labs"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-081","language":"fr","script":"Latin","shape":"signature","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--\nLe client mentionne Ines Borel","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":33,"value":"Ines Borel","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ines Borel"]},"customers":{"required_absent":["Ines Borel"],"required_present":[]},"all":{"required_absent":["Ines Borel"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-081","language":"fr","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--\nOrganisation publique Ion Works","known_identities":[],"targets":[{"id":"person","kind":"person","start":25,"end":34,"value":"Ion Works","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ion Works"]},"customers":{"required_absent":[],"required_present":["Ion Works"]},"all":{"required_absent":[],"required_present":["Ion Works"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-082","language":"fr","script":"Latin","shape":"long-thread","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Le client mentionne Ines Costa","known_identities":[],"targets":[{"id":"person","kind":"person","start":500,"end":510,"value":"Ines Costa","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ines Costa"]},"customers":{"required_absent":["Ines Costa"],"required_present":[]},"all":{"required_absent":["Ines Costa"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-082","language":"fr","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Organisation publique Ion Studio","known_identities":[],"targets":[{"id":"person","kind":"person","start":502,"end":512,"value":"Ion Studio","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ion Studio"]},"customers":{"required_absent":[],"required_present":["Ion Studio"]},"all":{"required_absent":[],"required_present":["Ion Studio"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-083","language":"fr","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=83 --message=\"Le client mentionne \" --value=Ines Durand","known_identities":[],"targets":[{"id":"person","kind":"person","start":53,"end":64,"value":"Ines Durand","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ines Durand"]},"customers":{"required_absent":["Ines Durand"],"required_present":[]},"all":{"required_absent":["Ines Durand"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-083","language":"fr","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=83 --message=\"Organisation publique \" --value=Ion Systems","known_identities":[],"targets":[{"id":"person","kind":"person","start":55,"end":66,"value":"Ion Systems","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ion Systems"]},"customers":{"required_absent":[],"required_present":["Ion Systems"]},"all":{"required_absent":[],"required_present":["Ion Systems"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-084","language":"fr","script":"Latin","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Le client mentionne Ines Esteves","known_identities":[],"targets":[{"id":"person","kind":"person","start":20,"end":32,"value":"Ines Esteves","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ines Esteves"]},"customers":{"required_absent":["Ines Esteves"],"required_present":[]},"all":{"required_absent":["Ines Esteves"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-084","language":"fr","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Organisation publique Ion Collective","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":36,"value":"Ion Collective","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ion Collective"]},"customers":{"required_absent":[],"required_present":["Ion Collective"]},"all":{"required_absent":[],"required_present":["Ion Collective"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-085","language":"fr","script":"Latin","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_85\":\"Le client mentionne Ines Fischer\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":47,"value":"Ines Fischer","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ines Fischer"]},"customers":{"required_absent":["Ines Fischer"],"required_present":[]},"all":{"required_absent":["Ines Fischer"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-085","language":"fr","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_85\":\"Organisation publique Ion Foundation\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":37,"end":51,"value":"Ion Foundation","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ion Foundation"]},"customers":{"required_absent":[],"required_present":["Ion Foundation"]},"all":{"required_absent":[],"required_present":["Ion Foundation"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-086","language":"fr","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_86: Le client mentionne Ines Garcia","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":43,"value":"Ines Garcia","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ines Garcia"]},"customers":{"required_absent":["Ines Garcia"],"required_present":[]},"all":{"required_absent":["Ines Garcia"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-086","language":"fr","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_86: Organisation publique Ion Network","known_identities":[],"targets":[{"id":"person","kind":"person","start":34,"end":45,"value":"Ion Network","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ion Network"]},"customers":{"required_absent":[],"required_present":["Ion Network"]},"all":{"required_absent":[],"required_present":["Ion Network"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-087","language":"fr","script":"Latin","shape":"shell","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_87='Le client mentionne Ines Holm'","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":41,"value":"Ines Holm","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ines Holm"]},"customers":{"required_absent":["Ines Holm"],"required_present":[]},"all":{"required_absent":["Ines Holm"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-087","language":"fr","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_87='Organisation publique Ion Group'","known_identities":[],"targets":[{"id":"person","kind":"person","start":34,"end":43,"value":"Ion Group","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ion Group"]},"customers":{"required_absent":[],"required_present":["Ion Group"]},"all":{"required_absent":[],"required_present":["Ion Group"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-088","language":"fr","script":"Latin","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/88 ; Le client mentionne Ines Ibarra","known_identities":[],"targets":[{"id":"person","kind":"person","start":53,"end":64,"value":"Ines Ibarra","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ines Ibarra"]},"customers":{"required_absent":["Ines Ibarra"],"required_present":[]},"all":{"required_absent":["Ines Ibarra"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-088","language":"fr","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/88 ; Organisation publique Ion Project","known_identities":[],"targets":[{"id":"person","kind":"person","start":55,"end":66,"value":"Ion Project","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ion Project"]},"customers":{"required_absent":[],"required_present":["Ion Project"]},"all":{"required_absent":[],"required_present":["Ion Project"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-089","language":"fr","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"**Le client mentionne Ines Jensen**","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":33,"value":"Ines Jensen","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ines Jensen"]},"customers":{"required_absent":["Ines Jensen"],"required_present":[]},"all":{"required_absent":["Ines Jensen"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-089","language":"fr","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"**Organisation publique Ion Press**","known_identities":[],"targets":[{"id":"person","kind":"person","start":24,"end":33,"value":"Ion Press","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ion Press"]},"customers":{"required_absent":[],"required_present":["Ion Press"]},"all":{"required_absent":[],"required_present":["Ion Press"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-090","language":"fr","script":"Latin","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eLe client mentionne Jonas Arden\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":34,"value":"Jonas Arden","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Jonas Arden"]},"customers":{"required_absent":["Jonas Arden"],"required_present":[]},"all":{"required_absent":["Jonas Arden"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-090","language":"fr","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eOrganisation publique Juniper Labs\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":25,"end":37,"value":"Juniper Labs","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Juniper Labs"]},"customers":{"required_absent":[],"required_present":["Juniper Labs"]},"all":{"required_absent":[],"required_present":["Juniper Labs"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-091","language":"fr","script":"Latin","shape":"quoted-reply","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e Le client mentionne Jonas Borel","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":33,"value":"Jonas Borel","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Jonas Borel"]},"customers":{"required_absent":["Jonas Borel"],"required_present":[]},"all":{"required_absent":["Jonas Borel"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-091","language":"fr","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e Organisation publique Juniper Works","known_identities":[],"targets":[{"id":"person","kind":"person","start":24,"end":37,"value":"Juniper Works","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Juniper Works"]},"customers":{"required_absent":[],"required_present":["Juniper Works"]},"all":{"required_absent":[],"required_present":["Juniper Works"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-092","language":"fr","script":"Latin","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=92 message=\"Le client mentionne \" value=Jonas Costa","known_identities":[],"targets":[{"id":"person","kind":"person","start":58,"end":69,"value":"Jonas Costa","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Jonas Costa"]},"customers":{"required_absent":["Jonas Costa"],"required_present":[]},"all":{"required_absent":["Jonas Costa"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-092","language":"fr","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=92 message=\"Organisation publique \" value=Juniper Studio","known_identities":[],"targets":[{"id":"person","kind":"person","start":60,"end":74,"value":"Juniper Studio","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Juniper Studio"]},"customers":{"required_absent":[],"required_present":["Juniper Studio"]},"all":{"required_absent":[],"required_present":["Juniper Studio"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-093","language":"fr","script":"Latin","shape":"stack-trace","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[93]: Le client mentionne Jonas Durand","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":43,"value":"Jonas Durand","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Jonas Durand"]},"customers":{"required_absent":["Jonas Durand"],"required_present":[]},"all":{"required_absent":["Jonas Durand"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-093","language":"fr","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[93]: Organisation publique Juniper Systems","known_identities":[],"targets":[{"id":"person","kind":"person","start":33,"end":48,"value":"Juniper Systems","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Juniper Systems"]},"customers":{"required_absent":[],"required_present":["Juniper Systems"]},"all":{"required_absent":[],"required_present":["Juniper Systems"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-094","language":"fr","script":"Latin","shape":"code","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_94 := `Le client mentionne Jonas Esteves`","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":48,"value":"Jonas Esteves","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Jonas Esteves"]},"customers":{"required_absent":["Jonas Esteves"],"required_present":[]},"all":{"required_absent":["Jonas Esteves"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-094","language":"fr","script":"Latin","shape":"code","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_94 := `Organisation publique Juniper Collective`","known_identities":[],"targets":[{"id":"person","kind":"person","start":37,"end":55,"value":"Juniper Collective","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Juniper Collective"]},"customers":{"required_absent":[],"required_present":["Juniper Collective"]},"all":{"required_absent":[],"required_present":["Juniper Collective"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-095","language":"fr","script":"Latin","shape":"signature","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--\nLe client mentionne Jonas Fischer","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":36,"value":"Jonas Fischer","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Jonas Fischer"]},"customers":{"required_absent":["Jonas Fischer"],"required_present":[]},"all":{"required_absent":["Jonas Fischer"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-095","language":"fr","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--\nOrganisation publique Juniper Foundation","known_identities":[],"targets":[{"id":"person","kind":"person","start":25,"end":43,"value":"Juniper Foundation","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Juniper Foundation"]},"customers":{"required_absent":[],"required_present":["Juniper Foundation"]},"all":{"required_absent":[],"required_present":["Juniper Foundation"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-096","language":"fr","script":"Latin","shape":"long-thread","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Le client mentionne Jonas Garcia","known_identities":[],"targets":[{"id":"person","kind":"person","start":500,"end":512,"value":"Jonas Garcia","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Jonas Garcia"]},"customers":{"required_absent":["Jonas Garcia"],"required_present":[]},"all":{"required_absent":["Jonas Garcia"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-096","language":"fr","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Organisation publique Juniper Network","known_identities":[],"targets":[{"id":"person","kind":"person","start":502,"end":517,"value":"Juniper Network","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Juniper Network"]},"customers":{"required_absent":[],"required_present":["Juniper Network"]},"all":{"required_absent":[],"required_present":["Juniper Network"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-097","language":"fr","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=97 --message=\"Le client mentionne \" --value=Jonas Holm","known_identities":[],"targets":[{"id":"person","kind":"person","start":53,"end":63,"value":"Jonas Holm","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Jonas Holm"]},"customers":{"required_absent":["Jonas Holm"],"required_present":[]},"all":{"required_absent":["Jonas Holm"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-097","language":"fr","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=97 --message=\"Organisation publique \" --value=Juniper Group","known_identities":[],"targets":[{"id":"person","kind":"person","start":55,"end":68,"value":"Juniper Group","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Juniper Group"]},"customers":{"required_absent":[],"required_present":["Juniper Group"]},"all":{"required_absent":[],"required_present":["Juniper Group"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-098","language":"fr","script":"Latin","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Le client mentionne Jonas Ibarra","known_identities":[],"targets":[{"id":"person","kind":"person","start":20,"end":32,"value":"Jonas Ibarra","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Jonas Ibarra"]},"customers":{"required_absent":["Jonas Ibarra"],"required_present":[]},"all":{"required_absent":["Jonas Ibarra"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-098","language":"fr","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Organisation publique Juniper Project","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":37,"value":"Juniper Project","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Juniper Project"]},"customers":{"required_absent":[],"required_present":["Juniper Project"]},"all":{"required_absent":[],"required_present":["Juniper Project"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-099","language":"fr","script":"Latin","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_99\":\"Le client mentionne Jonas Jensen\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":47,"value":"Jonas Jensen","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Jonas Jensen"]},"customers":{"required_absent":["Jonas Jensen"],"required_present":[]},"all":{"required_absent":["Jonas Jensen"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-099","language":"fr","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_99\":\"Organisation publique Juniper Press\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":37,"end":50,"value":"Juniper Press","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Juniper Press"]},"customers":{"required_absent":[],"required_present":["Juniper Press"]},"all":{"required_absent":[],"required_present":["Juniper Press"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-000","language":"de","script":"Latin","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Der Kunde nennt Amina Arden","known_identities":[],"targets":[{"id":"person","kind":"person","start":16,"end":27,"value":"Amina Arden","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Amina Arden"]},"customers":{"required_absent":["Amina Arden"],"required_present":[]},"all":{"required_absent":["Amina Arden"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-000","language":"de","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Öffentliche Organisation Atlas Labs","known_identities":[],"targets":[{"id":"person","kind":"person","start":26,"end":36,"value":"Atlas Labs","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Atlas Labs"]},"customers":{"required_absent":[],"required_present":["Atlas Labs"]},"all":{"required_absent":[],"required_present":["Atlas Labs"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-001","language":"de","script":"Latin","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_1\":\"Der Kunde nennt Amina Borel\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":41,"value":"Amina Borel","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Amina Borel"]},"customers":{"required_absent":["Amina Borel"],"required_present":[]},"all":{"required_absent":["Amina Borel"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-001","language":"de","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_1\":\"Öffentliche Organisation Atlas Works\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":40,"end":51,"value":"Atlas Works","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Atlas Works"]},"customers":{"required_absent":[],"required_present":["Atlas Works"]},"all":{"required_absent":[],"required_present":["Atlas Works"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-002","language":"de","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_2: Der Kunde nennt Amina Costa","known_identities":[],"targets":[{"id":"person","kind":"person","start":27,"end":38,"value":"Amina Costa","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Amina Costa"]},"customers":{"required_absent":["Amina Costa"],"required_present":[]},"all":{"required_absent":["Amina Costa"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-002","language":"de","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_2: Öffentliche Organisation Atlas Studio","known_identities":[],"targets":[{"id":"person","kind":"person","start":37,"end":49,"value":"Atlas Studio","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Atlas Studio"]},"customers":{"required_absent":[],"required_present":["Atlas Studio"]},"all":{"required_absent":[],"required_present":["Atlas Studio"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-003","language":"de","script":"Latin","shape":"shell","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_3='Der Kunde nennt Amina Durand'","known_identities":[],"targets":[{"id":"person","kind":"person","start":27,"end":39,"value":"Amina Durand","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Amina Durand"]},"customers":{"required_absent":["Amina Durand"],"required_present":[]},"all":{"required_absent":["Amina Durand"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-003","language":"de","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_3='Öffentliche Organisation Atlas Systems'","known_identities":[],"targets":[{"id":"person","kind":"person","start":37,"end":50,"value":"Atlas Systems","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Atlas Systems"]},"customers":{"required_absent":[],"required_present":["Atlas Systems"]},"all":{"required_absent":[],"required_present":["Atlas Systems"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-004","language":"de","script":"Latin","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/4 ; Der Kunde nennt Amina Esteves","known_identities":[],"targets":[{"id":"person","kind":"person","start":48,"end":61,"value":"Amina Esteves","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Amina Esteves"]},"customers":{"required_absent":["Amina Esteves"],"required_present":[]},"all":{"required_absent":["Amina Esteves"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-004","language":"de","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/4 ; Öffentliche Organisation Atlas Collective","known_identities":[],"targets":[{"id":"person","kind":"person","start":58,"end":74,"value":"Atlas Collective","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Atlas Collective"]},"customers":{"required_absent":[],"required_present":["Atlas Collective"]},"all":{"required_absent":[],"required_present":["Atlas Collective"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-005","language":"de","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"**Der Kunde nennt Amina Fischer**","known_identities":[],"targets":[{"id":"person","kind":"person","start":18,"end":31,"value":"Amina Fischer","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Amina Fischer"]},"customers":{"required_absent":["Amina Fischer"],"required_present":[]},"all":{"required_absent":["Amina Fischer"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-005","language":"de","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"**Öffentliche Organisation Atlas Foundation**","known_identities":[],"targets":[{"id":"person","kind":"person","start":28,"end":44,"value":"Atlas Foundation","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Atlas Foundation"]},"customers":{"required_absent":[],"required_present":["Atlas Foundation"]},"all":{"required_absent":[],"required_present":["Atlas Foundation"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-006","language":"de","script":"Latin","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eDer Kunde nennt Amina Garcia\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":19,"end":31,"value":"Amina Garcia","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Amina Garcia"]},"customers":{"required_absent":["Amina Garcia"],"required_present":[]},"all":{"required_absent":["Amina Garcia"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-006","language":"de","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eÖffentliche Organisation Atlas Network\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":29,"end":42,"value":"Atlas Network","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Atlas Network"]},"customers":{"required_absent":[],"required_present":["Atlas Network"]},"all":{"required_absent":[],"required_present":["Atlas Network"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-007","language":"de","script":"Latin","shape":"quoted-reply","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e Der Kunde nennt Amina Holm","known_identities":[],"targets":[{"id":"person","kind":"person","start":18,"end":28,"value":"Amina Holm","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Amina Holm"]},"customers":{"required_absent":["Amina Holm"],"required_present":[]},"all":{"required_absent":["Amina Holm"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-007","language":"de","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e Öffentliche Organisation Atlas Group","known_identities":[],"targets":[{"id":"person","kind":"person","start":28,"end":39,"value":"Atlas Group","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Atlas Group"]},"customers":{"required_absent":[],"required_present":["Atlas Group"]},"all":{"required_absent":[],"required_present":["Atlas Group"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-008","language":"de","script":"Latin","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=8 message=\"Der Kunde nennt \" value=Amina Ibarra","known_identities":[],"targets":[{"id":"person","kind":"person","start":53,"end":65,"value":"Amina Ibarra","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Amina Ibarra"]},"customers":{"required_absent":["Amina Ibarra"],"required_present":[]},"all":{"required_absent":["Amina Ibarra"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-008","language":"de","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=8 message=\"Öffentliche Organisation \" value=Atlas Project","known_identities":[],"targets":[{"id":"person","kind":"person","start":63,"end":76,"value":"Atlas Project","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Atlas Project"]},"customers":{"required_absent":[],"required_present":["Atlas Project"]},"all":{"required_absent":[],"required_present":["Atlas Project"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-009","language":"de","script":"Latin","shape":"stack-trace","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[9]: Der Kunde nennt Amina Jensen","known_identities":[],"targets":[{"id":"person","kind":"person","start":26,"end":38,"value":"Amina Jensen","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Amina Jensen"]},"customers":{"required_absent":["Amina Jensen"],"required_present":[]},"all":{"required_absent":["Amina Jensen"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-009","language":"de","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[9]: Öffentliche Organisation Atlas Press","known_identities":[],"targets":[{"id":"person","kind":"person","start":36,"end":47,"value":"Atlas Press","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Atlas Press"]},"customers":{"required_absent":[],"required_present":["Atlas Press"]},"all":{"required_absent":[],"required_present":["Atlas Press"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-010","language":"de","script":"Latin","shape":"code","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_10 := `Der Kunde nennt Bruno Arden`","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":42,"value":"Bruno Arden","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bruno Arden"]},"customers":{"required_absent":["Bruno Arden"],"required_present":[]},"all":{"required_absent":["Bruno Arden"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-010","language":"de","script":"Latin","shape":"code","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_10 := `Öffentliche Organisation Boreal Labs`","known_identities":[],"targets":[{"id":"person","kind":"person","start":41,"end":52,"value":"Boreal Labs","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Boreal Labs"]},"customers":{"required_absent":[],"required_present":["Boreal Labs"]},"all":{"required_absent":[],"required_present":["Boreal Labs"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-011","language":"de","script":"Latin","shape":"signature","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--\nDer Kunde nennt Bruno Borel","known_identities":[],"targets":[{"id":"person","kind":"person","start":19,"end":30,"value":"Bruno Borel","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bruno Borel"]},"customers":{"required_absent":["Bruno Borel"],"required_present":[]},"all":{"required_absent":["Bruno Borel"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-011","language":"de","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--\nÖffentliche Organisation Boreal Works","known_identities":[],"targets":[{"id":"person","kind":"person","start":29,"end":41,"value":"Boreal Works","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Boreal Works"]},"customers":{"required_absent":[],"required_present":["Boreal Works"]},"all":{"required_absent":[],"required_present":["Boreal Works"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-012","language":"de","script":"Latin","shape":"long-thread","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Der Kunde nennt Bruno Costa","known_identities":[],"targets":[{"id":"person","kind":"person","start":496,"end":507,"value":"Bruno Costa","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bruno Costa"]},"customers":{"required_absent":["Bruno Costa"],"required_present":[]},"all":{"required_absent":["Bruno Costa"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-012","language":"de","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Öffentliche Organisation Boreal Studio","known_identities":[],"targets":[{"id":"person","kind":"person","start":506,"end":519,"value":"Boreal Studio","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Boreal Studio"]},"customers":{"required_absent":[],"required_present":["Boreal Studio"]},"all":{"required_absent":[],"required_present":["Boreal Studio"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-013","language":"de","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=13 --message=\"Der Kunde nennt \" --value=Bruno Durand","known_identities":[],"targets":[{"id":"person","kind":"person","start":49,"end":61,"value":"Bruno Durand","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bruno Durand"]},"customers":{"required_absent":["Bruno Durand"],"required_present":[]},"all":{"required_absent":["Bruno Durand"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-013","language":"de","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=13 --message=\"Öffentliche Organisation \" --value=Boreal Systems","known_identities":[],"targets":[{"id":"person","kind":"person","start":59,"end":73,"value":"Boreal Systems","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Boreal Systems"]},"customers":{"required_absent":[],"required_present":["Boreal Systems"]},"all":{"required_absent":[],"required_present":["Boreal Systems"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-014","language":"de","script":"Latin","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Der Kunde nennt Bruno Esteves","known_identities":[],"targets":[{"id":"person","kind":"person","start":16,"end":29,"value":"Bruno Esteves","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bruno Esteves"]},"customers":{"required_absent":["Bruno Esteves"],"required_present":[]},"all":{"required_absent":["Bruno Esteves"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-014","language":"de","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Öffentliche Organisation Boreal Collective","known_identities":[],"targets":[{"id":"person","kind":"person","start":26,"end":43,"value":"Boreal Collective","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Boreal Collective"]},"customers":{"required_absent":[],"required_present":["Boreal Collective"]},"all":{"required_absent":[],"required_present":["Boreal Collective"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-015","language":"de","script":"Latin","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_15\":\"Der Kunde nennt Bruno Fischer\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":44,"value":"Bruno Fischer","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bruno Fischer"]},"customers":{"required_absent":["Bruno Fischer"],"required_present":[]},"all":{"required_absent":["Bruno Fischer"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-015","language":"de","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_15\":\"Öffentliche Organisation Boreal Foundation\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":41,"end":58,"value":"Boreal Foundation","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Boreal Foundation"]},"customers":{"required_absent":[],"required_present":["Boreal Foundation"]},"all":{"required_absent":[],"required_present":["Boreal Foundation"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-016","language":"de","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_16: Der Kunde nennt Bruno Garcia","known_identities":[],"targets":[{"id":"person","kind":"person","start":28,"end":40,"value":"Bruno Garcia","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bruno Garcia"]},"customers":{"required_absent":["Bruno Garcia"],"required_present":[]},"all":{"required_absent":["Bruno Garcia"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-016","language":"de","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_16: Öffentliche Organisation Boreal Network","known_identities":[],"targets":[{"id":"person","kind":"person","start":38,"end":52,"value":"Boreal Network","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Boreal Network"]},"customers":{"required_absent":[],"required_present":["Boreal Network"]},"all":{"required_absent":[],"required_present":["Boreal Network"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-017","language":"de","script":"Latin","shape":"shell","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_17='Der Kunde nennt Bruno Holm'","known_identities":[],"targets":[{"id":"person","kind":"person","start":28,"end":38,"value":"Bruno Holm","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bruno Holm"]},"customers":{"required_absent":["Bruno Holm"],"required_present":[]},"all":{"required_absent":["Bruno Holm"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-017","language":"de","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_17='Öffentliche Organisation Boreal Group'","known_identities":[],"targets":[{"id":"person","kind":"person","start":38,"end":50,"value":"Boreal Group","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Boreal Group"]},"customers":{"required_absent":[],"required_present":["Boreal Group"]},"all":{"required_absent":[],"required_present":["Boreal Group"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-018","language":"de","script":"Latin","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/18 ; Der Kunde nennt Bruno Ibarra","known_identities":[],"targets":[{"id":"person","kind":"person","start":49,"end":61,"value":"Bruno Ibarra","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bruno Ibarra"]},"customers":{"required_absent":["Bruno Ibarra"],"required_present":[]},"all":{"required_absent":["Bruno Ibarra"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-018","language":"de","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/18 ; Öffentliche Organisation Boreal Project","known_identities":[],"targets":[{"id":"person","kind":"person","start":59,"end":73,"value":"Boreal Project","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Boreal Project"]},"customers":{"required_absent":[],"required_present":["Boreal Project"]},"all":{"required_absent":[],"required_present":["Boreal Project"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-019","language":"de","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"**Der Kunde nennt Bruno Jensen**","known_identities":[],"targets":[{"id":"person","kind":"person","start":18,"end":30,"value":"Bruno Jensen","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bruno Jensen"]},"customers":{"required_absent":["Bruno Jensen"],"required_present":[]},"all":{"required_absent":["Bruno Jensen"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-019","language":"de","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"**Öffentliche Organisation Boreal Press**","known_identities":[],"targets":[{"id":"person","kind":"person","start":28,"end":40,"value":"Boreal Press","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Boreal Press"]},"customers":{"required_absent":[],"required_present":["Boreal Press"]},"all":{"required_absent":[],"required_present":["Boreal Press"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-020","language":"de","script":"Latin","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eDer Kunde nennt Clara Arden\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":19,"end":30,"value":"Clara Arden","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Clara Arden"]},"customers":{"required_absent":["Clara Arden"],"required_present":[]},"all":{"required_absent":["Clara Arden"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-020","language":"de","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eÖffentliche Organisation Cedar Labs\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":29,"end":39,"value":"Cedar Labs","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Cedar Labs"]},"customers":{"required_absent":[],"required_present":["Cedar Labs"]},"all":{"required_absent":[],"required_present":["Cedar Labs"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-021","language":"de","script":"Latin","shape":"quoted-reply","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e Der Kunde nennt Clara Borel","known_identities":[],"targets":[{"id":"person","kind":"person","start":18,"end":29,"value":"Clara Borel","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Clara Borel"]},"customers":{"required_absent":["Clara Borel"],"required_present":[]},"all":{"required_absent":["Clara Borel"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-021","language":"de","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e Öffentliche Organisation Cedar Works","known_identities":[],"targets":[{"id":"person","kind":"person","start":28,"end":39,"value":"Cedar Works","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Cedar Works"]},"customers":{"required_absent":[],"required_present":["Cedar Works"]},"all":{"required_absent":[],"required_present":["Cedar Works"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-022","language":"de","script":"Latin","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=22 message=\"Der Kunde nennt \" value=Clara Costa","known_identities":[],"targets":[{"id":"person","kind":"person","start":54,"end":65,"value":"Clara Costa","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Clara Costa"]},"customers":{"required_absent":["Clara Costa"],"required_present":[]},"all":{"required_absent":["Clara Costa"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-022","language":"de","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=22 message=\"Öffentliche Organisation \" value=Cedar Studio","known_identities":[],"targets":[{"id":"person","kind":"person","start":64,"end":76,"value":"Cedar Studio","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Cedar Studio"]},"customers":{"required_absent":[],"required_present":["Cedar Studio"]},"all":{"required_absent":[],"required_present":["Cedar Studio"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-023","language":"de","script":"Latin","shape":"stack-trace","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[23]: Der Kunde nennt Clara Durand","known_identities":[],"targets":[{"id":"person","kind":"person","start":27,"end":39,"value":"Clara Durand","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Clara Durand"]},"customers":{"required_absent":["Clara Durand"],"required_present":[]},"all":{"required_absent":["Clara Durand"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-023","language":"de","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[23]: Öffentliche Organisation Cedar Systems","known_identities":[],"targets":[{"id":"person","kind":"person","start":37,"end":50,"value":"Cedar Systems","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Cedar Systems"]},"customers":{"required_absent":[],"required_present":["Cedar Systems"]},"all":{"required_absent":[],"required_present":["Cedar Systems"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-024","language":"de","script":"Latin","shape":"code","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_24 := `Der Kunde nennt Clara Esteves`","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":44,"value":"Clara Esteves","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Clara Esteves"]},"customers":{"required_absent":["Clara Esteves"],"required_present":[]},"all":{"required_absent":["Clara Esteves"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-024","language":"de","script":"Latin","shape":"code","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_24 := `Öffentliche Organisation Cedar Collective`","known_identities":[],"targets":[{"id":"person","kind":"person","start":41,"end":57,"value":"Cedar Collective","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Cedar Collective"]},"customers":{"required_absent":[],"required_present":["Cedar Collective"]},"all":{"required_absent":[],"required_present":["Cedar Collective"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-025","language":"de","script":"Latin","shape":"signature","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--\nDer Kunde nennt Clara Fischer","known_identities":[],"targets":[{"id":"person","kind":"person","start":19,"end":32,"value":"Clara Fischer","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Clara Fischer"]},"customers":{"required_absent":["Clara Fischer"],"required_present":[]},"all":{"required_absent":["Clara Fischer"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-025","language":"de","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--\nÖffentliche Organisation Cedar Foundation","known_identities":[],"targets":[{"id":"person","kind":"person","start":29,"end":45,"value":"Cedar Foundation","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Cedar Foundation"]},"customers":{"required_absent":[],"required_present":["Cedar Foundation"]},"all":{"required_absent":[],"required_present":["Cedar Foundation"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-026","language":"de","script":"Latin","shape":"long-thread","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Der Kunde nennt Clara Garcia","known_identities":[],"targets":[{"id":"person","kind":"person","start":496,"end":508,"value":"Clara Garcia","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Clara Garcia"]},"customers":{"required_absent":["Clara Garcia"],"required_present":[]},"all":{"required_absent":["Clara Garcia"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-026","language":"de","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Öffentliche Organisation Cedar Network","known_identities":[],"targets":[{"id":"person","kind":"person","start":506,"end":519,"value":"Cedar Network","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Cedar Network"]},"customers":{"required_absent":[],"required_present":["Cedar Network"]},"all":{"required_absent":[],"required_present":["Cedar Network"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-027","language":"de","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=27 --message=\"Der Kunde nennt \" --value=Clara Holm","known_identities":[],"targets":[{"id":"person","kind":"person","start":49,"end":59,"value":"Clara Holm","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Clara Holm"]},"customers":{"required_absent":["Clara Holm"],"required_present":[]},"all":{"required_absent":["Clara Holm"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-027","language":"de","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=27 --message=\"Öffentliche Organisation \" --value=Cedar Group","known_identities":[],"targets":[{"id":"person","kind":"person","start":59,"end":70,"value":"Cedar Group","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Cedar Group"]},"customers":{"required_absent":[],"required_present":["Cedar Group"]},"all":{"required_absent":[],"required_present":["Cedar Group"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-028","language":"de","script":"Latin","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Der Kunde nennt Clara Ibarra","known_identities":[],"targets":[{"id":"person","kind":"person","start":16,"end":28,"value":"Clara Ibarra","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Clara Ibarra"]},"customers":{"required_absent":["Clara Ibarra"],"required_present":[]},"all":{"required_absent":["Clara Ibarra"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-028","language":"de","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Öffentliche Organisation Cedar Project","known_identities":[],"targets":[{"id":"person","kind":"person","start":26,"end":39,"value":"Cedar Project","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Cedar Project"]},"customers":{"required_absent":[],"required_present":["Cedar Project"]},"all":{"required_absent":[],"required_present":["Cedar Project"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-029","language":"de","script":"Latin","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_29\":\"Der Kunde nennt Clara Jensen\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":43,"value":"Clara Jensen","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Clara Jensen"]},"customers":{"required_absent":["Clara Jensen"],"required_present":[]},"all":{"required_absent":["Clara Jensen"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-029","language":"de","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_29\":\"Öffentliche Organisation Cedar Press\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":41,"end":52,"value":"Cedar Press","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Cedar Press"]},"customers":{"required_absent":[],"required_present":["Cedar Press"]},"all":{"required_absent":[],"required_present":["Cedar Press"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-030","language":"de","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_30: Der Kunde nennt Diego Arden","known_identities":[],"targets":[{"id":"person","kind":"person","start":28,"end":39,"value":"Diego Arden","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Diego Arden"]},"customers":{"required_absent":["Diego Arden"],"required_present":[]},"all":{"required_absent":["Diego Arden"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-030","language":"de","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_30: Öffentliche Organisation Delta Labs","known_identities":[],"targets":[{"id":"person","kind":"person","start":38,"end":48,"value":"Delta Labs","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Delta Labs"]},"customers":{"required_absent":[],"required_present":["Delta Labs"]},"all":{"required_absent":[],"required_present":["Delta Labs"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-031","language":"de","script":"Latin","shape":"shell","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_31='Der Kunde nennt Diego Borel'","known_identities":[],"targets":[{"id":"person","kind":"person","start":28,"end":39,"value":"Diego Borel","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Diego Borel"]},"customers":{"required_absent":["Diego Borel"],"required_present":[]},"all":{"required_absent":["Diego Borel"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-031","language":"de","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_31='Öffentliche Organisation Delta Works'","known_identities":[],"targets":[{"id":"person","kind":"person","start":38,"end":49,"value":"Delta Works","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Delta Works"]},"customers":{"required_absent":[],"required_present":["Delta Works"]},"all":{"required_absent":[],"required_present":["Delta Works"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-032","language":"de","script":"Latin","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/32 ; Der Kunde nennt Diego Costa","known_identities":[],"targets":[{"id":"person","kind":"person","start":49,"end":60,"value":"Diego Costa","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Diego Costa"]},"customers":{"required_absent":["Diego Costa"],"required_present":[]},"all":{"required_absent":["Diego Costa"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-032","language":"de","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/32 ; Öffentliche Organisation Delta Studio","known_identities":[],"targets":[{"id":"person","kind":"person","start":59,"end":71,"value":"Delta Studio","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Delta Studio"]},"customers":{"required_absent":[],"required_present":["Delta Studio"]},"all":{"required_absent":[],"required_present":["Delta Studio"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-033","language":"de","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"**Der Kunde nennt Diego Durand**","known_identities":[],"targets":[{"id":"person","kind":"person","start":18,"end":30,"value":"Diego Durand","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Diego Durand"]},"customers":{"required_absent":["Diego Durand"],"required_present":[]},"all":{"required_absent":["Diego Durand"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-033","language":"de","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"**Öffentliche Organisation Delta Systems**","known_identities":[],"targets":[{"id":"person","kind":"person","start":28,"end":41,"value":"Delta Systems","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Delta Systems"]},"customers":{"required_absent":[],"required_present":["Delta Systems"]},"all":{"required_absent":[],"required_present":["Delta Systems"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-034","language":"de","script":"Latin","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eDer Kunde nennt Diego Esteves\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":19,"end":32,"value":"Diego Esteves","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Diego Esteves"]},"customers":{"required_absent":["Diego Esteves"],"required_present":[]},"all":{"required_absent":["Diego Esteves"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-034","language":"de","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eÖffentliche Organisation Delta Collective\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":29,"end":45,"value":"Delta Collective","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Delta Collective"]},"customers":{"required_absent":[],"required_present":["Delta Collective"]},"all":{"required_absent":[],"required_present":["Delta Collective"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-035","language":"de","script":"Latin","shape":"quoted-reply","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e Der Kunde nennt Diego Fischer","known_identities":[],"targets":[{"id":"person","kind":"person","start":18,"end":31,"value":"Diego Fischer","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Diego Fischer"]},"customers":{"required_absent":["Diego Fischer"],"required_present":[]},"all":{"required_absent":["Diego Fischer"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-035","language":"de","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e Öffentliche Organisation Delta Foundation","known_identities":[],"targets":[{"id":"person","kind":"person","start":28,"end":44,"value":"Delta Foundation","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Delta Foundation"]},"customers":{"required_absent":[],"required_present":["Delta Foundation"]},"all":{"required_absent":[],"required_present":["Delta Foundation"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-036","language":"de","script":"Latin","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=36 message=\"Der Kunde nennt \" value=Diego Garcia","known_identities":[],"targets":[{"id":"person","kind":"person","start":54,"end":66,"value":"Diego Garcia","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Diego Garcia"]},"customers":{"required_absent":["Diego Garcia"],"required_present":[]},"all":{"required_absent":["Diego Garcia"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-036","language":"de","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=36 message=\"Öffentliche Organisation \" value=Delta Network","known_identities":[],"targets":[{"id":"person","kind":"person","start":64,"end":77,"value":"Delta Network","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Delta Network"]},"customers":{"required_absent":[],"required_present":["Delta Network"]},"all":{"required_absent":[],"required_present":["Delta Network"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-037","language":"de","script":"Latin","shape":"stack-trace","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[37]: Der Kunde nennt Diego Holm","known_identities":[],"targets":[{"id":"person","kind":"person","start":27,"end":37,"value":"Diego Holm","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Diego Holm"]},"customers":{"required_absent":["Diego Holm"],"required_present":[]},"all":{"required_absent":["Diego Holm"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-037","language":"de","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[37]: Öffentliche Organisation Delta Group","known_identities":[],"targets":[{"id":"person","kind":"person","start":37,"end":48,"value":"Delta Group","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Delta Group"]},"customers":{"required_absent":[],"required_present":["Delta Group"]},"all":{"required_absent":[],"required_present":["Delta Group"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-038","language":"de","script":"Latin","shape":"code","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_38 := `Der Kunde nennt Diego Ibarra`","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":43,"value":"Diego Ibarra","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Diego Ibarra"]},"customers":{"required_absent":["Diego Ibarra"],"required_present":[]},"all":{"required_absent":["Diego Ibarra"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-038","language":"de","script":"Latin","shape":"code","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_38 := `Öffentliche Organisation Delta Project`","known_identities":[],"targets":[{"id":"person","kind":"person","start":41,"end":54,"value":"Delta Project","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Delta Project"]},"customers":{"required_absent":[],"required_present":["Delta Project"]},"all":{"required_absent":[],"required_present":["Delta Project"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-039","language":"de","script":"Latin","shape":"signature","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--\nDer Kunde nennt Diego Jensen","known_identities":[],"targets":[{"id":"person","kind":"person","start":19,"end":31,"value":"Diego Jensen","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Diego Jensen"]},"customers":{"required_absent":["Diego Jensen"],"required_present":[]},"all":{"required_absent":["Diego Jensen"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-039","language":"de","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--\nÖffentliche Organisation Delta Press","known_identities":[],"targets":[{"id":"person","kind":"person","start":29,"end":40,"value":"Delta Press","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Delta Press"]},"customers":{"required_absent":[],"required_present":["Delta Press"]},"all":{"required_absent":[],"required_present":["Delta Press"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-040","language":"de","script":"Latin","shape":"long-thread","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Der Kunde nennt Elena Arden","known_identities":[],"targets":[{"id":"person","kind":"person","start":496,"end":507,"value":"Elena Arden","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Elena Arden"]},"customers":{"required_absent":["Elena Arden"],"required_present":[]},"all":{"required_absent":["Elena Arden"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-040","language":"de","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Öffentliche Organisation Ember Labs","known_identities":[],"targets":[{"id":"person","kind":"person","start":506,"end":516,"value":"Ember Labs","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ember Labs"]},"customers":{"required_absent":[],"required_present":["Ember Labs"]},"all":{"required_absent":[],"required_present":["Ember Labs"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-041","language":"de","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=41 --message=\"Der Kunde nennt \" --value=Elena Borel","known_identities":[],"targets":[{"id":"person","kind":"person","start":49,"end":60,"value":"Elena Borel","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Elena Borel"]},"customers":{"required_absent":["Elena Borel"],"required_present":[]},"all":{"required_absent":["Elena Borel"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-041","language":"de","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=41 --message=\"Öffentliche Organisation \" --value=Ember Works","known_identities":[],"targets":[{"id":"person","kind":"person","start":59,"end":70,"value":"Ember Works","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ember Works"]},"customers":{"required_absent":[],"required_present":["Ember Works"]},"all":{"required_absent":[],"required_present":["Ember Works"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-042","language":"de","script":"Latin","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Der Kunde nennt Elena Costa","known_identities":[],"targets":[{"id":"person","kind":"person","start":16,"end":27,"value":"Elena Costa","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Elena Costa"]},"customers":{"required_absent":["Elena Costa"],"required_present":[]},"all":{"required_absent":["Elena Costa"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-042","language":"de","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Öffentliche Organisation Ember Studio","known_identities":[],"targets":[{"id":"person","kind":"person","start":26,"end":38,"value":"Ember Studio","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ember Studio"]},"customers":{"required_absent":[],"required_present":["Ember Studio"]},"all":{"required_absent":[],"required_present":["Ember Studio"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-043","language":"de","script":"Latin","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_43\":\"Der Kunde nennt Elena Durand\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":43,"value":"Elena Durand","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Elena Durand"]},"customers":{"required_absent":["Elena Durand"],"required_present":[]},"all":{"required_absent":["Elena Durand"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-043","language":"de","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_43\":\"Öffentliche Organisation Ember Systems\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":41,"end":54,"value":"Ember Systems","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ember Systems"]},"customers":{"required_absent":[],"required_present":["Ember Systems"]},"all":{"required_absent":[],"required_present":["Ember Systems"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-044","language":"de","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_44: Der Kunde nennt Elena Esteves","known_identities":[],"targets":[{"id":"person","kind":"person","start":28,"end":41,"value":"Elena Esteves","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Elena Esteves"]},"customers":{"required_absent":["Elena Esteves"],"required_present":[]},"all":{"required_absent":["Elena Esteves"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-044","language":"de","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_44: Öffentliche Organisation Ember Collective","known_identities":[],"targets":[{"id":"person","kind":"person","start":38,"end":54,"value":"Ember Collective","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ember Collective"]},"customers":{"required_absent":[],"required_present":["Ember Collective"]},"all":{"required_absent":[],"required_present":["Ember Collective"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-045","language":"de","script":"Latin","shape":"shell","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_45='Der Kunde nennt Elena Fischer'","known_identities":[],"targets":[{"id":"person","kind":"person","start":28,"end":41,"value":"Elena Fischer","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Elena Fischer"]},"customers":{"required_absent":["Elena Fischer"],"required_present":[]},"all":{"required_absent":["Elena Fischer"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-045","language":"de","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_45='Öffentliche Organisation Ember Foundation'","known_identities":[],"targets":[{"id":"person","kind":"person","start":38,"end":54,"value":"Ember Foundation","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ember Foundation"]},"customers":{"required_absent":[],"required_present":["Ember Foundation"]},"all":{"required_absent":[],"required_present":["Ember Foundation"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-046","language":"de","script":"Latin","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/46 ; Der Kunde nennt Elena Garcia","known_identities":[],"targets":[{"id":"person","kind":"person","start":49,"end":61,"value":"Elena Garcia","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Elena Garcia"]},"customers":{"required_absent":["Elena Garcia"],"required_present":[]},"all":{"required_absent":["Elena Garcia"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-046","language":"de","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/46 ; Öffentliche Organisation Ember Network","known_identities":[],"targets":[{"id":"person","kind":"person","start":59,"end":72,"value":"Ember Network","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ember Network"]},"customers":{"required_absent":[],"required_present":["Ember Network"]},"all":{"required_absent":[],"required_present":["Ember Network"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-047","language":"de","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"**Der Kunde nennt Elena Holm**","known_identities":[],"targets":[{"id":"person","kind":"person","start":18,"end":28,"value":"Elena Holm","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Elena Holm"]},"customers":{"required_absent":["Elena Holm"],"required_present":[]},"all":{"required_absent":["Elena Holm"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-047","language":"de","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"**Öffentliche Organisation Ember Group**","known_identities":[],"targets":[{"id":"person","kind":"person","start":28,"end":39,"value":"Ember Group","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ember Group"]},"customers":{"required_absent":[],"required_present":["Ember Group"]},"all":{"required_absent":[],"required_present":["Ember Group"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-048","language":"de","script":"Latin","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eDer Kunde nennt Elena Ibarra\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":19,"end":31,"value":"Elena Ibarra","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Elena Ibarra"]},"customers":{"required_absent":["Elena Ibarra"],"required_present":[]},"all":{"required_absent":["Elena Ibarra"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-048","language":"de","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eÖffentliche Organisation Ember Project\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":29,"end":42,"value":"Ember Project","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ember Project"]},"customers":{"required_absent":[],"required_present":["Ember Project"]},"all":{"required_absent":[],"required_present":["Ember Project"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-049","language":"de","script":"Latin","shape":"quoted-reply","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e Der Kunde nennt Elena Jensen","known_identities":[],"targets":[{"id":"person","kind":"person","start":18,"end":30,"value":"Elena Jensen","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Elena Jensen"]},"customers":{"required_absent":["Elena Jensen"],"required_present":[]},"all":{"required_absent":["Elena Jensen"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-049","language":"de","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e Öffentliche Organisation Ember Press","known_identities":[],"targets":[{"id":"person","kind":"person","start":28,"end":39,"value":"Ember Press","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ember Press"]},"customers":{"required_absent":[],"required_present":["Ember Press"]},"all":{"required_absent":[],"required_present":["Ember Press"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-050","language":"de","script":"Latin","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=50 message=\"Der Kunde nennt \" value=Farid Arden","known_identities":[],"targets":[{"id":"person","kind":"person","start":54,"end":65,"value":"Farid Arden","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Farid Arden"]},"customers":{"required_absent":["Farid Arden"],"required_present":[]},"all":{"required_absent":["Farid Arden"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-050","language":"de","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=50 message=\"Öffentliche Organisation \" value=Flora Labs","known_identities":[],"targets":[{"id":"person","kind":"person","start":64,"end":74,"value":"Flora Labs","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Flora Labs"]},"customers":{"required_absent":[],"required_present":["Flora Labs"]},"all":{"required_absent":[],"required_present":["Flora Labs"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-051","language":"de","script":"Latin","shape":"stack-trace","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[51]: Der Kunde nennt Farid Borel","known_identities":[],"targets":[{"id":"person","kind":"person","start":27,"end":38,"value":"Farid Borel","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Farid Borel"]},"customers":{"required_absent":["Farid Borel"],"required_present":[]},"all":{"required_absent":["Farid Borel"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-051","language":"de","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[51]: Öffentliche Organisation Flora Works","known_identities":[],"targets":[{"id":"person","kind":"person","start":37,"end":48,"value":"Flora Works","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Flora Works"]},"customers":{"required_absent":[],"required_present":["Flora Works"]},"all":{"required_absent":[],"required_present":["Flora Works"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-052","language":"de","script":"Latin","shape":"code","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_52 := `Der Kunde nennt Farid Costa`","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":42,"value":"Farid Costa","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Farid Costa"]},"customers":{"required_absent":["Farid Costa"],"required_present":[]},"all":{"required_absent":["Farid Costa"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-052","language":"de","script":"Latin","shape":"code","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_52 := `Öffentliche Organisation Flora Studio`","known_identities":[],"targets":[{"id":"person","kind":"person","start":41,"end":53,"value":"Flora Studio","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Flora Studio"]},"customers":{"required_absent":[],"required_present":["Flora Studio"]},"all":{"required_absent":[],"required_present":["Flora Studio"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-053","language":"de","script":"Latin","shape":"signature","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--\nDer Kunde nennt Farid Durand","known_identities":[],"targets":[{"id":"person","kind":"person","start":19,"end":31,"value":"Farid Durand","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Farid Durand"]},"customers":{"required_absent":["Farid Durand"],"required_present":[]},"all":{"required_absent":["Farid Durand"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-053","language":"de","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--\nÖffentliche Organisation Flora Systems","known_identities":[],"targets":[{"id":"person","kind":"person","start":29,"end":42,"value":"Flora Systems","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Flora Systems"]},"customers":{"required_absent":[],"required_present":["Flora Systems"]},"all":{"required_absent":[],"required_present":["Flora Systems"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-054","language":"de","script":"Latin","shape":"long-thread","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Der Kunde nennt Farid Esteves","known_identities":[],"targets":[{"id":"person","kind":"person","start":496,"end":509,"value":"Farid Esteves","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Farid Esteves"]},"customers":{"required_absent":["Farid Esteves"],"required_present":[]},"all":{"required_absent":["Farid Esteves"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-054","language":"de","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Öffentliche Organisation Flora Collective","known_identities":[],"targets":[{"id":"person","kind":"person","start":506,"end":522,"value":"Flora Collective","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Flora Collective"]},"customers":{"required_absent":[],"required_present":["Flora Collective"]},"all":{"required_absent":[],"required_present":["Flora Collective"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-055","language":"de","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=55 --message=\"Der Kunde nennt \" --value=Farid Fischer","known_identities":[],"targets":[{"id":"person","kind":"person","start":49,"end":62,"value":"Farid Fischer","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Farid Fischer"]},"customers":{"required_absent":["Farid Fischer"],"required_present":[]},"all":{"required_absent":["Farid Fischer"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-055","language":"de","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=55 --message=\"Öffentliche Organisation \" --value=Flora Foundation","known_identities":[],"targets":[{"id":"person","kind":"person","start":59,"end":75,"value":"Flora Foundation","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Flora Foundation"]},"customers":{"required_absent":[],"required_present":["Flora Foundation"]},"all":{"required_absent":[],"required_present":["Flora Foundation"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-056","language":"de","script":"Latin","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Der Kunde nennt Farid Garcia","known_identities":[],"targets":[{"id":"person","kind":"person","start":16,"end":28,"value":"Farid Garcia","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Farid Garcia"]},"customers":{"required_absent":["Farid Garcia"],"required_present":[]},"all":{"required_absent":["Farid Garcia"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-056","language":"de","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Öffentliche Organisation Flora Network","known_identities":[],"targets":[{"id":"person","kind":"person","start":26,"end":39,"value":"Flora Network","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Flora Network"]},"customers":{"required_absent":[],"required_present":["Flora Network"]},"all":{"required_absent":[],"required_present":["Flora Network"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-057","language":"de","script":"Latin","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_57\":\"Der Kunde nennt Farid Holm\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":41,"value":"Farid Holm","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Farid Holm"]},"customers":{"required_absent":["Farid Holm"],"required_present":[]},"all":{"required_absent":["Farid Holm"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-057","language":"de","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_57\":\"Öffentliche Organisation Flora Group\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":41,"end":52,"value":"Flora Group","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Flora Group"]},"customers":{"required_absent":[],"required_present":["Flora Group"]},"all":{"required_absent":[],"required_present":["Flora Group"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-058","language":"de","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_58: Der Kunde nennt Farid Ibarra","known_identities":[],"targets":[{"id":"person","kind":"person","start":28,"end":40,"value":"Farid Ibarra","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Farid Ibarra"]},"customers":{"required_absent":["Farid Ibarra"],"required_present":[]},"all":{"required_absent":["Farid Ibarra"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-058","language":"de","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_58: Öffentliche Organisation Flora Project","known_identities":[],"targets":[{"id":"person","kind":"person","start":38,"end":51,"value":"Flora Project","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Flora Project"]},"customers":{"required_absent":[],"required_present":["Flora Project"]},"all":{"required_absent":[],"required_present":["Flora Project"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-059","language":"de","script":"Latin","shape":"shell","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_59='Der Kunde nennt Farid Jensen'","known_identities":[],"targets":[{"id":"person","kind":"person","start":28,"end":40,"value":"Farid Jensen","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Farid Jensen"]},"customers":{"required_absent":["Farid Jensen"],"required_present":[]},"all":{"required_absent":["Farid Jensen"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-059","language":"de","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_59='Öffentliche Organisation Flora Press'","known_identities":[],"targets":[{"id":"person","kind":"person","start":38,"end":49,"value":"Flora Press","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Flora Press"]},"customers":{"required_absent":[],"required_present":["Flora Press"]},"all":{"required_absent":[],"required_present":["Flora Press"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-060","language":"de","script":"Latin","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/60 ; Der Kunde nennt Greta Arden","known_identities":[],"targets":[{"id":"person","kind":"person","start":49,"end":60,"value":"Greta Arden","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Greta Arden"]},"customers":{"required_absent":["Greta Arden"],"required_present":[]},"all":{"required_absent":["Greta Arden"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-060","language":"de","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/60 ; Öffentliche Organisation Gaia Labs","known_identities":[],"targets":[{"id":"person","kind":"person","start":59,"end":68,"value":"Gaia Labs","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Gaia Labs"]},"customers":{"required_absent":[],"required_present":["Gaia Labs"]},"all":{"required_absent":[],"required_present":["Gaia Labs"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-061","language":"de","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"**Der Kunde nennt Greta Borel**","known_identities":[],"targets":[{"id":"person","kind":"person","start":18,"end":29,"value":"Greta Borel","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Greta Borel"]},"customers":{"required_absent":["Greta Borel"],"required_present":[]},"all":{"required_absent":["Greta Borel"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-061","language":"de","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"**Öffentliche Organisation Gaia Works**","known_identities":[],"targets":[{"id":"person","kind":"person","start":28,"end":38,"value":"Gaia Works","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Gaia Works"]},"customers":{"required_absent":[],"required_present":["Gaia Works"]},"all":{"required_absent":[],"required_present":["Gaia Works"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-062","language":"de","script":"Latin","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eDer Kunde nennt Greta Costa\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":19,"end":30,"value":"Greta Costa","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Greta Costa"]},"customers":{"required_absent":["Greta Costa"],"required_present":[]},"all":{"required_absent":["Greta Costa"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-062","language":"de","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eÖffentliche Organisation Gaia Studio\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":29,"end":40,"value":"Gaia Studio","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Gaia Studio"]},"customers":{"required_absent":[],"required_present":["Gaia Studio"]},"all":{"required_absent":[],"required_present":["Gaia Studio"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-063","language":"de","script":"Latin","shape":"quoted-reply","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e Der Kunde nennt Greta Durand","known_identities":[],"targets":[{"id":"person","kind":"person","start":18,"end":30,"value":"Greta Durand","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Greta Durand"]},"customers":{"required_absent":["Greta Durand"],"required_present":[]},"all":{"required_absent":["Greta Durand"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-063","language":"de","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e Öffentliche Organisation Gaia Systems","known_identities":[],"targets":[{"id":"person","kind":"person","start":28,"end":40,"value":"Gaia Systems","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Gaia Systems"]},"customers":{"required_absent":[],"required_present":["Gaia Systems"]},"all":{"required_absent":[],"required_present":["Gaia Systems"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-064","language":"de","script":"Latin","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=64 message=\"Der Kunde nennt \" value=Greta Esteves","known_identities":[],"targets":[{"id":"person","kind":"person","start":54,"end":67,"value":"Greta Esteves","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Greta Esteves"]},"customers":{"required_absent":["Greta Esteves"],"required_present":[]},"all":{"required_absent":["Greta Esteves"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-064","language":"de","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=64 message=\"Öffentliche Organisation \" value=Gaia Collective","known_identities":[],"targets":[{"id":"person","kind":"person","start":64,"end":79,"value":"Gaia Collective","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Gaia Collective"]},"customers":{"required_absent":[],"required_present":["Gaia Collective"]},"all":{"required_absent":[],"required_present":["Gaia Collective"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-065","language":"de","script":"Latin","shape":"stack-trace","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[65]: Der Kunde nennt Greta Fischer","known_identities":[],"targets":[{"id":"person","kind":"person","start":27,"end":40,"value":"Greta Fischer","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Greta Fischer"]},"customers":{"required_absent":["Greta Fischer"],"required_present":[]},"all":{"required_absent":["Greta Fischer"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-065","language":"de","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[65]: Öffentliche Organisation Gaia Foundation","known_identities":[],"targets":[{"id":"person","kind":"person","start":37,"end":52,"value":"Gaia Foundation","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Gaia Foundation"]},"customers":{"required_absent":[],"required_present":["Gaia Foundation"]},"all":{"required_absent":[],"required_present":["Gaia Foundation"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-066","language":"de","script":"Latin","shape":"code","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_66 := `Der Kunde nennt Greta Garcia`","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":43,"value":"Greta Garcia","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Greta Garcia"]},"customers":{"required_absent":["Greta Garcia"],"required_present":[]},"all":{"required_absent":["Greta Garcia"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-066","language":"de","script":"Latin","shape":"code","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_66 := `Öffentliche Organisation Gaia Network`","known_identities":[],"targets":[{"id":"person","kind":"person","start":41,"end":53,"value":"Gaia Network","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Gaia Network"]},"customers":{"required_absent":[],"required_present":["Gaia Network"]},"all":{"required_absent":[],"required_present":["Gaia Network"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-067","language":"de","script":"Latin","shape":"signature","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--\nDer Kunde nennt Greta Holm","known_identities":[],"targets":[{"id":"person","kind":"person","start":19,"end":29,"value":"Greta Holm","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Greta Holm"]},"customers":{"required_absent":["Greta Holm"],"required_present":[]},"all":{"required_absent":["Greta Holm"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-067","language":"de","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--\nÖffentliche Organisation Gaia Group","known_identities":[],"targets":[{"id":"person","kind":"person","start":29,"end":39,"value":"Gaia Group","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Gaia Group"]},"customers":{"required_absent":[],"required_present":["Gaia Group"]},"all":{"required_absent":[],"required_present":["Gaia Group"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-068","language":"de","script":"Latin","shape":"long-thread","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Der Kunde nennt Greta Ibarra","known_identities":[],"targets":[{"id":"person","kind":"person","start":496,"end":508,"value":"Greta Ibarra","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Greta Ibarra"]},"customers":{"required_absent":["Greta Ibarra"],"required_present":[]},"all":{"required_absent":["Greta Ibarra"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-068","language":"de","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Öffentliche Organisation Gaia Project","known_identities":[],"targets":[{"id":"person","kind":"person","start":506,"end":518,"value":"Gaia Project","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Gaia Project"]},"customers":{"required_absent":[],"required_present":["Gaia Project"]},"all":{"required_absent":[],"required_present":["Gaia Project"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-069","language":"de","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=69 --message=\"Der Kunde nennt \" --value=Greta Jensen","known_identities":[],"targets":[{"id":"person","kind":"person","start":49,"end":61,"value":"Greta Jensen","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Greta Jensen"]},"customers":{"required_absent":["Greta Jensen"],"required_present":[]},"all":{"required_absent":["Greta Jensen"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-069","language":"de","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=69 --message=\"Öffentliche Organisation \" --value=Gaia Press","known_identities":[],"targets":[{"id":"person","kind":"person","start":59,"end":69,"value":"Gaia Press","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Gaia Press"]},"customers":{"required_absent":[],"required_present":["Gaia Press"]},"all":{"required_absent":[],"required_present":["Gaia Press"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-070","language":"de","script":"Latin","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Der Kunde nennt Hugo Arden","known_identities":[],"targets":[{"id":"person","kind":"person","start":16,"end":26,"value":"Hugo Arden","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Hugo Arden"]},"customers":{"required_absent":["Hugo Arden"],"required_present":[]},"all":{"required_absent":["Hugo Arden"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-070","language":"de","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Öffentliche Organisation Helios Labs","known_identities":[],"targets":[{"id":"person","kind":"person","start":26,"end":37,"value":"Helios Labs","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Helios Labs"]},"customers":{"required_absent":[],"required_present":["Helios Labs"]},"all":{"required_absent":[],"required_present":["Helios Labs"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-071","language":"de","script":"Latin","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_71\":\"Der Kunde nennt Hugo Borel\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":41,"value":"Hugo Borel","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Hugo Borel"]},"customers":{"required_absent":["Hugo Borel"],"required_present":[]},"all":{"required_absent":["Hugo Borel"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-071","language":"de","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_71\":\"Öffentliche Organisation Helios Works\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":41,"end":53,"value":"Helios Works","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Helios Works"]},"customers":{"required_absent":[],"required_present":["Helios Works"]},"all":{"required_absent":[],"required_present":["Helios Works"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-072","language":"de","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_72: Der Kunde nennt Hugo Costa","known_identities":[],"targets":[{"id":"person","kind":"person","start":28,"end":38,"value":"Hugo Costa","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Hugo Costa"]},"customers":{"required_absent":["Hugo Costa"],"required_present":[]},"all":{"required_absent":["Hugo Costa"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-072","language":"de","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_72: Öffentliche Organisation Helios Studio","known_identities":[],"targets":[{"id":"person","kind":"person","start":38,"end":51,"value":"Helios Studio","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Helios Studio"]},"customers":{"required_absent":[],"required_present":["Helios Studio"]},"all":{"required_absent":[],"required_present":["Helios Studio"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-073","language":"de","script":"Latin","shape":"shell","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_73='Der Kunde nennt Hugo Durand'","known_identities":[],"targets":[{"id":"person","kind":"person","start":28,"end":39,"value":"Hugo Durand","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Hugo Durand"]},"customers":{"required_absent":["Hugo Durand"],"required_present":[]},"all":{"required_absent":["Hugo Durand"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-073","language":"de","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_73='Öffentliche Organisation Helios Systems'","known_identities":[],"targets":[{"id":"person","kind":"person","start":38,"end":52,"value":"Helios Systems","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Helios Systems"]},"customers":{"required_absent":[],"required_present":["Helios Systems"]},"all":{"required_absent":[],"required_present":["Helios Systems"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-074","language":"de","script":"Latin","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/74 ; Der Kunde nennt Hugo Esteves","known_identities":[],"targets":[{"id":"person","kind":"person","start":49,"end":61,"value":"Hugo Esteves","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Hugo Esteves"]},"customers":{"required_absent":["Hugo Esteves"],"required_present":[]},"all":{"required_absent":["Hugo Esteves"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-074","language":"de","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/74 ; Öffentliche Organisation Helios Collective","known_identities":[],"targets":[{"id":"person","kind":"person","start":59,"end":76,"value":"Helios Collective","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Helios Collective"]},"customers":{"required_absent":[],"required_present":["Helios Collective"]},"all":{"required_absent":[],"required_present":["Helios Collective"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-075","language":"de","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"**Der Kunde nennt Hugo Fischer**","known_identities":[],"targets":[{"id":"person","kind":"person","start":18,"end":30,"value":"Hugo Fischer","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Hugo Fischer"]},"customers":{"required_absent":["Hugo Fischer"],"required_present":[]},"all":{"required_absent":["Hugo Fischer"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-075","language":"de","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"**Öffentliche Organisation Helios Foundation**","known_identities":[],"targets":[{"id":"person","kind":"person","start":28,"end":45,"value":"Helios Foundation","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Helios Foundation"]},"customers":{"required_absent":[],"required_present":["Helios Foundation"]},"all":{"required_absent":[],"required_present":["Helios Foundation"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-076","language":"de","script":"Latin","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eDer Kunde nennt Hugo Garcia\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":19,"end":30,"value":"Hugo Garcia","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Hugo Garcia"]},"customers":{"required_absent":["Hugo Garcia"],"required_present":[]},"all":{"required_absent":["Hugo Garcia"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-076","language":"de","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eÖffentliche Organisation Helios Network\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":29,"end":43,"value":"Helios Network","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Helios Network"]},"customers":{"required_absent":[],"required_present":["Helios Network"]},"all":{"required_absent":[],"required_present":["Helios Network"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-077","language":"de","script":"Latin","shape":"quoted-reply","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e Der Kunde nennt Hugo Holm","known_identities":[],"targets":[{"id":"person","kind":"person","start":18,"end":27,"value":"Hugo Holm","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Hugo Holm"]},"customers":{"required_absent":["Hugo Holm"],"required_present":[]},"all":{"required_absent":["Hugo Holm"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-077","language":"de","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e Öffentliche Organisation Helios Group","known_identities":[],"targets":[{"id":"person","kind":"person","start":28,"end":40,"value":"Helios Group","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Helios Group"]},"customers":{"required_absent":[],"required_present":["Helios Group"]},"all":{"required_absent":[],"required_present":["Helios Group"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-078","language":"de","script":"Latin","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=78 message=\"Der Kunde nennt \" value=Hugo Ibarra","known_identities":[],"targets":[{"id":"person","kind":"person","start":54,"end":65,"value":"Hugo Ibarra","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Hugo Ibarra"]},"customers":{"required_absent":["Hugo Ibarra"],"required_present":[]},"all":{"required_absent":["Hugo Ibarra"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-078","language":"de","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=78 message=\"Öffentliche Organisation \" value=Helios Project","known_identities":[],"targets":[{"id":"person","kind":"person","start":64,"end":78,"value":"Helios Project","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Helios Project"]},"customers":{"required_absent":[],"required_present":["Helios Project"]},"all":{"required_absent":[],"required_present":["Helios Project"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-079","language":"de","script":"Latin","shape":"stack-trace","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[79]: Der Kunde nennt Hugo Jensen","known_identities":[],"targets":[{"id":"person","kind":"person","start":27,"end":38,"value":"Hugo Jensen","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Hugo Jensen"]},"customers":{"required_absent":["Hugo Jensen"],"required_present":[]},"all":{"required_absent":["Hugo Jensen"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-079","language":"de","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[79]: Öffentliche Organisation Helios Press","known_identities":[],"targets":[{"id":"person","kind":"person","start":37,"end":49,"value":"Helios Press","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Helios Press"]},"customers":{"required_absent":[],"required_present":["Helios Press"]},"all":{"required_absent":[],"required_present":["Helios Press"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-080","language":"de","script":"Latin","shape":"code","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_80 := `Der Kunde nennt Ines Arden`","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":41,"value":"Ines Arden","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ines Arden"]},"customers":{"required_absent":["Ines Arden"],"required_present":[]},"all":{"required_absent":["Ines Arden"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-080","language":"de","script":"Latin","shape":"code","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_80 := `Öffentliche Organisation Ion Labs`","known_identities":[],"targets":[{"id":"person","kind":"person","start":41,"end":49,"value":"Ion Labs","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ion Labs"]},"customers":{"required_absent":[],"required_present":["Ion Labs"]},"all":{"required_absent":[],"required_present":["Ion Labs"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-081","language":"de","script":"Latin","shape":"signature","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--\nDer Kunde nennt Ines Borel","known_identities":[],"targets":[{"id":"person","kind":"person","start":19,"end":29,"value":"Ines Borel","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ines Borel"]},"customers":{"required_absent":["Ines Borel"],"required_present":[]},"all":{"required_absent":["Ines Borel"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-081","language":"de","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--\nÖffentliche Organisation Ion Works","known_identities":[],"targets":[{"id":"person","kind":"person","start":29,"end":38,"value":"Ion Works","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ion Works"]},"customers":{"required_absent":[],"required_present":["Ion Works"]},"all":{"required_absent":[],"required_present":["Ion Works"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-082","language":"de","script":"Latin","shape":"long-thread","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Der Kunde nennt Ines Costa","known_identities":[],"targets":[{"id":"person","kind":"person","start":496,"end":506,"value":"Ines Costa","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ines Costa"]},"customers":{"required_absent":["Ines Costa"],"required_present":[]},"all":{"required_absent":["Ines Costa"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-082","language":"de","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Öffentliche Organisation Ion Studio","known_identities":[],"targets":[{"id":"person","kind":"person","start":506,"end":516,"value":"Ion Studio","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ion Studio"]},"customers":{"required_absent":[],"required_present":["Ion Studio"]},"all":{"required_absent":[],"required_present":["Ion Studio"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-083","language":"de","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=83 --message=\"Der Kunde nennt \" --value=Ines Durand","known_identities":[],"targets":[{"id":"person","kind":"person","start":49,"end":60,"value":"Ines Durand","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ines Durand"]},"customers":{"required_absent":["Ines Durand"],"required_present":[]},"all":{"required_absent":["Ines Durand"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-083","language":"de","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=83 --message=\"Öffentliche Organisation \" --value=Ion Systems","known_identities":[],"targets":[{"id":"person","kind":"person","start":59,"end":70,"value":"Ion Systems","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ion Systems"]},"customers":{"required_absent":[],"required_present":["Ion Systems"]},"all":{"required_absent":[],"required_present":["Ion Systems"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-084","language":"de","script":"Latin","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Der Kunde nennt Ines Esteves","known_identities":[],"targets":[{"id":"person","kind":"person","start":16,"end":28,"value":"Ines Esteves","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ines Esteves"]},"customers":{"required_absent":["Ines Esteves"],"required_present":[]},"all":{"required_absent":["Ines Esteves"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-084","language":"de","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Öffentliche Organisation Ion Collective","known_identities":[],"targets":[{"id":"person","kind":"person","start":26,"end":40,"value":"Ion Collective","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ion Collective"]},"customers":{"required_absent":[],"required_present":["Ion Collective"]},"all":{"required_absent":[],"required_present":["Ion Collective"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-085","language":"de","script":"Latin","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_85\":\"Der Kunde nennt Ines Fischer\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":43,"value":"Ines Fischer","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ines Fischer"]},"customers":{"required_absent":["Ines Fischer"],"required_present":[]},"all":{"required_absent":["Ines Fischer"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-085","language":"de","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_85\":\"Öffentliche Organisation Ion Foundation\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":41,"end":55,"value":"Ion Foundation","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ion Foundation"]},"customers":{"required_absent":[],"required_present":["Ion Foundation"]},"all":{"required_absent":[],"required_present":["Ion Foundation"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-086","language":"de","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_86: Der Kunde nennt Ines Garcia","known_identities":[],"targets":[{"id":"person","kind":"person","start":28,"end":39,"value":"Ines Garcia","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ines Garcia"]},"customers":{"required_absent":["Ines Garcia"],"required_present":[]},"all":{"required_absent":["Ines Garcia"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-086","language":"de","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_86: Öffentliche Organisation Ion Network","known_identities":[],"targets":[{"id":"person","kind":"person","start":38,"end":49,"value":"Ion Network","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ion Network"]},"customers":{"required_absent":[],"required_present":["Ion Network"]},"all":{"required_absent":[],"required_present":["Ion Network"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-087","language":"de","script":"Latin","shape":"shell","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_87='Der Kunde nennt Ines Holm'","known_identities":[],"targets":[{"id":"person","kind":"person","start":28,"end":37,"value":"Ines Holm","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ines Holm"]},"customers":{"required_absent":["Ines Holm"],"required_present":[]},"all":{"required_absent":["Ines Holm"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-087","language":"de","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_87='Öffentliche Organisation Ion Group'","known_identities":[],"targets":[{"id":"person","kind":"person","start":38,"end":47,"value":"Ion Group","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ion Group"]},"customers":{"required_absent":[],"required_present":["Ion Group"]},"all":{"required_absent":[],"required_present":["Ion Group"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-088","language":"de","script":"Latin","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/88 ; Der Kunde nennt Ines Ibarra","known_identities":[],"targets":[{"id":"person","kind":"person","start":49,"end":60,"value":"Ines Ibarra","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ines Ibarra"]},"customers":{"required_absent":["Ines Ibarra"],"required_present":[]},"all":{"required_absent":["Ines Ibarra"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-088","language":"de","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/88 ; Öffentliche Organisation Ion Project","known_identities":[],"targets":[{"id":"person","kind":"person","start":59,"end":70,"value":"Ion Project","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ion Project"]},"customers":{"required_absent":[],"required_present":["Ion Project"]},"all":{"required_absent":[],"required_present":["Ion Project"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-089","language":"de","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"**Der Kunde nennt Ines Jensen**","known_identities":[],"targets":[{"id":"person","kind":"person","start":18,"end":29,"value":"Ines Jensen","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ines Jensen"]},"customers":{"required_absent":["Ines Jensen"],"required_present":[]},"all":{"required_absent":["Ines Jensen"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-089","language":"de","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"**Öffentliche Organisation Ion Press**","known_identities":[],"targets":[{"id":"person","kind":"person","start":28,"end":37,"value":"Ion Press","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ion Press"]},"customers":{"required_absent":[],"required_present":["Ion Press"]},"all":{"required_absent":[],"required_present":["Ion Press"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-090","language":"de","script":"Latin","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eDer Kunde nennt Jonas Arden\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":19,"end":30,"value":"Jonas Arden","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Jonas Arden"]},"customers":{"required_absent":["Jonas Arden"],"required_present":[]},"all":{"required_absent":["Jonas Arden"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-090","language":"de","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eÖffentliche Organisation Juniper Labs\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":29,"end":41,"value":"Juniper Labs","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Juniper Labs"]},"customers":{"required_absent":[],"required_present":["Juniper Labs"]},"all":{"required_absent":[],"required_present":["Juniper Labs"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-091","language":"de","script":"Latin","shape":"quoted-reply","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e Der Kunde nennt Jonas Borel","known_identities":[],"targets":[{"id":"person","kind":"person","start":18,"end":29,"value":"Jonas Borel","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Jonas Borel"]},"customers":{"required_absent":["Jonas Borel"],"required_present":[]},"all":{"required_absent":["Jonas Borel"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-091","language":"de","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e Öffentliche Organisation Juniper Works","known_identities":[],"targets":[{"id":"person","kind":"person","start":28,"end":41,"value":"Juniper Works","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Juniper Works"]},"customers":{"required_absent":[],"required_present":["Juniper Works"]},"all":{"required_absent":[],"required_present":["Juniper Works"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-092","language":"de","script":"Latin","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=92 message=\"Der Kunde nennt \" value=Jonas Costa","known_identities":[],"targets":[{"id":"person","kind":"person","start":54,"end":65,"value":"Jonas Costa","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Jonas Costa"]},"customers":{"required_absent":["Jonas Costa"],"required_present":[]},"all":{"required_absent":["Jonas Costa"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-092","language":"de","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=92 message=\"Öffentliche Organisation \" value=Juniper Studio","known_identities":[],"targets":[{"id":"person","kind":"person","start":64,"end":78,"value":"Juniper Studio","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Juniper Studio"]},"customers":{"required_absent":[],"required_present":["Juniper Studio"]},"all":{"required_absent":[],"required_present":["Juniper Studio"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-093","language":"de","script":"Latin","shape":"stack-trace","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[93]: Der Kunde nennt Jonas Durand","known_identities":[],"targets":[{"id":"person","kind":"person","start":27,"end":39,"value":"Jonas Durand","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Jonas Durand"]},"customers":{"required_absent":["Jonas Durand"],"required_present":[]},"all":{"required_absent":["Jonas Durand"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-093","language":"de","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[93]: Öffentliche Organisation Juniper Systems","known_identities":[],"targets":[{"id":"person","kind":"person","start":37,"end":52,"value":"Juniper Systems","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Juniper Systems"]},"customers":{"required_absent":[],"required_present":["Juniper Systems"]},"all":{"required_absent":[],"required_present":["Juniper Systems"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-094","language":"de","script":"Latin","shape":"code","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_94 := `Der Kunde nennt Jonas Esteves`","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":44,"value":"Jonas Esteves","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Jonas Esteves"]},"customers":{"required_absent":["Jonas Esteves"],"required_present":[]},"all":{"required_absent":["Jonas Esteves"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-094","language":"de","script":"Latin","shape":"code","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_94 := `Öffentliche Organisation Juniper Collective`","known_identities":[],"targets":[{"id":"person","kind":"person","start":41,"end":59,"value":"Juniper Collective","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Juniper Collective"]},"customers":{"required_absent":[],"required_present":["Juniper Collective"]},"all":{"required_absent":[],"required_present":["Juniper Collective"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-095","language":"de","script":"Latin","shape":"signature","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--\nDer Kunde nennt Jonas Fischer","known_identities":[],"targets":[{"id":"person","kind":"person","start":19,"end":32,"value":"Jonas Fischer","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Jonas Fischer"]},"customers":{"required_absent":["Jonas Fischer"],"required_present":[]},"all":{"required_absent":["Jonas Fischer"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-095","language":"de","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--\nÖffentliche Organisation Juniper Foundation","known_identities":[],"targets":[{"id":"person","kind":"person","start":29,"end":47,"value":"Juniper Foundation","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Juniper Foundation"]},"customers":{"required_absent":[],"required_present":["Juniper Foundation"]},"all":{"required_absent":[],"required_present":["Juniper Foundation"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-096","language":"de","script":"Latin","shape":"long-thread","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Der Kunde nennt Jonas Garcia","known_identities":[],"targets":[{"id":"person","kind":"person","start":496,"end":508,"value":"Jonas Garcia","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Jonas Garcia"]},"customers":{"required_absent":["Jonas Garcia"],"required_present":[]},"all":{"required_absent":["Jonas Garcia"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-096","language":"de","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Öffentliche Organisation Juniper Network","known_identities":[],"targets":[{"id":"person","kind":"person","start":506,"end":521,"value":"Juniper Network","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Juniper Network"]},"customers":{"required_absent":[],"required_present":["Juniper Network"]},"all":{"required_absent":[],"required_present":["Juniper Network"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-097","language":"de","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=97 --message=\"Der Kunde nennt \" --value=Jonas Holm","known_identities":[],"targets":[{"id":"person","kind":"person","start":49,"end":59,"value":"Jonas Holm","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Jonas Holm"]},"customers":{"required_absent":["Jonas Holm"],"required_present":[]},"all":{"required_absent":["Jonas Holm"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-097","language":"de","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=97 --message=\"Öffentliche Organisation \" --value=Juniper Group","known_identities":[],"targets":[{"id":"person","kind":"person","start":59,"end":72,"value":"Juniper Group","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Juniper Group"]},"customers":{"required_absent":[],"required_present":["Juniper Group"]},"all":{"required_absent":[],"required_present":["Juniper Group"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-098","language":"de","script":"Latin","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Der Kunde nennt Jonas Ibarra","known_identities":[],"targets":[{"id":"person","kind":"person","start":16,"end":28,"value":"Jonas Ibarra","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Jonas Ibarra"]},"customers":{"required_absent":["Jonas Ibarra"],"required_present":[]},"all":{"required_absent":["Jonas Ibarra"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-098","language":"de","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Öffentliche Organisation Juniper Project","known_identities":[],"targets":[{"id":"person","kind":"person","start":26,"end":41,"value":"Juniper Project","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Juniper Project"]},"customers":{"required_absent":[],"required_present":["Juniper Project"]},"all":{"required_absent":[],"required_present":["Juniper Project"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-099","language":"de","script":"Latin","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_99\":\"Der Kunde nennt Jonas Jensen\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":43,"value":"Jonas Jensen","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Jonas Jensen"]},"customers":{"required_absent":["Jonas Jensen"],"required_present":[]},"all":{"required_absent":["Jonas Jensen"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-099","language":"de","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_99\":\"Öffentliche Organisation Juniper Press\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":41,"end":54,"value":"Juniper Press","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Juniper Press"]},"customers":{"required_absent":[],"required_present":["Juniper Press"]},"all":{"required_absent":[],"required_present":["Juniper Press"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-000","language":"es","script":"Latin","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"El cliente menciona a Amina Arden","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":33,"value":"Amina Arden","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Amina Arden"]},"customers":{"required_absent":["Amina Arden"],"required_present":[]},"all":{"required_absent":["Amina Arden"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-000","language":"es","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Organización pública Atlas Labs","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":33,"value":"Atlas Labs","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Atlas Labs"]},"customers":{"required_absent":[],"required_present":["Atlas Labs"]},"all":{"required_absent":[],"required_present":["Atlas Labs"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-001","language":"es","script":"Latin","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_1\":\"El cliente menciona a Amina Borel\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":36,"end":47,"value":"Amina Borel","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Amina Borel"]},"customers":{"required_absent":["Amina Borel"],"required_present":[]},"all":{"required_absent":["Amina Borel"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-001","language":"es","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_1\":\"Organización pública Atlas Works\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":37,"end":48,"value":"Atlas Works","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Atlas Works"]},"customers":{"required_absent":[],"required_present":["Atlas Works"]},"all":{"required_absent":[],"required_present":["Atlas Works"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-002","language":"es","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_2: El cliente menciona a Amina Costa","known_identities":[],"targets":[{"id":"person","kind":"person","start":33,"end":44,"value":"Amina Costa","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Amina Costa"]},"customers":{"required_absent":["Amina Costa"],"required_present":[]},"all":{"required_absent":["Amina Costa"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-002","language":"es","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_2: Organización pública Atlas Studio","known_identities":[],"targets":[{"id":"person","kind":"person","start":34,"end":46,"value":"Atlas Studio","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Atlas Studio"]},"customers":{"required_absent":[],"required_present":["Atlas Studio"]},"all":{"required_absent":[],"required_present":["Atlas Studio"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-003","language":"es","script":"Latin","shape":"shell","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_3='El cliente menciona a Amina Durand'","known_identities":[],"targets":[{"id":"person","kind":"person","start":33,"end":45,"value":"Amina Durand","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Amina Durand"]},"customers":{"required_absent":["Amina Durand"],"required_present":[]},"all":{"required_absent":["Amina Durand"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-003","language":"es","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_3='Organización pública Atlas Systems'","known_identities":[],"targets":[{"id":"person","kind":"person","start":34,"end":47,"value":"Atlas Systems","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Atlas Systems"]},"customers":{"required_absent":[],"required_present":["Atlas Systems"]},"all":{"required_absent":[],"required_present":["Atlas Systems"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-004","language":"es","script":"Latin","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/4 ; El cliente menciona a Amina Esteves","known_identities":[],"targets":[{"id":"person","kind":"person","start":54,"end":67,"value":"Amina Esteves","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Amina Esteves"]},"customers":{"required_absent":["Amina Esteves"],"required_present":[]},"all":{"required_absent":["Amina Esteves"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-004","language":"es","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/4 ; Organización pública Atlas Collective","known_identities":[],"targets":[{"id":"person","kind":"person","start":55,"end":71,"value":"Atlas Collective","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Atlas Collective"]},"customers":{"required_absent":[],"required_present":["Atlas Collective"]},"all":{"required_absent":[],"required_present":["Atlas Collective"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-005","language":"es","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"**El cliente menciona a Amina Fischer**","known_identities":[],"targets":[{"id":"person","kind":"person","start":24,"end":37,"value":"Amina Fischer","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Amina Fischer"]},"customers":{"required_absent":["Amina Fischer"],"required_present":[]},"all":{"required_absent":["Amina Fischer"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-005","language":"es","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"**Organización pública Atlas Foundation**","known_identities":[],"targets":[{"id":"person","kind":"person","start":25,"end":41,"value":"Atlas Foundation","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Atlas Foundation"]},"customers":{"required_absent":[],"required_present":["Atlas Foundation"]},"all":{"required_absent":[],"required_present":["Atlas Foundation"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-006","language":"es","script":"Latin","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eEl cliente menciona a Amina Garcia\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":25,"end":37,"value":"Amina Garcia","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Amina Garcia"]},"customers":{"required_absent":["Amina Garcia"],"required_present":[]},"all":{"required_absent":["Amina Garcia"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-006","language":"es","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eOrganización pública Atlas Network\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":26,"end":39,"value":"Atlas Network","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Atlas Network"]},"customers":{"required_absent":[],"required_present":["Atlas Network"]},"all":{"required_absent":[],"required_present":["Atlas Network"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-007","language":"es","script":"Latin","shape":"quoted-reply","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e El cliente menciona a Amina Holm","known_identities":[],"targets":[{"id":"person","kind":"person","start":24,"end":34,"value":"Amina Holm","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Amina Holm"]},"customers":{"required_absent":["Amina Holm"],"required_present":[]},"all":{"required_absent":["Amina Holm"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-007","language":"es","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e Organización pública Atlas Group","known_identities":[],"targets":[{"id":"person","kind":"person","start":25,"end":36,"value":"Atlas Group","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Atlas Group"]},"customers":{"required_absent":[],"required_present":["Atlas Group"]},"all":{"required_absent":[],"required_present":["Atlas Group"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-008","language":"es","script":"Latin","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=8 message=\"El cliente menciona a \" value=Amina Ibarra","known_identities":[],"targets":[{"id":"person","kind":"person","start":59,"end":71,"value":"Amina Ibarra","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Amina Ibarra"]},"customers":{"required_absent":["Amina Ibarra"],"required_present":[]},"all":{"required_absent":["Amina Ibarra"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-008","language":"es","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=8 message=\"Organización pública \" value=Atlas Project","known_identities":[],"targets":[{"id":"person","kind":"person","start":60,"end":73,"value":"Atlas Project","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Atlas Project"]},"customers":{"required_absent":[],"required_present":["Atlas Project"]},"all":{"required_absent":[],"required_present":["Atlas Project"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-009","language":"es","script":"Latin","shape":"stack-trace","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[9]: El cliente menciona a Amina Jensen","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":44,"value":"Amina Jensen","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Amina Jensen"]},"customers":{"required_absent":["Amina Jensen"],"required_present":[]},"all":{"required_absent":["Amina Jensen"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-009","language":"es","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[9]: Organización pública Atlas Press","known_identities":[],"targets":[{"id":"person","kind":"person","start":33,"end":44,"value":"Atlas Press","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Atlas Press"]},"customers":{"required_absent":[],"required_present":["Atlas Press"]},"all":{"required_absent":[],"required_present":["Atlas Press"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-010","language":"es","script":"Latin","shape":"code","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_10 := `El cliente menciona a Bruno Arden`","known_identities":[],"targets":[{"id":"person","kind":"person","start":37,"end":48,"value":"Bruno Arden","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bruno Arden"]},"customers":{"required_absent":["Bruno Arden"],"required_present":[]},"all":{"required_absent":["Bruno Arden"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-010","language":"es","script":"Latin","shape":"code","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_10 := `Organización pública Boreal Labs`","known_identities":[],"targets":[{"id":"person","kind":"person","start":38,"end":49,"value":"Boreal Labs","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Boreal Labs"]},"customers":{"required_absent":[],"required_present":["Boreal Labs"]},"all":{"required_absent":[],"required_present":["Boreal Labs"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-011","language":"es","script":"Latin","shape":"signature","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--\nEl cliente menciona a Bruno Borel","known_identities":[],"targets":[{"id":"person","kind":"person","start":25,"end":36,"value":"Bruno Borel","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bruno Borel"]},"customers":{"required_absent":["Bruno Borel"],"required_present":[]},"all":{"required_absent":["Bruno Borel"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-011","language":"es","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--\nOrganización pública Boreal Works","known_identities":[],"targets":[{"id":"person","kind":"person","start":26,"end":38,"value":"Boreal Works","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Boreal Works"]},"customers":{"required_absent":[],"required_present":["Boreal Works"]},"all":{"required_absent":[],"required_present":["Boreal Works"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-012","language":"es","script":"Latin","shape":"long-thread","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. El cliente menciona a Bruno Costa","known_identities":[],"targets":[{"id":"person","kind":"person","start":502,"end":513,"value":"Bruno Costa","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bruno Costa"]},"customers":{"required_absent":["Bruno Costa"],"required_present":[]},"all":{"required_absent":["Bruno Costa"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-012","language":"es","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Organización pública Boreal Studio","known_identities":[],"targets":[{"id":"person","kind":"person","start":503,"end":516,"value":"Boreal Studio","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Boreal Studio"]},"customers":{"required_absent":[],"required_present":["Boreal Studio"]},"all":{"required_absent":[],"required_present":["Boreal Studio"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-013","language":"es","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=13 --message=\"El cliente menciona a \" --value=Bruno Durand","known_identities":[],"targets":[{"id":"person","kind":"person","start":55,"end":67,"value":"Bruno Durand","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bruno Durand"]},"customers":{"required_absent":["Bruno Durand"],"required_present":[]},"all":{"required_absent":["Bruno Durand"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-013","language":"es","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=13 --message=\"Organización pública \" --value=Boreal Systems","known_identities":[],"targets":[{"id":"person","kind":"person","start":56,"end":70,"value":"Boreal Systems","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Boreal Systems"]},"customers":{"required_absent":[],"required_present":["Boreal Systems"]},"all":{"required_absent":[],"required_present":["Boreal Systems"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-014","language":"es","script":"Latin","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"El cliente menciona a Bruno Esteves","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":35,"value":"Bruno Esteves","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bruno Esteves"]},"customers":{"required_absent":["Bruno Esteves"],"required_present":[]},"all":{"required_absent":["Bruno Esteves"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-014","language":"es","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Organización pública Boreal Collective","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":40,"value":"Boreal Collective","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Boreal Collective"]},"customers":{"required_absent":[],"required_present":["Boreal Collective"]},"all":{"required_absent":[],"required_present":["Boreal Collective"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-015","language":"es","script":"Latin","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_15\":\"El cliente menciona a Bruno Fischer\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":37,"end":50,"value":"Bruno Fischer","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bruno Fischer"]},"customers":{"required_absent":["Bruno Fischer"],"required_present":[]},"all":{"required_absent":["Bruno Fischer"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-015","language":"es","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_15\":\"Organización pública Boreal Foundation\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":38,"end":55,"value":"Boreal Foundation","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Boreal Foundation"]},"customers":{"required_absent":[],"required_present":["Boreal Foundation"]},"all":{"required_absent":[],"required_present":["Boreal Foundation"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-016","language":"es","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_16: El cliente menciona a Bruno Garcia","known_identities":[],"targets":[{"id":"person","kind":"person","start":34,"end":46,"value":"Bruno Garcia","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bruno Garcia"]},"customers":{"required_absent":["Bruno Garcia"],"required_present":[]},"all":{"required_absent":["Bruno Garcia"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-016","language":"es","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_16: Organización pública Boreal Network","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":49,"value":"Boreal Network","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Boreal Network"]},"customers":{"required_absent":[],"required_present":["Boreal Network"]},"all":{"required_absent":[],"required_present":["Boreal Network"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-017","language":"es","script":"Latin","shape":"shell","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_17='El cliente menciona a Bruno Holm'","known_identities":[],"targets":[{"id":"person","kind":"person","start":34,"end":44,"value":"Bruno Holm","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bruno Holm"]},"customers":{"required_absent":["Bruno Holm"],"required_present":[]},"all":{"required_absent":["Bruno Holm"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-017","language":"es","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_17='Organización pública Boreal Group'","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":47,"value":"Boreal Group","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Boreal Group"]},"customers":{"required_absent":[],"required_present":["Boreal Group"]},"all":{"required_absent":[],"required_present":["Boreal Group"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-018","language":"es","script":"Latin","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/18 ; El cliente menciona a Bruno Ibarra","known_identities":[],"targets":[{"id":"person","kind":"person","start":55,"end":67,"value":"Bruno Ibarra","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bruno Ibarra"]},"customers":{"required_absent":["Bruno Ibarra"],"required_present":[]},"all":{"required_absent":["Bruno Ibarra"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-018","language":"es","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/18 ; Organización pública Boreal Project","known_identities":[],"targets":[{"id":"person","kind":"person","start":56,"end":70,"value":"Boreal Project","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Boreal Project"]},"customers":{"required_absent":[],"required_present":["Boreal Project"]},"all":{"required_absent":[],"required_present":["Boreal Project"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-019","language":"es","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"**El cliente menciona a Bruno Jensen**","known_identities":[],"targets":[{"id":"person","kind":"person","start":24,"end":36,"value":"Bruno Jensen","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bruno Jensen"]},"customers":{"required_absent":["Bruno Jensen"],"required_present":[]},"all":{"required_absent":["Bruno Jensen"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-019","language":"es","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"**Organización pública Boreal Press**","known_identities":[],"targets":[{"id":"person","kind":"person","start":25,"end":37,"value":"Boreal Press","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Boreal Press"]},"customers":{"required_absent":[],"required_present":["Boreal Press"]},"all":{"required_absent":[],"required_present":["Boreal Press"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-020","language":"es","script":"Latin","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eEl cliente menciona a Clara Arden\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":25,"end":36,"value":"Clara Arden","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Clara Arden"]},"customers":{"required_absent":["Clara Arden"],"required_present":[]},"all":{"required_absent":["Clara Arden"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-020","language":"es","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eOrganización pública Cedar Labs\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":26,"end":36,"value":"Cedar Labs","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Cedar Labs"]},"customers":{"required_absent":[],"required_present":["Cedar Labs"]},"all":{"required_absent":[],"required_present":["Cedar Labs"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-021","language":"es","script":"Latin","shape":"quoted-reply","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e El cliente menciona a Clara Borel","known_identities":[],"targets":[{"id":"person","kind":"person","start":24,"end":35,"value":"Clara Borel","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Clara Borel"]},"customers":{"required_absent":["Clara Borel"],"required_present":[]},"all":{"required_absent":["Clara Borel"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-021","language":"es","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e Organización pública Cedar Works","known_identities":[],"targets":[{"id":"person","kind":"person","start":25,"end":36,"value":"Cedar Works","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Cedar Works"]},"customers":{"required_absent":[],"required_present":["Cedar Works"]},"all":{"required_absent":[],"required_present":["Cedar Works"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-022","language":"es","script":"Latin","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=22 message=\"El cliente menciona a \" value=Clara Costa","known_identities":[],"targets":[{"id":"person","kind":"person","start":60,"end":71,"value":"Clara Costa","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Clara Costa"]},"customers":{"required_absent":["Clara Costa"],"required_present":[]},"all":{"required_absent":["Clara Costa"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-022","language":"es","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=22 message=\"Organización pública \" value=Cedar Studio","known_identities":[],"targets":[{"id":"person","kind":"person","start":61,"end":73,"value":"Cedar Studio","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Cedar Studio"]},"customers":{"required_absent":[],"required_present":["Cedar Studio"]},"all":{"required_absent":[],"required_present":["Cedar Studio"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-023","language":"es","script":"Latin","shape":"stack-trace","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[23]: El cliente menciona a Clara Durand","known_identities":[],"targets":[{"id":"person","kind":"person","start":33,"end":45,"value":"Clara Durand","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Clara Durand"]},"customers":{"required_absent":["Clara Durand"],"required_present":[]},"all":{"required_absent":["Clara Durand"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-023","language":"es","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[23]: Organización pública Cedar Systems","known_identities":[],"targets":[{"id":"person","kind":"person","start":34,"end":47,"value":"Cedar Systems","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Cedar Systems"]},"customers":{"required_absent":[],"required_present":["Cedar Systems"]},"all":{"required_absent":[],"required_present":["Cedar Systems"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-024","language":"es","script":"Latin","shape":"code","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_24 := `El cliente menciona a Clara Esteves`","known_identities":[],"targets":[{"id":"person","kind":"person","start":37,"end":50,"value":"Clara Esteves","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Clara Esteves"]},"customers":{"required_absent":["Clara Esteves"],"required_present":[]},"all":{"required_absent":["Clara Esteves"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-024","language":"es","script":"Latin","shape":"code","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_24 := `Organización pública Cedar Collective`","known_identities":[],"targets":[{"id":"person","kind":"person","start":38,"end":54,"value":"Cedar Collective","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Cedar Collective"]},"customers":{"required_absent":[],"required_present":["Cedar Collective"]},"all":{"required_absent":[],"required_present":["Cedar Collective"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-025","language":"es","script":"Latin","shape":"signature","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--\nEl cliente menciona a Clara Fischer","known_identities":[],"targets":[{"id":"person","kind":"person","start":25,"end":38,"value":"Clara Fischer","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Clara Fischer"]},"customers":{"required_absent":["Clara Fischer"],"required_present":[]},"all":{"required_absent":["Clara Fischer"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-025","language":"es","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--\nOrganización pública Cedar Foundation","known_identities":[],"targets":[{"id":"person","kind":"person","start":26,"end":42,"value":"Cedar Foundation","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Cedar Foundation"]},"customers":{"required_absent":[],"required_present":["Cedar Foundation"]},"all":{"required_absent":[],"required_present":["Cedar Foundation"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-026","language":"es","script":"Latin","shape":"long-thread","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. El cliente menciona a Clara Garcia","known_identities":[],"targets":[{"id":"person","kind":"person","start":502,"end":514,"value":"Clara Garcia","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Clara Garcia"]},"customers":{"required_absent":["Clara Garcia"],"required_present":[]},"all":{"required_absent":["Clara Garcia"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-026","language":"es","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Organización pública Cedar Network","known_identities":[],"targets":[{"id":"person","kind":"person","start":503,"end":516,"value":"Cedar Network","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Cedar Network"]},"customers":{"required_absent":[],"required_present":["Cedar Network"]},"all":{"required_absent":[],"required_present":["Cedar Network"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-027","language":"es","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=27 --message=\"El cliente menciona a \" --value=Clara Holm","known_identities":[],"targets":[{"id":"person","kind":"person","start":55,"end":65,"value":"Clara Holm","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Clara Holm"]},"customers":{"required_absent":["Clara Holm"],"required_present":[]},"all":{"required_absent":["Clara Holm"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-027","language":"es","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=27 --message=\"Organización pública \" --value=Cedar Group","known_identities":[],"targets":[{"id":"person","kind":"person","start":56,"end":67,"value":"Cedar Group","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Cedar Group"]},"customers":{"required_absent":[],"required_present":["Cedar Group"]},"all":{"required_absent":[],"required_present":["Cedar Group"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-028","language":"es","script":"Latin","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"El cliente menciona a Clara Ibarra","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":34,"value":"Clara Ibarra","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Clara Ibarra"]},"customers":{"required_absent":["Clara Ibarra"],"required_present":[]},"all":{"required_absent":["Clara Ibarra"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-028","language":"es","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Organización pública Cedar Project","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":36,"value":"Cedar Project","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Cedar Project"]},"customers":{"required_absent":[],"required_present":["Cedar Project"]},"all":{"required_absent":[],"required_present":["Cedar Project"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-029","language":"es","script":"Latin","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_29\":\"El cliente menciona a Clara Jensen\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":37,"end":49,"value":"Clara Jensen","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Clara Jensen"]},"customers":{"required_absent":["Clara Jensen"],"required_present":[]},"all":{"required_absent":["Clara Jensen"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-029","language":"es","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_29\":\"Organización pública Cedar Press\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":38,"end":49,"value":"Cedar Press","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Cedar Press"]},"customers":{"required_absent":[],"required_present":["Cedar Press"]},"all":{"required_absent":[],"required_present":["Cedar Press"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-030","language":"es","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_30: El cliente menciona a Diego Arden","known_identities":[],"targets":[{"id":"person","kind":"person","start":34,"end":45,"value":"Diego Arden","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Diego Arden"]},"customers":{"required_absent":["Diego Arden"],"required_present":[]},"all":{"required_absent":["Diego Arden"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-030","language":"es","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_30: Organización pública Delta Labs","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":45,"value":"Delta Labs","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Delta Labs"]},"customers":{"required_absent":[],"required_present":["Delta Labs"]},"all":{"required_absent":[],"required_present":["Delta Labs"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-031","language":"es","script":"Latin","shape":"shell","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_31='El cliente menciona a Diego Borel'","known_identities":[],"targets":[{"id":"person","kind":"person","start":34,"end":45,"value":"Diego Borel","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Diego Borel"]},"customers":{"required_absent":["Diego Borel"],"required_present":[]},"all":{"required_absent":["Diego Borel"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-031","language":"es","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_31='Organización pública Delta Works'","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":46,"value":"Delta Works","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Delta Works"]},"customers":{"required_absent":[],"required_present":["Delta Works"]},"all":{"required_absent":[],"required_present":["Delta Works"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-032","language":"es","script":"Latin","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/32 ; El cliente menciona a Diego Costa","known_identities":[],"targets":[{"id":"person","kind":"person","start":55,"end":66,"value":"Diego Costa","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Diego Costa"]},"customers":{"required_absent":["Diego Costa"],"required_present":[]},"all":{"required_absent":["Diego Costa"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-032","language":"es","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/32 ; Organización pública Delta Studio","known_identities":[],"targets":[{"id":"person","kind":"person","start":56,"end":68,"value":"Delta Studio","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Delta Studio"]},"customers":{"required_absent":[],"required_present":["Delta Studio"]},"all":{"required_absent":[],"required_present":["Delta Studio"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-033","language":"es","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"**El cliente menciona a Diego Durand**","known_identities":[],"targets":[{"id":"person","kind":"person","start":24,"end":36,"value":"Diego Durand","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Diego Durand"]},"customers":{"required_absent":["Diego Durand"],"required_present":[]},"all":{"required_absent":["Diego Durand"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-033","language":"es","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"**Organización pública Delta Systems**","known_identities":[],"targets":[{"id":"person","kind":"person","start":25,"end":38,"value":"Delta Systems","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Delta Systems"]},"customers":{"required_absent":[],"required_present":["Delta Systems"]},"all":{"required_absent":[],"required_present":["Delta Systems"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-034","language":"es","script":"Latin","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eEl cliente menciona a Diego Esteves\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":25,"end":38,"value":"Diego Esteves","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Diego Esteves"]},"customers":{"required_absent":["Diego Esteves"],"required_present":[]},"all":{"required_absent":["Diego Esteves"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-034","language":"es","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eOrganización pública Delta Collective\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":26,"end":42,"value":"Delta Collective","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Delta Collective"]},"customers":{"required_absent":[],"required_present":["Delta Collective"]},"all":{"required_absent":[],"required_present":["Delta Collective"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-035","language":"es","script":"Latin","shape":"quoted-reply","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e El cliente menciona a Diego Fischer","known_identities":[],"targets":[{"id":"person","kind":"person","start":24,"end":37,"value":"Diego Fischer","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Diego Fischer"]},"customers":{"required_absent":["Diego Fischer"],"required_present":[]},"all":{"required_absent":["Diego Fischer"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-035","language":"es","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e Organización pública Delta Foundation","known_identities":[],"targets":[{"id":"person","kind":"person","start":25,"end":41,"value":"Delta Foundation","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Delta Foundation"]},"customers":{"required_absent":[],"required_present":["Delta Foundation"]},"all":{"required_absent":[],"required_present":["Delta Foundation"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-036","language":"es","script":"Latin","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=36 message=\"El cliente menciona a \" value=Diego Garcia","known_identities":[],"targets":[{"id":"person","kind":"person","start":60,"end":72,"value":"Diego Garcia","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Diego Garcia"]},"customers":{"required_absent":["Diego Garcia"],"required_present":[]},"all":{"required_absent":["Diego Garcia"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-036","language":"es","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=36 message=\"Organización pública \" value=Delta Network","known_identities":[],"targets":[{"id":"person","kind":"person","start":61,"end":74,"value":"Delta Network","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Delta Network"]},"customers":{"required_absent":[],"required_present":["Delta Network"]},"all":{"required_absent":[],"required_present":["Delta Network"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-037","language":"es","script":"Latin","shape":"stack-trace","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[37]: El cliente menciona a Diego Holm","known_identities":[],"targets":[{"id":"person","kind":"person","start":33,"end":43,"value":"Diego Holm","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Diego Holm"]},"customers":{"required_absent":["Diego Holm"],"required_present":[]},"all":{"required_absent":["Diego Holm"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-037","language":"es","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[37]: Organización pública Delta Group","known_identities":[],"targets":[{"id":"person","kind":"person","start":34,"end":45,"value":"Delta Group","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Delta Group"]},"customers":{"required_absent":[],"required_present":["Delta Group"]},"all":{"required_absent":[],"required_present":["Delta Group"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-038","language":"es","script":"Latin","shape":"code","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_38 := `El cliente menciona a Diego Ibarra`","known_identities":[],"targets":[{"id":"person","kind":"person","start":37,"end":49,"value":"Diego Ibarra","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Diego Ibarra"]},"customers":{"required_absent":["Diego Ibarra"],"required_present":[]},"all":{"required_absent":["Diego Ibarra"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-038","language":"es","script":"Latin","shape":"code","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_38 := `Organización pública Delta Project`","known_identities":[],"targets":[{"id":"person","kind":"person","start":38,"end":51,"value":"Delta Project","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Delta Project"]},"customers":{"required_absent":[],"required_present":["Delta Project"]},"all":{"required_absent":[],"required_present":["Delta Project"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-039","language":"es","script":"Latin","shape":"signature","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--\nEl cliente menciona a Diego Jensen","known_identities":[],"targets":[{"id":"person","kind":"person","start":25,"end":37,"value":"Diego Jensen","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Diego Jensen"]},"customers":{"required_absent":["Diego Jensen"],"required_present":[]},"all":{"required_absent":["Diego Jensen"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-039","language":"es","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--\nOrganización pública Delta Press","known_identities":[],"targets":[{"id":"person","kind":"person","start":26,"end":37,"value":"Delta Press","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Delta Press"]},"customers":{"required_absent":[],"required_present":["Delta Press"]},"all":{"required_absent":[],"required_present":["Delta Press"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-040","language":"es","script":"Latin","shape":"long-thread","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. El cliente menciona a Elena Arden","known_identities":[],"targets":[{"id":"person","kind":"person","start":502,"end":513,"value":"Elena Arden","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Elena Arden"]},"customers":{"required_absent":["Elena Arden"],"required_present":[]},"all":{"required_absent":["Elena Arden"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-040","language":"es","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Organización pública Ember Labs","known_identities":[],"targets":[{"id":"person","kind":"person","start":503,"end":513,"value":"Ember Labs","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ember Labs"]},"customers":{"required_absent":[],"required_present":["Ember Labs"]},"all":{"required_absent":[],"required_present":["Ember Labs"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-041","language":"es","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=41 --message=\"El cliente menciona a \" --value=Elena Borel","known_identities":[],"targets":[{"id":"person","kind":"person","start":55,"end":66,"value":"Elena Borel","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Elena Borel"]},"customers":{"required_absent":["Elena Borel"],"required_present":[]},"all":{"required_absent":["Elena Borel"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-041","language":"es","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=41 --message=\"Organización pública \" --value=Ember Works","known_identities":[],"targets":[{"id":"person","kind":"person","start":56,"end":67,"value":"Ember Works","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ember Works"]},"customers":{"required_absent":[],"required_present":["Ember Works"]},"all":{"required_absent":[],"required_present":["Ember Works"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-042","language":"es","script":"Latin","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"El cliente menciona a Elena Costa","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":33,"value":"Elena Costa","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Elena Costa"]},"customers":{"required_absent":["Elena Costa"],"required_present":[]},"all":{"required_absent":["Elena Costa"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-042","language":"es","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Organización pública Ember Studio","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":35,"value":"Ember Studio","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ember Studio"]},"customers":{"required_absent":[],"required_present":["Ember Studio"]},"all":{"required_absent":[],"required_present":["Ember Studio"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-043","language":"es","script":"Latin","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_43\":\"El cliente menciona a Elena Durand\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":37,"end":49,"value":"Elena Durand","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Elena Durand"]},"customers":{"required_absent":["Elena Durand"],"required_present":[]},"all":{"required_absent":["Elena Durand"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-043","language":"es","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_43\":\"Organización pública Ember Systems\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":38,"end":51,"value":"Ember Systems","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ember Systems"]},"customers":{"required_absent":[],"required_present":["Ember Systems"]},"all":{"required_absent":[],"required_present":["Ember Systems"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-044","language":"es","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_44: El cliente menciona a Elena Esteves","known_identities":[],"targets":[{"id":"person","kind":"person","start":34,"end":47,"value":"Elena Esteves","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Elena Esteves"]},"customers":{"required_absent":["Elena Esteves"],"required_present":[]},"all":{"required_absent":["Elena Esteves"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-044","language":"es","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_44: Organización pública Ember Collective","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":51,"value":"Ember Collective","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ember Collective"]},"customers":{"required_absent":[],"required_present":["Ember Collective"]},"all":{"required_absent":[],"required_present":["Ember Collective"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-045","language":"es","script":"Latin","shape":"shell","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_45='El cliente menciona a Elena Fischer'","known_identities":[],"targets":[{"id":"person","kind":"person","start":34,"end":47,"value":"Elena Fischer","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Elena Fischer"]},"customers":{"required_absent":["Elena Fischer"],"required_present":[]},"all":{"required_absent":["Elena Fischer"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-045","language":"es","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_45='Organización pública Ember Foundation'","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":51,"value":"Ember Foundation","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ember Foundation"]},"customers":{"required_absent":[],"required_present":["Ember Foundation"]},"all":{"required_absent":[],"required_present":["Ember Foundation"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-046","language":"es","script":"Latin","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/46 ; El cliente menciona a Elena Garcia","known_identities":[],"targets":[{"id":"person","kind":"person","start":55,"end":67,"value":"Elena Garcia","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Elena Garcia"]},"customers":{"required_absent":["Elena Garcia"],"required_present":[]},"all":{"required_absent":["Elena Garcia"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-046","language":"es","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/46 ; Organización pública Ember Network","known_identities":[],"targets":[{"id":"person","kind":"person","start":56,"end":69,"value":"Ember Network","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ember Network"]},"customers":{"required_absent":[],"required_present":["Ember Network"]},"all":{"required_absent":[],"required_present":["Ember Network"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-047","language":"es","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"**El cliente menciona a Elena Holm**","known_identities":[],"targets":[{"id":"person","kind":"person","start":24,"end":34,"value":"Elena Holm","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Elena Holm"]},"customers":{"required_absent":["Elena Holm"],"required_present":[]},"all":{"required_absent":["Elena Holm"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-047","language":"es","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"**Organización pública Ember Group**","known_identities":[],"targets":[{"id":"person","kind":"person","start":25,"end":36,"value":"Ember Group","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ember Group"]},"customers":{"required_absent":[],"required_present":["Ember Group"]},"all":{"required_absent":[],"required_present":["Ember Group"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-048","language":"es","script":"Latin","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eEl cliente menciona a Elena Ibarra\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":25,"end":37,"value":"Elena Ibarra","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Elena Ibarra"]},"customers":{"required_absent":["Elena Ibarra"],"required_present":[]},"all":{"required_absent":["Elena Ibarra"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-048","language":"es","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eOrganización pública Ember Project\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":26,"end":39,"value":"Ember Project","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ember Project"]},"customers":{"required_absent":[],"required_present":["Ember Project"]},"all":{"required_absent":[],"required_present":["Ember Project"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-049","language":"es","script":"Latin","shape":"quoted-reply","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e El cliente menciona a Elena Jensen","known_identities":[],"targets":[{"id":"person","kind":"person","start":24,"end":36,"value":"Elena Jensen","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Elena Jensen"]},"customers":{"required_absent":["Elena Jensen"],"required_present":[]},"all":{"required_absent":["Elena Jensen"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-049","language":"es","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e Organización pública Ember Press","known_identities":[],"targets":[{"id":"person","kind":"person","start":25,"end":36,"value":"Ember Press","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ember Press"]},"customers":{"required_absent":[],"required_present":["Ember Press"]},"all":{"required_absent":[],"required_present":["Ember Press"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-050","language":"es","script":"Latin","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=50 message=\"El cliente menciona a \" value=Farid Arden","known_identities":[],"targets":[{"id":"person","kind":"person","start":60,"end":71,"value":"Farid Arden","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Farid Arden"]},"customers":{"required_absent":["Farid Arden"],"required_present":[]},"all":{"required_absent":["Farid Arden"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-050","language":"es","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=50 message=\"Organización pública \" value=Flora Labs","known_identities":[],"targets":[{"id":"person","kind":"person","start":61,"end":71,"value":"Flora Labs","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Flora Labs"]},"customers":{"required_absent":[],"required_present":["Flora Labs"]},"all":{"required_absent":[],"required_present":["Flora Labs"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-051","language":"es","script":"Latin","shape":"stack-trace","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[51]: El cliente menciona a Farid Borel","known_identities":[],"targets":[{"id":"person","kind":"person","start":33,"end":44,"value":"Farid Borel","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Farid Borel"]},"customers":{"required_absent":["Farid Borel"],"required_present":[]},"all":{"required_absent":["Farid Borel"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-051","language":"es","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[51]: Organización pública Flora Works","known_identities":[],"targets":[{"id":"person","kind":"person","start":34,"end":45,"value":"Flora Works","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Flora Works"]},"customers":{"required_absent":[],"required_present":["Flora Works"]},"all":{"required_absent":[],"required_present":["Flora Works"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-052","language":"es","script":"Latin","shape":"code","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_52 := `El cliente menciona a Farid Costa`","known_identities":[],"targets":[{"id":"person","kind":"person","start":37,"end":48,"value":"Farid Costa","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Farid Costa"]},"customers":{"required_absent":["Farid Costa"],"required_present":[]},"all":{"required_absent":["Farid Costa"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-052","language":"es","script":"Latin","shape":"code","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_52 := `Organización pública Flora Studio`","known_identities":[],"targets":[{"id":"person","kind":"person","start":38,"end":50,"value":"Flora Studio","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Flora Studio"]},"customers":{"required_absent":[],"required_present":["Flora Studio"]},"all":{"required_absent":[],"required_present":["Flora Studio"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-053","language":"es","script":"Latin","shape":"signature","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--\nEl cliente menciona a Farid Durand","known_identities":[],"targets":[{"id":"person","kind":"person","start":25,"end":37,"value":"Farid Durand","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Farid Durand"]},"customers":{"required_absent":["Farid Durand"],"required_present":[]},"all":{"required_absent":["Farid Durand"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-053","language":"es","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--\nOrganización pública Flora Systems","known_identities":[],"targets":[{"id":"person","kind":"person","start":26,"end":39,"value":"Flora Systems","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Flora Systems"]},"customers":{"required_absent":[],"required_present":["Flora Systems"]},"all":{"required_absent":[],"required_present":["Flora Systems"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-054","language":"es","script":"Latin","shape":"long-thread","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. El cliente menciona a Farid Esteves","known_identities":[],"targets":[{"id":"person","kind":"person","start":502,"end":515,"value":"Farid Esteves","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Farid Esteves"]},"customers":{"required_absent":["Farid Esteves"],"required_present":[]},"all":{"required_absent":["Farid Esteves"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-054","language":"es","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Organización pública Flora Collective","known_identities":[],"targets":[{"id":"person","kind":"person","start":503,"end":519,"value":"Flora Collective","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Flora Collective"]},"customers":{"required_absent":[],"required_present":["Flora Collective"]},"all":{"required_absent":[],"required_present":["Flora Collective"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-055","language":"es","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=55 --message=\"El cliente menciona a \" --value=Farid Fischer","known_identities":[],"targets":[{"id":"person","kind":"person","start":55,"end":68,"value":"Farid Fischer","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Farid Fischer"]},"customers":{"required_absent":["Farid Fischer"],"required_present":[]},"all":{"required_absent":["Farid Fischer"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-055","language":"es","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=55 --message=\"Organización pública \" --value=Flora Foundation","known_identities":[],"targets":[{"id":"person","kind":"person","start":56,"end":72,"value":"Flora Foundation","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Flora Foundation"]},"customers":{"required_absent":[],"required_present":["Flora Foundation"]},"all":{"required_absent":[],"required_present":["Flora Foundation"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-056","language":"es","script":"Latin","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"El cliente menciona a Farid Garcia","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":34,"value":"Farid Garcia","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Farid Garcia"]},"customers":{"required_absent":["Farid Garcia"],"required_present":[]},"all":{"required_absent":["Farid Garcia"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-056","language":"es","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Organización pública Flora Network","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":36,"value":"Flora Network","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Flora Network"]},"customers":{"required_absent":[],"required_present":["Flora Network"]},"all":{"required_absent":[],"required_present":["Flora Network"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-057","language":"es","script":"Latin","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_57\":\"El cliente menciona a Farid Holm\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":37,"end":47,"value":"Farid Holm","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Farid Holm"]},"customers":{"required_absent":["Farid Holm"],"required_present":[]},"all":{"required_absent":["Farid Holm"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-057","language":"es","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_57\":\"Organización pública Flora Group\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":38,"end":49,"value":"Flora Group","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Flora Group"]},"customers":{"required_absent":[],"required_present":["Flora Group"]},"all":{"required_absent":[],"required_present":["Flora Group"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-058","language":"es","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_58: El cliente menciona a Farid Ibarra","known_identities":[],"targets":[{"id":"person","kind":"person","start":34,"end":46,"value":"Farid Ibarra","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Farid Ibarra"]},"customers":{"required_absent":["Farid Ibarra"],"required_present":[]},"all":{"required_absent":["Farid Ibarra"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-058","language":"es","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_58: Organización pública Flora Project","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":48,"value":"Flora Project","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Flora Project"]},"customers":{"required_absent":[],"required_present":["Flora Project"]},"all":{"required_absent":[],"required_present":["Flora Project"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-059","language":"es","script":"Latin","shape":"shell","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_59='El cliente menciona a Farid Jensen'","known_identities":[],"targets":[{"id":"person","kind":"person","start":34,"end":46,"value":"Farid Jensen","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Farid Jensen"]},"customers":{"required_absent":["Farid Jensen"],"required_present":[]},"all":{"required_absent":["Farid Jensen"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-059","language":"es","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_59='Organización pública Flora Press'","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":46,"value":"Flora Press","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Flora Press"]},"customers":{"required_absent":[],"required_present":["Flora Press"]},"all":{"required_absent":[],"required_present":["Flora Press"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-060","language":"es","script":"Latin","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/60 ; El cliente menciona a Greta Arden","known_identities":[],"targets":[{"id":"person","kind":"person","start":55,"end":66,"value":"Greta Arden","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Greta Arden"]},"customers":{"required_absent":["Greta Arden"],"required_present":[]},"all":{"required_absent":["Greta Arden"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-060","language":"es","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/60 ; Organización pública Gaia Labs","known_identities":[],"targets":[{"id":"person","kind":"person","start":56,"end":65,"value":"Gaia Labs","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Gaia Labs"]},"customers":{"required_absent":[],"required_present":["Gaia Labs"]},"all":{"required_absent":[],"required_present":["Gaia Labs"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-061","language":"es","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"**El cliente menciona a Greta Borel**","known_identities":[],"targets":[{"id":"person","kind":"person","start":24,"end":35,"value":"Greta Borel","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Greta Borel"]},"customers":{"required_absent":["Greta Borel"],"required_present":[]},"all":{"required_absent":["Greta Borel"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-061","language":"es","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"**Organización pública Gaia Works**","known_identities":[],"targets":[{"id":"person","kind":"person","start":25,"end":35,"value":"Gaia Works","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Gaia Works"]},"customers":{"required_absent":[],"required_present":["Gaia Works"]},"all":{"required_absent":[],"required_present":["Gaia Works"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-062","language":"es","script":"Latin","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eEl cliente menciona a Greta Costa\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":25,"end":36,"value":"Greta Costa","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Greta Costa"]},"customers":{"required_absent":["Greta Costa"],"required_present":[]},"all":{"required_absent":["Greta Costa"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-062","language":"es","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eOrganización pública Gaia Studio\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":26,"end":37,"value":"Gaia Studio","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Gaia Studio"]},"customers":{"required_absent":[],"required_present":["Gaia Studio"]},"all":{"required_absent":[],"required_present":["Gaia Studio"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-063","language":"es","script":"Latin","shape":"quoted-reply","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e El cliente menciona a Greta Durand","known_identities":[],"targets":[{"id":"person","kind":"person","start":24,"end":36,"value":"Greta Durand","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Greta Durand"]},"customers":{"required_absent":["Greta Durand"],"required_present":[]},"all":{"required_absent":["Greta Durand"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-063","language":"es","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e Organización pública Gaia Systems","known_identities":[],"targets":[{"id":"person","kind":"person","start":25,"end":37,"value":"Gaia Systems","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Gaia Systems"]},"customers":{"required_absent":[],"required_present":["Gaia Systems"]},"all":{"required_absent":[],"required_present":["Gaia Systems"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-064","language":"es","script":"Latin","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=64 message=\"El cliente menciona a \" value=Greta Esteves","known_identities":[],"targets":[{"id":"person","kind":"person","start":60,"end":73,"value":"Greta Esteves","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Greta Esteves"]},"customers":{"required_absent":["Greta Esteves"],"required_present":[]},"all":{"required_absent":["Greta Esteves"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-064","language":"es","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=64 message=\"Organización pública \" value=Gaia Collective","known_identities":[],"targets":[{"id":"person","kind":"person","start":61,"end":76,"value":"Gaia Collective","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Gaia Collective"]},"customers":{"required_absent":[],"required_present":["Gaia Collective"]},"all":{"required_absent":[],"required_present":["Gaia Collective"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-065","language":"es","script":"Latin","shape":"stack-trace","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[65]: El cliente menciona a Greta Fischer","known_identities":[],"targets":[{"id":"person","kind":"person","start":33,"end":46,"value":"Greta Fischer","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Greta Fischer"]},"customers":{"required_absent":["Greta Fischer"],"required_present":[]},"all":{"required_absent":["Greta Fischer"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-065","language":"es","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[65]: Organización pública Gaia Foundation","known_identities":[],"targets":[{"id":"person","kind":"person","start":34,"end":49,"value":"Gaia Foundation","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Gaia Foundation"]},"customers":{"required_absent":[],"required_present":["Gaia Foundation"]},"all":{"required_absent":[],"required_present":["Gaia Foundation"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-066","language":"es","script":"Latin","shape":"code","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_66 := `El cliente menciona a Greta Garcia`","known_identities":[],"targets":[{"id":"person","kind":"person","start":37,"end":49,"value":"Greta Garcia","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Greta Garcia"]},"customers":{"required_absent":["Greta Garcia"],"required_present":[]},"all":{"required_absent":["Greta Garcia"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-066","language":"es","script":"Latin","shape":"code","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_66 := `Organización pública Gaia Network`","known_identities":[],"targets":[{"id":"person","kind":"person","start":38,"end":50,"value":"Gaia Network","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Gaia Network"]},"customers":{"required_absent":[],"required_present":["Gaia Network"]},"all":{"required_absent":[],"required_present":["Gaia Network"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-067","language":"es","script":"Latin","shape":"signature","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--\nEl cliente menciona a Greta Holm","known_identities":[],"targets":[{"id":"person","kind":"person","start":25,"end":35,"value":"Greta Holm","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Greta Holm"]},"customers":{"required_absent":["Greta Holm"],"required_present":[]},"all":{"required_absent":["Greta Holm"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-067","language":"es","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--\nOrganización pública Gaia Group","known_identities":[],"targets":[{"id":"person","kind":"person","start":26,"end":36,"value":"Gaia Group","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Gaia Group"]},"customers":{"required_absent":[],"required_present":["Gaia Group"]},"all":{"required_absent":[],"required_present":["Gaia Group"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-068","language":"es","script":"Latin","shape":"long-thread","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. El cliente menciona a Greta Ibarra","known_identities":[],"targets":[{"id":"person","kind":"person","start":502,"end":514,"value":"Greta Ibarra","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Greta Ibarra"]},"customers":{"required_absent":["Greta Ibarra"],"required_present":[]},"all":{"required_absent":["Greta Ibarra"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-068","language":"es","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Organización pública Gaia Project","known_identities":[],"targets":[{"id":"person","kind":"person","start":503,"end":515,"value":"Gaia Project","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Gaia Project"]},"customers":{"required_absent":[],"required_present":["Gaia Project"]},"all":{"required_absent":[],"required_present":["Gaia Project"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-069","language":"es","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=69 --message=\"El cliente menciona a \" --value=Greta Jensen","known_identities":[],"targets":[{"id":"person","kind":"person","start":55,"end":67,"value":"Greta Jensen","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Greta Jensen"]},"customers":{"required_absent":["Greta Jensen"],"required_present":[]},"all":{"required_absent":["Greta Jensen"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-069","language":"es","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=69 --message=\"Organización pública \" --value=Gaia Press","known_identities":[],"targets":[{"id":"person","kind":"person","start":56,"end":66,"value":"Gaia Press","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Gaia Press"]},"customers":{"required_absent":[],"required_present":["Gaia Press"]},"all":{"required_absent":[],"required_present":["Gaia Press"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-070","language":"es","script":"Latin","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"El cliente menciona a Hugo Arden","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":32,"value":"Hugo Arden","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Hugo Arden"]},"customers":{"required_absent":["Hugo Arden"],"required_present":[]},"all":{"required_absent":["Hugo Arden"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-070","language":"es","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Organización pública Helios Labs","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":34,"value":"Helios Labs","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Helios Labs"]},"customers":{"required_absent":[],"required_present":["Helios Labs"]},"all":{"required_absent":[],"required_present":["Helios Labs"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-071","language":"es","script":"Latin","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_71\":\"El cliente menciona a Hugo Borel\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":37,"end":47,"value":"Hugo Borel","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Hugo Borel"]},"customers":{"required_absent":["Hugo Borel"],"required_present":[]},"all":{"required_absent":["Hugo Borel"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-071","language":"es","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_71\":\"Organización pública Helios Works\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":38,"end":50,"value":"Helios Works","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Helios Works"]},"customers":{"required_absent":[],"required_present":["Helios Works"]},"all":{"required_absent":[],"required_present":["Helios Works"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-072","language":"es","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_72: El cliente menciona a Hugo Costa","known_identities":[],"targets":[{"id":"person","kind":"person","start":34,"end":44,"value":"Hugo Costa","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Hugo Costa"]},"customers":{"required_absent":["Hugo Costa"],"required_present":[]},"all":{"required_absent":["Hugo Costa"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-072","language":"es","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_72: Organización pública Helios Studio","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":48,"value":"Helios Studio","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Helios Studio"]},"customers":{"required_absent":[],"required_present":["Helios Studio"]},"all":{"required_absent":[],"required_present":["Helios Studio"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-073","language":"es","script":"Latin","shape":"shell","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_73='El cliente menciona a Hugo Durand'","known_identities":[],"targets":[{"id":"person","kind":"person","start":34,"end":45,"value":"Hugo Durand","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Hugo Durand"]},"customers":{"required_absent":["Hugo Durand"],"required_present":[]},"all":{"required_absent":["Hugo Durand"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-073","language":"es","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_73='Organización pública Helios Systems'","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":49,"value":"Helios Systems","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Helios Systems"]},"customers":{"required_absent":[],"required_present":["Helios Systems"]},"all":{"required_absent":[],"required_present":["Helios Systems"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-074","language":"es","script":"Latin","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/74 ; El cliente menciona a Hugo Esteves","known_identities":[],"targets":[{"id":"person","kind":"person","start":55,"end":67,"value":"Hugo Esteves","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Hugo Esteves"]},"customers":{"required_absent":["Hugo Esteves"],"required_present":[]},"all":{"required_absent":["Hugo Esteves"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-074","language":"es","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/74 ; Organización pública Helios Collective","known_identities":[],"targets":[{"id":"person","kind":"person","start":56,"end":73,"value":"Helios Collective","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Helios Collective"]},"customers":{"required_absent":[],"required_present":["Helios Collective"]},"all":{"required_absent":[],"required_present":["Helios Collective"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-075","language":"es","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"**El cliente menciona a Hugo Fischer**","known_identities":[],"targets":[{"id":"person","kind":"person","start":24,"end":36,"value":"Hugo Fischer","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Hugo Fischer"]},"customers":{"required_absent":["Hugo Fischer"],"required_present":[]},"all":{"required_absent":["Hugo Fischer"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-075","language":"es","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"**Organización pública Helios Foundation**","known_identities":[],"targets":[{"id":"person","kind":"person","start":25,"end":42,"value":"Helios Foundation","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Helios Foundation"]},"customers":{"required_absent":[],"required_present":["Helios Foundation"]},"all":{"required_absent":[],"required_present":["Helios Foundation"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-076","language":"es","script":"Latin","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eEl cliente menciona a Hugo Garcia\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":25,"end":36,"value":"Hugo Garcia","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Hugo Garcia"]},"customers":{"required_absent":["Hugo Garcia"],"required_present":[]},"all":{"required_absent":["Hugo Garcia"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-076","language":"es","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eOrganización pública Helios Network\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":26,"end":40,"value":"Helios Network","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Helios Network"]},"customers":{"required_absent":[],"required_present":["Helios Network"]},"all":{"required_absent":[],"required_present":["Helios Network"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-077","language":"es","script":"Latin","shape":"quoted-reply","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e El cliente menciona a Hugo Holm","known_identities":[],"targets":[{"id":"person","kind":"person","start":24,"end":33,"value":"Hugo Holm","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Hugo Holm"]},"customers":{"required_absent":["Hugo Holm"],"required_present":[]},"all":{"required_absent":["Hugo Holm"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-077","language":"es","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e Organización pública Helios Group","known_identities":[],"targets":[{"id":"person","kind":"person","start":25,"end":37,"value":"Helios Group","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Helios Group"]},"customers":{"required_absent":[],"required_present":["Helios Group"]},"all":{"required_absent":[],"required_present":["Helios Group"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-078","language":"es","script":"Latin","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=78 message=\"El cliente menciona a \" value=Hugo Ibarra","known_identities":[],"targets":[{"id":"person","kind":"person","start":60,"end":71,"value":"Hugo Ibarra","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Hugo Ibarra"]},"customers":{"required_absent":["Hugo Ibarra"],"required_present":[]},"all":{"required_absent":["Hugo Ibarra"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-078","language":"es","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=78 message=\"Organización pública \" value=Helios Project","known_identities":[],"targets":[{"id":"person","kind":"person","start":61,"end":75,"value":"Helios Project","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Helios Project"]},"customers":{"required_absent":[],"required_present":["Helios Project"]},"all":{"required_absent":[],"required_present":["Helios Project"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-079","language":"es","script":"Latin","shape":"stack-trace","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[79]: El cliente menciona a Hugo Jensen","known_identities":[],"targets":[{"id":"person","kind":"person","start":33,"end":44,"value":"Hugo Jensen","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Hugo Jensen"]},"customers":{"required_absent":["Hugo Jensen"],"required_present":[]},"all":{"required_absent":["Hugo Jensen"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-079","language":"es","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[79]: Organización pública Helios Press","known_identities":[],"targets":[{"id":"person","kind":"person","start":34,"end":46,"value":"Helios Press","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Helios Press"]},"customers":{"required_absent":[],"required_present":["Helios Press"]},"all":{"required_absent":[],"required_present":["Helios Press"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-080","language":"es","script":"Latin","shape":"code","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_80 := `El cliente menciona a Ines Arden`","known_identities":[],"targets":[{"id":"person","kind":"person","start":37,"end":47,"value":"Ines Arden","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ines Arden"]},"customers":{"required_absent":["Ines Arden"],"required_present":[]},"all":{"required_absent":["Ines Arden"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-080","language":"es","script":"Latin","shape":"code","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_80 := `Organización pública Ion Labs`","known_identities":[],"targets":[{"id":"person","kind":"person","start":38,"end":46,"value":"Ion Labs","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ion Labs"]},"customers":{"required_absent":[],"required_present":["Ion Labs"]},"all":{"required_absent":[],"required_present":["Ion Labs"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-081","language":"es","script":"Latin","shape":"signature","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--\nEl cliente menciona a Ines Borel","known_identities":[],"targets":[{"id":"person","kind":"person","start":25,"end":35,"value":"Ines Borel","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ines Borel"]},"customers":{"required_absent":["Ines Borel"],"required_present":[]},"all":{"required_absent":["Ines Borel"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-081","language":"es","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--\nOrganización pública Ion Works","known_identities":[],"targets":[{"id":"person","kind":"person","start":26,"end":35,"value":"Ion Works","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ion Works"]},"customers":{"required_absent":[],"required_present":["Ion Works"]},"all":{"required_absent":[],"required_present":["Ion Works"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-082","language":"es","script":"Latin","shape":"long-thread","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. El cliente menciona a Ines Costa","known_identities":[],"targets":[{"id":"person","kind":"person","start":502,"end":512,"value":"Ines Costa","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ines Costa"]},"customers":{"required_absent":["Ines Costa"],"required_present":[]},"all":{"required_absent":["Ines Costa"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-082","language":"es","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Organización pública Ion Studio","known_identities":[],"targets":[{"id":"person","kind":"person","start":503,"end":513,"value":"Ion Studio","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ion Studio"]},"customers":{"required_absent":[],"required_present":["Ion Studio"]},"all":{"required_absent":[],"required_present":["Ion Studio"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-083","language":"es","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=83 --message=\"El cliente menciona a \" --value=Ines Durand","known_identities":[],"targets":[{"id":"person","kind":"person","start":55,"end":66,"value":"Ines Durand","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ines Durand"]},"customers":{"required_absent":["Ines Durand"],"required_present":[]},"all":{"required_absent":["Ines Durand"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-083","language":"es","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=83 --message=\"Organización pública \" --value=Ion Systems","known_identities":[],"targets":[{"id":"person","kind":"person","start":56,"end":67,"value":"Ion Systems","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ion Systems"]},"customers":{"required_absent":[],"required_present":["Ion Systems"]},"all":{"required_absent":[],"required_present":["Ion Systems"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-084","language":"es","script":"Latin","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"El cliente menciona a Ines Esteves","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":34,"value":"Ines Esteves","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ines Esteves"]},"customers":{"required_absent":["Ines Esteves"],"required_present":[]},"all":{"required_absent":["Ines Esteves"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-084","language":"es","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Organización pública Ion Collective","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":37,"value":"Ion Collective","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ion Collective"]},"customers":{"required_absent":[],"required_present":["Ion Collective"]},"all":{"required_absent":[],"required_present":["Ion Collective"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-085","language":"es","script":"Latin","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_85\":\"El cliente menciona a Ines Fischer\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":37,"end":49,"value":"Ines Fischer","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ines Fischer"]},"customers":{"required_absent":["Ines Fischer"],"required_present":[]},"all":{"required_absent":["Ines Fischer"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-085","language":"es","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_85\":\"Organización pública Ion Foundation\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":38,"end":52,"value":"Ion Foundation","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ion Foundation"]},"customers":{"required_absent":[],"required_present":["Ion Foundation"]},"all":{"required_absent":[],"required_present":["Ion Foundation"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-086","language":"es","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_86: El cliente menciona a Ines Garcia","known_identities":[],"targets":[{"id":"person","kind":"person","start":34,"end":45,"value":"Ines Garcia","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ines Garcia"]},"customers":{"required_absent":["Ines Garcia"],"required_present":[]},"all":{"required_absent":["Ines Garcia"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-086","language":"es","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_86: Organización pública Ion Network","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":46,"value":"Ion Network","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ion Network"]},"customers":{"required_absent":[],"required_present":["Ion Network"]},"all":{"required_absent":[],"required_present":["Ion Network"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-087","language":"es","script":"Latin","shape":"shell","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_87='El cliente menciona a Ines Holm'","known_identities":[],"targets":[{"id":"person","kind":"person","start":34,"end":43,"value":"Ines Holm","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ines Holm"]},"customers":{"required_absent":["Ines Holm"],"required_present":[]},"all":{"required_absent":["Ines Holm"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-087","language":"es","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_87='Organización pública Ion Group'","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":44,"value":"Ion Group","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ion Group"]},"customers":{"required_absent":[],"required_present":["Ion Group"]},"all":{"required_absent":[],"required_present":["Ion Group"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-088","language":"es","script":"Latin","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/88 ; El cliente menciona a Ines Ibarra","known_identities":[],"targets":[{"id":"person","kind":"person","start":55,"end":66,"value":"Ines Ibarra","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ines Ibarra"]},"customers":{"required_absent":["Ines Ibarra"],"required_present":[]},"all":{"required_absent":["Ines Ibarra"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-088","language":"es","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/88 ; Organización pública Ion Project","known_identities":[],"targets":[{"id":"person","kind":"person","start":56,"end":67,"value":"Ion Project","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ion Project"]},"customers":{"required_absent":[],"required_present":["Ion Project"]},"all":{"required_absent":[],"required_present":["Ion Project"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-089","language":"es","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"**El cliente menciona a Ines Jensen**","known_identities":[],"targets":[{"id":"person","kind":"person","start":24,"end":35,"value":"Ines Jensen","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ines Jensen"]},"customers":{"required_absent":["Ines Jensen"],"required_present":[]},"all":{"required_absent":["Ines Jensen"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-089","language":"es","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"**Organización pública Ion Press**","known_identities":[],"targets":[{"id":"person","kind":"person","start":25,"end":34,"value":"Ion Press","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ion Press"]},"customers":{"required_absent":[],"required_present":["Ion Press"]},"all":{"required_absent":[],"required_present":["Ion Press"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-090","language":"es","script":"Latin","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eEl cliente menciona a Jonas Arden\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":25,"end":36,"value":"Jonas Arden","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Jonas Arden"]},"customers":{"required_absent":["Jonas Arden"],"required_present":[]},"all":{"required_absent":["Jonas Arden"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-090","language":"es","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eOrganización pública Juniper Labs\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":26,"end":38,"value":"Juniper Labs","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Juniper Labs"]},"customers":{"required_absent":[],"required_present":["Juniper Labs"]},"all":{"required_absent":[],"required_present":["Juniper Labs"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-091","language":"es","script":"Latin","shape":"quoted-reply","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e El cliente menciona a Jonas Borel","known_identities":[],"targets":[{"id":"person","kind":"person","start":24,"end":35,"value":"Jonas Borel","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Jonas Borel"]},"customers":{"required_absent":["Jonas Borel"],"required_present":[]},"all":{"required_absent":["Jonas Borel"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-091","language":"es","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e Organización pública Juniper Works","known_identities":[],"targets":[{"id":"person","kind":"person","start":25,"end":38,"value":"Juniper Works","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Juniper Works"]},"customers":{"required_absent":[],"required_present":["Juniper Works"]},"all":{"required_absent":[],"required_present":["Juniper Works"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-092","language":"es","script":"Latin","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=92 message=\"El cliente menciona a \" value=Jonas Costa","known_identities":[],"targets":[{"id":"person","kind":"person","start":60,"end":71,"value":"Jonas Costa","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Jonas Costa"]},"customers":{"required_absent":["Jonas Costa"],"required_present":[]},"all":{"required_absent":["Jonas Costa"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-092","language":"es","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=92 message=\"Organización pública \" value=Juniper Studio","known_identities":[],"targets":[{"id":"person","kind":"person","start":61,"end":75,"value":"Juniper Studio","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Juniper Studio"]},"customers":{"required_absent":[],"required_present":["Juniper Studio"]},"all":{"required_absent":[],"required_present":["Juniper Studio"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-093","language":"es","script":"Latin","shape":"stack-trace","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[93]: El cliente menciona a Jonas Durand","known_identities":[],"targets":[{"id":"person","kind":"person","start":33,"end":45,"value":"Jonas Durand","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Jonas Durand"]},"customers":{"required_absent":["Jonas Durand"],"required_present":[]},"all":{"required_absent":["Jonas Durand"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-093","language":"es","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[93]: Organización pública Juniper Systems","known_identities":[],"targets":[{"id":"person","kind":"person","start":34,"end":49,"value":"Juniper Systems","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Juniper Systems"]},"customers":{"required_absent":[],"required_present":["Juniper Systems"]},"all":{"required_absent":[],"required_present":["Juniper Systems"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-094","language":"es","script":"Latin","shape":"code","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_94 := `El cliente menciona a Jonas Esteves`","known_identities":[],"targets":[{"id":"person","kind":"person","start":37,"end":50,"value":"Jonas Esteves","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Jonas Esteves"]},"customers":{"required_absent":["Jonas Esteves"],"required_present":[]},"all":{"required_absent":["Jonas Esteves"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-094","language":"es","script":"Latin","shape":"code","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_94 := `Organización pública Juniper Collective`","known_identities":[],"targets":[{"id":"person","kind":"person","start":38,"end":56,"value":"Juniper Collective","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Juniper Collective"]},"customers":{"required_absent":[],"required_present":["Juniper Collective"]},"all":{"required_absent":[],"required_present":["Juniper Collective"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-095","language":"es","script":"Latin","shape":"signature","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--\nEl cliente menciona a Jonas Fischer","known_identities":[],"targets":[{"id":"person","kind":"person","start":25,"end":38,"value":"Jonas Fischer","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Jonas Fischer"]},"customers":{"required_absent":["Jonas Fischer"],"required_present":[]},"all":{"required_absent":["Jonas Fischer"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-095","language":"es","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--\nOrganización pública Juniper Foundation","known_identities":[],"targets":[{"id":"person","kind":"person","start":26,"end":44,"value":"Juniper Foundation","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Juniper Foundation"]},"customers":{"required_absent":[],"required_present":["Juniper Foundation"]},"all":{"required_absent":[],"required_present":["Juniper Foundation"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-096","language":"es","script":"Latin","shape":"long-thread","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. El cliente menciona a Jonas Garcia","known_identities":[],"targets":[{"id":"person","kind":"person","start":502,"end":514,"value":"Jonas Garcia","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Jonas Garcia"]},"customers":{"required_absent":["Jonas Garcia"],"required_present":[]},"all":{"required_absent":["Jonas Garcia"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-096","language":"es","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Organización pública Juniper Network","known_identities":[],"targets":[{"id":"person","kind":"person","start":503,"end":518,"value":"Juniper Network","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Juniper Network"]},"customers":{"required_absent":[],"required_present":["Juniper Network"]},"all":{"required_absent":[],"required_present":["Juniper Network"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-097","language":"es","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=97 --message=\"El cliente menciona a \" --value=Jonas Holm","known_identities":[],"targets":[{"id":"person","kind":"person","start":55,"end":65,"value":"Jonas Holm","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Jonas Holm"]},"customers":{"required_absent":["Jonas Holm"],"required_present":[]},"all":{"required_absent":["Jonas Holm"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-097","language":"es","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=97 --message=\"Organización pública \" --value=Juniper Group","known_identities":[],"targets":[{"id":"person","kind":"person","start":56,"end":69,"value":"Juniper Group","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Juniper Group"]},"customers":{"required_absent":[],"required_present":["Juniper Group"]},"all":{"required_absent":[],"required_present":["Juniper Group"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-098","language":"es","script":"Latin","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"El cliente menciona a Jonas Ibarra","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":34,"value":"Jonas Ibarra","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Jonas Ibarra"]},"customers":{"required_absent":["Jonas Ibarra"],"required_present":[]},"all":{"required_absent":["Jonas Ibarra"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-098","language":"es","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Organización pública Juniper Project","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":38,"value":"Juniper Project","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Juniper Project"]},"customers":{"required_absent":[],"required_present":["Juniper Project"]},"all":{"required_absent":[],"required_present":["Juniper Project"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-099","language":"es","script":"Latin","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_99\":\"El cliente menciona a Jonas Jensen\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":37,"end":49,"value":"Jonas Jensen","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Jonas Jensen"]},"customers":{"required_absent":["Jonas Jensen"],"required_present":[]},"all":{"required_absent":["Jonas Jensen"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-099","language":"es","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_99\":\"Organización pública Juniper Press\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":38,"end":51,"value":"Juniper Press","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Juniper Press"]},"customers":{"required_absent":[],"required_present":["Juniper Press"]},"all":{"required_absent":[],"required_present":["Juniper Press"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-000","language":"pt","script":"Latin","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"O cliente mencionou Amina Arden","known_identities":[],"targets":[{"id":"person","kind":"person","start":20,"end":31,"value":"Amina Arden","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Amina Arden"]},"customers":{"required_absent":["Amina Arden"],"required_present":[]},"all":{"required_absent":["Amina Arden"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-000","language":"pt","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Organização pública Atlas Labs","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":33,"value":"Atlas Labs","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Atlas Labs"]},"customers":{"required_absent":[],"required_present":["Atlas Labs"]},"all":{"required_absent":[],"required_present":["Atlas Labs"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-001","language":"pt","script":"Latin","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_1\":\"O cliente mencionou Amina Borel\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":34,"end":45,"value":"Amina Borel","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Amina Borel"]},"customers":{"required_absent":["Amina Borel"],"required_present":[]},"all":{"required_absent":["Amina Borel"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-001","language":"pt","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_1\":\"Organização pública Atlas Works\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":37,"end":48,"value":"Atlas Works","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Atlas Works"]},"customers":{"required_absent":[],"required_present":["Atlas Works"]},"all":{"required_absent":[],"required_present":["Atlas Works"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-002","language":"pt","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_2: O cliente mencionou Amina Costa","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":42,"value":"Amina Costa","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Amina Costa"]},"customers":{"required_absent":["Amina Costa"],"required_present":[]},"all":{"required_absent":["Amina Costa"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-002","language":"pt","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_2: Organização pública Atlas Studio","known_identities":[],"targets":[{"id":"person","kind":"person","start":34,"end":46,"value":"Atlas Studio","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Atlas Studio"]},"customers":{"required_absent":[],"required_present":["Atlas Studio"]},"all":{"required_absent":[],"required_present":["Atlas Studio"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-003","language":"pt","script":"Latin","shape":"shell","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_3='O cliente mencionou Amina Durand'","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":43,"value":"Amina Durand","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Amina Durand"]},"customers":{"required_absent":["Amina Durand"],"required_present":[]},"all":{"required_absent":["Amina Durand"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-003","language":"pt","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_3='Organização pública Atlas Systems'","known_identities":[],"targets":[{"id":"person","kind":"person","start":34,"end":47,"value":"Atlas Systems","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Atlas Systems"]},"customers":{"required_absent":[],"required_present":["Atlas Systems"]},"all":{"required_absent":[],"required_present":["Atlas Systems"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-004","language":"pt","script":"Latin","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/4 ; O cliente mencionou Amina Esteves","known_identities":[],"targets":[{"id":"person","kind":"person","start":52,"end":65,"value":"Amina Esteves","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Amina Esteves"]},"customers":{"required_absent":["Amina Esteves"],"required_present":[]},"all":{"required_absent":["Amina Esteves"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-004","language":"pt","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/4 ; Organização pública Atlas Collective","known_identities":[],"targets":[{"id":"person","kind":"person","start":55,"end":71,"value":"Atlas Collective","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Atlas Collective"]},"customers":{"required_absent":[],"required_present":["Atlas Collective"]},"all":{"required_absent":[],"required_present":["Atlas Collective"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-005","language":"pt","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"**O cliente mencionou Amina Fischer**","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":35,"value":"Amina Fischer","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Amina Fischer"]},"customers":{"required_absent":["Amina Fischer"],"required_present":[]},"all":{"required_absent":["Amina Fischer"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-005","language":"pt","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"**Organização pública Atlas Foundation**","known_identities":[],"targets":[{"id":"person","kind":"person","start":25,"end":41,"value":"Atlas Foundation","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Atlas Foundation"]},"customers":{"required_absent":[],"required_present":["Atlas Foundation"]},"all":{"required_absent":[],"required_present":["Atlas Foundation"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-006","language":"pt","script":"Latin","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eO cliente mencionou Amina Garcia\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":35,"value":"Amina Garcia","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Amina Garcia"]},"customers":{"required_absent":["Amina Garcia"],"required_present":[]},"all":{"required_absent":["Amina Garcia"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-006","language":"pt","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eOrganização pública Atlas Network\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":26,"end":39,"value":"Atlas Network","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Atlas Network"]},"customers":{"required_absent":[],"required_present":["Atlas Network"]},"all":{"required_absent":[],"required_present":["Atlas Network"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-007","language":"pt","script":"Latin","shape":"quoted-reply","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e O cliente mencionou Amina Holm","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":32,"value":"Amina Holm","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Amina Holm"]},"customers":{"required_absent":["Amina Holm"],"required_present":[]},"all":{"required_absent":["Amina Holm"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-007","language":"pt","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e Organização pública Atlas Group","known_identities":[],"targets":[{"id":"person","kind":"person","start":25,"end":36,"value":"Atlas Group","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Atlas Group"]},"customers":{"required_absent":[],"required_present":["Atlas Group"]},"all":{"required_absent":[],"required_present":["Atlas Group"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-008","language":"pt","script":"Latin","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=8 message=\"O cliente mencionou \" value=Amina Ibarra","known_identities":[],"targets":[{"id":"person","kind":"person","start":57,"end":69,"value":"Amina Ibarra","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Amina Ibarra"]},"customers":{"required_absent":["Amina Ibarra"],"required_present":[]},"all":{"required_absent":["Amina Ibarra"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-008","language":"pt","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=8 message=\"Organização pública \" value=Atlas Project","known_identities":[],"targets":[{"id":"person","kind":"person","start":60,"end":73,"value":"Atlas Project","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Atlas Project"]},"customers":{"required_absent":[],"required_present":["Atlas Project"]},"all":{"required_absent":[],"required_present":["Atlas Project"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-009","language":"pt","script":"Latin","shape":"stack-trace","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[9]: O cliente mencionou Amina Jensen","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":42,"value":"Amina Jensen","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Amina Jensen"]},"customers":{"required_absent":["Amina Jensen"],"required_present":[]},"all":{"required_absent":["Amina Jensen"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-009","language":"pt","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[9]: Organização pública Atlas Press","known_identities":[],"targets":[{"id":"person","kind":"person","start":33,"end":44,"value":"Atlas Press","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Atlas Press"]},"customers":{"required_absent":[],"required_present":["Atlas Press"]},"all":{"required_absent":[],"required_present":["Atlas Press"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-010","language":"pt","script":"Latin","shape":"code","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_10 := `O cliente mencionou Bruno Arden`","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":46,"value":"Bruno Arden","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bruno Arden"]},"customers":{"required_absent":["Bruno Arden"],"required_present":[]},"all":{"required_absent":["Bruno Arden"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-010","language":"pt","script":"Latin","shape":"code","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_10 := `Organização pública Boreal Labs`","known_identities":[],"targets":[{"id":"person","kind":"person","start":38,"end":49,"value":"Boreal Labs","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Boreal Labs"]},"customers":{"required_absent":[],"required_present":["Boreal Labs"]},"all":{"required_absent":[],"required_present":["Boreal Labs"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-011","language":"pt","script":"Latin","shape":"signature","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--\nO cliente mencionou Bruno Borel","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":34,"value":"Bruno Borel","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bruno Borel"]},"customers":{"required_absent":["Bruno Borel"],"required_present":[]},"all":{"required_absent":["Bruno Borel"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-011","language":"pt","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--\nOrganização pública Boreal Works","known_identities":[],"targets":[{"id":"person","kind":"person","start":26,"end":38,"value":"Boreal Works","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Boreal Works"]},"customers":{"required_absent":[],"required_present":["Boreal Works"]},"all":{"required_absent":[],"required_present":["Boreal Works"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-012","language":"pt","script":"Latin","shape":"long-thread","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. O cliente mencionou Bruno Costa","known_identities":[],"targets":[{"id":"person","kind":"person","start":500,"end":511,"value":"Bruno Costa","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bruno Costa"]},"customers":{"required_absent":["Bruno Costa"],"required_present":[]},"all":{"required_absent":["Bruno Costa"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-012","language":"pt","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Organização pública Boreal Studio","known_identities":[],"targets":[{"id":"person","kind":"person","start":503,"end":516,"value":"Boreal Studio","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Boreal Studio"]},"customers":{"required_absent":[],"required_present":["Boreal Studio"]},"all":{"required_absent":[],"required_present":["Boreal Studio"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-013","language":"pt","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=13 --message=\"O cliente mencionou \" --value=Bruno Durand","known_identities":[],"targets":[{"id":"person","kind":"person","start":53,"end":65,"value":"Bruno Durand","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bruno Durand"]},"customers":{"required_absent":["Bruno Durand"],"required_present":[]},"all":{"required_absent":["Bruno Durand"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-013","language":"pt","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=13 --message=\"Organização pública \" --value=Boreal Systems","known_identities":[],"targets":[{"id":"person","kind":"person","start":56,"end":70,"value":"Boreal Systems","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Boreal Systems"]},"customers":{"required_absent":[],"required_present":["Boreal Systems"]},"all":{"required_absent":[],"required_present":["Boreal Systems"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-014","language":"pt","script":"Latin","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"O cliente mencionou Bruno Esteves","known_identities":[],"targets":[{"id":"person","kind":"person","start":20,"end":33,"value":"Bruno Esteves","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bruno Esteves"]},"customers":{"required_absent":["Bruno Esteves"],"required_present":[]},"all":{"required_absent":["Bruno Esteves"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-014","language":"pt","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Organização pública Boreal Collective","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":40,"value":"Boreal Collective","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Boreal Collective"]},"customers":{"required_absent":[],"required_present":["Boreal Collective"]},"all":{"required_absent":[],"required_present":["Boreal Collective"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-015","language":"pt","script":"Latin","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_15\":\"O cliente mencionou Bruno Fischer\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":48,"value":"Bruno Fischer","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bruno Fischer"]},"customers":{"required_absent":["Bruno Fischer"],"required_present":[]},"all":{"required_absent":["Bruno Fischer"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-015","language":"pt","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_15\":\"Organização pública Boreal Foundation\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":38,"end":55,"value":"Boreal Foundation","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Boreal Foundation"]},"customers":{"required_absent":[],"required_present":["Boreal Foundation"]},"all":{"required_absent":[],"required_present":["Boreal Foundation"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-016","language":"pt","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_16: O cliente mencionou Bruno Garcia","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":44,"value":"Bruno Garcia","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bruno Garcia"]},"customers":{"required_absent":["Bruno Garcia"],"required_present":[]},"all":{"required_absent":["Bruno Garcia"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-016","language":"pt","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_16: Organização pública Boreal Network","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":49,"value":"Boreal Network","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Boreal Network"]},"customers":{"required_absent":[],"required_present":["Boreal Network"]},"all":{"required_absent":[],"required_present":["Boreal Network"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-017","language":"pt","script":"Latin","shape":"shell","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_17='O cliente mencionou Bruno Holm'","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":42,"value":"Bruno Holm","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bruno Holm"]},"customers":{"required_absent":["Bruno Holm"],"required_present":[]},"all":{"required_absent":["Bruno Holm"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-017","language":"pt","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_17='Organização pública Boreal Group'","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":47,"value":"Boreal Group","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Boreal Group"]},"customers":{"required_absent":[],"required_present":["Boreal Group"]},"all":{"required_absent":[],"required_present":["Boreal Group"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-018","language":"pt","script":"Latin","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/18 ; O cliente mencionou Bruno Ibarra","known_identities":[],"targets":[{"id":"person","kind":"person","start":53,"end":65,"value":"Bruno Ibarra","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bruno Ibarra"]},"customers":{"required_absent":["Bruno Ibarra"],"required_present":[]},"all":{"required_absent":["Bruno Ibarra"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-018","language":"pt","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/18 ; Organização pública Boreal Project","known_identities":[],"targets":[{"id":"person","kind":"person","start":56,"end":70,"value":"Boreal Project","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Boreal Project"]},"customers":{"required_absent":[],"required_present":["Boreal Project"]},"all":{"required_absent":[],"required_present":["Boreal Project"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-019","language":"pt","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"**O cliente mencionou Bruno Jensen**","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":34,"value":"Bruno Jensen","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bruno Jensen"]},"customers":{"required_absent":["Bruno Jensen"],"required_present":[]},"all":{"required_absent":["Bruno Jensen"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-019","language":"pt","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"**Organização pública Boreal Press**","known_identities":[],"targets":[{"id":"person","kind":"person","start":25,"end":37,"value":"Boreal Press","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Boreal Press"]},"customers":{"required_absent":[],"required_present":["Boreal Press"]},"all":{"required_absent":[],"required_present":["Boreal Press"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-020","language":"pt","script":"Latin","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eO cliente mencionou Clara Arden\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":34,"value":"Clara Arden","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Clara Arden"]},"customers":{"required_absent":["Clara Arden"],"required_present":[]},"all":{"required_absent":["Clara Arden"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-020","language":"pt","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eOrganização pública Cedar Labs\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":26,"end":36,"value":"Cedar Labs","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Cedar Labs"]},"customers":{"required_absent":[],"required_present":["Cedar Labs"]},"all":{"required_absent":[],"required_present":["Cedar Labs"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-021","language":"pt","script":"Latin","shape":"quoted-reply","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e O cliente mencionou Clara Borel","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":33,"value":"Clara Borel","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Clara Borel"]},"customers":{"required_absent":["Clara Borel"],"required_present":[]},"all":{"required_absent":["Clara Borel"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-021","language":"pt","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e Organização pública Cedar Works","known_identities":[],"targets":[{"id":"person","kind":"person","start":25,"end":36,"value":"Cedar Works","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Cedar Works"]},"customers":{"required_absent":[],"required_present":["Cedar Works"]},"all":{"required_absent":[],"required_present":["Cedar Works"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-022","language":"pt","script":"Latin","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=22 message=\"O cliente mencionou \" value=Clara Costa","known_identities":[],"targets":[{"id":"person","kind":"person","start":58,"end":69,"value":"Clara Costa","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Clara Costa"]},"customers":{"required_absent":["Clara Costa"],"required_present":[]},"all":{"required_absent":["Clara Costa"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-022","language":"pt","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=22 message=\"Organização pública \" value=Cedar Studio","known_identities":[],"targets":[{"id":"person","kind":"person","start":61,"end":73,"value":"Cedar Studio","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Cedar Studio"]},"customers":{"required_absent":[],"required_present":["Cedar Studio"]},"all":{"required_absent":[],"required_present":["Cedar Studio"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-023","language":"pt","script":"Latin","shape":"stack-trace","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[23]: O cliente mencionou Clara Durand","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":43,"value":"Clara Durand","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Clara Durand"]},"customers":{"required_absent":["Clara Durand"],"required_present":[]},"all":{"required_absent":["Clara Durand"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-023","language":"pt","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[23]: Organização pública Cedar Systems","known_identities":[],"targets":[{"id":"person","kind":"person","start":34,"end":47,"value":"Cedar Systems","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Cedar Systems"]},"customers":{"required_absent":[],"required_present":["Cedar Systems"]},"all":{"required_absent":[],"required_present":["Cedar Systems"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-024","language":"pt","script":"Latin","shape":"code","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_24 := `O cliente mencionou Clara Esteves`","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":48,"value":"Clara Esteves","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Clara Esteves"]},"customers":{"required_absent":["Clara Esteves"],"required_present":[]},"all":{"required_absent":["Clara Esteves"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-024","language":"pt","script":"Latin","shape":"code","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_24 := `Organização pública Cedar Collective`","known_identities":[],"targets":[{"id":"person","kind":"person","start":38,"end":54,"value":"Cedar Collective","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Cedar Collective"]},"customers":{"required_absent":[],"required_present":["Cedar Collective"]},"all":{"required_absent":[],"required_present":["Cedar Collective"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-025","language":"pt","script":"Latin","shape":"signature","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--\nO cliente mencionou Clara Fischer","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":36,"value":"Clara Fischer","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Clara Fischer"]},"customers":{"required_absent":["Clara Fischer"],"required_present":[]},"all":{"required_absent":["Clara Fischer"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-025","language":"pt","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--\nOrganização pública Cedar Foundation","known_identities":[],"targets":[{"id":"person","kind":"person","start":26,"end":42,"value":"Cedar Foundation","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Cedar Foundation"]},"customers":{"required_absent":[],"required_present":["Cedar Foundation"]},"all":{"required_absent":[],"required_present":["Cedar Foundation"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-026","language":"pt","script":"Latin","shape":"long-thread","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. O cliente mencionou Clara Garcia","known_identities":[],"targets":[{"id":"person","kind":"person","start":500,"end":512,"value":"Clara Garcia","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Clara Garcia"]},"customers":{"required_absent":["Clara Garcia"],"required_present":[]},"all":{"required_absent":["Clara Garcia"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-026","language":"pt","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Organização pública Cedar Network","known_identities":[],"targets":[{"id":"person","kind":"person","start":503,"end":516,"value":"Cedar Network","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Cedar Network"]},"customers":{"required_absent":[],"required_present":["Cedar Network"]},"all":{"required_absent":[],"required_present":["Cedar Network"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-027","language":"pt","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=27 --message=\"O cliente mencionou \" --value=Clara Holm","known_identities":[],"targets":[{"id":"person","kind":"person","start":53,"end":63,"value":"Clara Holm","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Clara Holm"]},"customers":{"required_absent":["Clara Holm"],"required_present":[]},"all":{"required_absent":["Clara Holm"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-027","language":"pt","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=27 --message=\"Organização pública \" --value=Cedar Group","known_identities":[],"targets":[{"id":"person","kind":"person","start":56,"end":67,"value":"Cedar Group","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Cedar Group"]},"customers":{"required_absent":[],"required_present":["Cedar Group"]},"all":{"required_absent":[],"required_present":["Cedar Group"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-028","language":"pt","script":"Latin","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"O cliente mencionou Clara Ibarra","known_identities":[],"targets":[{"id":"person","kind":"person","start":20,"end":32,"value":"Clara Ibarra","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Clara Ibarra"]},"customers":{"required_absent":["Clara Ibarra"],"required_present":[]},"all":{"required_absent":["Clara Ibarra"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-028","language":"pt","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Organização pública Cedar Project","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":36,"value":"Cedar Project","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Cedar Project"]},"customers":{"required_absent":[],"required_present":["Cedar Project"]},"all":{"required_absent":[],"required_present":["Cedar Project"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-029","language":"pt","script":"Latin","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_29\":\"O cliente mencionou Clara Jensen\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":47,"value":"Clara Jensen","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Clara Jensen"]},"customers":{"required_absent":["Clara Jensen"],"required_present":[]},"all":{"required_absent":["Clara Jensen"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-029","language":"pt","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_29\":\"Organização pública Cedar Press\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":38,"end":49,"value":"Cedar Press","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Cedar Press"]},"customers":{"required_absent":[],"required_present":["Cedar Press"]},"all":{"required_absent":[],"required_present":["Cedar Press"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-030","language":"pt","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_30: O cliente mencionou Diego Arden","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":43,"value":"Diego Arden","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Diego Arden"]},"customers":{"required_absent":["Diego Arden"],"required_present":[]},"all":{"required_absent":["Diego Arden"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-030","language":"pt","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_30: Organização pública Delta Labs","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":45,"value":"Delta Labs","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Delta Labs"]},"customers":{"required_absent":[],"required_present":["Delta Labs"]},"all":{"required_absent":[],"required_present":["Delta Labs"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-031","language":"pt","script":"Latin","shape":"shell","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_31='O cliente mencionou Diego Borel'","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":43,"value":"Diego Borel","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Diego Borel"]},"customers":{"required_absent":["Diego Borel"],"required_present":[]},"all":{"required_absent":["Diego Borel"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-031","language":"pt","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_31='Organização pública Delta Works'","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":46,"value":"Delta Works","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Delta Works"]},"customers":{"required_absent":[],"required_present":["Delta Works"]},"all":{"required_absent":[],"required_present":["Delta Works"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-032","language":"pt","script":"Latin","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/32 ; O cliente mencionou Diego Costa","known_identities":[],"targets":[{"id":"person","kind":"person","start":53,"end":64,"value":"Diego Costa","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Diego Costa"]},"customers":{"required_absent":["Diego Costa"],"required_present":[]},"all":{"required_absent":["Diego Costa"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-032","language":"pt","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/32 ; Organização pública Delta Studio","known_identities":[],"targets":[{"id":"person","kind":"person","start":56,"end":68,"value":"Delta Studio","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Delta Studio"]},"customers":{"required_absent":[],"required_present":["Delta Studio"]},"all":{"required_absent":[],"required_present":["Delta Studio"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-033","language":"pt","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"**O cliente mencionou Diego Durand**","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":34,"value":"Diego Durand","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Diego Durand"]},"customers":{"required_absent":["Diego Durand"],"required_present":[]},"all":{"required_absent":["Diego Durand"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-033","language":"pt","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"**Organização pública Delta Systems**","known_identities":[],"targets":[{"id":"person","kind":"person","start":25,"end":38,"value":"Delta Systems","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Delta Systems"]},"customers":{"required_absent":[],"required_present":["Delta Systems"]},"all":{"required_absent":[],"required_present":["Delta Systems"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-034","language":"pt","script":"Latin","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eO cliente mencionou Diego Esteves\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":36,"value":"Diego Esteves","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Diego Esteves"]},"customers":{"required_absent":["Diego Esteves"],"required_present":[]},"all":{"required_absent":["Diego Esteves"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-034","language":"pt","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eOrganização pública Delta Collective\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":26,"end":42,"value":"Delta Collective","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Delta Collective"]},"customers":{"required_absent":[],"required_present":["Delta Collective"]},"all":{"required_absent":[],"required_present":["Delta Collective"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-035","language":"pt","script":"Latin","shape":"quoted-reply","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e O cliente mencionou Diego Fischer","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":35,"value":"Diego Fischer","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Diego Fischer"]},"customers":{"required_absent":["Diego Fischer"],"required_present":[]},"all":{"required_absent":["Diego Fischer"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-035","language":"pt","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e Organização pública Delta Foundation","known_identities":[],"targets":[{"id":"person","kind":"person","start":25,"end":41,"value":"Delta Foundation","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Delta Foundation"]},"customers":{"required_absent":[],"required_present":["Delta Foundation"]},"all":{"required_absent":[],"required_present":["Delta Foundation"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-036","language":"pt","script":"Latin","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=36 message=\"O cliente mencionou \" value=Diego Garcia","known_identities":[],"targets":[{"id":"person","kind":"person","start":58,"end":70,"value":"Diego Garcia","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Diego Garcia"]},"customers":{"required_absent":["Diego Garcia"],"required_present":[]},"all":{"required_absent":["Diego Garcia"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-036","language":"pt","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=36 message=\"Organização pública \" value=Delta Network","known_identities":[],"targets":[{"id":"person","kind":"person","start":61,"end":74,"value":"Delta Network","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Delta Network"]},"customers":{"required_absent":[],"required_present":["Delta Network"]},"all":{"required_absent":[],"required_present":["Delta Network"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-037","language":"pt","script":"Latin","shape":"stack-trace","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[37]: O cliente mencionou Diego Holm","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":41,"value":"Diego Holm","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Diego Holm"]},"customers":{"required_absent":["Diego Holm"],"required_present":[]},"all":{"required_absent":["Diego Holm"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-037","language":"pt","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[37]: Organização pública Delta Group","known_identities":[],"targets":[{"id":"person","kind":"person","start":34,"end":45,"value":"Delta Group","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Delta Group"]},"customers":{"required_absent":[],"required_present":["Delta Group"]},"all":{"required_absent":[],"required_present":["Delta Group"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-038","language":"pt","script":"Latin","shape":"code","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_38 := `O cliente mencionou Diego Ibarra`","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":47,"value":"Diego Ibarra","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Diego Ibarra"]},"customers":{"required_absent":["Diego Ibarra"],"required_present":[]},"all":{"required_absent":["Diego Ibarra"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-038","language":"pt","script":"Latin","shape":"code","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_38 := `Organização pública Delta Project`","known_identities":[],"targets":[{"id":"person","kind":"person","start":38,"end":51,"value":"Delta Project","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Delta Project"]},"customers":{"required_absent":[],"required_present":["Delta Project"]},"all":{"required_absent":[],"required_present":["Delta Project"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-039","language":"pt","script":"Latin","shape":"signature","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--\nO cliente mencionou Diego Jensen","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":35,"value":"Diego Jensen","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Diego Jensen"]},"customers":{"required_absent":["Diego Jensen"],"required_present":[]},"all":{"required_absent":["Diego Jensen"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-039","language":"pt","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--\nOrganização pública Delta Press","known_identities":[],"targets":[{"id":"person","kind":"person","start":26,"end":37,"value":"Delta Press","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Delta Press"]},"customers":{"required_absent":[],"required_present":["Delta Press"]},"all":{"required_absent":[],"required_present":["Delta Press"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-040","language":"pt","script":"Latin","shape":"long-thread","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. O cliente mencionou Elena Arden","known_identities":[],"targets":[{"id":"person","kind":"person","start":500,"end":511,"value":"Elena Arden","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Elena Arden"]},"customers":{"required_absent":["Elena Arden"],"required_present":[]},"all":{"required_absent":["Elena Arden"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-040","language":"pt","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Organização pública Ember Labs","known_identities":[],"targets":[{"id":"person","kind":"person","start":503,"end":513,"value":"Ember Labs","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ember Labs"]},"customers":{"required_absent":[],"required_present":["Ember Labs"]},"all":{"required_absent":[],"required_present":["Ember Labs"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-041","language":"pt","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=41 --message=\"O cliente mencionou \" --value=Elena Borel","known_identities":[],"targets":[{"id":"person","kind":"person","start":53,"end":64,"value":"Elena Borel","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Elena Borel"]},"customers":{"required_absent":["Elena Borel"],"required_present":[]},"all":{"required_absent":["Elena Borel"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-041","language":"pt","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=41 --message=\"Organização pública \" --value=Ember Works","known_identities":[],"targets":[{"id":"person","kind":"person","start":56,"end":67,"value":"Ember Works","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ember Works"]},"customers":{"required_absent":[],"required_present":["Ember Works"]},"all":{"required_absent":[],"required_present":["Ember Works"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-042","language":"pt","script":"Latin","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"O cliente mencionou Elena Costa","known_identities":[],"targets":[{"id":"person","kind":"person","start":20,"end":31,"value":"Elena Costa","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Elena Costa"]},"customers":{"required_absent":["Elena Costa"],"required_present":[]},"all":{"required_absent":["Elena Costa"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-042","language":"pt","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Organização pública Ember Studio","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":35,"value":"Ember Studio","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ember Studio"]},"customers":{"required_absent":[],"required_present":["Ember Studio"]},"all":{"required_absent":[],"required_present":["Ember Studio"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-043","language":"pt","script":"Latin","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_43\":\"O cliente mencionou Elena Durand\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":47,"value":"Elena Durand","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Elena Durand"]},"customers":{"required_absent":["Elena Durand"],"required_present":[]},"all":{"required_absent":["Elena Durand"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-043","language":"pt","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_43\":\"Organização pública Ember Systems\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":38,"end":51,"value":"Ember Systems","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ember Systems"]},"customers":{"required_absent":[],"required_present":["Ember Systems"]},"all":{"required_absent":[],"required_present":["Ember Systems"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-044","language":"pt","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_44: O cliente mencionou Elena Esteves","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":45,"value":"Elena Esteves","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Elena Esteves"]},"customers":{"required_absent":["Elena Esteves"],"required_present":[]},"all":{"required_absent":["Elena Esteves"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-044","language":"pt","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_44: Organização pública Ember Collective","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":51,"value":"Ember Collective","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ember Collective"]},"customers":{"required_absent":[],"required_present":["Ember Collective"]},"all":{"required_absent":[],"required_present":["Ember Collective"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-045","language":"pt","script":"Latin","shape":"shell","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_45='O cliente mencionou Elena Fischer'","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":45,"value":"Elena Fischer","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Elena Fischer"]},"customers":{"required_absent":["Elena Fischer"],"required_present":[]},"all":{"required_absent":["Elena Fischer"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-045","language":"pt","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_45='Organização pública Ember Foundation'","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":51,"value":"Ember Foundation","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ember Foundation"]},"customers":{"required_absent":[],"required_present":["Ember Foundation"]},"all":{"required_absent":[],"required_present":["Ember Foundation"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-046","language":"pt","script":"Latin","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/46 ; O cliente mencionou Elena Garcia","known_identities":[],"targets":[{"id":"person","kind":"person","start":53,"end":65,"value":"Elena Garcia","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Elena Garcia"]},"customers":{"required_absent":["Elena Garcia"],"required_present":[]},"all":{"required_absent":["Elena Garcia"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-046","language":"pt","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/46 ; Organização pública Ember Network","known_identities":[],"targets":[{"id":"person","kind":"person","start":56,"end":69,"value":"Ember Network","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ember Network"]},"customers":{"required_absent":[],"required_present":["Ember Network"]},"all":{"required_absent":[],"required_present":["Ember Network"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-047","language":"pt","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"**O cliente mencionou Elena Holm**","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":32,"value":"Elena Holm","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Elena Holm"]},"customers":{"required_absent":["Elena Holm"],"required_present":[]},"all":{"required_absent":["Elena Holm"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-047","language":"pt","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"**Organização pública Ember Group**","known_identities":[],"targets":[{"id":"person","kind":"person","start":25,"end":36,"value":"Ember Group","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ember Group"]},"customers":{"required_absent":[],"required_present":["Ember Group"]},"all":{"required_absent":[],"required_present":["Ember Group"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-048","language":"pt","script":"Latin","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eO cliente mencionou Elena Ibarra\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":35,"value":"Elena Ibarra","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Elena Ibarra"]},"customers":{"required_absent":["Elena Ibarra"],"required_present":[]},"all":{"required_absent":["Elena Ibarra"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-048","language":"pt","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eOrganização pública Ember Project\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":26,"end":39,"value":"Ember Project","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ember Project"]},"customers":{"required_absent":[],"required_present":["Ember Project"]},"all":{"required_absent":[],"required_present":["Ember Project"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-049","language":"pt","script":"Latin","shape":"quoted-reply","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e O cliente mencionou Elena Jensen","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":34,"value":"Elena Jensen","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Elena Jensen"]},"customers":{"required_absent":["Elena Jensen"],"required_present":[]},"all":{"required_absent":["Elena Jensen"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-049","language":"pt","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e Organização pública Ember Press","known_identities":[],"targets":[{"id":"person","kind":"person","start":25,"end":36,"value":"Ember Press","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ember Press"]},"customers":{"required_absent":[],"required_present":["Ember Press"]},"all":{"required_absent":[],"required_present":["Ember Press"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-050","language":"pt","script":"Latin","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=50 message=\"O cliente mencionou \" value=Farid Arden","known_identities":[],"targets":[{"id":"person","kind":"person","start":58,"end":69,"value":"Farid Arden","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Farid Arden"]},"customers":{"required_absent":["Farid Arden"],"required_present":[]},"all":{"required_absent":["Farid Arden"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-050","language":"pt","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=50 message=\"Organização pública \" value=Flora Labs","known_identities":[],"targets":[{"id":"person","kind":"person","start":61,"end":71,"value":"Flora Labs","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Flora Labs"]},"customers":{"required_absent":[],"required_present":["Flora Labs"]},"all":{"required_absent":[],"required_present":["Flora Labs"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-051","language":"pt","script":"Latin","shape":"stack-trace","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[51]: O cliente mencionou Farid Borel","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":42,"value":"Farid Borel","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Farid Borel"]},"customers":{"required_absent":["Farid Borel"],"required_present":[]},"all":{"required_absent":["Farid Borel"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-051","language":"pt","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[51]: Organização pública Flora Works","known_identities":[],"targets":[{"id":"person","kind":"person","start":34,"end":45,"value":"Flora Works","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Flora Works"]},"customers":{"required_absent":[],"required_present":["Flora Works"]},"all":{"required_absent":[],"required_present":["Flora Works"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-052","language":"pt","script":"Latin","shape":"code","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_52 := `O cliente mencionou Farid Costa`","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":46,"value":"Farid Costa","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Farid Costa"]},"customers":{"required_absent":["Farid Costa"],"required_present":[]},"all":{"required_absent":["Farid Costa"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-052","language":"pt","script":"Latin","shape":"code","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_52 := `Organização pública Flora Studio`","known_identities":[],"targets":[{"id":"person","kind":"person","start":38,"end":50,"value":"Flora Studio","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Flora Studio"]},"customers":{"required_absent":[],"required_present":["Flora Studio"]},"all":{"required_absent":[],"required_present":["Flora Studio"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-053","language":"pt","script":"Latin","shape":"signature","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--\nO cliente mencionou Farid Durand","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":35,"value":"Farid Durand","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Farid Durand"]},"customers":{"required_absent":["Farid Durand"],"required_present":[]},"all":{"required_absent":["Farid Durand"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-053","language":"pt","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--\nOrganização pública Flora Systems","known_identities":[],"targets":[{"id":"person","kind":"person","start":26,"end":39,"value":"Flora Systems","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Flora Systems"]},"customers":{"required_absent":[],"required_present":["Flora Systems"]},"all":{"required_absent":[],"required_present":["Flora Systems"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-054","language":"pt","script":"Latin","shape":"long-thread","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. O cliente mencionou Farid Esteves","known_identities":[],"targets":[{"id":"person","kind":"person","start":500,"end":513,"value":"Farid Esteves","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Farid Esteves"]},"customers":{"required_absent":["Farid Esteves"],"required_present":[]},"all":{"required_absent":["Farid Esteves"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-054","language":"pt","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Organização pública Flora Collective","known_identities":[],"targets":[{"id":"person","kind":"person","start":503,"end":519,"value":"Flora Collective","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Flora Collective"]},"customers":{"required_absent":[],"required_present":["Flora Collective"]},"all":{"required_absent":[],"required_present":["Flora Collective"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-055","language":"pt","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=55 --message=\"O cliente mencionou \" --value=Farid Fischer","known_identities":[],"targets":[{"id":"person","kind":"person","start":53,"end":66,"value":"Farid Fischer","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Farid Fischer"]},"customers":{"required_absent":["Farid Fischer"],"required_present":[]},"all":{"required_absent":["Farid Fischer"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-055","language":"pt","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=55 --message=\"Organização pública \" --value=Flora Foundation","known_identities":[],"targets":[{"id":"person","kind":"person","start":56,"end":72,"value":"Flora Foundation","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Flora Foundation"]},"customers":{"required_absent":[],"required_present":["Flora Foundation"]},"all":{"required_absent":[],"required_present":["Flora Foundation"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-056","language":"pt","script":"Latin","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"O cliente mencionou Farid Garcia","known_identities":[],"targets":[{"id":"person","kind":"person","start":20,"end":32,"value":"Farid Garcia","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Farid Garcia"]},"customers":{"required_absent":["Farid Garcia"],"required_present":[]},"all":{"required_absent":["Farid Garcia"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-056","language":"pt","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Organização pública Flora Network","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":36,"value":"Flora Network","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Flora Network"]},"customers":{"required_absent":[],"required_present":["Flora Network"]},"all":{"required_absent":[],"required_present":["Flora Network"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-057","language":"pt","script":"Latin","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_57\":\"O cliente mencionou Farid Holm\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":45,"value":"Farid Holm","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Farid Holm"]},"customers":{"required_absent":["Farid Holm"],"required_present":[]},"all":{"required_absent":["Farid Holm"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-057","language":"pt","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_57\":\"Organização pública Flora Group\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":38,"end":49,"value":"Flora Group","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Flora Group"]},"customers":{"required_absent":[],"required_present":["Flora Group"]},"all":{"required_absent":[],"required_present":["Flora Group"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-058","language":"pt","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_58: O cliente mencionou Farid Ibarra","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":44,"value":"Farid Ibarra","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Farid Ibarra"]},"customers":{"required_absent":["Farid Ibarra"],"required_present":[]},"all":{"required_absent":["Farid Ibarra"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-058","language":"pt","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_58: Organização pública Flora Project","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":48,"value":"Flora Project","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Flora Project"]},"customers":{"required_absent":[],"required_present":["Flora Project"]},"all":{"required_absent":[],"required_present":["Flora Project"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-059","language":"pt","script":"Latin","shape":"shell","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_59='O cliente mencionou Farid Jensen'","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":44,"value":"Farid Jensen","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Farid Jensen"]},"customers":{"required_absent":["Farid Jensen"],"required_present":[]},"all":{"required_absent":["Farid Jensen"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-059","language":"pt","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_59='Organização pública Flora Press'","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":46,"value":"Flora Press","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Flora Press"]},"customers":{"required_absent":[],"required_present":["Flora Press"]},"all":{"required_absent":[],"required_present":["Flora Press"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-060","language":"pt","script":"Latin","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/60 ; O cliente mencionou Greta Arden","known_identities":[],"targets":[{"id":"person","kind":"person","start":53,"end":64,"value":"Greta Arden","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Greta Arden"]},"customers":{"required_absent":["Greta Arden"],"required_present":[]},"all":{"required_absent":["Greta Arden"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-060","language":"pt","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/60 ; Organização pública Gaia Labs","known_identities":[],"targets":[{"id":"person","kind":"person","start":56,"end":65,"value":"Gaia Labs","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Gaia Labs"]},"customers":{"required_absent":[],"required_present":["Gaia Labs"]},"all":{"required_absent":[],"required_present":["Gaia Labs"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-061","language":"pt","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"**O cliente mencionou Greta Borel**","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":33,"value":"Greta Borel","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Greta Borel"]},"customers":{"required_absent":["Greta Borel"],"required_present":[]},"all":{"required_absent":["Greta Borel"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-061","language":"pt","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"**Organização pública Gaia Works**","known_identities":[],"targets":[{"id":"person","kind":"person","start":25,"end":35,"value":"Gaia Works","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Gaia Works"]},"customers":{"required_absent":[],"required_present":["Gaia Works"]},"all":{"required_absent":[],"required_present":["Gaia Works"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-062","language":"pt","script":"Latin","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eO cliente mencionou Greta Costa\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":34,"value":"Greta Costa","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Greta Costa"]},"customers":{"required_absent":["Greta Costa"],"required_present":[]},"all":{"required_absent":["Greta Costa"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-062","language":"pt","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eOrganização pública Gaia Studio\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":26,"end":37,"value":"Gaia Studio","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Gaia Studio"]},"customers":{"required_absent":[],"required_present":["Gaia Studio"]},"all":{"required_absent":[],"required_present":["Gaia Studio"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-063","language":"pt","script":"Latin","shape":"quoted-reply","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e O cliente mencionou Greta Durand","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":34,"value":"Greta Durand","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Greta Durand"]},"customers":{"required_absent":["Greta Durand"],"required_present":[]},"all":{"required_absent":["Greta Durand"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-063","language":"pt","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e Organização pública Gaia Systems","known_identities":[],"targets":[{"id":"person","kind":"person","start":25,"end":37,"value":"Gaia Systems","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Gaia Systems"]},"customers":{"required_absent":[],"required_present":["Gaia Systems"]},"all":{"required_absent":[],"required_present":["Gaia Systems"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-064","language":"pt","script":"Latin","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=64 message=\"O cliente mencionou \" value=Greta Esteves","known_identities":[],"targets":[{"id":"person","kind":"person","start":58,"end":71,"value":"Greta Esteves","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Greta Esteves"]},"customers":{"required_absent":["Greta Esteves"],"required_present":[]},"all":{"required_absent":["Greta Esteves"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-064","language":"pt","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=64 message=\"Organização pública \" value=Gaia Collective","known_identities":[],"targets":[{"id":"person","kind":"person","start":61,"end":76,"value":"Gaia Collective","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Gaia Collective"]},"customers":{"required_absent":[],"required_present":["Gaia Collective"]},"all":{"required_absent":[],"required_present":["Gaia Collective"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-065","language":"pt","script":"Latin","shape":"stack-trace","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[65]: O cliente mencionou Greta Fischer","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":44,"value":"Greta Fischer","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Greta Fischer"]},"customers":{"required_absent":["Greta Fischer"],"required_present":[]},"all":{"required_absent":["Greta Fischer"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-065","language":"pt","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[65]: Organização pública Gaia Foundation","known_identities":[],"targets":[{"id":"person","kind":"person","start":34,"end":49,"value":"Gaia Foundation","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Gaia Foundation"]},"customers":{"required_absent":[],"required_present":["Gaia Foundation"]},"all":{"required_absent":[],"required_present":["Gaia Foundation"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-066","language":"pt","script":"Latin","shape":"code","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_66 := `O cliente mencionou Greta Garcia`","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":47,"value":"Greta Garcia","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Greta Garcia"]},"customers":{"required_absent":["Greta Garcia"],"required_present":[]},"all":{"required_absent":["Greta Garcia"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-066","language":"pt","script":"Latin","shape":"code","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_66 := `Organização pública Gaia Network`","known_identities":[],"targets":[{"id":"person","kind":"person","start":38,"end":50,"value":"Gaia Network","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Gaia Network"]},"customers":{"required_absent":[],"required_present":["Gaia Network"]},"all":{"required_absent":[],"required_present":["Gaia Network"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-067","language":"pt","script":"Latin","shape":"signature","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--\nO cliente mencionou Greta Holm","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":33,"value":"Greta Holm","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Greta Holm"]},"customers":{"required_absent":["Greta Holm"],"required_present":[]},"all":{"required_absent":["Greta Holm"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-067","language":"pt","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--\nOrganização pública Gaia Group","known_identities":[],"targets":[{"id":"person","kind":"person","start":26,"end":36,"value":"Gaia Group","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Gaia Group"]},"customers":{"required_absent":[],"required_present":["Gaia Group"]},"all":{"required_absent":[],"required_present":["Gaia Group"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-068","language":"pt","script":"Latin","shape":"long-thread","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. O cliente mencionou Greta Ibarra","known_identities":[],"targets":[{"id":"person","kind":"person","start":500,"end":512,"value":"Greta Ibarra","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Greta Ibarra"]},"customers":{"required_absent":["Greta Ibarra"],"required_present":[]},"all":{"required_absent":["Greta Ibarra"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-068","language":"pt","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Organização pública Gaia Project","known_identities":[],"targets":[{"id":"person","kind":"person","start":503,"end":515,"value":"Gaia Project","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Gaia Project"]},"customers":{"required_absent":[],"required_present":["Gaia Project"]},"all":{"required_absent":[],"required_present":["Gaia Project"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-069","language":"pt","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=69 --message=\"O cliente mencionou \" --value=Greta Jensen","known_identities":[],"targets":[{"id":"person","kind":"person","start":53,"end":65,"value":"Greta Jensen","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Greta Jensen"]},"customers":{"required_absent":["Greta Jensen"],"required_present":[]},"all":{"required_absent":["Greta Jensen"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-069","language":"pt","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=69 --message=\"Organização pública \" --value=Gaia Press","known_identities":[],"targets":[{"id":"person","kind":"person","start":56,"end":66,"value":"Gaia Press","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Gaia Press"]},"customers":{"required_absent":[],"required_present":["Gaia Press"]},"all":{"required_absent":[],"required_present":["Gaia Press"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-070","language":"pt","script":"Latin","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"O cliente mencionou Hugo Arden","known_identities":[],"targets":[{"id":"person","kind":"person","start":20,"end":30,"value":"Hugo Arden","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Hugo Arden"]},"customers":{"required_absent":["Hugo Arden"],"required_present":[]},"all":{"required_absent":["Hugo Arden"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-070","language":"pt","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Organização pública Helios Labs","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":34,"value":"Helios Labs","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Helios Labs"]},"customers":{"required_absent":[],"required_present":["Helios Labs"]},"all":{"required_absent":[],"required_present":["Helios Labs"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-071","language":"pt","script":"Latin","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_71\":\"O cliente mencionou Hugo Borel\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":45,"value":"Hugo Borel","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Hugo Borel"]},"customers":{"required_absent":["Hugo Borel"],"required_present":[]},"all":{"required_absent":["Hugo Borel"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-071","language":"pt","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_71\":\"Organização pública Helios Works\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":38,"end":50,"value":"Helios Works","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Helios Works"]},"customers":{"required_absent":[],"required_present":["Helios Works"]},"all":{"required_absent":[],"required_present":["Helios Works"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-072","language":"pt","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_72: O cliente mencionou Hugo Costa","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":42,"value":"Hugo Costa","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Hugo Costa"]},"customers":{"required_absent":["Hugo Costa"],"required_present":[]},"all":{"required_absent":["Hugo Costa"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-072","language":"pt","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_72: Organização pública Helios Studio","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":48,"value":"Helios Studio","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Helios Studio"]},"customers":{"required_absent":[],"required_present":["Helios Studio"]},"all":{"required_absent":[],"required_present":["Helios Studio"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-073","language":"pt","script":"Latin","shape":"shell","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_73='O cliente mencionou Hugo Durand'","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":43,"value":"Hugo Durand","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Hugo Durand"]},"customers":{"required_absent":["Hugo Durand"],"required_present":[]},"all":{"required_absent":["Hugo Durand"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-073","language":"pt","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_73='Organização pública Helios Systems'","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":49,"value":"Helios Systems","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Helios Systems"]},"customers":{"required_absent":[],"required_present":["Helios Systems"]},"all":{"required_absent":[],"required_present":["Helios Systems"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-074","language":"pt","script":"Latin","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/74 ; O cliente mencionou Hugo Esteves","known_identities":[],"targets":[{"id":"person","kind":"person","start":53,"end":65,"value":"Hugo Esteves","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Hugo Esteves"]},"customers":{"required_absent":["Hugo Esteves"],"required_present":[]},"all":{"required_absent":["Hugo Esteves"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-074","language":"pt","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/74 ; Organização pública Helios Collective","known_identities":[],"targets":[{"id":"person","kind":"person","start":56,"end":73,"value":"Helios Collective","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Helios Collective"]},"customers":{"required_absent":[],"required_present":["Helios Collective"]},"all":{"required_absent":[],"required_present":["Helios Collective"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-075","language":"pt","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"**O cliente mencionou Hugo Fischer**","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":34,"value":"Hugo Fischer","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Hugo Fischer"]},"customers":{"required_absent":["Hugo Fischer"],"required_present":[]},"all":{"required_absent":["Hugo Fischer"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-075","language":"pt","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"**Organização pública Helios Foundation**","known_identities":[],"targets":[{"id":"person","kind":"person","start":25,"end":42,"value":"Helios Foundation","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Helios Foundation"]},"customers":{"required_absent":[],"required_present":["Helios Foundation"]},"all":{"required_absent":[],"required_present":["Helios Foundation"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-076","language":"pt","script":"Latin","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eO cliente mencionou Hugo Garcia\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":34,"value":"Hugo Garcia","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Hugo Garcia"]},"customers":{"required_absent":["Hugo Garcia"],"required_present":[]},"all":{"required_absent":["Hugo Garcia"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-076","language":"pt","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eOrganização pública Helios Network\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":26,"end":40,"value":"Helios Network","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Helios Network"]},"customers":{"required_absent":[],"required_present":["Helios Network"]},"all":{"required_absent":[],"required_present":["Helios Network"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-077","language":"pt","script":"Latin","shape":"quoted-reply","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e O cliente mencionou Hugo Holm","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":31,"value":"Hugo Holm","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Hugo Holm"]},"customers":{"required_absent":["Hugo Holm"],"required_present":[]},"all":{"required_absent":["Hugo Holm"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-077","language":"pt","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e Organização pública Helios Group","known_identities":[],"targets":[{"id":"person","kind":"person","start":25,"end":37,"value":"Helios Group","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Helios Group"]},"customers":{"required_absent":[],"required_present":["Helios Group"]},"all":{"required_absent":[],"required_present":["Helios Group"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-078","language":"pt","script":"Latin","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=78 message=\"O cliente mencionou \" value=Hugo Ibarra","known_identities":[],"targets":[{"id":"person","kind":"person","start":58,"end":69,"value":"Hugo Ibarra","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Hugo Ibarra"]},"customers":{"required_absent":["Hugo Ibarra"],"required_present":[]},"all":{"required_absent":["Hugo Ibarra"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-078","language":"pt","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=78 message=\"Organização pública \" value=Helios Project","known_identities":[],"targets":[{"id":"person","kind":"person","start":61,"end":75,"value":"Helios Project","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Helios Project"]},"customers":{"required_absent":[],"required_present":["Helios Project"]},"all":{"required_absent":[],"required_present":["Helios Project"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-079","language":"pt","script":"Latin","shape":"stack-trace","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[79]: O cliente mencionou Hugo Jensen","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":42,"value":"Hugo Jensen","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Hugo Jensen"]},"customers":{"required_absent":["Hugo Jensen"],"required_present":[]},"all":{"required_absent":["Hugo Jensen"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-079","language":"pt","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[79]: Organização pública Helios Press","known_identities":[],"targets":[{"id":"person","kind":"person","start":34,"end":46,"value":"Helios Press","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Helios Press"]},"customers":{"required_absent":[],"required_present":["Helios Press"]},"all":{"required_absent":[],"required_present":["Helios Press"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-080","language":"pt","script":"Latin","shape":"code","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_80 := `O cliente mencionou Ines Arden`","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":45,"value":"Ines Arden","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ines Arden"]},"customers":{"required_absent":["Ines Arden"],"required_present":[]},"all":{"required_absent":["Ines Arden"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-080","language":"pt","script":"Latin","shape":"code","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_80 := `Organização pública Ion Labs`","known_identities":[],"targets":[{"id":"person","kind":"person","start":38,"end":46,"value":"Ion Labs","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ion Labs"]},"customers":{"required_absent":[],"required_present":["Ion Labs"]},"all":{"required_absent":[],"required_present":["Ion Labs"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-081","language":"pt","script":"Latin","shape":"signature","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--\nO cliente mencionou Ines Borel","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":33,"value":"Ines Borel","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ines Borel"]},"customers":{"required_absent":["Ines Borel"],"required_present":[]},"all":{"required_absent":["Ines Borel"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-081","language":"pt","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--\nOrganização pública Ion Works","known_identities":[],"targets":[{"id":"person","kind":"person","start":26,"end":35,"value":"Ion Works","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ion Works"]},"customers":{"required_absent":[],"required_present":["Ion Works"]},"all":{"required_absent":[],"required_present":["Ion Works"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-082","language":"pt","script":"Latin","shape":"long-thread","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. O cliente mencionou Ines Costa","known_identities":[],"targets":[{"id":"person","kind":"person","start":500,"end":510,"value":"Ines Costa","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ines Costa"]},"customers":{"required_absent":["Ines Costa"],"required_present":[]},"all":{"required_absent":["Ines Costa"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-082","language":"pt","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Organização pública Ion Studio","known_identities":[],"targets":[{"id":"person","kind":"person","start":503,"end":513,"value":"Ion Studio","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ion Studio"]},"customers":{"required_absent":[],"required_present":["Ion Studio"]},"all":{"required_absent":[],"required_present":["Ion Studio"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-083","language":"pt","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=83 --message=\"O cliente mencionou \" --value=Ines Durand","known_identities":[],"targets":[{"id":"person","kind":"person","start":53,"end":64,"value":"Ines Durand","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ines Durand"]},"customers":{"required_absent":["Ines Durand"],"required_present":[]},"all":{"required_absent":["Ines Durand"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-083","language":"pt","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=83 --message=\"Organização pública \" --value=Ion Systems","known_identities":[],"targets":[{"id":"person","kind":"person","start":56,"end":67,"value":"Ion Systems","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ion Systems"]},"customers":{"required_absent":[],"required_present":["Ion Systems"]},"all":{"required_absent":[],"required_present":["Ion Systems"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-084","language":"pt","script":"Latin","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"O cliente mencionou Ines Esteves","known_identities":[],"targets":[{"id":"person","kind":"person","start":20,"end":32,"value":"Ines Esteves","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ines Esteves"]},"customers":{"required_absent":["Ines Esteves"],"required_present":[]},"all":{"required_absent":["Ines Esteves"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-084","language":"pt","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Organização pública Ion Collective","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":37,"value":"Ion Collective","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ion Collective"]},"customers":{"required_absent":[],"required_present":["Ion Collective"]},"all":{"required_absent":[],"required_present":["Ion Collective"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-085","language":"pt","script":"Latin","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_85\":\"O cliente mencionou Ines Fischer\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":47,"value":"Ines Fischer","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ines Fischer"]},"customers":{"required_absent":["Ines Fischer"],"required_present":[]},"all":{"required_absent":["Ines Fischer"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-085","language":"pt","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_85\":\"Organização pública Ion Foundation\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":38,"end":52,"value":"Ion Foundation","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ion Foundation"]},"customers":{"required_absent":[],"required_present":["Ion Foundation"]},"all":{"required_absent":[],"required_present":["Ion Foundation"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-086","language":"pt","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_86: O cliente mencionou Ines Garcia","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":43,"value":"Ines Garcia","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ines Garcia"]},"customers":{"required_absent":["Ines Garcia"],"required_present":[]},"all":{"required_absent":["Ines Garcia"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-086","language":"pt","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_86: Organização pública Ion Network","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":46,"value":"Ion Network","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ion Network"]},"customers":{"required_absent":[],"required_present":["Ion Network"]},"all":{"required_absent":[],"required_present":["Ion Network"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-087","language":"pt","script":"Latin","shape":"shell","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_87='O cliente mencionou Ines Holm'","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":41,"value":"Ines Holm","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ines Holm"]},"customers":{"required_absent":["Ines Holm"],"required_present":[]},"all":{"required_absent":["Ines Holm"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-087","language":"pt","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_87='Organização pública Ion Group'","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":44,"value":"Ion Group","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ion Group"]},"customers":{"required_absent":[],"required_present":["Ion Group"]},"all":{"required_absent":[],"required_present":["Ion Group"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-088","language":"pt","script":"Latin","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/88 ; O cliente mencionou Ines Ibarra","known_identities":[],"targets":[{"id":"person","kind":"person","start":53,"end":64,"value":"Ines Ibarra","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ines Ibarra"]},"customers":{"required_absent":["Ines Ibarra"],"required_present":[]},"all":{"required_absent":["Ines Ibarra"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-088","language":"pt","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/88 ; Organização pública Ion Project","known_identities":[],"targets":[{"id":"person","kind":"person","start":56,"end":67,"value":"Ion Project","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ion Project"]},"customers":{"required_absent":[],"required_present":["Ion Project"]},"all":{"required_absent":[],"required_present":["Ion Project"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-089","language":"pt","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"**O cliente mencionou Ines Jensen**","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":33,"value":"Ines Jensen","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ines Jensen"]},"customers":{"required_absent":["Ines Jensen"],"required_present":[]},"all":{"required_absent":["Ines Jensen"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-089","language":"pt","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"**Organização pública Ion Press**","known_identities":[],"targets":[{"id":"person","kind":"person","start":25,"end":34,"value":"Ion Press","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ion Press"]},"customers":{"required_absent":[],"required_present":["Ion Press"]},"all":{"required_absent":[],"required_present":["Ion Press"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-090","language":"pt","script":"Latin","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eO cliente mencionou Jonas Arden\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":34,"value":"Jonas Arden","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Jonas Arden"]},"customers":{"required_absent":["Jonas Arden"],"required_present":[]},"all":{"required_absent":["Jonas Arden"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-090","language":"pt","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eOrganização pública Juniper Labs\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":26,"end":38,"value":"Juniper Labs","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Juniper Labs"]},"customers":{"required_absent":[],"required_present":["Juniper Labs"]},"all":{"required_absent":[],"required_present":["Juniper Labs"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-091","language":"pt","script":"Latin","shape":"quoted-reply","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e O cliente mencionou Jonas Borel","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":33,"value":"Jonas Borel","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Jonas Borel"]},"customers":{"required_absent":["Jonas Borel"],"required_present":[]},"all":{"required_absent":["Jonas Borel"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-091","language":"pt","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e Organização pública Juniper Works","known_identities":[],"targets":[{"id":"person","kind":"person","start":25,"end":38,"value":"Juniper Works","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Juniper Works"]},"customers":{"required_absent":[],"required_present":["Juniper Works"]},"all":{"required_absent":[],"required_present":["Juniper Works"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-092","language":"pt","script":"Latin","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=92 message=\"O cliente mencionou \" value=Jonas Costa","known_identities":[],"targets":[{"id":"person","kind":"person","start":58,"end":69,"value":"Jonas Costa","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Jonas Costa"]},"customers":{"required_absent":["Jonas Costa"],"required_present":[]},"all":{"required_absent":["Jonas Costa"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-092","language":"pt","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=92 message=\"Organização pública \" value=Juniper Studio","known_identities":[],"targets":[{"id":"person","kind":"person","start":61,"end":75,"value":"Juniper Studio","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Juniper Studio"]},"customers":{"required_absent":[],"required_present":["Juniper Studio"]},"all":{"required_absent":[],"required_present":["Juniper Studio"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-093","language":"pt","script":"Latin","shape":"stack-trace","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[93]: O cliente mencionou Jonas Durand","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":43,"value":"Jonas Durand","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Jonas Durand"]},"customers":{"required_absent":["Jonas Durand"],"required_present":[]},"all":{"required_absent":["Jonas Durand"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-093","language":"pt","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[93]: Organização pública Juniper Systems","known_identities":[],"targets":[{"id":"person","kind":"person","start":34,"end":49,"value":"Juniper Systems","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Juniper Systems"]},"customers":{"required_absent":[],"required_present":["Juniper Systems"]},"all":{"required_absent":[],"required_present":["Juniper Systems"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-094","language":"pt","script":"Latin","shape":"code","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_94 := `O cliente mencionou Jonas Esteves`","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":48,"value":"Jonas Esteves","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Jonas Esteves"]},"customers":{"required_absent":["Jonas Esteves"],"required_present":[]},"all":{"required_absent":["Jonas Esteves"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-094","language":"pt","script":"Latin","shape":"code","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_94 := `Organização pública Juniper Collective`","known_identities":[],"targets":[{"id":"person","kind":"person","start":38,"end":56,"value":"Juniper Collective","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Juniper Collective"]},"customers":{"required_absent":[],"required_present":["Juniper Collective"]},"all":{"required_absent":[],"required_present":["Juniper Collective"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-095","language":"pt","script":"Latin","shape":"signature","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--\nO cliente mencionou Jonas Fischer","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":36,"value":"Jonas Fischer","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Jonas Fischer"]},"customers":{"required_absent":["Jonas Fischer"],"required_present":[]},"all":{"required_absent":["Jonas Fischer"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-095","language":"pt","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--\nOrganização pública Juniper Foundation","known_identities":[],"targets":[{"id":"person","kind":"person","start":26,"end":44,"value":"Juniper Foundation","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Juniper Foundation"]},"customers":{"required_absent":[],"required_present":["Juniper Foundation"]},"all":{"required_absent":[],"required_present":["Juniper Foundation"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-096","language":"pt","script":"Latin","shape":"long-thread","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. O cliente mencionou Jonas Garcia","known_identities":[],"targets":[{"id":"person","kind":"person","start":500,"end":512,"value":"Jonas Garcia","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Jonas Garcia"]},"customers":{"required_absent":["Jonas Garcia"],"required_present":[]},"all":{"required_absent":["Jonas Garcia"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-096","language":"pt","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Organização pública Juniper Network","known_identities":[],"targets":[{"id":"person","kind":"person","start":503,"end":518,"value":"Juniper Network","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Juniper Network"]},"customers":{"required_absent":[],"required_present":["Juniper Network"]},"all":{"required_absent":[],"required_present":["Juniper Network"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-097","language":"pt","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=97 --message=\"O cliente mencionou \" --value=Jonas Holm","known_identities":[],"targets":[{"id":"person","kind":"person","start":53,"end":63,"value":"Jonas Holm","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Jonas Holm"]},"customers":{"required_absent":["Jonas Holm"],"required_present":[]},"all":{"required_absent":["Jonas Holm"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-097","language":"pt","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=97 --message=\"Organização pública \" --value=Juniper Group","known_identities":[],"targets":[{"id":"person","kind":"person","start":56,"end":69,"value":"Juniper Group","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Juniper Group"]},"customers":{"required_absent":[],"required_present":["Juniper Group"]},"all":{"required_absent":[],"required_present":["Juniper Group"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-098","language":"pt","script":"Latin","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"O cliente mencionou Jonas Ibarra","known_identities":[],"targets":[{"id":"person","kind":"person","start":20,"end":32,"value":"Jonas Ibarra","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Jonas Ibarra"]},"customers":{"required_absent":["Jonas Ibarra"],"required_present":[]},"all":{"required_absent":["Jonas Ibarra"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-098","language":"pt","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Organização pública Juniper Project","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":38,"value":"Juniper Project","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Juniper Project"]},"customers":{"required_absent":[],"required_present":["Juniper Project"]},"all":{"required_absent":[],"required_present":["Juniper Project"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-099","language":"pt","script":"Latin","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_99\":\"O cliente mencionou Jonas Jensen\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":47,"value":"Jonas Jensen","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Jonas Jensen"]},"customers":{"required_absent":["Jonas Jensen"],"required_present":[]},"all":{"required_absent":["Jonas Jensen"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-099","language":"pt","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_99\":\"Organização pública Juniper Press\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":38,"end":51,"value":"Juniper Press","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Juniper Press"]},"customers":{"required_absent":[],"required_present":["Juniper Press"]},"all":{"required_absent":[],"required_present":["Juniper Press"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-000","language":"ar","script":"Arabic","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"ذكر العميل أمين الحداد","known_identities":[],"targets":[{"id":"person","kind":"person","start":20,"end":41,"value":"أمين الحداد","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["أمين الحداد"]},"customers":{"required_absent":["أمين الحداد"],"required_present":[]},"all":{"required_absent":["أمين الحداد"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-000","language":"ar","script":"Arabic","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"المؤسسة العامة أطلس العامة","known_identities":[],"targets":[{"id":"person","kind":"person","start":28,"end":49,"value":"أطلس العامة","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["أطلس العامة"]},"customers":{"required_absent":[],"required_present":["أطلس العامة"]},"all":{"required_absent":[],"required_present":["أطلس العامة"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-001","language":"ar","script":"Arabic","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_1\":\"ذكر العميل أمين البكري\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":34,"end":55,"value":"أمين البكري","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["أمين البكري"]},"customers":{"required_absent":["أمين البكري"],"required_present":[]},"all":{"required_absent":["أمين البكري"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-001","language":"ar","script":"Arabic","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_1\":\"المؤسسة العامة أطلس للبحوث\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":63,"value":"أطلس للبحوث","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["أطلس للبحوث"]},"customers":{"required_absent":[],"required_present":["أطلس للبحوث"]},"all":{"required_absent":[],"required_present":["أطلس للبحوث"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-002","language":"ar","script":"Arabic","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_2: ذكر العميل أمين الجابر","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":52,"value":"أمين الجابر","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["أمين الجابر"]},"customers":{"required_absent":["أمين الجابر"],"required_present":[]},"all":{"required_absent":["أمين الجابر"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-002","language":"ar","script":"Arabic","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_2: المؤسسة العامة أطلس للنشر","known_identities":[],"targets":[{"id":"person","kind":"person","start":39,"end":58,"value":"أطلس للنشر","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["أطلس للنشر"]},"customers":{"required_absent":[],"required_present":["أطلس للنشر"]},"all":{"required_absent":[],"required_present":["أطلس للنشر"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-003","language":"ar","script":"Arabic","shape":"shell","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_3='ذكر العميل أمين الخطيب'","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":52,"value":"أمين الخطيب","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["أمين الخطيب"]},"customers":{"required_absent":["أمين الخطيب"],"required_present":[]},"all":{"required_absent":["أمين الخطيب"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-003","language":"ar","script":"Arabic","shape":"shell","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_3='المؤسسة العامة أطلس للعلوم'","known_identities":[],"targets":[{"id":"person","kind":"person","start":39,"end":60,"value":"أطلس للعلوم","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["أطلس للعلوم"]},"customers":{"required_absent":[],"required_present":["أطلس للعلوم"]},"all":{"required_absent":[],"required_present":["أطلس للعلوم"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-004","language":"ar","script":"Arabic","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/4 ; ذكر العميل أمين الدرويش","known_identities":[],"targets":[{"id":"person","kind":"person","start":52,"end":75,"value":"أمين الدرويش","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["أمين الدرويش"]},"customers":{"required_absent":["أمين الدرويش"],"required_present":[]},"all":{"required_absent":["أمين الدرويش"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-004","language":"ar","script":"Arabic","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/4 ; المؤسسة العامة أطلس للفنون","known_identities":[],"targets":[{"id":"person","kind":"person","start":60,"end":81,"value":"أطلس للفنون","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["أطلس للفنون"]},"customers":{"required_absent":[],"required_present":["أطلس للفنون"]},"all":{"required_absent":[],"required_present":["أطلس للفنون"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-005","language":"ar","script":"Arabic","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"**ذكر العميل أمين الراوي**","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":43,"value":"أمين الراوي","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["أمين الراوي"]},"customers":{"required_absent":["أمين الراوي"],"required_present":[]},"all":{"required_absent":["أمين الراوي"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-005","language":"ar","script":"Arabic","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"**المؤسسة العامة أطلس للتقنية**","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":53,"value":"أطلس للتقنية","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["أطلس للتقنية"]},"customers":{"required_absent":[],"required_present":["أطلس للتقنية"]},"all":{"required_absent":[],"required_present":["أطلس للتقنية"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-006","language":"ar","script":"Arabic","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eذكر العميل أمين السالم\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":44,"value":"أمين السالم","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["أمين السالم"]},"customers":{"required_absent":["أمين السالم"],"required_present":[]},"all":{"required_absent":["أمين السالم"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-006","language":"ar","script":"Arabic","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eالمؤسسة العامة أطلس للثقافة\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":54,"value":"أطلس للثقافة","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["أطلس للثقافة"]},"customers":{"required_absent":[],"required_present":["أطلس للثقافة"]},"all":{"required_absent":[],"required_present":["أطلس للثقافة"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-007","language":"ar","script":"Arabic","shape":"quoted-reply","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e ذكر العميل أمين الطائي","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":43,"value":"أمين الطائي","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["أمين الطائي"]},"customers":{"required_absent":["أمين الطائي"],"required_present":[]},"all":{"required_absent":["أمين الطائي"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-007","language":"ar","script":"Arabic","shape":"quoted-reply","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e المؤسسة العامة أطلس للتعليم","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":53,"value":"أطلس للتعليم","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["أطلس للتعليم"]},"customers":{"required_absent":[],"required_present":["أطلس للتعليم"]},"all":{"required_absent":[],"required_present":["أطلس للتعليم"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-008","language":"ar","script":"Arabic","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=8 message=\"ذكر العميل \" value=أمين العلي","known_identities":[],"targets":[{"id":"person","kind":"person","start":57,"end":76,"value":"أمين العلي","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["أمين العلي"]},"customers":{"required_absent":["أمين العلي"],"required_present":[]},"all":{"required_absent":["أمين العلي"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-008","language":"ar","script":"Arabic","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=8 message=\"المؤسسة العامة \" value=أطلس للبيئة","known_identities":[],"targets":[{"id":"person","kind":"person","start":65,"end":86,"value":"أطلس للبيئة","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["أطلس للبيئة"]},"customers":{"required_absent":[],"required_present":["أطلس للبيئة"]},"all":{"required_absent":[],"required_present":["أطلس للبيئة"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-009","language":"ar","script":"Arabic","shape":"stack-trace","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[9]: ذكر العميل أمين المصري","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":51,"value":"أمين المصري","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["أمين المصري"]},"customers":{"required_absent":["أمين المصري"],"required_present":[]},"all":{"required_absent":["أمين المصري"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-009","language":"ar","script":"Arabic","shape":"stack-trace","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[9]: المؤسسة العامة أطلس للتنمية","known_identities":[],"targets":[{"id":"person","kind":"person","start":38,"end":61,"value":"أطلس للتنمية","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["أطلس للتنمية"]},"customers":{"required_absent":[],"required_present":["أطلس للتنمية"]},"all":{"required_absent":[],"required_present":["أطلس للتنمية"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-010","language":"ar","script":"Arabic","shape":"code","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_10 := `ذكر العميل باسل الحداد`","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":56,"value":"باسل الحداد","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["باسل الحداد"]},"customers":{"required_absent":["باسل الحداد"],"required_present":[]},"all":{"required_absent":["باسل الحداد"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-010","language":"ar","script":"Arabic","shape":"code","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_10 := `المؤسسة العامة بستان العامة`","known_identities":[],"targets":[{"id":"person","kind":"person","start":43,"end":66,"value":"بستان العامة","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["بستان العامة"]},"customers":{"required_absent":[],"required_present":["بستان العامة"]},"all":{"required_absent":[],"required_present":["بستان العامة"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-011","language":"ar","script":"Arabic","shape":"signature","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--\nذكر العميل باسل البكري","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":44,"value":"باسل البكري","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["باسل البكري"]},"customers":{"required_absent":["باسل البكري"],"required_present":[]},"all":{"required_absent":["باسل البكري"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-011","language":"ar","script":"Arabic","shape":"signature","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--\nالمؤسسة العامة بستان للبحوث","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":54,"value":"بستان للبحوث","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["بستان للبحوث"]},"customers":{"required_absent":[],"required_present":["بستان للبحوث"]},"all":{"required_absent":[],"required_present":["بستان للبحوث"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-012","language":"ar","script":"Arabic","shape":"long-thread","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. ذكر العميل باسل الجابر","known_identities":[],"targets":[{"id":"person","kind":"person","start":500,"end":521,"value":"باسل الجابر","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["باسل الجابر"]},"customers":{"required_absent":["باسل الجابر"],"required_present":[]},"all":{"required_absent":["باسل الجابر"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-012","language":"ar","script":"Arabic","shape":"long-thread","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. المؤسسة العامة بستان للنشر","known_identities":[],"targets":[{"id":"person","kind":"person","start":508,"end":529,"value":"بستان للنشر","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["بستان للنشر"]},"customers":{"required_absent":[],"required_present":["بستان للنشر"]},"all":{"required_absent":[],"required_present":["بستان للنشر"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-013","language":"ar","script":"Arabic","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=13 --message=\"ذكر العميل \" --value=باسل الخطيب","known_identities":[],"targets":[{"id":"person","kind":"person","start":53,"end":74,"value":"باسل الخطيب","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["باسل الخطيب"]},"customers":{"required_absent":["باسل الخطيب"],"required_present":[]},"all":{"required_absent":["باسل الخطيب"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-013","language":"ar","script":"Arabic","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=13 --message=\"المؤسسة العامة \" --value=بستان للعلوم","known_identities":[],"targets":[{"id":"person","kind":"person","start":61,"end":84,"value":"بستان للعلوم","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["بستان للعلوم"]},"customers":{"required_absent":[],"required_present":["بستان للعلوم"]},"all":{"required_absent":[],"required_present":["بستان للعلوم"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-014","language":"ar","script":"Arabic","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"ذكر العميل باسل الدرويش","known_identities":[],"targets":[{"id":"person","kind":"person","start":20,"end":43,"value":"باسل الدرويش","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["باسل الدرويش"]},"customers":{"required_absent":["باسل الدرويش"],"required_present":[]},"all":{"required_absent":["باسل الدرويش"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-014","language":"ar","script":"Arabic","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"المؤسسة العامة بستان للفنون","known_identities":[],"targets":[{"id":"person","kind":"person","start":28,"end":51,"value":"بستان للفنون","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["بستان للفنون"]},"customers":{"required_absent":[],"required_present":["بستان للفنون"]},"all":{"required_absent":[],"required_present":["بستان للفنون"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-015","language":"ar","script":"Arabic","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_15\":\"ذكر العميل باسل الراوي\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":56,"value":"باسل الراوي","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["باسل الراوي"]},"customers":{"required_absent":["باسل الراوي"],"required_present":[]},"all":{"required_absent":["باسل الراوي"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-015","language":"ar","script":"Arabic","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_15\":\"المؤسسة العامة بستان للتقنية\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":43,"end":68,"value":"بستان للتقنية","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["بستان للتقنية"]},"customers":{"required_absent":[],"required_present":["بستان للتقنية"]},"all":{"required_absent":[],"required_present":["بستان للتقنية"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-016","language":"ar","script":"Arabic","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_16: ذكر العميل باسل السالم","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":53,"value":"باسل السالم","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["باسل السالم"]},"customers":{"required_absent":["باسل السالم"],"required_present":[]},"all":{"required_absent":["باسل السالم"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-016","language":"ar","script":"Arabic","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_16: المؤسسة العامة بستان للثقافة","known_identities":[],"targets":[{"id":"person","kind":"person","start":40,"end":65,"value":"بستان للثقافة","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["بستان للثقافة"]},"customers":{"required_absent":[],"required_present":["بستان للثقافة"]},"all":{"required_absent":[],"required_present":["بستان للثقافة"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-017","language":"ar","script":"Arabic","shape":"shell","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_17='ذكر العميل باسل الطائي'","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":53,"value":"باسل الطائي","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["باسل الطائي"]},"customers":{"required_absent":["باسل الطائي"],"required_present":[]},"all":{"required_absent":["باسل الطائي"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-017","language":"ar","script":"Arabic","shape":"shell","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_17='المؤسسة العامة بستان للتعليم'","known_identities":[],"targets":[{"id":"person","kind":"person","start":40,"end":65,"value":"بستان للتعليم","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["بستان للتعليم"]},"customers":{"required_absent":[],"required_present":["بستان للتعليم"]},"all":{"required_absent":[],"required_present":["بستان للتعليم"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-018","language":"ar","script":"Arabic","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/18 ; ذكر العميل باسل العلي","known_identities":[],"targets":[{"id":"person","kind":"person","start":53,"end":72,"value":"باسل العلي","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["باسل العلي"]},"customers":{"required_absent":["باسل العلي"],"required_present":[]},"all":{"required_absent":["باسل العلي"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-018","language":"ar","script":"Arabic","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/18 ; المؤسسة العامة بستان للبيئة","known_identities":[],"targets":[{"id":"person","kind":"person","start":61,"end":84,"value":"بستان للبيئة","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["بستان للبيئة"]},"customers":{"required_absent":[],"required_present":["بستان للبيئة"]},"all":{"required_absent":[],"required_present":["بستان للبيئة"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-019","language":"ar","script":"Arabic","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"**ذكر العميل باسل المصري**","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":43,"value":"باسل المصري","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["باسل المصري"]},"customers":{"required_absent":["باسل المصري"],"required_present":[]},"all":{"required_absent":["باسل المصري"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-019","language":"ar","script":"Arabic","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"**المؤسسة العامة بستان للتنمية**","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":55,"value":"بستان للتنمية","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["بستان للتنمية"]},"customers":{"required_absent":[],"required_present":["بستان للتنمية"]},"all":{"required_absent":[],"required_present":["بستان للتنمية"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-020","language":"ar","script":"Arabic","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eذكر العميل جمانة الحداد\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":46,"value":"جمانة الحداد","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["جمانة الحداد"]},"customers":{"required_absent":["جمانة الحداد"],"required_present":[]},"all":{"required_absent":["جمانة الحداد"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-020","language":"ar","script":"Arabic","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eالمؤسسة العامة جسر العامة\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":50,"value":"جسر العامة","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["جسر العامة"]},"customers":{"required_absent":[],"required_present":["جسر العامة"]},"all":{"required_absent":[],"required_present":["جسر العامة"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-021","language":"ar","script":"Arabic","shape":"quoted-reply","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e ذكر العميل جمانة البكري","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":45,"value":"جمانة البكري","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["جمانة البكري"]},"customers":{"required_absent":["جمانة البكري"],"required_present":[]},"all":{"required_absent":["جمانة البكري"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-021","language":"ar","script":"Arabic","shape":"quoted-reply","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e المؤسسة العامة جسر للبحوث","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":49,"value":"جسر للبحوث","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["جسر للبحوث"]},"customers":{"required_absent":[],"required_present":["جسر للبحوث"]},"all":{"required_absent":[],"required_present":["جسر للبحوث"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-022","language":"ar","script":"Arabic","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=22 message=\"ذكر العميل \" value=جمانة الجابر","known_identities":[],"targets":[{"id":"person","kind":"person","start":58,"end":81,"value":"جمانة الجابر","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["جمانة الجابر"]},"customers":{"required_absent":["جمانة الجابر"],"required_present":[]},"all":{"required_absent":["جمانة الجابر"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-022","language":"ar","script":"Arabic","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=22 message=\"المؤسسة العامة \" value=جسر للنشر","known_identities":[],"targets":[{"id":"person","kind":"person","start":66,"end":83,"value":"جسر للنشر","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["جسر للنشر"]},"customers":{"required_absent":[],"required_present":["جسر للنشر"]},"all":{"required_absent":[],"required_present":["جسر للنشر"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-023","language":"ar","script":"Arabic","shape":"stack-trace","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[23]: ذكر العميل جمانة الخطيب","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":54,"value":"جمانة الخطيب","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["جمانة الخطيب"]},"customers":{"required_absent":["جمانة الخطيب"],"required_present":[]},"all":{"required_absent":["جمانة الخطيب"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-023","language":"ar","script":"Arabic","shape":"stack-trace","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[23]: المؤسسة العامة جسر للعلوم","known_identities":[],"targets":[{"id":"person","kind":"person","start":39,"end":58,"value":"جسر للعلوم","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["جسر للعلوم"]},"customers":{"required_absent":[],"required_present":["جسر للعلوم"]},"all":{"required_absent":[],"required_present":["جسر للعلوم"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-024","language":"ar","script":"Arabic","shape":"code","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_24 := `ذكر العميل جمانة الدرويش`","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":60,"value":"جمانة الدرويش","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["جمانة الدرويش"]},"customers":{"required_absent":["جمانة الدرويش"],"required_present":[]},"all":{"required_absent":["جمانة الدرويش"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-024","language":"ar","script":"Arabic","shape":"code","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_24 := `المؤسسة العامة جسر للفنون`","known_identities":[],"targets":[{"id":"person","kind":"person","start":43,"end":62,"value":"جسر للفنون","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["جسر للفنون"]},"customers":{"required_absent":[],"required_present":["جسر للفنون"]},"all":{"required_absent":[],"required_present":["جسر للفنون"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-025","language":"ar","script":"Arabic","shape":"signature","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--\nذكر العميل جمانة الراوي","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":46,"value":"جمانة الراوي","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["جمانة الراوي"]},"customers":{"required_absent":["جمانة الراوي"],"required_present":[]},"all":{"required_absent":["جمانة الراوي"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-025","language":"ar","script":"Arabic","shape":"signature","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--\nالمؤسسة العامة جسر للتقنية","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":52,"value":"جسر للتقنية","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["جسر للتقنية"]},"customers":{"required_absent":[],"required_present":["جسر للتقنية"]},"all":{"required_absent":[],"required_present":["جسر للتقنية"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-026","language":"ar","script":"Arabic","shape":"long-thread","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. ذكر العميل جمانة السالم","known_identities":[],"targets":[{"id":"person","kind":"person","start":500,"end":523,"value":"جمانة السالم","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["جمانة السالم"]},"customers":{"required_absent":["جمانة السالم"],"required_present":[]},"all":{"required_absent":["جمانة السالم"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-026","language":"ar","script":"Arabic","shape":"long-thread","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. المؤسسة العامة جسر للثقافة","known_identities":[],"targets":[{"id":"person","kind":"person","start":508,"end":529,"value":"جسر للثقافة","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["جسر للثقافة"]},"customers":{"required_absent":[],"required_present":["جسر للثقافة"]},"all":{"required_absent":[],"required_present":["جسر للثقافة"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-027","language":"ar","script":"Arabic","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=27 --message=\"ذكر العميل \" --value=جمانة الطائي","known_identities":[],"targets":[{"id":"person","kind":"person","start":53,"end":76,"value":"جمانة الطائي","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["جمانة الطائي"]},"customers":{"required_absent":["جمانة الطائي"],"required_present":[]},"all":{"required_absent":["جمانة الطائي"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-027","language":"ar","script":"Arabic","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=27 --message=\"المؤسسة العامة \" --value=جسر للتعليم","known_identities":[],"targets":[{"id":"person","kind":"person","start":61,"end":82,"value":"جسر للتعليم","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["جسر للتعليم"]},"customers":{"required_absent":[],"required_present":["جسر للتعليم"]},"all":{"required_absent":[],"required_present":["جسر للتعليم"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-028","language":"ar","script":"Arabic","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"ذكر العميل جمانة العلي","known_identities":[],"targets":[{"id":"person","kind":"person","start":20,"end":41,"value":"جمانة العلي","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["جمانة العلي"]},"customers":{"required_absent":["جمانة العلي"],"required_present":[]},"all":{"required_absent":["جمانة العلي"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-028","language":"ar","script":"Arabic","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"المؤسسة العامة جسر للبيئة","known_identities":[],"targets":[{"id":"person","kind":"person","start":28,"end":47,"value":"جسر للبيئة","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["جسر للبيئة"]},"customers":{"required_absent":[],"required_present":["جسر للبيئة"]},"all":{"required_absent":[],"required_present":["جسر للبيئة"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-029","language":"ar","script":"Arabic","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_29\":\"ذكر العميل جمانة المصري\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":58,"value":"جمانة المصري","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["جمانة المصري"]},"customers":{"required_absent":["جمانة المصري"],"required_present":[]},"all":{"required_absent":["جمانة المصري"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-029","language":"ar","script":"Arabic","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_29\":\"المؤسسة العامة جسر للتنمية\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":43,"end":64,"value":"جسر للتنمية","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["جسر للتنمية"]},"customers":{"required_absent":[],"required_present":["جسر للتنمية"]},"all":{"required_absent":[],"required_present":["جسر للتنمية"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-030","language":"ar","script":"Arabic","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_30: ذكر العميل داليا الحداد","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":55,"value":"داليا الحداد","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["داليا الحداد"]},"customers":{"required_absent":["داليا الحداد"],"required_present":[]},"all":{"required_absent":["داليا الحداد"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-030","language":"ar","script":"Arabic","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_30: المؤسسة العامة دليل العامة","known_identities":[],"targets":[{"id":"person","kind":"person","start":40,"end":61,"value":"دليل العامة","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["دليل العامة"]},"customers":{"required_absent":[],"required_present":["دليل العامة"]},"all":{"required_absent":[],"required_present":["دليل العامة"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-031","language":"ar","script":"Arabic","shape":"shell","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_31='ذكر العميل داليا البكري'","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":55,"value":"داليا البكري","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["داليا البكري"]},"customers":{"required_absent":["داليا البكري"],"required_present":[]},"all":{"required_absent":["داليا البكري"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-031","language":"ar","script":"Arabic","shape":"shell","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_31='المؤسسة العامة دليل للبحوث'","known_identities":[],"targets":[{"id":"person","kind":"person","start":40,"end":61,"value":"دليل للبحوث","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["دليل للبحوث"]},"customers":{"required_absent":[],"required_present":["دليل للبحوث"]},"all":{"required_absent":[],"required_present":["دليل للبحوث"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-032","language":"ar","script":"Arabic","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/32 ; ذكر العميل داليا الجابر","known_identities":[],"targets":[{"id":"person","kind":"person","start":53,"end":76,"value":"داليا الجابر","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["داليا الجابر"]},"customers":{"required_absent":["داليا الجابر"],"required_present":[]},"all":{"required_absent":["داليا الجابر"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-032","language":"ar","script":"Arabic","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/32 ; المؤسسة العامة دليل للنشر","known_identities":[],"targets":[{"id":"person","kind":"person","start":61,"end":80,"value":"دليل للنشر","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["دليل للنشر"]},"customers":{"required_absent":[],"required_present":["دليل للنشر"]},"all":{"required_absent":[],"required_present":["دليل للنشر"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-033","language":"ar","script":"Arabic","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"**ذكر العميل داليا الخطيب**","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":45,"value":"داليا الخطيب","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["داليا الخطيب"]},"customers":{"required_absent":["داليا الخطيب"],"required_present":[]},"all":{"required_absent":["داليا الخطيب"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-033","language":"ar","script":"Arabic","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"**المؤسسة العامة دليل للعلوم**","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":51,"value":"دليل للعلوم","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["دليل للعلوم"]},"customers":{"required_absent":[],"required_present":["دليل للعلوم"]},"all":{"required_absent":[],"required_present":["دليل للعلوم"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-034","language":"ar","script":"Arabic","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eذكر العميل داليا الدرويش\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":48,"value":"داليا الدرويش","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["داليا الدرويش"]},"customers":{"required_absent":["داليا الدرويش"],"required_present":[]},"all":{"required_absent":["داليا الدرويش"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-034","language":"ar","script":"Arabic","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eالمؤسسة العامة دليل للفنون\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":52,"value":"دليل للفنون","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["دليل للفنون"]},"customers":{"required_absent":[],"required_present":["دليل للفنون"]},"all":{"required_absent":[],"required_present":["دليل للفنون"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-035","language":"ar","script":"Arabic","shape":"quoted-reply","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e ذكر العميل داليا الراوي","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":45,"value":"داليا الراوي","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["داليا الراوي"]},"customers":{"required_absent":["داليا الراوي"],"required_present":[]},"all":{"required_absent":["داليا الراوي"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-035","language":"ar","script":"Arabic","shape":"quoted-reply","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e المؤسسة العامة دليل للتقنية","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":53,"value":"دليل للتقنية","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["دليل للتقنية"]},"customers":{"required_absent":[],"required_present":["دليل للتقنية"]},"all":{"required_absent":[],"required_present":["دليل للتقنية"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-036","language":"ar","script":"Arabic","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=36 message=\"ذكر العميل \" value=داليا السالم","known_identities":[],"targets":[{"id":"person","kind":"person","start":58,"end":81,"value":"داليا السالم","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["داليا السالم"]},"customers":{"required_absent":["داليا السالم"],"required_present":[]},"all":{"required_absent":["داليا السالم"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-036","language":"ar","script":"Arabic","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=36 message=\"المؤسسة العامة \" value=دليل للثقافة","known_identities":[],"targets":[{"id":"person","kind":"person","start":66,"end":89,"value":"دليل للثقافة","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["دليل للثقافة"]},"customers":{"required_absent":[],"required_present":["دليل للثقافة"]},"all":{"required_absent":[],"required_present":["دليل للثقافة"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-037","language":"ar","script":"Arabic","shape":"stack-trace","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[37]: ذكر العميل داليا الطائي","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":54,"value":"داليا الطائي","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["داليا الطائي"]},"customers":{"required_absent":["داليا الطائي"],"required_present":[]},"all":{"required_absent":["داليا الطائي"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-037","language":"ar","script":"Arabic","shape":"stack-trace","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[37]: المؤسسة العامة دليل للتعليم","known_identities":[],"targets":[{"id":"person","kind":"person","start":39,"end":62,"value":"دليل للتعليم","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["دليل للتعليم"]},"customers":{"required_absent":[],"required_present":["دليل للتعليم"]},"all":{"required_absent":[],"required_present":["دليل للتعليم"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-038","language":"ar","script":"Arabic","shape":"code","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_38 := `ذكر العميل داليا العلي`","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":56,"value":"داليا العلي","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["داليا العلي"]},"customers":{"required_absent":["داليا العلي"],"required_present":[]},"all":{"required_absent":["داليا العلي"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-038","language":"ar","script":"Arabic","shape":"code","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_38 := `المؤسسة العامة دليل للبيئة`","known_identities":[],"targets":[{"id":"person","kind":"person","start":43,"end":64,"value":"دليل للبيئة","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["دليل للبيئة"]},"customers":{"required_absent":[],"required_present":["دليل للبيئة"]},"all":{"required_absent":[],"required_present":["دليل للبيئة"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-039","language":"ar","script":"Arabic","shape":"signature","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--\nذكر العميل داليا المصري","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":46,"value":"داليا المصري","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["داليا المصري"]},"customers":{"required_absent":["داليا المصري"],"required_present":[]},"all":{"required_absent":["داليا المصري"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-039","language":"ar","script":"Arabic","shape":"signature","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--\nالمؤسسة العامة دليل للتنمية","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":54,"value":"دليل للتنمية","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["دليل للتنمية"]},"customers":{"required_absent":[],"required_present":["دليل للتنمية"]},"all":{"required_absent":[],"required_present":["دليل للتنمية"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-040","language":"ar","script":"Arabic","shape":"long-thread","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. ذكر العميل رامي الحداد","known_identities":[],"targets":[{"id":"person","kind":"person","start":500,"end":521,"value":"رامي الحداد","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["رامي الحداد"]},"customers":{"required_absent":["رامي الحداد"],"required_present":[]},"all":{"required_absent":["رامي الحداد"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-040","language":"ar","script":"Arabic","shape":"long-thread","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. المؤسسة العامة رؤية العامة","known_identities":[],"targets":[{"id":"person","kind":"person","start":508,"end":529,"value":"رؤية العامة","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["رؤية العامة"]},"customers":{"required_absent":[],"required_present":["رؤية العامة"]},"all":{"required_absent":[],"required_present":["رؤية العامة"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-041","language":"ar","script":"Arabic","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=41 --message=\"ذكر العميل \" --value=رامي البكري","known_identities":[],"targets":[{"id":"person","kind":"person","start":53,"end":74,"value":"رامي البكري","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["رامي البكري"]},"customers":{"required_absent":["رامي البكري"],"required_present":[]},"all":{"required_absent":["رامي البكري"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-041","language":"ar","script":"Arabic","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=41 --message=\"المؤسسة العامة \" --value=رؤية للبحوث","known_identities":[],"targets":[{"id":"person","kind":"person","start":61,"end":82,"value":"رؤية للبحوث","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["رؤية للبحوث"]},"customers":{"required_absent":[],"required_present":["رؤية للبحوث"]},"all":{"required_absent":[],"required_present":["رؤية للبحوث"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-042","language":"ar","script":"Arabic","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"ذكر العميل رامي الجابر","known_identities":[],"targets":[{"id":"person","kind":"person","start":20,"end":41,"value":"رامي الجابر","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["رامي الجابر"]},"customers":{"required_absent":["رامي الجابر"],"required_present":[]},"all":{"required_absent":["رامي الجابر"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-042","language":"ar","script":"Arabic","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"المؤسسة العامة رؤية للنشر","known_identities":[],"targets":[{"id":"person","kind":"person","start":28,"end":47,"value":"رؤية للنشر","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["رؤية للنشر"]},"customers":{"required_absent":[],"required_present":["رؤية للنشر"]},"all":{"required_absent":[],"required_present":["رؤية للنشر"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-043","language":"ar","script":"Arabic","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_43\":\"ذكر العميل رامي الخطيب\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":56,"value":"رامي الخطيب","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["رامي الخطيب"]},"customers":{"required_absent":["رامي الخطيب"],"required_present":[]},"all":{"required_absent":["رامي الخطيب"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-043","language":"ar","script":"Arabic","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_43\":\"المؤسسة العامة رؤية للعلوم\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":43,"end":64,"value":"رؤية للعلوم","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["رؤية للعلوم"]},"customers":{"required_absent":[],"required_present":["رؤية للعلوم"]},"all":{"required_absent":[],"required_present":["رؤية للعلوم"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-044","language":"ar","script":"Arabic","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_44: ذكر العميل رامي الدرويش","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":55,"value":"رامي الدرويش","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["رامي الدرويش"]},"customers":{"required_absent":["رامي الدرويش"],"required_present":[]},"all":{"required_absent":["رامي الدرويش"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-044","language":"ar","script":"Arabic","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_44: المؤسسة العامة رؤية للفنون","known_identities":[],"targets":[{"id":"person","kind":"person","start":40,"end":61,"value":"رؤية للفنون","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["رؤية للفنون"]},"customers":{"required_absent":[],"required_present":["رؤية للفنون"]},"all":{"required_absent":[],"required_present":["رؤية للفنون"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-045","language":"ar","script":"Arabic","shape":"shell","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_45='ذكر العميل رامي الراوي'","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":53,"value":"رامي الراوي","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["رامي الراوي"]},"customers":{"required_absent":["رامي الراوي"],"required_present":[]},"all":{"required_absent":["رامي الراوي"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-045","language":"ar","script":"Arabic","shape":"shell","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_45='المؤسسة العامة رؤية للتقنية'","known_identities":[],"targets":[{"id":"person","kind":"person","start":40,"end":63,"value":"رؤية للتقنية","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["رؤية للتقنية"]},"customers":{"required_absent":[],"required_present":["رؤية للتقنية"]},"all":{"required_absent":[],"required_present":["رؤية للتقنية"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-046","language":"ar","script":"Arabic","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/46 ; ذكر العميل رامي السالم","known_identities":[],"targets":[{"id":"person","kind":"person","start":53,"end":74,"value":"رامي السالم","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["رامي السالم"]},"customers":{"required_absent":["رامي السالم"],"required_present":[]},"all":{"required_absent":["رامي السالم"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-046","language":"ar","script":"Arabic","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/46 ; المؤسسة العامة رؤية للثقافة","known_identities":[],"targets":[{"id":"person","kind":"person","start":61,"end":84,"value":"رؤية للثقافة","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["رؤية للثقافة"]},"customers":{"required_absent":[],"required_present":["رؤية للثقافة"]},"all":{"required_absent":[],"required_present":["رؤية للثقافة"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-047","language":"ar","script":"Arabic","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"**ذكر العميل رامي الطائي**","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":43,"value":"رامي الطائي","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["رامي الطائي"]},"customers":{"required_absent":["رامي الطائي"],"required_present":[]},"all":{"required_absent":["رامي الطائي"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-047","language":"ar","script":"Arabic","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"**المؤسسة العامة رؤية للتعليم**","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":53,"value":"رؤية للتعليم","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["رؤية للتعليم"]},"customers":{"required_absent":[],"required_present":["رؤية للتعليم"]},"all":{"required_absent":[],"required_present":["رؤية للتعليم"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-048","language":"ar","script":"Arabic","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eذكر العميل رامي العلي\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":42,"value":"رامي العلي","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["رامي العلي"]},"customers":{"required_absent":["رامي العلي"],"required_present":[]},"all":{"required_absent":["رامي العلي"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-048","language":"ar","script":"Arabic","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eالمؤسسة العامة رؤية للبيئة\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":52,"value":"رؤية للبيئة","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["رؤية للبيئة"]},"customers":{"required_absent":[],"required_present":["رؤية للبيئة"]},"all":{"required_absent":[],"required_present":["رؤية للبيئة"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-049","language":"ar","script":"Arabic","shape":"quoted-reply","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e ذكر العميل رامي المصري","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":43,"value":"رامي المصري","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["رامي المصري"]},"customers":{"required_absent":["رامي المصري"],"required_present":[]},"all":{"required_absent":["رامي المصري"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-049","language":"ar","script":"Arabic","shape":"quoted-reply","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e المؤسسة العامة رؤية للتنمية","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":53,"value":"رؤية للتنمية","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["رؤية للتنمية"]},"customers":{"required_absent":[],"required_present":["رؤية للتنمية"]},"all":{"required_absent":[],"required_present":["رؤية للتنمية"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-050","language":"ar","script":"Arabic","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=50 message=\"ذكر العميل \" value=سلمى الحداد","known_identities":[],"targets":[{"id":"person","kind":"person","start":58,"end":79,"value":"سلمى الحداد","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["سلمى الحداد"]},"customers":{"required_absent":["سلمى الحداد"],"required_present":[]},"all":{"required_absent":["سلمى الحداد"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-050","language":"ar","script":"Arabic","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=50 message=\"المؤسسة العامة \" value=سحاب العامة","known_identities":[],"targets":[{"id":"person","kind":"person","start":66,"end":87,"value":"سحاب العامة","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["سحاب العامة"]},"customers":{"required_absent":[],"required_present":["سحاب العامة"]},"all":{"required_absent":[],"required_present":["سحاب العامة"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-051","language":"ar","script":"Arabic","shape":"stack-trace","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[51]: ذكر العميل سلمى البكري","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":52,"value":"سلمى البكري","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["سلمى البكري"]},"customers":{"required_absent":["سلمى البكري"],"required_present":[]},"all":{"required_absent":["سلمى البكري"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-051","language":"ar","script":"Arabic","shape":"stack-trace","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[51]: المؤسسة العامة سحاب للبحوث","known_identities":[],"targets":[{"id":"person","kind":"person","start":39,"end":60,"value":"سحاب للبحوث","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["سحاب للبحوث"]},"customers":{"required_absent":[],"required_present":["سحاب للبحوث"]},"all":{"required_absent":[],"required_present":["سحاب للبحوث"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-052","language":"ar","script":"Arabic","shape":"code","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_52 := `ذكر العميل سلمى الجابر`","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":56,"value":"سلمى الجابر","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["سلمى الجابر"]},"customers":{"required_absent":["سلمى الجابر"],"required_present":[]},"all":{"required_absent":["سلمى الجابر"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-052","language":"ar","script":"Arabic","shape":"code","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_52 := `المؤسسة العامة سحاب للنشر`","known_identities":[],"targets":[{"id":"person","kind":"person","start":43,"end":62,"value":"سحاب للنشر","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["سحاب للنشر"]},"customers":{"required_absent":[],"required_present":["سحاب للنشر"]},"all":{"required_absent":[],"required_present":["سحاب للنشر"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-053","language":"ar","script":"Arabic","shape":"signature","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--\nذكر العميل سلمى الخطيب","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":44,"value":"سلمى الخطيب","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["سلمى الخطيب"]},"customers":{"required_absent":["سلمى الخطيب"],"required_present":[]},"all":{"required_absent":["سلمى الخطيب"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-053","language":"ar","script":"Arabic","shape":"signature","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--\nالمؤسسة العامة سحاب للعلوم","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":52,"value":"سحاب للعلوم","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["سحاب للعلوم"]},"customers":{"required_absent":[],"required_present":["سحاب للعلوم"]},"all":{"required_absent":[],"required_present":["سحاب للعلوم"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-054","language":"ar","script":"Arabic","shape":"long-thread","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. ذكر العميل سلمى الدرويش","known_identities":[],"targets":[{"id":"person","kind":"person","start":500,"end":523,"value":"سلمى الدرويش","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["سلمى الدرويش"]},"customers":{"required_absent":["سلمى الدرويش"],"required_present":[]},"all":{"required_absent":["سلمى الدرويش"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-054","language":"ar","script":"Arabic","shape":"long-thread","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. المؤسسة العامة سحاب للفنون","known_identities":[],"targets":[{"id":"person","kind":"person","start":508,"end":529,"value":"سحاب للفنون","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["سحاب للفنون"]},"customers":{"required_absent":[],"required_present":["سحاب للفنون"]},"all":{"required_absent":[],"required_present":["سحاب للفنون"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-055","language":"ar","script":"Arabic","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=55 --message=\"ذكر العميل \" --value=سلمى الراوي","known_identities":[],"targets":[{"id":"person","kind":"person","start":53,"end":74,"value":"سلمى الراوي","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["سلمى الراوي"]},"customers":{"required_absent":["سلمى الراوي"],"required_present":[]},"all":{"required_absent":["سلمى الراوي"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-055","language":"ar","script":"Arabic","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=55 --message=\"المؤسسة العامة \" --value=سحاب للتقنية","known_identities":[],"targets":[{"id":"person","kind":"person","start":61,"end":84,"value":"سحاب للتقنية","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["سحاب للتقنية"]},"customers":{"required_absent":[],"required_present":["سحاب للتقنية"]},"all":{"required_absent":[],"required_present":["سحاب للتقنية"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-056","language":"ar","script":"Arabic","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"ذكر العميل سلمى السالم","known_identities":[],"targets":[{"id":"person","kind":"person","start":20,"end":41,"value":"سلمى السالم","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["سلمى السالم"]},"customers":{"required_absent":["سلمى السالم"],"required_present":[]},"all":{"required_absent":["سلمى السالم"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-056","language":"ar","script":"Arabic","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"المؤسسة العامة سحاب للثقافة","known_identities":[],"targets":[{"id":"person","kind":"person","start":28,"end":51,"value":"سحاب للثقافة","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["سحاب للثقافة"]},"customers":{"required_absent":[],"required_present":["سحاب للثقافة"]},"all":{"required_absent":[],"required_present":["سحاب للثقافة"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-057","language":"ar","script":"Arabic","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_57\":\"ذكر العميل سلمى الطائي\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":56,"value":"سلمى الطائي","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["سلمى الطائي"]},"customers":{"required_absent":["سلمى الطائي"],"required_present":[]},"all":{"required_absent":["سلمى الطائي"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-057","language":"ar","script":"Arabic","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_57\":\"المؤسسة العامة سحاب للتعليم\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":43,"end":66,"value":"سحاب للتعليم","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["سحاب للتعليم"]},"customers":{"required_absent":[],"required_present":["سحاب للتعليم"]},"all":{"required_absent":[],"required_present":["سحاب للتعليم"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-058","language":"ar","script":"Arabic","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_58: ذكر العميل سلمى العلي","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":51,"value":"سلمى العلي","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["سلمى العلي"]},"customers":{"required_absent":["سلمى العلي"],"required_present":[]},"all":{"required_absent":["سلمى العلي"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-058","language":"ar","script":"Arabic","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_58: المؤسسة العامة سحاب للبيئة","known_identities":[],"targets":[{"id":"person","kind":"person","start":40,"end":61,"value":"سحاب للبيئة","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["سحاب للبيئة"]},"customers":{"required_absent":[],"required_present":["سحاب للبيئة"]},"all":{"required_absent":[],"required_present":["سحاب للبيئة"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-059","language":"ar","script":"Arabic","shape":"shell","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_59='ذكر العميل سلمى المصري'","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":53,"value":"سلمى المصري","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["سلمى المصري"]},"customers":{"required_absent":["سلمى المصري"],"required_present":[]},"all":{"required_absent":["سلمى المصري"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-059","language":"ar","script":"Arabic","shape":"shell","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_59='المؤسسة العامة سحاب للتنمية'","known_identities":[],"targets":[{"id":"person","kind":"person","start":40,"end":63,"value":"سحاب للتنمية","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["سحاب للتنمية"]},"customers":{"required_absent":[],"required_present":["سحاب للتنمية"]},"all":{"required_absent":[],"required_present":["سحاب للتنمية"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-060","language":"ar","script":"Arabic","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/60 ; ذكر العميل طارق الحداد","known_identities":[],"targets":[{"id":"person","kind":"person","start":53,"end":74,"value":"طارق الحداد","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["طارق الحداد"]},"customers":{"required_absent":["طارق الحداد"],"required_present":[]},"all":{"required_absent":["طارق الحداد"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-060","language":"ar","script":"Arabic","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/60 ; المؤسسة العامة شمس العامة","known_identities":[],"targets":[{"id":"person","kind":"person","start":61,"end":80,"value":"شمس العامة","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["شمس العامة"]},"customers":{"required_absent":[],"required_present":["شمس العامة"]},"all":{"required_absent":[],"required_present":["شمس العامة"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-061","language":"ar","script":"Arabic","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"**ذكر العميل طارق البكري**","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":43,"value":"طارق البكري","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["طارق البكري"]},"customers":{"required_absent":["طارق البكري"],"required_present":[]},"all":{"required_absent":["طارق البكري"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-061","language":"ar","script":"Arabic","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"**المؤسسة العامة شمس للبحوث**","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":49,"value":"شمس للبحوث","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["شمس للبحوث"]},"customers":{"required_absent":[],"required_present":["شمس للبحوث"]},"all":{"required_absent":[],"required_present":["شمس للبحوث"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-062","language":"ar","script":"Arabic","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eذكر العميل طارق الجابر\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":44,"value":"طارق الجابر","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["طارق الجابر"]},"customers":{"required_absent":["طارق الجابر"],"required_present":[]},"all":{"required_absent":["طارق الجابر"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-062","language":"ar","script":"Arabic","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eالمؤسسة العامة شمس للنشر\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":48,"value":"شمس للنشر","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["شمس للنشر"]},"customers":{"required_absent":[],"required_present":["شمس للنشر"]},"all":{"required_absent":[],"required_present":["شمس للنشر"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-063","language":"ar","script":"Arabic","shape":"quoted-reply","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e ذكر العميل طارق الخطيب","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":43,"value":"طارق الخطيب","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["طارق الخطيب"]},"customers":{"required_absent":["طارق الخطيب"],"required_present":[]},"all":{"required_absent":["طارق الخطيب"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-063","language":"ar","script":"Arabic","shape":"quoted-reply","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e المؤسسة العامة شمس للعلوم","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":49,"value":"شمس للعلوم","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["شمس للعلوم"]},"customers":{"required_absent":[],"required_present":["شمس للعلوم"]},"all":{"required_absent":[],"required_present":["شمس للعلوم"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-064","language":"ar","script":"Arabic","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=64 message=\"ذكر العميل \" value=طارق الدرويش","known_identities":[],"targets":[{"id":"person","kind":"person","start":58,"end":81,"value":"طارق الدرويش","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["طارق الدرويش"]},"customers":{"required_absent":["طارق الدرويش"],"required_present":[]},"all":{"required_absent":["طارق الدرويش"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-064","language":"ar","script":"Arabic","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=64 message=\"المؤسسة العامة \" value=شمس للفنون","known_identities":[],"targets":[{"id":"person","kind":"person","start":66,"end":85,"value":"شمس للفنون","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["شمس للفنون"]},"customers":{"required_absent":[],"required_present":["شمس للفنون"]},"all":{"required_absent":[],"required_present":["شمس للفنون"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-065","language":"ar","script":"Arabic","shape":"stack-trace","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[65]: ذكر العميل طارق الراوي","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":52,"value":"طارق الراوي","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["طارق الراوي"]},"customers":{"required_absent":["طارق الراوي"],"required_present":[]},"all":{"required_absent":["طارق الراوي"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-065","language":"ar","script":"Arabic","shape":"stack-trace","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[65]: المؤسسة العامة شمس للتقنية","known_identities":[],"targets":[{"id":"person","kind":"person","start":39,"end":60,"value":"شمس للتقنية","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["شمس للتقنية"]},"customers":{"required_absent":[],"required_present":["شمس للتقنية"]},"all":{"required_absent":[],"required_present":["شمس للتقنية"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-066","language":"ar","script":"Arabic","shape":"code","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_66 := `ذكر العميل طارق السالم`","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":56,"value":"طارق السالم","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["طارق السالم"]},"customers":{"required_absent":["طارق السالم"],"required_present":[]},"all":{"required_absent":["طارق السالم"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-066","language":"ar","script":"Arabic","shape":"code","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_66 := `المؤسسة العامة شمس للثقافة`","known_identities":[],"targets":[{"id":"person","kind":"person","start":43,"end":64,"value":"شمس للثقافة","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["شمس للثقافة"]},"customers":{"required_absent":[],"required_present":["شمس للثقافة"]},"all":{"required_absent":[],"required_present":["شمس للثقافة"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-067","language":"ar","script":"Arabic","shape":"signature","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--\nذكر العميل طارق الطائي","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":44,"value":"طارق الطائي","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["طارق الطائي"]},"customers":{"required_absent":["طارق الطائي"],"required_present":[]},"all":{"required_absent":["طارق الطائي"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-067","language":"ar","script":"Arabic","shape":"signature","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--\nالمؤسسة العامة شمس للتعليم","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":52,"value":"شمس للتعليم","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["شمس للتعليم"]},"customers":{"required_absent":[],"required_present":["شمس للتعليم"]},"all":{"required_absent":[],"required_present":["شمس للتعليم"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-068","language":"ar","script":"Arabic","shape":"long-thread","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. ذكر العميل طارق العلي","known_identities":[],"targets":[{"id":"person","kind":"person","start":500,"end":519,"value":"طارق العلي","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["طارق العلي"]},"customers":{"required_absent":["طارق العلي"],"required_present":[]},"all":{"required_absent":["طارق العلي"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-068","language":"ar","script":"Arabic","shape":"long-thread","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. المؤسسة العامة شمس للبيئة","known_identities":[],"targets":[{"id":"person","kind":"person","start":508,"end":527,"value":"شمس للبيئة","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["شمس للبيئة"]},"customers":{"required_absent":[],"required_present":["شمس للبيئة"]},"all":{"required_absent":[],"required_present":["شمس للبيئة"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-069","language":"ar","script":"Arabic","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=69 --message=\"ذكر العميل \" --value=طارق المصري","known_identities":[],"targets":[{"id":"person","kind":"person","start":53,"end":74,"value":"طارق المصري","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["طارق المصري"]},"customers":{"required_absent":["طارق المصري"],"required_present":[]},"all":{"required_absent":["طارق المصري"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-069","language":"ar","script":"Arabic","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=69 --message=\"المؤسسة العامة \" --value=شمس للتنمية","known_identities":[],"targets":[{"id":"person","kind":"person","start":61,"end":82,"value":"شمس للتنمية","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["شمس للتنمية"]},"customers":{"required_absent":[],"required_present":["شمس للتنمية"]},"all":{"required_absent":[],"required_present":["شمس للتنمية"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-070","language":"ar","script":"Arabic","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"ذكر العميل عالية الحداد","known_identities":[],"targets":[{"id":"person","kind":"person","start":20,"end":43,"value":"عالية الحداد","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["عالية الحداد"]},"customers":{"required_absent":["عالية الحداد"],"required_present":[]},"all":{"required_absent":["عالية الحداد"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-070","language":"ar","script":"Arabic","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"المؤسسة العامة طيف العامة","known_identities":[],"targets":[{"id":"person","kind":"person","start":28,"end":47,"value":"طيف العامة","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["طيف العامة"]},"customers":{"required_absent":[],"required_present":["طيف العامة"]},"all":{"required_absent":[],"required_present":["طيف العامة"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-071","language":"ar","script":"Arabic","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_71\":\"ذكر العميل عالية البكري\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":58,"value":"عالية البكري","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["عالية البكري"]},"customers":{"required_absent":["عالية البكري"],"required_present":[]},"all":{"required_absent":["عالية البكري"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-071","language":"ar","script":"Arabic","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_71\":\"المؤسسة العامة طيف للبحوث\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":43,"end":62,"value":"طيف للبحوث","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["طيف للبحوث"]},"customers":{"required_absent":[],"required_present":["طيف للبحوث"]},"all":{"required_absent":[],"required_present":["طيف للبحوث"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-072","language":"ar","script":"Arabic","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_72: ذكر العميل عالية الجابر","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":55,"value":"عالية الجابر","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["عالية الجابر"]},"customers":{"required_absent":["عالية الجابر"],"required_present":[]},"all":{"required_absent":["عالية الجابر"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-072","language":"ar","script":"Arabic","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_72: المؤسسة العامة طيف للنشر","known_identities":[],"targets":[{"id":"person","kind":"person","start":40,"end":57,"value":"طيف للنشر","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["طيف للنشر"]},"customers":{"required_absent":[],"required_present":["طيف للنشر"]},"all":{"required_absent":[],"required_present":["طيف للنشر"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-073","language":"ar","script":"Arabic","shape":"shell","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_73='ذكر العميل عالية الخطيب'","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":55,"value":"عالية الخطيب","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["عالية الخطيب"]},"customers":{"required_absent":["عالية الخطيب"],"required_present":[]},"all":{"required_absent":["عالية الخطيب"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-073","language":"ar","script":"Arabic","shape":"shell","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_73='المؤسسة العامة طيف للعلوم'","known_identities":[],"targets":[{"id":"person","kind":"person","start":40,"end":59,"value":"طيف للعلوم","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["طيف للعلوم"]},"customers":{"required_absent":[],"required_present":["طيف للعلوم"]},"all":{"required_absent":[],"required_present":["طيف للعلوم"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-074","language":"ar","script":"Arabic","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/74 ; ذكر العميل عالية الدرويش","known_identities":[],"targets":[{"id":"person","kind":"person","start":53,"end":78,"value":"عالية الدرويش","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["عالية الدرويش"]},"customers":{"required_absent":["عالية الدرويش"],"required_present":[]},"all":{"required_absent":["عالية الدرويش"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-074","language":"ar","script":"Arabic","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/74 ; المؤسسة العامة طيف للفنون","known_identities":[],"targets":[{"id":"person","kind":"person","start":61,"end":80,"value":"طيف للفنون","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["طيف للفنون"]},"customers":{"required_absent":[],"required_present":["طيف للفنون"]},"all":{"required_absent":[],"required_present":["طيف للفنون"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-075","language":"ar","script":"Arabic","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"**ذكر العميل عالية الراوي**","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":45,"value":"عالية الراوي","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["عالية الراوي"]},"customers":{"required_absent":["عالية الراوي"],"required_present":[]},"all":{"required_absent":["عالية الراوي"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-075","language":"ar","script":"Arabic","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"**المؤسسة العامة طيف للتقنية**","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":51,"value":"طيف للتقنية","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["طيف للتقنية"]},"customers":{"required_absent":[],"required_present":["طيف للتقنية"]},"all":{"required_absent":[],"required_present":["طيف للتقنية"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-076","language":"ar","script":"Arabic","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eذكر العميل عالية السالم\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":46,"value":"عالية السالم","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["عالية السالم"]},"customers":{"required_absent":["عالية السالم"],"required_present":[]},"all":{"required_absent":["عالية السالم"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-076","language":"ar","script":"Arabic","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eالمؤسسة العامة طيف للثقافة\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":52,"value":"طيف للثقافة","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["طيف للثقافة"]},"customers":{"required_absent":[],"required_present":["طيف للثقافة"]},"all":{"required_absent":[],"required_present":["طيف للثقافة"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-077","language":"ar","script":"Arabic","shape":"quoted-reply","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e ذكر العميل عالية الطائي","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":45,"value":"عالية الطائي","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["عالية الطائي"]},"customers":{"required_absent":["عالية الطائي"],"required_present":[]},"all":{"required_absent":["عالية الطائي"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-077","language":"ar","script":"Arabic","shape":"quoted-reply","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e المؤسسة العامة طيف للتعليم","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":51,"value":"طيف للتعليم","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["طيف للتعليم"]},"customers":{"required_absent":[],"required_present":["طيف للتعليم"]},"all":{"required_absent":[],"required_present":["طيف للتعليم"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-078","language":"ar","script":"Arabic","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=78 message=\"ذكر العميل \" value=عالية العلي","known_identities":[],"targets":[{"id":"person","kind":"person","start":58,"end":79,"value":"عالية العلي","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["عالية العلي"]},"customers":{"required_absent":["عالية العلي"],"required_present":[]},"all":{"required_absent":["عالية العلي"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-078","language":"ar","script":"Arabic","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=78 message=\"المؤسسة العامة \" value=طيف للبيئة","known_identities":[],"targets":[{"id":"person","kind":"person","start":66,"end":85,"value":"طيف للبيئة","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["طيف للبيئة"]},"customers":{"required_absent":[],"required_present":["طيف للبيئة"]},"all":{"required_absent":[],"required_present":["طيف للبيئة"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-079","language":"ar","script":"Arabic","shape":"stack-trace","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[79]: ذكر العميل عالية المصري","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":54,"value":"عالية المصري","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["عالية المصري"]},"customers":{"required_absent":["عالية المصري"],"required_present":[]},"all":{"required_absent":["عالية المصري"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-079","language":"ar","script":"Arabic","shape":"stack-trace","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[79]: المؤسسة العامة طيف للتنمية","known_identities":[],"targets":[{"id":"person","kind":"person","start":39,"end":60,"value":"طيف للتنمية","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["طيف للتنمية"]},"customers":{"required_absent":[],"required_present":["طيف للتنمية"]},"all":{"required_absent":[],"required_present":["طيف للتنمية"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-080","language":"ar","script":"Arabic","shape":"code","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_80 := `ذكر العميل فارس الحداد`","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":56,"value":"فارس الحداد","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["فارس الحداد"]},"customers":{"required_absent":["فارس الحداد"],"required_present":[]},"all":{"required_absent":["فارس الحداد"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-080","language":"ar","script":"Arabic","shape":"code","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_80 := `المؤسسة العامة عمران العامة`","known_identities":[],"targets":[{"id":"person","kind":"person","start":43,"end":66,"value":"عمران العامة","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["عمران العامة"]},"customers":{"required_absent":[],"required_present":["عمران العامة"]},"all":{"required_absent":[],"required_present":["عمران العامة"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-081","language":"ar","script":"Arabic","shape":"signature","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--\nذكر العميل فارس البكري","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":44,"value":"فارس البكري","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["فارس البكري"]},"customers":{"required_absent":["فارس البكري"],"required_present":[]},"all":{"required_absent":["فارس البكري"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-081","language":"ar","script":"Arabic","shape":"signature","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--\nالمؤسسة العامة عمران للبحوث","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":54,"value":"عمران للبحوث","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["عمران للبحوث"]},"customers":{"required_absent":[],"required_present":["عمران للبحوث"]},"all":{"required_absent":[],"required_present":["عمران للبحوث"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-082","language":"ar","script":"Arabic","shape":"long-thread","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. ذكر العميل فارس الجابر","known_identities":[],"targets":[{"id":"person","kind":"person","start":500,"end":521,"value":"فارس الجابر","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["فارس الجابر"]},"customers":{"required_absent":["فارس الجابر"],"required_present":[]},"all":{"required_absent":["فارس الجابر"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-082","language":"ar","script":"Arabic","shape":"long-thread","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. المؤسسة العامة عمران للنشر","known_identities":[],"targets":[{"id":"person","kind":"person","start":508,"end":529,"value":"عمران للنشر","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["عمران للنشر"]},"customers":{"required_absent":[],"required_present":["عمران للنشر"]},"all":{"required_absent":[],"required_present":["عمران للنشر"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-083","language":"ar","script":"Arabic","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=83 --message=\"ذكر العميل \" --value=فارس الخطيب","known_identities":[],"targets":[{"id":"person","kind":"person","start":53,"end":74,"value":"فارس الخطيب","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["فارس الخطيب"]},"customers":{"required_absent":["فارس الخطيب"],"required_present":[]},"all":{"required_absent":["فارس الخطيب"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-083","language":"ar","script":"Arabic","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=83 --message=\"المؤسسة العامة \" --value=عمران للعلوم","known_identities":[],"targets":[{"id":"person","kind":"person","start":61,"end":84,"value":"عمران للعلوم","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["عمران للعلوم"]},"customers":{"required_absent":[],"required_present":["عمران للعلوم"]},"all":{"required_absent":[],"required_present":["عمران للعلوم"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-084","language":"ar","script":"Arabic","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"ذكر العميل فارس الدرويش","known_identities":[],"targets":[{"id":"person","kind":"person","start":20,"end":43,"value":"فارس الدرويش","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["فارس الدرويش"]},"customers":{"required_absent":["فارس الدرويش"],"required_present":[]},"all":{"required_absent":["فارس الدرويش"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-084","language":"ar","script":"Arabic","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"المؤسسة العامة عمران للفنون","known_identities":[],"targets":[{"id":"person","kind":"person","start":28,"end":51,"value":"عمران للفنون","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["عمران للفنون"]},"customers":{"required_absent":[],"required_present":["عمران للفنون"]},"all":{"required_absent":[],"required_present":["عمران للفنون"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-085","language":"ar","script":"Arabic","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_85\":\"ذكر العميل فارس الراوي\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":56,"value":"فارس الراوي","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["فارس الراوي"]},"customers":{"required_absent":["فارس الراوي"],"required_present":[]},"all":{"required_absent":["فارس الراوي"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-085","language":"ar","script":"Arabic","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_85\":\"المؤسسة العامة عمران للتقنية\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":43,"end":68,"value":"عمران للتقنية","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["عمران للتقنية"]},"customers":{"required_absent":[],"required_present":["عمران للتقنية"]},"all":{"required_absent":[],"required_present":["عمران للتقنية"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-086","language":"ar","script":"Arabic","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_86: ذكر العميل فارس السالم","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":53,"value":"فارس السالم","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["فارس السالم"]},"customers":{"required_absent":["فارس السالم"],"required_present":[]},"all":{"required_absent":["فارس السالم"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-086","language":"ar","script":"Arabic","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_86: المؤسسة العامة عمران للثقافة","known_identities":[],"targets":[{"id":"person","kind":"person","start":40,"end":65,"value":"عمران للثقافة","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["عمران للثقافة"]},"customers":{"required_absent":[],"required_present":["عمران للثقافة"]},"all":{"required_absent":[],"required_present":["عمران للثقافة"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-087","language":"ar","script":"Arabic","shape":"shell","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_87='ذكر العميل فارس الطائي'","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":53,"value":"فارس الطائي","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["فارس الطائي"]},"customers":{"required_absent":["فارس الطائي"],"required_present":[]},"all":{"required_absent":["فارس الطائي"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-087","language":"ar","script":"Arabic","shape":"shell","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_87='المؤسسة العامة عمران للتعليم'","known_identities":[],"targets":[{"id":"person","kind":"person","start":40,"end":65,"value":"عمران للتعليم","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["عمران للتعليم"]},"customers":{"required_absent":[],"required_present":["عمران للتعليم"]},"all":{"required_absent":[],"required_present":["عمران للتعليم"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-088","language":"ar","script":"Arabic","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/88 ; ذكر العميل فارس العلي","known_identities":[],"targets":[{"id":"person","kind":"person","start":53,"end":72,"value":"فارس العلي","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["فارس العلي"]},"customers":{"required_absent":["فارس العلي"],"required_present":[]},"all":{"required_absent":["فارس العلي"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-088","language":"ar","script":"Arabic","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/88 ; المؤسسة العامة عمران للبيئة","known_identities":[],"targets":[{"id":"person","kind":"person","start":61,"end":84,"value":"عمران للبيئة","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["عمران للبيئة"]},"customers":{"required_absent":[],"required_present":["عمران للبيئة"]},"all":{"required_absent":[],"required_present":["عمران للبيئة"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-089","language":"ar","script":"Arabic","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"**ذكر العميل فارس المصري**","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":43,"value":"فارس المصري","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["فارس المصري"]},"customers":{"required_absent":["فارس المصري"],"required_present":[]},"all":{"required_absent":["فارس المصري"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-089","language":"ar","script":"Arabic","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"**المؤسسة العامة عمران للتنمية**","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":55,"value":"عمران للتنمية","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["عمران للتنمية"]},"customers":{"required_absent":[],"required_present":["عمران للتنمية"]},"all":{"required_absent":[],"required_present":["عمران للتنمية"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-090","language":"ar","script":"Arabic","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eذكر العميل ليلى الحداد\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":44,"value":"ليلى الحداد","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["ليلى الحداد"]},"customers":{"required_absent":["ليلى الحداد"],"required_present":[]},"all":{"required_absent":["ليلى الحداد"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-090","language":"ar","script":"Arabic","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eالمؤسسة العامة فضاء العامة\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":52,"value":"فضاء العامة","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["فضاء العامة"]},"customers":{"required_absent":[],"required_present":["فضاء العامة"]},"all":{"required_absent":[],"required_present":["فضاء العامة"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-091","language":"ar","script":"Arabic","shape":"quoted-reply","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e ذكر العميل ليلى البكري","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":43,"value":"ليلى البكري","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["ليلى البكري"]},"customers":{"required_absent":["ليلى البكري"],"required_present":[]},"all":{"required_absent":["ليلى البكري"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-091","language":"ar","script":"Arabic","shape":"quoted-reply","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e المؤسسة العامة فضاء للبحوث","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":51,"value":"فضاء للبحوث","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["فضاء للبحوث"]},"customers":{"required_absent":[],"required_present":["فضاء للبحوث"]},"all":{"required_absent":[],"required_present":["فضاء للبحوث"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-092","language":"ar","script":"Arabic","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=92 message=\"ذكر العميل \" value=ليلى الجابر","known_identities":[],"targets":[{"id":"person","kind":"person","start":58,"end":79,"value":"ليلى الجابر","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["ليلى الجابر"]},"customers":{"required_absent":["ليلى الجابر"],"required_present":[]},"all":{"required_absent":["ليلى الجابر"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-092","language":"ar","script":"Arabic","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=92 message=\"المؤسسة العامة \" value=فضاء للنشر","known_identities":[],"targets":[{"id":"person","kind":"person","start":66,"end":85,"value":"فضاء للنشر","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["فضاء للنشر"]},"customers":{"required_absent":[],"required_present":["فضاء للنشر"]},"all":{"required_absent":[],"required_present":["فضاء للنشر"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-093","language":"ar","script":"Arabic","shape":"stack-trace","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[93]: ذكر العميل ليلى الخطيب","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":52,"value":"ليلى الخطيب","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["ليلى الخطيب"]},"customers":{"required_absent":["ليلى الخطيب"],"required_present":[]},"all":{"required_absent":["ليلى الخطيب"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-093","language":"ar","script":"Arabic","shape":"stack-trace","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[93]: المؤسسة العامة فضاء للعلوم","known_identities":[],"targets":[{"id":"person","kind":"person","start":39,"end":60,"value":"فضاء للعلوم","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["فضاء للعلوم"]},"customers":{"required_absent":[],"required_present":["فضاء للعلوم"]},"all":{"required_absent":[],"required_present":["فضاء للعلوم"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-094","language":"ar","script":"Arabic","shape":"code","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_94 := `ذكر العميل ليلى الدرويش`","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":58,"value":"ليلى الدرويش","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["ليلى الدرويش"]},"customers":{"required_absent":["ليلى الدرويش"],"required_present":[]},"all":{"required_absent":["ليلى الدرويش"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-094","language":"ar","script":"Arabic","shape":"code","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_94 := `المؤسسة العامة فضاء للفنون`","known_identities":[],"targets":[{"id":"person","kind":"person","start":43,"end":64,"value":"فضاء للفنون","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["فضاء للفنون"]},"customers":{"required_absent":[],"required_present":["فضاء للفنون"]},"all":{"required_absent":[],"required_present":["فضاء للفنون"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-095","language":"ar","script":"Arabic","shape":"signature","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--\nذكر العميل ليلى الراوي","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":44,"value":"ليلى الراوي","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["ليلى الراوي"]},"customers":{"required_absent":["ليلى الراوي"],"required_present":[]},"all":{"required_absent":["ليلى الراوي"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-095","language":"ar","script":"Arabic","shape":"signature","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--\nالمؤسسة العامة فضاء للتقنية","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":54,"value":"فضاء للتقنية","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["فضاء للتقنية"]},"customers":{"required_absent":[],"required_present":["فضاء للتقنية"]},"all":{"required_absent":[],"required_present":["فضاء للتقنية"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-096","language":"ar","script":"Arabic","shape":"long-thread","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. ذكر العميل ليلى السالم","known_identities":[],"targets":[{"id":"person","kind":"person","start":500,"end":521,"value":"ليلى السالم","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["ليلى السالم"]},"customers":{"required_absent":["ليلى السالم"],"required_present":[]},"all":{"required_absent":["ليلى السالم"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-096","language":"ar","script":"Arabic","shape":"long-thread","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. المؤسسة العامة فضاء للثقافة","known_identities":[],"targets":[{"id":"person","kind":"person","start":508,"end":531,"value":"فضاء للثقافة","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["فضاء للثقافة"]},"customers":{"required_absent":[],"required_present":["فضاء للثقافة"]},"all":{"required_absent":[],"required_present":["فضاء للثقافة"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-097","language":"ar","script":"Arabic","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=97 --message=\"ذكر العميل \" --value=ليلى الطائي","known_identities":[],"targets":[{"id":"person","kind":"person","start":53,"end":74,"value":"ليلى الطائي","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["ليلى الطائي"]},"customers":{"required_absent":["ليلى الطائي"],"required_present":[]},"all":{"required_absent":["ليلى الطائي"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-097","language":"ar","script":"Arabic","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=97 --message=\"المؤسسة العامة \" --value=فضاء للتعليم","known_identities":[],"targets":[{"id":"person","kind":"person","start":61,"end":84,"value":"فضاء للتعليم","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["فضاء للتعليم"]},"customers":{"required_absent":[],"required_present":["فضاء للتعليم"]},"all":{"required_absent":[],"required_present":["فضاء للتعليم"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-098","language":"ar","script":"Arabic","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"ذكر العميل ليلى العلي","known_identities":[],"targets":[{"id":"person","kind":"person","start":20,"end":39,"value":"ليلى العلي","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["ليلى العلي"]},"customers":{"required_absent":["ليلى العلي"],"required_present":[]},"all":{"required_absent":["ليلى العلي"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-098","language":"ar","script":"Arabic","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"المؤسسة العامة فضاء للبيئة","known_identities":[],"targets":[{"id":"person","kind":"person","start":28,"end":49,"value":"فضاء للبيئة","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["فضاء للبيئة"]},"customers":{"required_absent":[],"required_present":["فضاء للبيئة"]},"all":{"required_absent":[],"required_present":["فضاء للبيئة"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-099","language":"ar","script":"Arabic","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_99\":\"ذكر العميل ليلى المصري\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":56,"value":"ليلى المصري","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["ليلى المصري"]},"customers":{"required_absent":["ليلى المصري"],"required_present":[]},"all":{"required_absent":["ليلى المصري"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-099","language":"ar","script":"Arabic","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_99\":\"المؤسسة العامة فضاء للتنمية\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":43,"end":66,"value":"فضاء للتنمية","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["فضاء للتنمية"]},"customers":{"required_absent":[],"required_present":["فضاء للتنمية"]},"all":{"required_absent":[],"required_present":["فضاء للتنمية"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-000","language":"zh","script":"Han","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"客户提到了王明","known_identities":[],"targets":[{"id":"person","kind":"person","start":15,"end":21,"value":"王明","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["王明"]},"customers":{"required_absent":["王明"],"required_present":[]},"all":{"required_absent":["王明"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-000","language":"zh","script":"Han","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"公共机构北辰研究院","known_identities":[],"targets":[{"id":"person","kind":"person","start":12,"end":27,"value":"北辰研究院","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["北辰研究院"]},"customers":{"required_absent":[],"required_present":["北辰研究院"]},"all":{"required_absent":[],"required_present":["北辰研究院"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-001","language":"zh","script":"Han","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_1\":\"客户提到了王芳\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":29,"end":35,"value":"王芳","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["王芳"]},"customers":{"required_absent":["王芳"],"required_present":[]},"all":{"required_absent":["王芳"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-001","language":"zh","script":"Han","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_1\":\"公共机构北辰出版社\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":26,"end":41,"value":"北辰出版社","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["北辰出版社"]},"customers":{"required_absent":[],"required_present":["北辰出版社"]},"all":{"required_absent":[],"required_present":["北辰出版社"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-002","language":"zh","script":"Han","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_2: 客户提到了王伟","known_identities":[],"targets":[{"id":"person","kind":"person","start":26,"end":32,"value":"王伟","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["王伟"]},"customers":{"required_absent":["王伟"],"required_present":[]},"all":{"required_absent":["王伟"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-002","language":"zh","script":"Han","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_2: 公共机构北辰基金会","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":38,"value":"北辰基金会","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["北辰基金会"]},"customers":{"required_absent":[],"required_present":["北辰基金会"]},"all":{"required_absent":[],"required_present":["北辰基金会"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-003","language":"zh","script":"Han","shape":"shell","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_3='客户提到了王秀英'","known_identities":[],"targets":[{"id":"person","kind":"person","start":26,"end":35,"value":"王秀英","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["王秀英"]},"customers":{"required_absent":["王秀英"],"required_present":[]},"all":{"required_absent":["王秀英"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-003","language":"zh","script":"Han","shape":"shell","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_3='公共机构北辰实验室'","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":38,"value":"北辰实验室","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["北辰实验室"]},"customers":{"required_absent":[],"required_present":["北辰实验室"]},"all":{"required_absent":[],"required_present":["北辰实验室"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-004","language":"zh","script":"Han","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/4 ; 客户提到了王强","known_identities":[],"targets":[{"id":"person","kind":"person","start":47,"end":53,"value":"王强","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["王强"]},"customers":{"required_absent":["王强"],"required_present":[]},"all":{"required_absent":["王强"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-004","language":"zh","script":"Han","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/4 ; 公共机构北辰中心","known_identities":[],"targets":[{"id":"person","kind":"person","start":44,"end":56,"value":"北辰中心","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["北辰中心"]},"customers":{"required_absent":[],"required_present":["北辰中心"]},"all":{"required_absent":[],"required_present":["北辰中心"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-005","language":"zh","script":"Han","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"**客户提到了王磊**","known_identities":[],"targets":[{"id":"person","kind":"person","start":17,"end":23,"value":"王磊","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["王磊"]},"customers":{"required_absent":["王磊"],"required_present":[]},"all":{"required_absent":["王磊"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-005","language":"zh","script":"Han","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"**公共机构北辰协会**","known_identities":[],"targets":[{"id":"person","kind":"person","start":14,"end":26,"value":"北辰协会","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["北辰协会"]},"customers":{"required_absent":[],"required_present":["北辰协会"]},"all":{"required_absent":[],"required_present":["北辰协会"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-006","language":"zh","script":"Han","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003e客户提到了王洋\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":18,"end":24,"value":"王洋","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["王洋"]},"customers":{"required_absent":["王洋"],"required_present":[]},"all":{"required_absent":["王洋"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-006","language":"zh","script":"Han","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003e公共机构北辰大学\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":15,"end":27,"value":"北辰大学","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["北辰大学"]},"customers":{"required_absent":[],"required_present":["北辰大学"]},"all":{"required_absent":[],"required_present":["北辰大学"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-007","language":"zh","script":"Han","shape":"quoted-reply","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e 客户提到了王艳","known_identities":[],"targets":[{"id":"person","kind":"person","start":17,"end":23,"value":"王艳","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["王艳"]},"customers":{"required_absent":["王艳"],"required_present":[]},"all":{"required_absent":["王艳"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-007","language":"zh","script":"Han","shape":"quoted-reply","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e 公共机构北辰博物馆","known_identities":[],"targets":[{"id":"person","kind":"person","start":14,"end":29,"value":"北辰博物馆","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["北辰博物馆"]},"customers":{"required_absent":[],"required_present":["北辰博物馆"]},"all":{"required_absent":[],"required_present":["北辰博物馆"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-008","language":"zh","script":"Han","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=8 message=\"客户提到了\" value=王勇","known_identities":[],"targets":[{"id":"person","kind":"person","start":52,"end":58,"value":"王勇","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["王勇"]},"customers":{"required_absent":["王勇"],"required_present":[]},"all":{"required_absent":["王勇"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-008","language":"zh","script":"Han","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=8 message=\"公共机构\" value=北辰图书馆","known_identities":[],"targets":[{"id":"person","kind":"person","start":49,"end":64,"value":"北辰图书馆","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["北辰图书馆"]},"customers":{"required_absent":[],"required_present":["北辰图书馆"]},"all":{"required_absent":[],"required_present":["北辰图书馆"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-009","language":"zh","script":"Han","shape":"stack-trace","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[9]: 客户提到了王静","known_identities":[],"targets":[{"id":"person","kind":"person","start":25,"end":31,"value":"王静","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["王静"]},"customers":{"required_absent":["王静"],"required_present":[]},"all":{"required_absent":["王静"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-009","language":"zh","script":"Han","shape":"stack-trace","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[9]: 公共机构北辰剧团","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":34,"value":"北辰剧团","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["北辰剧团"]},"customers":{"required_absent":[],"required_present":["北辰剧团"]},"all":{"required_absent":[],"required_present":["北辰剧团"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-010","language":"zh","script":"Han","shape":"code","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_10 := `客户提到了李明`","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":36,"value":"李明","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["李明"]},"customers":{"required_absent":["李明"],"required_present":[]},"all":{"required_absent":["李明"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-010","language":"zh","script":"Han","shape":"code","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_10 := `公共机构长河研究院`","known_identities":[],"targets":[{"id":"person","kind":"person","start":27,"end":42,"value":"长河研究院","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["长河研究院"]},"customers":{"required_absent":[],"required_present":["长河研究院"]},"all":{"required_absent":[],"required_present":["长河研究院"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-011","language":"zh","script":"Han","shape":"signature","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--\n客户提到了李芳","known_identities":[],"targets":[{"id":"person","kind":"person","start":18,"end":24,"value":"李芳","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["李芳"]},"customers":{"required_absent":["李芳"],"required_present":[]},"all":{"required_absent":["李芳"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-011","language":"zh","script":"Han","shape":"signature","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--\n公共机构长河出版社","known_identities":[],"targets":[{"id":"person","kind":"person","start":15,"end":30,"value":"长河出版社","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["长河出版社"]},"customers":{"required_absent":[],"required_present":["长河出版社"]},"all":{"required_absent":[],"required_present":["长河出版社"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-012","language":"zh","script":"Han","shape":"long-thread","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. 客户提到了李伟","known_identities":[],"targets":[{"id":"person","kind":"person","start":495,"end":501,"value":"李伟","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["李伟"]},"customers":{"required_absent":["李伟"],"required_present":[]},"all":{"required_absent":["李伟"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-012","language":"zh","script":"Han","shape":"long-thread","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. 公共机构长河基金会","known_identities":[],"targets":[{"id":"person","kind":"person","start":492,"end":507,"value":"长河基金会","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["长河基金会"]},"customers":{"required_absent":[],"required_present":["长河基金会"]},"all":{"required_absent":[],"required_present":["长河基金会"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-013","language":"zh","script":"Han","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=13 --message=\"客户提到了\" --value=李秀英","known_identities":[],"targets":[{"id":"person","kind":"person","start":48,"end":57,"value":"李秀英","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["李秀英"]},"customers":{"required_absent":["李秀英"],"required_present":[]},"all":{"required_absent":["李秀英"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-013","language":"zh","script":"Han","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=13 --message=\"公共机构\" --value=长河实验室","known_identities":[],"targets":[{"id":"person","kind":"person","start":45,"end":60,"value":"长河实验室","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["长河实验室"]},"customers":{"required_absent":[],"required_present":["长河实验室"]},"all":{"required_absent":[],"required_present":["长河实验室"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-014","language":"zh","script":"Han","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"客户提到了李强","known_identities":[],"targets":[{"id":"person","kind":"person","start":15,"end":21,"value":"李强","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["李强"]},"customers":{"required_absent":["李强"],"required_present":[]},"all":{"required_absent":["李强"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-014","language":"zh","script":"Han","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"公共机构长河中心","known_identities":[],"targets":[{"id":"person","kind":"person","start":12,"end":24,"value":"长河中心","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["长河中心"]},"customers":{"required_absent":[],"required_present":["长河中心"]},"all":{"required_absent":[],"required_present":["长河中心"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-015","language":"zh","script":"Han","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_15\":\"客户提到了李磊\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":36,"value":"李磊","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["李磊"]},"customers":{"required_absent":["李磊"],"required_present":[]},"all":{"required_absent":["李磊"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-015","language":"zh","script":"Han","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_15\":\"公共机构长河协会\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":27,"end":39,"value":"长河协会","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["长河协会"]},"customers":{"required_absent":[],"required_present":["长河协会"]},"all":{"required_absent":[],"required_present":["长河协会"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-016","language":"zh","script":"Han","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_16: 客户提到了李洋","known_identities":[],"targets":[{"id":"person","kind":"person","start":27,"end":33,"value":"李洋","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["李洋"]},"customers":{"required_absent":["李洋"],"required_present":[]},"all":{"required_absent":["李洋"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-016","language":"zh","script":"Han","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_16: 公共机构长河大学","known_identities":[],"targets":[{"id":"person","kind":"person","start":24,"end":36,"value":"长河大学","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["长河大学"]},"customers":{"required_absent":[],"required_present":["长河大学"]},"all":{"required_absent":[],"required_present":["长河大学"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-017","language":"zh","script":"Han","shape":"shell","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_17='客户提到了李艳'","known_identities":[],"targets":[{"id":"person","kind":"person","start":27,"end":33,"value":"李艳","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["李艳"]},"customers":{"required_absent":["李艳"],"required_present":[]},"all":{"required_absent":["李艳"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-017","language":"zh","script":"Han","shape":"shell","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_17='公共机构长河博物馆'","known_identities":[],"targets":[{"id":"person","kind":"person","start":24,"end":39,"value":"长河博物馆","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["长河博物馆"]},"customers":{"required_absent":[],"required_present":["长河博物馆"]},"all":{"required_absent":[],"required_present":["长河博物馆"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-018","language":"zh","script":"Han","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/18 ; 客户提到了李勇","known_identities":[],"targets":[{"id":"person","kind":"person","start":48,"end":54,"value":"李勇","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["李勇"]},"customers":{"required_absent":["李勇"],"required_present":[]},"all":{"required_absent":["李勇"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-018","language":"zh","script":"Han","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/18 ; 公共机构长河图书馆","known_identities":[],"targets":[{"id":"person","kind":"person","start":45,"end":60,"value":"长河图书馆","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["长河图书馆"]},"customers":{"required_absent":[],"required_present":["长河图书馆"]},"all":{"required_absent":[],"required_present":["长河图书馆"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-019","language":"zh","script":"Han","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"**客户提到了李静**","known_identities":[],"targets":[{"id":"person","kind":"person","start":17,"end":23,"value":"李静","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["李静"]},"customers":{"required_absent":["李静"],"required_present":[]},"all":{"required_absent":["李静"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-019","language":"zh","script":"Han","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"**公共机构长河剧团**","known_identities":[],"targets":[{"id":"person","kind":"person","start":14,"end":26,"value":"长河剧团","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["长河剧团"]},"customers":{"required_absent":[],"required_present":["长河剧团"]},"all":{"required_absent":[],"required_present":["长河剧团"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-020","language":"zh","script":"Han","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003e客户提到了张明\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":18,"end":24,"value":"张明","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["张明"]},"customers":{"required_absent":["张明"],"required_present":[]},"all":{"required_absent":["张明"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-020","language":"zh","script":"Han","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003e公共机构春山研究院\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":15,"end":30,"value":"春山研究院","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["春山研究院"]},"customers":{"required_absent":[],"required_present":["春山研究院"]},"all":{"required_absent":[],"required_present":["春山研究院"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-021","language":"zh","script":"Han","shape":"quoted-reply","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e 客户提到了张芳","known_identities":[],"targets":[{"id":"person","kind":"person","start":17,"end":23,"value":"张芳","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["张芳"]},"customers":{"required_absent":["张芳"],"required_present":[]},"all":{"required_absent":["张芳"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-021","language":"zh","script":"Han","shape":"quoted-reply","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e 公共机构春山出版社","known_identities":[],"targets":[{"id":"person","kind":"person","start":14,"end":29,"value":"春山出版社","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["春山出版社"]},"customers":{"required_absent":[],"required_present":["春山出版社"]},"all":{"required_absent":[],"required_present":["春山出版社"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-022","language":"zh","script":"Han","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=22 message=\"客户提到了\" value=张伟","known_identities":[],"targets":[{"id":"person","kind":"person","start":53,"end":59,"value":"张伟","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["张伟"]},"customers":{"required_absent":["张伟"],"required_present":[]},"all":{"required_absent":["张伟"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-022","language":"zh","script":"Han","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=22 message=\"公共机构\" value=春山基金会","known_identities":[],"targets":[{"id":"person","kind":"person","start":50,"end":65,"value":"春山基金会","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["春山基金会"]},"customers":{"required_absent":[],"required_present":["春山基金会"]},"all":{"required_absent":[],"required_present":["春山基金会"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-023","language":"zh","script":"Han","shape":"stack-trace","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[23]: 客户提到了张秀英","known_identities":[],"targets":[{"id":"person","kind":"person","start":26,"end":35,"value":"张秀英","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["张秀英"]},"customers":{"required_absent":["张秀英"],"required_present":[]},"all":{"required_absent":["张秀英"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-023","language":"zh","script":"Han","shape":"stack-trace","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[23]: 公共机构春山实验室","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":38,"value":"春山实验室","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["春山实验室"]},"customers":{"required_absent":[],"required_present":["春山实验室"]},"all":{"required_absent":[],"required_present":["春山实验室"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-024","language":"zh","script":"Han","shape":"code","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_24 := `客户提到了张强`","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":36,"value":"张强","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["张强"]},"customers":{"required_absent":["张强"],"required_present":[]},"all":{"required_absent":["张强"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-024","language":"zh","script":"Han","shape":"code","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_24 := `公共机构春山中心`","known_identities":[],"targets":[{"id":"person","kind":"person","start":27,"end":39,"value":"春山中心","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["春山中心"]},"customers":{"required_absent":[],"required_present":["春山中心"]},"all":{"required_absent":[],"required_present":["春山中心"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-025","language":"zh","script":"Han","shape":"signature","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--\n客户提到了张磊","known_identities":[],"targets":[{"id":"person","kind":"person","start":18,"end":24,"value":"张磊","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["张磊"]},"customers":{"required_absent":["张磊"],"required_present":[]},"all":{"required_absent":["张磊"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-025","language":"zh","script":"Han","shape":"signature","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--\n公共机构春山协会","known_identities":[],"targets":[{"id":"person","kind":"person","start":15,"end":27,"value":"春山协会","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["春山协会"]},"customers":{"required_absent":[],"required_present":["春山协会"]},"all":{"required_absent":[],"required_present":["春山协会"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-026","language":"zh","script":"Han","shape":"long-thread","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. 客户提到了张洋","known_identities":[],"targets":[{"id":"person","kind":"person","start":495,"end":501,"value":"张洋","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["张洋"]},"customers":{"required_absent":["张洋"],"required_present":[]},"all":{"required_absent":["张洋"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-026","language":"zh","script":"Han","shape":"long-thread","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. 公共机构春山大学","known_identities":[],"targets":[{"id":"person","kind":"person","start":492,"end":504,"value":"春山大学","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["春山大学"]},"customers":{"required_absent":[],"required_present":["春山大学"]},"all":{"required_absent":[],"required_present":["春山大学"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-027","language":"zh","script":"Han","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=27 --message=\"客户提到了\" --value=张艳","known_identities":[],"targets":[{"id":"person","kind":"person","start":48,"end":54,"value":"张艳","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["张艳"]},"customers":{"required_absent":["张艳"],"required_present":[]},"all":{"required_absent":["张艳"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-027","language":"zh","script":"Han","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=27 --message=\"公共机构\" --value=春山博物馆","known_identities":[],"targets":[{"id":"person","kind":"person","start":45,"end":60,"value":"春山博物馆","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["春山博物馆"]},"customers":{"required_absent":[],"required_present":["春山博物馆"]},"all":{"required_absent":[],"required_present":["春山博物馆"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-028","language":"zh","script":"Han","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"客户提到了张勇","known_identities":[],"targets":[{"id":"person","kind":"person","start":15,"end":21,"value":"张勇","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["张勇"]},"customers":{"required_absent":["张勇"],"required_present":[]},"all":{"required_absent":["张勇"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-028","language":"zh","script":"Han","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"公共机构春山图书馆","known_identities":[],"targets":[{"id":"person","kind":"person","start":12,"end":27,"value":"春山图书馆","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["春山图书馆"]},"customers":{"required_absent":[],"required_present":["春山图书馆"]},"all":{"required_absent":[],"required_present":["春山图书馆"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-029","language":"zh","script":"Han","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_29\":\"客户提到了张静\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":36,"value":"张静","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["张静"]},"customers":{"required_absent":["张静"],"required_present":[]},"all":{"required_absent":["张静"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-029","language":"zh","script":"Han","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_29\":\"公共机构春山剧团\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":27,"end":39,"value":"春山剧团","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["春山剧团"]},"customers":{"required_absent":[],"required_present":["春山剧团"]},"all":{"required_absent":[],"required_present":["春山剧团"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-030","language":"zh","script":"Han","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_30: 客户提到了刘明","known_identities":[],"targets":[{"id":"person","kind":"person","start":27,"end":33,"value":"刘明","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["刘明"]},"customers":{"required_absent":["刘明"],"required_present":[]},"all":{"required_absent":["刘明"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-030","language":"zh","script":"Han","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_30: 公共机构东海研究院","known_identities":[],"targets":[{"id":"person","kind":"person","start":24,"end":39,"value":"东海研究院","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["东海研究院"]},"customers":{"required_absent":[],"required_present":["东海研究院"]},"all":{"required_absent":[],"required_present":["东海研究院"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-031","language":"zh","script":"Han","shape":"shell","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_31='客户提到了刘芳'","known_identities":[],"targets":[{"id":"person","kind":"person","start":27,"end":33,"value":"刘芳","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["刘芳"]},"customers":{"required_absent":["刘芳"],"required_present":[]},"all":{"required_absent":["刘芳"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-031","language":"zh","script":"Han","shape":"shell","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_31='公共机构东海出版社'","known_identities":[],"targets":[{"id":"person","kind":"person","start":24,"end":39,"value":"东海出版社","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["东海出版社"]},"customers":{"required_absent":[],"required_present":["东海出版社"]},"all":{"required_absent":[],"required_present":["东海出版社"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-032","language":"zh","script":"Han","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/32 ; 客户提到了刘伟","known_identities":[],"targets":[{"id":"person","kind":"person","start":48,"end":54,"value":"刘伟","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["刘伟"]},"customers":{"required_absent":["刘伟"],"required_present":[]},"all":{"required_absent":["刘伟"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-032","language":"zh","script":"Han","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/32 ; 公共机构东海基金会","known_identities":[],"targets":[{"id":"person","kind":"person","start":45,"end":60,"value":"东海基金会","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["东海基金会"]},"customers":{"required_absent":[],"required_present":["东海基金会"]},"all":{"required_absent":[],"required_present":["东海基金会"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-033","language":"zh","script":"Han","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"**客户提到了刘秀英**","known_identities":[],"targets":[{"id":"person","kind":"person","start":17,"end":26,"value":"刘秀英","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["刘秀英"]},"customers":{"required_absent":["刘秀英"],"required_present":[]},"all":{"required_absent":["刘秀英"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-033","language":"zh","script":"Han","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"**公共机构东海实验室**","known_identities":[],"targets":[{"id":"person","kind":"person","start":14,"end":29,"value":"东海实验室","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["东海实验室"]},"customers":{"required_absent":[],"required_present":["东海实验室"]},"all":{"required_absent":[],"required_present":["东海实验室"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-034","language":"zh","script":"Han","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003e客户提到了刘强\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":18,"end":24,"value":"刘强","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["刘强"]},"customers":{"required_absent":["刘强"],"required_present":[]},"all":{"required_absent":["刘强"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-034","language":"zh","script":"Han","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003e公共机构东海中心\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":15,"end":27,"value":"东海中心","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["东海中心"]},"customers":{"required_absent":[],"required_present":["东海中心"]},"all":{"required_absent":[],"required_present":["东海中心"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-035","language":"zh","script":"Han","shape":"quoted-reply","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e 客户提到了刘磊","known_identities":[],"targets":[{"id":"person","kind":"person","start":17,"end":23,"value":"刘磊","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["刘磊"]},"customers":{"required_absent":["刘磊"],"required_present":[]},"all":{"required_absent":["刘磊"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-035","language":"zh","script":"Han","shape":"quoted-reply","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e 公共机构东海协会","known_identities":[],"targets":[{"id":"person","kind":"person","start":14,"end":26,"value":"东海协会","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["东海协会"]},"customers":{"required_absent":[],"required_present":["东海协会"]},"all":{"required_absent":[],"required_present":["东海协会"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-036","language":"zh","script":"Han","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=36 message=\"客户提到了\" value=刘洋","known_identities":[],"targets":[{"id":"person","kind":"person","start":53,"end":59,"value":"刘洋","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["刘洋"]},"customers":{"required_absent":["刘洋"],"required_present":[]},"all":{"required_absent":["刘洋"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-036","language":"zh","script":"Han","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=36 message=\"公共机构\" value=东海大学","known_identities":[],"targets":[{"id":"person","kind":"person","start":50,"end":62,"value":"东海大学","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["东海大学"]},"customers":{"required_absent":[],"required_present":["东海大学"]},"all":{"required_absent":[],"required_present":["东海大学"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-037","language":"zh","script":"Han","shape":"stack-trace","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[37]: 客户提到了刘艳","known_identities":[],"targets":[{"id":"person","kind":"person","start":26,"end":32,"value":"刘艳","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["刘艳"]},"customers":{"required_absent":["刘艳"],"required_present":[]},"all":{"required_absent":["刘艳"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-037","language":"zh","script":"Han","shape":"stack-trace","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[37]: 公共机构东海博物馆","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":38,"value":"东海博物馆","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["东海博物馆"]},"customers":{"required_absent":[],"required_present":["东海博物馆"]},"all":{"required_absent":[],"required_present":["东海博物馆"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-038","language":"zh","script":"Han","shape":"code","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_38 := `客户提到了刘勇`","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":36,"value":"刘勇","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["刘勇"]},"customers":{"required_absent":["刘勇"],"required_present":[]},"all":{"required_absent":["刘勇"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-038","language":"zh","script":"Han","shape":"code","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_38 := `公共机构东海图书馆`","known_identities":[],"targets":[{"id":"person","kind":"person","start":27,"end":42,"value":"东海图书馆","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["东海图书馆"]},"customers":{"required_absent":[],"required_present":["东海图书馆"]},"all":{"required_absent":[],"required_present":["东海图书馆"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-039","language":"zh","script":"Han","shape":"signature","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--\n客户提到了刘静","known_identities":[],"targets":[{"id":"person","kind":"person","start":18,"end":24,"value":"刘静","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["刘静"]},"customers":{"required_absent":["刘静"],"required_present":[]},"all":{"required_absent":["刘静"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-039","language":"zh","script":"Han","shape":"signature","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--\n公共机构东海剧团","known_identities":[],"targets":[{"id":"person","kind":"person","start":15,"end":27,"value":"东海剧团","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["东海剧团"]},"customers":{"required_absent":[],"required_present":["东海剧团"]},"all":{"required_absent":[],"required_present":["东海剧团"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-040","language":"zh","script":"Han","shape":"long-thread","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. 客户提到了陈明","known_identities":[],"targets":[{"id":"person","kind":"person","start":495,"end":501,"value":"陈明","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["陈明"]},"customers":{"required_absent":["陈明"],"required_present":[]},"all":{"required_absent":["陈明"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-040","language":"zh","script":"Han","shape":"long-thread","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. 公共机构飞云研究院","known_identities":[],"targets":[{"id":"person","kind":"person","start":492,"end":507,"value":"飞云研究院","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["飞云研究院"]},"customers":{"required_absent":[],"required_present":["飞云研究院"]},"all":{"required_absent":[],"required_present":["飞云研究院"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-041","language":"zh","script":"Han","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=41 --message=\"客户提到了\" --value=陈芳","known_identities":[],"targets":[{"id":"person","kind":"person","start":48,"end":54,"value":"陈芳","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["陈芳"]},"customers":{"required_absent":["陈芳"],"required_present":[]},"all":{"required_absent":["陈芳"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-041","language":"zh","script":"Han","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=41 --message=\"公共机构\" --value=飞云出版社","known_identities":[],"targets":[{"id":"person","kind":"person","start":45,"end":60,"value":"飞云出版社","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["飞云出版社"]},"customers":{"required_absent":[],"required_present":["飞云出版社"]},"all":{"required_absent":[],"required_present":["飞云出版社"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-042","language":"zh","script":"Han","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"客户提到了陈伟","known_identities":[],"targets":[{"id":"person","kind":"person","start":15,"end":21,"value":"陈伟","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["陈伟"]},"customers":{"required_absent":["陈伟"],"required_present":[]},"all":{"required_absent":["陈伟"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-042","language":"zh","script":"Han","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"公共机构飞云基金会","known_identities":[],"targets":[{"id":"person","kind":"person","start":12,"end":27,"value":"飞云基金会","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["飞云基金会"]},"customers":{"required_absent":[],"required_present":["飞云基金会"]},"all":{"required_absent":[],"required_present":["飞云基金会"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-043","language":"zh","script":"Han","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_43\":\"客户提到了陈秀英\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":39,"value":"陈秀英","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["陈秀英"]},"customers":{"required_absent":["陈秀英"],"required_present":[]},"all":{"required_absent":["陈秀英"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-043","language":"zh","script":"Han","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_43\":\"公共机构飞云实验室\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":27,"end":42,"value":"飞云实验室","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["飞云实验室"]},"customers":{"required_absent":[],"required_present":["飞云实验室"]},"all":{"required_absent":[],"required_present":["飞云实验室"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-044","language":"zh","script":"Han","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_44: 客户提到了陈强","known_identities":[],"targets":[{"id":"person","kind":"person","start":27,"end":33,"value":"陈强","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["陈强"]},"customers":{"required_absent":["陈强"],"required_present":[]},"all":{"required_absent":["陈强"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-044","language":"zh","script":"Han","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_44: 公共机构飞云中心","known_identities":[],"targets":[{"id":"person","kind":"person","start":24,"end":36,"value":"飞云中心","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["飞云中心"]},"customers":{"required_absent":[],"required_present":["飞云中心"]},"all":{"required_absent":[],"required_present":["飞云中心"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-045","language":"zh","script":"Han","shape":"shell","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_45='客户提到了陈磊'","known_identities":[],"targets":[{"id":"person","kind":"person","start":27,"end":33,"value":"陈磊","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["陈磊"]},"customers":{"required_absent":["陈磊"],"required_present":[]},"all":{"required_absent":["陈磊"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-045","language":"zh","script":"Han","shape":"shell","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_45='公共机构飞云协会'","known_identities":[],"targets":[{"id":"person","kind":"person","start":24,"end":36,"value":"飞云协会","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["飞云协会"]},"customers":{"required_absent":[],"required_present":["飞云协会"]},"all":{"required_absent":[],"required_present":["飞云协会"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-046","language":"zh","script":"Han","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/46 ; 客户提到了陈洋","known_identities":[],"targets":[{"id":"person","kind":"person","start":48,"end":54,"value":"陈洋","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["陈洋"]},"customers":{"required_absent":["陈洋"],"required_present":[]},"all":{"required_absent":["陈洋"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-046","language":"zh","script":"Han","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/46 ; 公共机构飞云大学","known_identities":[],"targets":[{"id":"person","kind":"person","start":45,"end":57,"value":"飞云大学","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["飞云大学"]},"customers":{"required_absent":[],"required_present":["飞云大学"]},"all":{"required_absent":[],"required_present":["飞云大学"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-047","language":"zh","script":"Han","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"**客户提到了陈艳**","known_identities":[],"targets":[{"id":"person","kind":"person","start":17,"end":23,"value":"陈艳","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["陈艳"]},"customers":{"required_absent":["陈艳"],"required_present":[]},"all":{"required_absent":["陈艳"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-047","language":"zh","script":"Han","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"**公共机构飞云博物馆**","known_identities":[],"targets":[{"id":"person","kind":"person","start":14,"end":29,"value":"飞云博物馆","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["飞云博物馆"]},"customers":{"required_absent":[],"required_present":["飞云博物馆"]},"all":{"required_absent":[],"required_present":["飞云博物馆"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-048","language":"zh","script":"Han","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003e客户提到了陈勇\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":18,"end":24,"value":"陈勇","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["陈勇"]},"customers":{"required_absent":["陈勇"],"required_present":[]},"all":{"required_absent":["陈勇"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-048","language":"zh","script":"Han","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003e公共机构飞云图书馆\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":15,"end":30,"value":"飞云图书馆","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["飞云图书馆"]},"customers":{"required_absent":[],"required_present":["飞云图书馆"]},"all":{"required_absent":[],"required_present":["飞云图书馆"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-049","language":"zh","script":"Han","shape":"quoted-reply","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e 客户提到了陈静","known_identities":[],"targets":[{"id":"person","kind":"person","start":17,"end":23,"value":"陈静","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["陈静"]},"customers":{"required_absent":["陈静"],"required_present":[]},"all":{"required_absent":["陈静"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-049","language":"zh","script":"Han","shape":"quoted-reply","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e 公共机构飞云剧团","known_identities":[],"targets":[{"id":"person","kind":"person","start":14,"end":26,"value":"飞云剧团","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["飞云剧团"]},"customers":{"required_absent":[],"required_present":["飞云剧团"]},"all":{"required_absent":[],"required_present":["飞云剧团"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-050","language":"zh","script":"Han","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=50 message=\"客户提到了\" value=杨明","known_identities":[],"targets":[{"id":"person","kind":"person","start":53,"end":59,"value":"杨明","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["杨明"]},"customers":{"required_absent":["杨明"],"required_present":[]},"all":{"required_absent":["杨明"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-050","language":"zh","script":"Han","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=50 message=\"公共机构\" value=光华研究院","known_identities":[],"targets":[{"id":"person","kind":"person","start":50,"end":65,"value":"光华研究院","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["光华研究院"]},"customers":{"required_absent":[],"required_present":["光华研究院"]},"all":{"required_absent":[],"required_present":["光华研究院"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-051","language":"zh","script":"Han","shape":"stack-trace","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[51]: 客户提到了杨芳","known_identities":[],"targets":[{"id":"person","kind":"person","start":26,"end":32,"value":"杨芳","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["杨芳"]},"customers":{"required_absent":["杨芳"],"required_present":[]},"all":{"required_absent":["杨芳"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-051","language":"zh","script":"Han","shape":"stack-trace","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[51]: 公共机构光华出版社","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":38,"value":"光华出版社","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["光华出版社"]},"customers":{"required_absent":[],"required_present":["光华出版社"]},"all":{"required_absent":[],"required_present":["光华出版社"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-052","language":"zh","script":"Han","shape":"code","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_52 := `客户提到了杨伟`","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":36,"value":"杨伟","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["杨伟"]},"customers":{"required_absent":["杨伟"],"required_present":[]},"all":{"required_absent":["杨伟"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-052","language":"zh","script":"Han","shape":"code","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_52 := `公共机构光华基金会`","known_identities":[],"targets":[{"id":"person","kind":"person","start":27,"end":42,"value":"光华基金会","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["光华基金会"]},"customers":{"required_absent":[],"required_present":["光华基金会"]},"all":{"required_absent":[],"required_present":["光华基金会"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-053","language":"zh","script":"Han","shape":"signature","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--\n客户提到了杨秀英","known_identities":[],"targets":[{"id":"person","kind":"person","start":18,"end":27,"value":"杨秀英","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["杨秀英"]},"customers":{"required_absent":["杨秀英"],"required_present":[]},"all":{"required_absent":["杨秀英"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-053","language":"zh","script":"Han","shape":"signature","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--\n公共机构光华实验室","known_identities":[],"targets":[{"id":"person","kind":"person","start":15,"end":30,"value":"光华实验室","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["光华实验室"]},"customers":{"required_absent":[],"required_present":["光华实验室"]},"all":{"required_absent":[],"required_present":["光华实验室"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-054","language":"zh","script":"Han","shape":"long-thread","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. 客户提到了杨强","known_identities":[],"targets":[{"id":"person","kind":"person","start":495,"end":501,"value":"杨强","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["杨强"]},"customers":{"required_absent":["杨强"],"required_present":[]},"all":{"required_absent":["杨强"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-054","language":"zh","script":"Han","shape":"long-thread","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. 公共机构光华中心","known_identities":[],"targets":[{"id":"person","kind":"person","start":492,"end":504,"value":"光华中心","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["光华中心"]},"customers":{"required_absent":[],"required_present":["光华中心"]},"all":{"required_absent":[],"required_present":["光华中心"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-055","language":"zh","script":"Han","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=55 --message=\"客户提到了\" --value=杨磊","known_identities":[],"targets":[{"id":"person","kind":"person","start":48,"end":54,"value":"杨磊","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["杨磊"]},"customers":{"required_absent":["杨磊"],"required_present":[]},"all":{"required_absent":["杨磊"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-055","language":"zh","script":"Han","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=55 --message=\"公共机构\" --value=光华协会","known_identities":[],"targets":[{"id":"person","kind":"person","start":45,"end":57,"value":"光华协会","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["光华协会"]},"customers":{"required_absent":[],"required_present":["光华协会"]},"all":{"required_absent":[],"required_present":["光华协会"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-056","language":"zh","script":"Han","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"客户提到了杨洋","known_identities":[],"targets":[{"id":"person","kind":"person","start":15,"end":21,"value":"杨洋","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["杨洋"]},"customers":{"required_absent":["杨洋"],"required_present":[]},"all":{"required_absent":["杨洋"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-056","language":"zh","script":"Han","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"公共机构光华大学","known_identities":[],"targets":[{"id":"person","kind":"person","start":12,"end":24,"value":"光华大学","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["光华大学"]},"customers":{"required_absent":[],"required_present":["光华大学"]},"all":{"required_absent":[],"required_present":["光华大学"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-057","language":"zh","script":"Han","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_57\":\"客户提到了杨艳\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":36,"value":"杨艳","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["杨艳"]},"customers":{"required_absent":["杨艳"],"required_present":[]},"all":{"required_absent":["杨艳"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-057","language":"zh","script":"Han","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_57\":\"公共机构光华博物馆\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":27,"end":42,"value":"光华博物馆","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["光华博物馆"]},"customers":{"required_absent":[],"required_present":["光华博物馆"]},"all":{"required_absent":[],"required_present":["光华博物馆"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-058","language":"zh","script":"Han","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_58: 客户提到了杨勇","known_identities":[],"targets":[{"id":"person","kind":"person","start":27,"end":33,"value":"杨勇","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["杨勇"]},"customers":{"required_absent":["杨勇"],"required_present":[]},"all":{"required_absent":["杨勇"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-058","language":"zh","script":"Han","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_58: 公共机构光华图书馆","known_identities":[],"targets":[{"id":"person","kind":"person","start":24,"end":39,"value":"光华图书馆","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["光华图书馆"]},"customers":{"required_absent":[],"required_present":["光华图书馆"]},"all":{"required_absent":[],"required_present":["光华图书馆"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-059","language":"zh","script":"Han","shape":"shell","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_59='客户提到了杨静'","known_identities":[],"targets":[{"id":"person","kind":"person","start":27,"end":33,"value":"杨静","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["杨静"]},"customers":{"required_absent":["杨静"],"required_present":[]},"all":{"required_absent":["杨静"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-059","language":"zh","script":"Han","shape":"shell","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_59='公共机构光华剧团'","known_identities":[],"targets":[{"id":"person","kind":"person","start":24,"end":36,"value":"光华剧团","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["光华剧团"]},"customers":{"required_absent":[],"required_present":["光华剧团"]},"all":{"required_absent":[],"required_present":["光华剧团"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-060","language":"zh","script":"Han","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/60 ; 客户提到了赵明","known_identities":[],"targets":[{"id":"person","kind":"person","start":48,"end":54,"value":"赵明","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["赵明"]},"customers":{"required_absent":["赵明"],"required_present":[]},"all":{"required_absent":["赵明"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-060","language":"zh","script":"Han","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/60 ; 公共机构禾木研究院","known_identities":[],"targets":[{"id":"person","kind":"person","start":45,"end":60,"value":"禾木研究院","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["禾木研究院"]},"customers":{"required_absent":[],"required_present":["禾木研究院"]},"all":{"required_absent":[],"required_present":["禾木研究院"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-061","language":"zh","script":"Han","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"**客户提到了赵芳**","known_identities":[],"targets":[{"id":"person","kind":"person","start":17,"end":23,"value":"赵芳","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["赵芳"]},"customers":{"required_absent":["赵芳"],"required_present":[]},"all":{"required_absent":["赵芳"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-061","language":"zh","script":"Han","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"**公共机构禾木出版社**","known_identities":[],"targets":[{"id":"person","kind":"person","start":14,"end":29,"value":"禾木出版社","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["禾木出版社"]},"customers":{"required_absent":[],"required_present":["禾木出版社"]},"all":{"required_absent":[],"required_present":["禾木出版社"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-062","language":"zh","script":"Han","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003e客户提到了赵伟\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":18,"end":24,"value":"赵伟","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["赵伟"]},"customers":{"required_absent":["赵伟"],"required_present":[]},"all":{"required_absent":["赵伟"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-062","language":"zh","script":"Han","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003e公共机构禾木基金会\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":15,"end":30,"value":"禾木基金会","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["禾木基金会"]},"customers":{"required_absent":[],"required_present":["禾木基金会"]},"all":{"required_absent":[],"required_present":["禾木基金会"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-063","language":"zh","script":"Han","shape":"quoted-reply","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e 客户提到了赵秀英","known_identities":[],"targets":[{"id":"person","kind":"person","start":17,"end":26,"value":"赵秀英","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["赵秀英"]},"customers":{"required_absent":["赵秀英"],"required_present":[]},"all":{"required_absent":["赵秀英"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-063","language":"zh","script":"Han","shape":"quoted-reply","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e 公共机构禾木实验室","known_identities":[],"targets":[{"id":"person","kind":"person","start":14,"end":29,"value":"禾木实验室","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["禾木实验室"]},"customers":{"required_absent":[],"required_present":["禾木实验室"]},"all":{"required_absent":[],"required_present":["禾木实验室"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-064","language":"zh","script":"Han","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=64 message=\"客户提到了\" value=赵强","known_identities":[],"targets":[{"id":"person","kind":"person","start":53,"end":59,"value":"赵强","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["赵强"]},"customers":{"required_absent":["赵强"],"required_present":[]},"all":{"required_absent":["赵强"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-064","language":"zh","script":"Han","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=64 message=\"公共机构\" value=禾木中心","known_identities":[],"targets":[{"id":"person","kind":"person","start":50,"end":62,"value":"禾木中心","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["禾木中心"]},"customers":{"required_absent":[],"required_present":["禾木中心"]},"all":{"required_absent":[],"required_present":["禾木中心"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-065","language":"zh","script":"Han","shape":"stack-trace","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[65]: 客户提到了赵磊","known_identities":[],"targets":[{"id":"person","kind":"person","start":26,"end":32,"value":"赵磊","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["赵磊"]},"customers":{"required_absent":["赵磊"],"required_present":[]},"all":{"required_absent":["赵磊"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-065","language":"zh","script":"Han","shape":"stack-trace","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[65]: 公共机构禾木协会","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":35,"value":"禾木协会","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["禾木协会"]},"customers":{"required_absent":[],"required_present":["禾木协会"]},"all":{"required_absent":[],"required_present":["禾木协会"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-066","language":"zh","script":"Han","shape":"code","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_66 := `客户提到了赵洋`","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":36,"value":"赵洋","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["赵洋"]},"customers":{"required_absent":["赵洋"],"required_present":[]},"all":{"required_absent":["赵洋"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-066","language":"zh","script":"Han","shape":"code","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_66 := `公共机构禾木大学`","known_identities":[],"targets":[{"id":"person","kind":"person","start":27,"end":39,"value":"禾木大学","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["禾木大学"]},"customers":{"required_absent":[],"required_present":["禾木大学"]},"all":{"required_absent":[],"required_present":["禾木大学"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-067","language":"zh","script":"Han","shape":"signature","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--\n客户提到了赵艳","known_identities":[],"targets":[{"id":"person","kind":"person","start":18,"end":24,"value":"赵艳","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["赵艳"]},"customers":{"required_absent":["赵艳"],"required_present":[]},"all":{"required_absent":["赵艳"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-067","language":"zh","script":"Han","shape":"signature","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--\n公共机构禾木博物馆","known_identities":[],"targets":[{"id":"person","kind":"person","start":15,"end":30,"value":"禾木博物馆","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["禾木博物馆"]},"customers":{"required_absent":[],"required_present":["禾木博物馆"]},"all":{"required_absent":[],"required_present":["禾木博物馆"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-068","language":"zh","script":"Han","shape":"long-thread","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. 客户提到了赵勇","known_identities":[],"targets":[{"id":"person","kind":"person","start":495,"end":501,"value":"赵勇","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["赵勇"]},"customers":{"required_absent":["赵勇"],"required_present":[]},"all":{"required_absent":["赵勇"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-068","language":"zh","script":"Han","shape":"long-thread","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. 公共机构禾木图书馆","known_identities":[],"targets":[{"id":"person","kind":"person","start":492,"end":507,"value":"禾木图书馆","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["禾木图书馆"]},"customers":{"required_absent":[],"required_present":["禾木图书馆"]},"all":{"required_absent":[],"required_present":["禾木图书馆"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-069","language":"zh","script":"Han","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=69 --message=\"客户提到了\" --value=赵静","known_identities":[],"targets":[{"id":"person","kind":"person","start":48,"end":54,"value":"赵静","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["赵静"]},"customers":{"required_absent":["赵静"],"required_present":[]},"all":{"required_absent":["赵静"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-069","language":"zh","script":"Han","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=69 --message=\"公共机构\" --value=禾木剧团","known_identities":[],"targets":[{"id":"person","kind":"person","start":45,"end":57,"value":"禾木剧团","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["禾木剧团"]},"customers":{"required_absent":[],"required_present":["禾木剧团"]},"all":{"required_absent":[],"required_present":["禾木剧团"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-070","language":"zh","script":"Han","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"客户提到了黄明","known_identities":[],"targets":[{"id":"person","kind":"person","start":15,"end":21,"value":"黄明","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["黄明"]},"customers":{"required_absent":["黄明"],"required_present":[]},"all":{"required_absent":["黄明"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-070","language":"zh","script":"Han","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"公共机构金石研究院","known_identities":[],"targets":[{"id":"person","kind":"person","start":12,"end":27,"value":"金石研究院","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["金石研究院"]},"customers":{"required_absent":[],"required_present":["金石研究院"]},"all":{"required_absent":[],"required_present":["金石研究院"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-071","language":"zh","script":"Han","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_71\":\"客户提到了黄芳\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":36,"value":"黄芳","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["黄芳"]},"customers":{"required_absent":["黄芳"],"required_present":[]},"all":{"required_absent":["黄芳"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-071","language":"zh","script":"Han","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_71\":\"公共机构金石出版社\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":27,"end":42,"value":"金石出版社","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["金石出版社"]},"customers":{"required_absent":[],"required_present":["金石出版社"]},"all":{"required_absent":[],"required_present":["金石出版社"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-072","language":"zh","script":"Han","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_72: 客户提到了黄伟","known_identities":[],"targets":[{"id":"person","kind":"person","start":27,"end":33,"value":"黄伟","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["黄伟"]},"customers":{"required_absent":["黄伟"],"required_present":[]},"all":{"required_absent":["黄伟"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-072","language":"zh","script":"Han","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_72: 公共机构金石基金会","known_identities":[],"targets":[{"id":"person","kind":"person","start":24,"end":39,"value":"金石基金会","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["金石基金会"]},"customers":{"required_absent":[],"required_present":["金石基金会"]},"all":{"required_absent":[],"required_present":["金石基金会"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-073","language":"zh","script":"Han","shape":"shell","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_73='客户提到了黄秀英'","known_identities":[],"targets":[{"id":"person","kind":"person","start":27,"end":36,"value":"黄秀英","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["黄秀英"]},"customers":{"required_absent":["黄秀英"],"required_present":[]},"all":{"required_absent":["黄秀英"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-073","language":"zh","script":"Han","shape":"shell","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_73='公共机构金石实验室'","known_identities":[],"targets":[{"id":"person","kind":"person","start":24,"end":39,"value":"金石实验室","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["金石实验室"]},"customers":{"required_absent":[],"required_present":["金石实验室"]},"all":{"required_absent":[],"required_present":["金石实验室"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-074","language":"zh","script":"Han","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/74 ; 客户提到了黄强","known_identities":[],"targets":[{"id":"person","kind":"person","start":48,"end":54,"value":"黄强","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["黄强"]},"customers":{"required_absent":["黄强"],"required_present":[]},"all":{"required_absent":["黄强"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-074","language":"zh","script":"Han","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/74 ; 公共机构金石中心","known_identities":[],"targets":[{"id":"person","kind":"person","start":45,"end":57,"value":"金石中心","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["金石中心"]},"customers":{"required_absent":[],"required_present":["金石中心"]},"all":{"required_absent":[],"required_present":["金石中心"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-075","language":"zh","script":"Han","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"**客户提到了黄磊**","known_identities":[],"targets":[{"id":"person","kind":"person","start":17,"end":23,"value":"黄磊","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["黄磊"]},"customers":{"required_absent":["黄磊"],"required_present":[]},"all":{"required_absent":["黄磊"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-075","language":"zh","script":"Han","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"**公共机构金石协会**","known_identities":[],"targets":[{"id":"person","kind":"person","start":14,"end":26,"value":"金石协会","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["金石协会"]},"customers":{"required_absent":[],"required_present":["金石协会"]},"all":{"required_absent":[],"required_present":["金石协会"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-076","language":"zh","script":"Han","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003e客户提到了黄洋\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":18,"end":24,"value":"黄洋","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["黄洋"]},"customers":{"required_absent":["黄洋"],"required_present":[]},"all":{"required_absent":["黄洋"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-076","language":"zh","script":"Han","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003e公共机构金石大学\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":15,"end":27,"value":"金石大学","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["金石大学"]},"customers":{"required_absent":[],"required_present":["金石大学"]},"all":{"required_absent":[],"required_present":["金石大学"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-077","language":"zh","script":"Han","shape":"quoted-reply","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e 客户提到了黄艳","known_identities":[],"targets":[{"id":"person","kind":"person","start":17,"end":23,"value":"黄艳","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["黄艳"]},"customers":{"required_absent":["黄艳"],"required_present":[]},"all":{"required_absent":["黄艳"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-077","language":"zh","script":"Han","shape":"quoted-reply","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e 公共机构金石博物馆","known_identities":[],"targets":[{"id":"person","kind":"person","start":14,"end":29,"value":"金石博物馆","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["金石博物馆"]},"customers":{"required_absent":[],"required_present":["金石博物馆"]},"all":{"required_absent":[],"required_present":["金石博物馆"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-078","language":"zh","script":"Han","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=78 message=\"客户提到了\" value=黄勇","known_identities":[],"targets":[{"id":"person","kind":"person","start":53,"end":59,"value":"黄勇","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["黄勇"]},"customers":{"required_absent":["黄勇"],"required_present":[]},"all":{"required_absent":["黄勇"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-078","language":"zh","script":"Han","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=78 message=\"公共机构\" value=金石图书馆","known_identities":[],"targets":[{"id":"person","kind":"person","start":50,"end":65,"value":"金石图书馆","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["金石图书馆"]},"customers":{"required_absent":[],"required_present":["金石图书馆"]},"all":{"required_absent":[],"required_present":["金石图书馆"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-079","language":"zh","script":"Han","shape":"stack-trace","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[79]: 客户提到了黄静","known_identities":[],"targets":[{"id":"person","kind":"person","start":26,"end":32,"value":"黄静","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["黄静"]},"customers":{"required_absent":["黄静"],"required_present":[]},"all":{"required_absent":["黄静"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-079","language":"zh","script":"Han","shape":"stack-trace","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[79]: 公共机构金石剧团","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":35,"value":"金石剧团","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["金石剧团"]},"customers":{"required_absent":[],"required_present":["金石剧团"]},"all":{"required_absent":[],"required_present":["金石剧团"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-080","language":"zh","script":"Han","shape":"code","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_80 := `客户提到了周明`","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":36,"value":"周明","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["周明"]},"customers":{"required_absent":["周明"],"required_present":[]},"all":{"required_absent":["周明"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-080","language":"zh","script":"Han","shape":"code","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_80 := `公共机构蓝桥研究院`","known_identities":[],"targets":[{"id":"person","kind":"person","start":27,"end":42,"value":"蓝桥研究院","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["蓝桥研究院"]},"customers":{"required_absent":[],"required_present":["蓝桥研究院"]},"all":{"required_absent":[],"required_present":["蓝桥研究院"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-081","language":"zh","script":"Han","shape":"signature","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--\n客户提到了周芳","known_identities":[],"targets":[{"id":"person","kind":"person","start":18,"end":24,"value":"周芳","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["周芳"]},"customers":{"required_absent":["周芳"],"required_present":[]},"all":{"required_absent":["周芳"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-081","language":"zh","script":"Han","shape":"signature","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--\n公共机构蓝桥出版社","known_identities":[],"targets":[{"id":"person","kind":"person","start":15,"end":30,"value":"蓝桥出版社","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["蓝桥出版社"]},"customers":{"required_absent":[],"required_present":["蓝桥出版社"]},"all":{"required_absent":[],"required_present":["蓝桥出版社"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-082","language":"zh","script":"Han","shape":"long-thread","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. 客户提到了周伟","known_identities":[],"targets":[{"id":"person","kind":"person","start":495,"end":501,"value":"周伟","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["周伟"]},"customers":{"required_absent":["周伟"],"required_present":[]},"all":{"required_absent":["周伟"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-082","language":"zh","script":"Han","shape":"long-thread","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. 公共机构蓝桥基金会","known_identities":[],"targets":[{"id":"person","kind":"person","start":492,"end":507,"value":"蓝桥基金会","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["蓝桥基金会"]},"customers":{"required_absent":[],"required_present":["蓝桥基金会"]},"all":{"required_absent":[],"required_present":["蓝桥基金会"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-083","language":"zh","script":"Han","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=83 --message=\"客户提到了\" --value=周秀英","known_identities":[],"targets":[{"id":"person","kind":"person","start":48,"end":57,"value":"周秀英","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["周秀英"]},"customers":{"required_absent":["周秀英"],"required_present":[]},"all":{"required_absent":["周秀英"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-083","language":"zh","script":"Han","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=83 --message=\"公共机构\" --value=蓝桥实验室","known_identities":[],"targets":[{"id":"person","kind":"person","start":45,"end":60,"value":"蓝桥实验室","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["蓝桥实验室"]},"customers":{"required_absent":[],"required_present":["蓝桥实验室"]},"all":{"required_absent":[],"required_present":["蓝桥实验室"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-084","language":"zh","script":"Han","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"客户提到了周强","known_identities":[],"targets":[{"id":"person","kind":"person","start":15,"end":21,"value":"周强","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["周强"]},"customers":{"required_absent":["周强"],"required_present":[]},"all":{"required_absent":["周强"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-084","language":"zh","script":"Han","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"公共机构蓝桥中心","known_identities":[],"targets":[{"id":"person","kind":"person","start":12,"end":24,"value":"蓝桥中心","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["蓝桥中心"]},"customers":{"required_absent":[],"required_present":["蓝桥中心"]},"all":{"required_absent":[],"required_present":["蓝桥中心"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-085","language":"zh","script":"Han","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_85\":\"客户提到了周磊\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":36,"value":"周磊","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["周磊"]},"customers":{"required_absent":["周磊"],"required_present":[]},"all":{"required_absent":["周磊"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-085","language":"zh","script":"Han","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_85\":\"公共机构蓝桥协会\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":27,"end":39,"value":"蓝桥协会","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["蓝桥协会"]},"customers":{"required_absent":[],"required_present":["蓝桥协会"]},"all":{"required_absent":[],"required_present":["蓝桥协会"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-086","language":"zh","script":"Han","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_86: 客户提到了周洋","known_identities":[],"targets":[{"id":"person","kind":"person","start":27,"end":33,"value":"周洋","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["周洋"]},"customers":{"required_absent":["周洋"],"required_present":[]},"all":{"required_absent":["周洋"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-086","language":"zh","script":"Han","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_86: 公共机构蓝桥大学","known_identities":[],"targets":[{"id":"person","kind":"person","start":24,"end":36,"value":"蓝桥大学","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["蓝桥大学"]},"customers":{"required_absent":[],"required_present":["蓝桥大学"]},"all":{"required_absent":[],"required_present":["蓝桥大学"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-087","language":"zh","script":"Han","shape":"shell","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_87='客户提到了周艳'","known_identities":[],"targets":[{"id":"person","kind":"person","start":27,"end":33,"value":"周艳","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["周艳"]},"customers":{"required_absent":["周艳"],"required_present":[]},"all":{"required_absent":["周艳"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-087","language":"zh","script":"Han","shape":"shell","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_87='公共机构蓝桥博物馆'","known_identities":[],"targets":[{"id":"person","kind":"person","start":24,"end":39,"value":"蓝桥博物馆","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["蓝桥博物馆"]},"customers":{"required_absent":[],"required_present":["蓝桥博物馆"]},"all":{"required_absent":[],"required_present":["蓝桥博物馆"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-088","language":"zh","script":"Han","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/88 ; 客户提到了周勇","known_identities":[],"targets":[{"id":"person","kind":"person","start":48,"end":54,"value":"周勇","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["周勇"]},"customers":{"required_absent":["周勇"],"required_present":[]},"all":{"required_absent":["周勇"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-088","language":"zh","script":"Han","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/88 ; 公共机构蓝桥图书馆","known_identities":[],"targets":[{"id":"person","kind":"person","start":45,"end":60,"value":"蓝桥图书馆","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["蓝桥图书馆"]},"customers":{"required_absent":[],"required_present":["蓝桥图书馆"]},"all":{"required_absent":[],"required_present":["蓝桥图书馆"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-089","language":"zh","script":"Han","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"**客户提到了周静**","known_identities":[],"targets":[{"id":"person","kind":"person","start":17,"end":23,"value":"周静","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["周静"]},"customers":{"required_absent":["周静"],"required_present":[]},"all":{"required_absent":["周静"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-089","language":"zh","script":"Han","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"**公共机构蓝桥剧团**","known_identities":[],"targets":[{"id":"person","kind":"person","start":14,"end":26,"value":"蓝桥剧团","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["蓝桥剧团"]},"customers":{"required_absent":[],"required_present":["蓝桥剧团"]},"all":{"required_absent":[],"required_present":["蓝桥剧团"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-090","language":"zh","script":"Han","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003e客户提到了吴明\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":18,"end":24,"value":"吴明","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["吴明"]},"customers":{"required_absent":["吴明"],"required_present":[]},"all":{"required_absent":["吴明"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-090","language":"zh","script":"Han","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003e公共机构明川研究院\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":15,"end":30,"value":"明川研究院","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["明川研究院"]},"customers":{"required_absent":[],"required_present":["明川研究院"]},"all":{"required_absent":[],"required_present":["明川研究院"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-091","language":"zh","script":"Han","shape":"quoted-reply","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e 客户提到了吴芳","known_identities":[],"targets":[{"id":"person","kind":"person","start":17,"end":23,"value":"吴芳","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["吴芳"]},"customers":{"required_absent":["吴芳"],"required_present":[]},"all":{"required_absent":["吴芳"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-091","language":"zh","script":"Han","shape":"quoted-reply","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e 公共机构明川出版社","known_identities":[],"targets":[{"id":"person","kind":"person","start":14,"end":29,"value":"明川出版社","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["明川出版社"]},"customers":{"required_absent":[],"required_present":["明川出版社"]},"all":{"required_absent":[],"required_present":["明川出版社"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-092","language":"zh","script":"Han","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=92 message=\"客户提到了\" value=吴伟","known_identities":[],"targets":[{"id":"person","kind":"person","start":53,"end":59,"value":"吴伟","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["吴伟"]},"customers":{"required_absent":["吴伟"],"required_present":[]},"all":{"required_absent":["吴伟"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-092","language":"zh","script":"Han","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=92 message=\"公共机构\" value=明川基金会","known_identities":[],"targets":[{"id":"person","kind":"person","start":50,"end":65,"value":"明川基金会","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["明川基金会"]},"customers":{"required_absent":[],"required_present":["明川基金会"]},"all":{"required_absent":[],"required_present":["明川基金会"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-093","language":"zh","script":"Han","shape":"stack-trace","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[93]: 客户提到了吴秀英","known_identities":[],"targets":[{"id":"person","kind":"person","start":26,"end":35,"value":"吴秀英","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["吴秀英"]},"customers":{"required_absent":["吴秀英"],"required_present":[]},"all":{"required_absent":["吴秀英"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-093","language":"zh","script":"Han","shape":"stack-trace","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[93]: 公共机构明川实验室","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":38,"value":"明川实验室","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["明川实验室"]},"customers":{"required_absent":[],"required_present":["明川实验室"]},"all":{"required_absent":[],"required_present":["明川实验室"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-094","language":"zh","script":"Han","shape":"code","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_94 := `客户提到了吴强`","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":36,"value":"吴强","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["吴强"]},"customers":{"required_absent":["吴强"],"required_present":[]},"all":{"required_absent":["吴强"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-094","language":"zh","script":"Han","shape":"code","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_94 := `公共机构明川中心`","known_identities":[],"targets":[{"id":"person","kind":"person","start":27,"end":39,"value":"明川中心","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["明川中心"]},"customers":{"required_absent":[],"required_present":["明川中心"]},"all":{"required_absent":[],"required_present":["明川中心"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-095","language":"zh","script":"Han","shape":"signature","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--\n客户提到了吴磊","known_identities":[],"targets":[{"id":"person","kind":"person","start":18,"end":24,"value":"吴磊","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["吴磊"]},"customers":{"required_absent":["吴磊"],"required_present":[]},"all":{"required_absent":["吴磊"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-095","language":"zh","script":"Han","shape":"signature","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--\n公共机构明川协会","known_identities":[],"targets":[{"id":"person","kind":"person","start":15,"end":27,"value":"明川协会","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["明川协会"]},"customers":{"required_absent":[],"required_present":["明川协会"]},"all":{"required_absent":[],"required_present":["明川协会"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-096","language":"zh","script":"Han","shape":"long-thread","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. 客户提到了吴洋","known_identities":[],"targets":[{"id":"person","kind":"person","start":495,"end":501,"value":"吴洋","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["吴洋"]},"customers":{"required_absent":["吴洋"],"required_present":[]},"all":{"required_absent":["吴洋"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-096","language":"zh","script":"Han","shape":"long-thread","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. 公共机构明川大学","known_identities":[],"targets":[{"id":"person","kind":"person","start":492,"end":504,"value":"明川大学","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["明川大学"]},"customers":{"required_absent":[],"required_present":["明川大学"]},"all":{"required_absent":[],"required_present":["明川大学"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-097","language":"zh","script":"Han","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=97 --message=\"客户提到了\" --value=吴艳","known_identities":[],"targets":[{"id":"person","kind":"person","start":48,"end":54,"value":"吴艳","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["吴艳"]},"customers":{"required_absent":["吴艳"],"required_present":[]},"all":{"required_absent":["吴艳"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-097","language":"zh","script":"Han","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=97 --message=\"公共机构\" --value=明川博物馆","known_identities":[],"targets":[{"id":"person","kind":"person","start":45,"end":60,"value":"明川博物馆","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["明川博物馆"]},"customers":{"required_absent":[],"required_present":["明川博物馆"]},"all":{"required_absent":[],"required_present":["明川博物馆"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-098","language":"zh","script":"Han","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"客户提到了吴勇","known_identities":[],"targets":[{"id":"person","kind":"person","start":15,"end":21,"value":"吴勇","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["吴勇"]},"customers":{"required_absent":["吴勇"],"required_present":[]},"all":{"required_absent":["吴勇"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-098","language":"zh","script":"Han","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"公共机构明川图书馆","known_identities":[],"targets":[{"id":"person","kind":"person","start":12,"end":27,"value":"明川图书馆","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["明川图书馆"]},"customers":{"required_absent":[],"required_present":["明川图书馆"]},"all":{"required_absent":[],"required_present":["明川图书馆"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-099","language":"zh","script":"Han","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_99\":\"客户提到了吴静\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":36,"value":"吴静","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["吴静"]},"customers":{"required_absent":["吴静"],"required_present":[]},"all":{"required_absent":["吴静"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-099","language":"zh","script":"Han","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_99\":\"公共机构明川剧团\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":27,"end":39,"value":"明川剧团","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["明川剧团"]},"customers":{"required_absent":[],"required_present":["明川剧团"]},"all":{"required_absent":[],"required_present":["明川剧团"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-000","language":"ja","script":"Hiragana","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"顧客が話した相手はあおいあらい","known_identities":[],"targets":[{"id":"person","kind":"person","start":27,"end":45,"value":"あおいあらい","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["あおいあらい"]},"customers":{"required_absent":["あおいあらい"],"required_present":[]},"all":{"required_absent":["あおいあらい"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-000","language":"ja","script":"Hiragana","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"公開組織はあさひけんきゅうじょ","known_identities":[],"targets":[{"id":"person","kind":"person","start":15,"end":45,"value":"あさひけんきゅうじょ","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["あさひけんきゅうじょ"]},"customers":{"required_absent":[],"required_present":["あさひけんきゅうじょ"]},"all":{"required_absent":[],"required_present":["あさひけんきゅうじょ"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-001","language":"ja","script":"Hiragana","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_1\":\"顧客が話した相手はあおいいとう\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":41,"end":59,"value":"あおいいとう","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["あおいいとう"]},"customers":{"required_absent":["あおいいとう"],"required_present":[]},"all":{"required_absent":["あおいいとう"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-001","language":"ja","script":"Hiragana","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_1\":\"公開組織はあさひしゅっぱん\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":29,"end":53,"value":"あさひしゅっぱん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["あさひしゅっぱん"]},"customers":{"required_absent":[],"required_present":["あさひしゅっぱん"]},"all":{"required_absent":[],"required_present":["あさひしゅっぱん"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-002","language":"ja","script":"Hiragana","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_2: 顧客が話した相手はあおいうえだ","known_identities":[],"targets":[{"id":"person","kind":"person","start":38,"end":56,"value":"あおいうえだ","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["あおいうえだ"]},"customers":{"required_absent":["あおいうえだ"],"required_present":[]},"all":{"required_absent":["あおいうえだ"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-002","language":"ja","script":"Hiragana","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_2: 公開組織はあさひざいだん","known_identities":[],"targets":[{"id":"person","kind":"person","start":26,"end":47,"value":"あさひざいだん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["あさひざいだん"]},"customers":{"required_absent":[],"required_present":["あさひざいだん"]},"all":{"required_absent":[],"required_present":["あさひざいだん"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-003","language":"ja","script":"Hiragana","shape":"shell","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_3='顧客が話した相手はあおいえんどう'","known_identities":[],"targets":[{"id":"person","kind":"person","start":38,"end":59,"value":"あおいえんどう","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["あおいえんどう"]},"customers":{"required_absent":["あおいえんどう"],"required_present":[]},"all":{"required_absent":["あおいえんどう"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-003","language":"ja","script":"Hiragana","shape":"shell","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_3='公開組織はあさひこうぼう'","known_identities":[],"targets":[{"id":"person","kind":"person","start":26,"end":47,"value":"あさひこうぼう","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["あさひこうぼう"]},"customers":{"required_absent":[],"required_present":["あさひこうぼう"]},"all":{"required_absent":[],"required_present":["あさひこうぼう"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-004","language":"ja","script":"Hiragana","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/4 ; 顧客が話した相手はあおいおおた","known_identities":[],"targets":[{"id":"person","kind":"person","start":59,"end":77,"value":"あおいおおた","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["あおいおおた"]},"customers":{"required_absent":["あおいおおた"],"required_present":[]},"all":{"required_absent":["あおいおおた"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-004","language":"ja","script":"Hiragana","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/4 ; 公開組織はあさひがくえん","known_identities":[],"targets":[{"id":"person","kind":"person","start":47,"end":68,"value":"あさひがくえん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["あさひがくえん"]},"customers":{"required_absent":[],"required_present":["あさひがくえん"]},"all":{"required_absent":[],"required_present":["あさひがくえん"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-005","language":"ja","script":"Hiragana","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"**顧客が話した相手はあおいかとう**","known_identities":[],"targets":[{"id":"person","kind":"person","start":29,"end":47,"value":"あおいかとう","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["あおいかとう"]},"customers":{"required_absent":["あおいかとう"],"required_present":[]},"all":{"required_absent":["あおいかとう"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-005","language":"ja","script":"Hiragana","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"**公開組織はあさひぶんかかい**","known_identities":[],"targets":[{"id":"person","kind":"person","start":17,"end":41,"value":"あさひぶんかかい","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["あさひぶんかかい"]},"customers":{"required_absent":[],"required_present":["あさひぶんかかい"]},"all":{"required_absent":[],"required_present":["あさひぶんかかい"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-006","language":"ja","script":"Hiragana","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003e顧客が話した相手はあおいきむら\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":48,"value":"あおいきむら","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["あおいきむら"]},"customers":{"required_absent":["あおいきむら"],"required_present":[]},"all":{"required_absent":["あおいきむら"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-006","language":"ja","script":"Hiragana","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003e公開組織はあさひとしょかん\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":18,"end":42,"value":"あさひとしょかん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["あさひとしょかん"]},"customers":{"required_absent":[],"required_present":["あさひとしょかん"]},"all":{"required_absent":[],"required_present":["あさひとしょかん"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-007","language":"ja","script":"Hiragana","shape":"quoted-reply","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e 顧客が話した相手はあおいこばやし","known_identities":[],"targets":[{"id":"person","kind":"person","start":29,"end":50,"value":"あおいこばやし","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["あおいこばやし"]},"customers":{"required_absent":["あおいこばやし"],"required_present":[]},"all":{"required_absent":["あおいこばやし"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-007","language":"ja","script":"Hiragana","shape":"quoted-reply","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e 公開組織はあさひげきだん","known_identities":[],"targets":[{"id":"person","kind":"person","start":17,"end":38,"value":"あさひげきだん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["あさひげきだん"]},"customers":{"required_absent":[],"required_present":["あさひげきだん"]},"all":{"required_absent":[],"required_present":["あさひげきだん"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-008","language":"ja","script":"Hiragana","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=8 message=\"顧客が話した相手は\" value=あおいさとう","known_identities":[],"targets":[{"id":"person","kind":"person","start":64,"end":82,"value":"あおいさとう","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["あおいさとう"]},"customers":{"required_absent":["あおいさとう"],"required_present":[]},"all":{"required_absent":["あおいさとう"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-008","language":"ja","script":"Hiragana","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=8 message=\"公開組織は\" value=あさひはくぶつかん","known_identities":[],"targets":[{"id":"person","kind":"person","start":52,"end":79,"value":"あさひはくぶつかん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["あさひはくぶつかん"]},"customers":{"required_absent":[],"required_present":["あさひはくぶつかん"]},"all":{"required_absent":[],"required_present":["あさひはくぶつかん"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-009","language":"ja","script":"Hiragana","shape":"stack-trace","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[9]: 顧客が話した相手はあおいたなか","known_identities":[],"targets":[{"id":"person","kind":"person","start":37,"end":55,"value":"あおいたなか","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["あおいたなか"]},"customers":{"required_absent":["あおいたなか"],"required_present":[]},"all":{"required_absent":["あおいたなか"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-009","language":"ja","script":"Hiragana","shape":"stack-trace","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[9]: 公開組織はあさひきょうかい","known_identities":[],"targets":[{"id":"person","kind":"person","start":25,"end":49,"value":"あさひきょうかい","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["あさひきょうかい"]},"customers":{"required_absent":[],"required_present":["あさひきょうかい"]},"all":{"required_absent":[],"required_present":["あさひきょうかい"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-010","language":"ja","script":"Hiragana","shape":"code","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_10 := `顧客が話した相手はかえであらい`","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":60,"value":"かえであらい","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["かえであらい"]},"customers":{"required_absent":["かえであらい"],"required_present":[]},"all":{"required_absent":["かえであらい"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-010","language":"ja","script":"Hiragana","shape":"code","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_10 := `公開組織はいずみけんきゅうじょ`","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":60,"value":"いずみけんきゅうじょ","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["いずみけんきゅうじょ"]},"customers":{"required_absent":[],"required_present":["いずみけんきゅうじょ"]},"all":{"required_absent":[],"required_present":["いずみけんきゅうじょ"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-011","language":"ja","script":"Hiragana","shape":"signature","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--\n顧客が話した相手はかえでいとう","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":48,"value":"かえでいとう","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["かえでいとう"]},"customers":{"required_absent":["かえでいとう"],"required_present":[]},"all":{"required_absent":["かえでいとう"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-011","language":"ja","script":"Hiragana","shape":"signature","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--\n公開組織はいずみしゅっぱん","known_identities":[],"targets":[{"id":"person","kind":"person","start":18,"end":42,"value":"いずみしゅっぱん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["いずみしゅっぱん"]},"customers":{"required_absent":[],"required_present":["いずみしゅっぱん"]},"all":{"required_absent":[],"required_present":["いずみしゅっぱん"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-012","language":"ja","script":"Hiragana","shape":"long-thread","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. 顧客が話した相手はかえでうえだ","known_identities":[],"targets":[{"id":"person","kind":"person","start":507,"end":525,"value":"かえでうえだ","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["かえでうえだ"]},"customers":{"required_absent":["かえでうえだ"],"required_present":[]},"all":{"required_absent":["かえでうえだ"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-012","language":"ja","script":"Hiragana","shape":"long-thread","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. 公開組織はいずみざいだん","known_identities":[],"targets":[{"id":"person","kind":"person","start":495,"end":516,"value":"いずみざいだん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["いずみざいだん"]},"customers":{"required_absent":[],"required_present":["いずみざいだん"]},"all":{"required_absent":[],"required_present":["いずみざいだん"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-013","language":"ja","script":"Hiragana","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=13 --message=\"顧客が話した相手は\" --value=かえでえんどう","known_identities":[],"targets":[{"id":"person","kind":"person","start":60,"end":81,"value":"かえでえんどう","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["かえでえんどう"]},"customers":{"required_absent":["かえでえんどう"],"required_present":[]},"all":{"required_absent":["かえでえんどう"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-013","language":"ja","script":"Hiragana","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=13 --message=\"公開組織は\" --value=いずみこうぼう","known_identities":[],"targets":[{"id":"person","kind":"person","start":48,"end":69,"value":"いずみこうぼう","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["いずみこうぼう"]},"customers":{"required_absent":[],"required_present":["いずみこうぼう"]},"all":{"required_absent":[],"required_present":["いずみこうぼう"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-014","language":"ja","script":"Hiragana","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"顧客が話した相手はかえでおおた","known_identities":[],"targets":[{"id":"person","kind":"person","start":27,"end":45,"value":"かえでおおた","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["かえでおおた"]},"customers":{"required_absent":["かえでおおた"],"required_present":[]},"all":{"required_absent":["かえでおおた"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-014","language":"ja","script":"Hiragana","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"公開組織はいずみがくえん","known_identities":[],"targets":[{"id":"person","kind":"person","start":15,"end":36,"value":"いずみがくえん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["いずみがくえん"]},"customers":{"required_absent":[],"required_present":["いずみがくえん"]},"all":{"required_absent":[],"required_present":["いずみがくえん"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-015","language":"ja","script":"Hiragana","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_15\":\"顧客が話した相手はかえでかとう\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":60,"value":"かえでかとう","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["かえでかとう"]},"customers":{"required_absent":["かえでかとう"],"required_present":[]},"all":{"required_absent":["かえでかとう"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-015","language":"ja","script":"Hiragana","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_15\":\"公開組織はいずみぶんかかい\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":54,"value":"いずみぶんかかい","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["いずみぶんかかい"]},"customers":{"required_absent":[],"required_present":["いずみぶんかかい"]},"all":{"required_absent":[],"required_present":["いずみぶんかかい"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-016","language":"ja","script":"Hiragana","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_16: 顧客が話した相手はかえできむら","known_identities":[],"targets":[{"id":"person","kind":"person","start":39,"end":57,"value":"かえできむら","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["かえできむら"]},"customers":{"required_absent":["かえできむら"],"required_present":[]},"all":{"required_absent":["かえできむら"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-016","language":"ja","script":"Hiragana","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_16: 公開組織はいずみとしょかん","known_identities":[],"targets":[{"id":"person","kind":"person","start":27,"end":51,"value":"いずみとしょかん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["いずみとしょかん"]},"customers":{"required_absent":[],"required_present":["いずみとしょかん"]},"all":{"required_absent":[],"required_present":["いずみとしょかん"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-017","language":"ja","script":"Hiragana","shape":"shell","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_17='顧客が話した相手はかえでこばやし'","known_identities":[],"targets":[{"id":"person","kind":"person","start":39,"end":60,"value":"かえでこばやし","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["かえでこばやし"]},"customers":{"required_absent":["かえでこばやし"],"required_present":[]},"all":{"required_absent":["かえでこばやし"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-017","language":"ja","script":"Hiragana","shape":"shell","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_17='公開組織はいずみげきだん'","known_identities":[],"targets":[{"id":"person","kind":"person","start":27,"end":48,"value":"いずみげきだん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["いずみげきだん"]},"customers":{"required_absent":[],"required_present":["いずみげきだん"]},"all":{"required_absent":[],"required_present":["いずみげきだん"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-018","language":"ja","script":"Hiragana","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/18 ; 顧客が話した相手はかえでさとう","known_identities":[],"targets":[{"id":"person","kind":"person","start":60,"end":78,"value":"かえでさとう","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["かえでさとう"]},"customers":{"required_absent":["かえでさとう"],"required_present":[]},"all":{"required_absent":["かえでさとう"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-018","language":"ja","script":"Hiragana","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/18 ; 公開組織はいずみはくぶつかん","known_identities":[],"targets":[{"id":"person","kind":"person","start":48,"end":75,"value":"いずみはくぶつかん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["いずみはくぶつかん"]},"customers":{"required_absent":[],"required_present":["いずみはくぶつかん"]},"all":{"required_absent":[],"required_present":["いずみはくぶつかん"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-019","language":"ja","script":"Hiragana","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"**顧客が話した相手はかえでたなか**","known_identities":[],"targets":[{"id":"person","kind":"person","start":29,"end":47,"value":"かえでたなか","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["かえでたなか"]},"customers":{"required_absent":["かえでたなか"],"required_present":[]},"all":{"required_absent":["かえでたなか"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-019","language":"ja","script":"Hiragana","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"**公開組織はいずみきょうかい**","known_identities":[],"targets":[{"id":"person","kind":"person","start":17,"end":41,"value":"いずみきょうかい","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["いずみきょうかい"]},"customers":{"required_absent":[],"required_present":["いずみきょうかい"]},"all":{"required_absent":[],"required_present":["いずみきょうかい"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-020","language":"ja","script":"Hiragana","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003e顧客が話した相手はさくらあらい\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":48,"value":"さくらあらい","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["さくらあらい"]},"customers":{"required_absent":["さくらあらい"],"required_present":[]},"all":{"required_absent":["さくらあらい"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-020","language":"ja","script":"Hiragana","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003e公開組織はうみけんきゅうじょ\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":18,"end":45,"value":"うみけんきゅうじょ","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["うみけんきゅうじょ"]},"customers":{"required_absent":[],"required_present":["うみけんきゅうじょ"]},"all":{"required_absent":[],"required_present":["うみけんきゅうじょ"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-021","language":"ja","script":"Hiragana","shape":"quoted-reply","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e 顧客が話した相手はさくらいとう","known_identities":[],"targets":[{"id":"person","kind":"person","start":29,"end":47,"value":"さくらいとう","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["さくらいとう"]},"customers":{"required_absent":["さくらいとう"],"required_present":[]},"all":{"required_absent":["さくらいとう"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-021","language":"ja","script":"Hiragana","shape":"quoted-reply","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e 公開組織はうみしゅっぱん","known_identities":[],"targets":[{"id":"person","kind":"person","start":17,"end":38,"value":"うみしゅっぱん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["うみしゅっぱん"]},"customers":{"required_absent":[],"required_present":["うみしゅっぱん"]},"all":{"required_absent":[],"required_present":["うみしゅっぱん"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-022","language":"ja","script":"Hiragana","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=22 message=\"顧客が話した相手は\" value=さくらうえだ","known_identities":[],"targets":[{"id":"person","kind":"person","start":65,"end":83,"value":"さくらうえだ","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["さくらうえだ"]},"customers":{"required_absent":["さくらうえだ"],"required_present":[]},"all":{"required_absent":["さくらうえだ"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-022","language":"ja","script":"Hiragana","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=22 message=\"公開組織は\" value=うみざいだん","known_identities":[],"targets":[{"id":"person","kind":"person","start":53,"end":71,"value":"うみざいだん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["うみざいだん"]},"customers":{"required_absent":[],"required_present":["うみざいだん"]},"all":{"required_absent":[],"required_present":["うみざいだん"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-023","language":"ja","script":"Hiragana","shape":"stack-trace","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[23]: 顧客が話した相手はさくらえんどう","known_identities":[],"targets":[{"id":"person","kind":"person","start":38,"end":59,"value":"さくらえんどう","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["さくらえんどう"]},"customers":{"required_absent":["さくらえんどう"],"required_present":[]},"all":{"required_absent":["さくらえんどう"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-023","language":"ja","script":"Hiragana","shape":"stack-trace","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[23]: 公開組織はうみこうぼう","known_identities":[],"targets":[{"id":"person","kind":"person","start":26,"end":44,"value":"うみこうぼう","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["うみこうぼう"]},"customers":{"required_absent":[],"required_present":["うみこうぼう"]},"all":{"required_absent":[],"required_present":["うみこうぼう"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-024","language":"ja","script":"Hiragana","shape":"code","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_24 := `顧客が話した相手はさくらおおた`","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":60,"value":"さくらおおた","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["さくらおおた"]},"customers":{"required_absent":["さくらおおた"],"required_present":[]},"all":{"required_absent":["さくらおおた"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-024","language":"ja","script":"Hiragana","shape":"code","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_24 := `公開組織はうみがくえん`","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":48,"value":"うみがくえん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["うみがくえん"]},"customers":{"required_absent":[],"required_present":["うみがくえん"]},"all":{"required_absent":[],"required_present":["うみがくえん"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-025","language":"ja","script":"Hiragana","shape":"signature","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--\n顧客が話した相手はさくらかとう","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":48,"value":"さくらかとう","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["さくらかとう"]},"customers":{"required_absent":["さくらかとう"],"required_present":[]},"all":{"required_absent":["さくらかとう"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-025","language":"ja","script":"Hiragana","shape":"signature","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--\n公開組織はうみぶんかかい","known_identities":[],"targets":[{"id":"person","kind":"person","start":18,"end":39,"value":"うみぶんかかい","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["うみぶんかかい"]},"customers":{"required_absent":[],"required_present":["うみぶんかかい"]},"all":{"required_absent":[],"required_present":["うみぶんかかい"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-026","language":"ja","script":"Hiragana","shape":"long-thread","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. 顧客が話した相手はさくらきむら","known_identities":[],"targets":[{"id":"person","kind":"person","start":507,"end":525,"value":"さくらきむら","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["さくらきむら"]},"customers":{"required_absent":["さくらきむら"],"required_present":[]},"all":{"required_absent":["さくらきむら"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-026","language":"ja","script":"Hiragana","shape":"long-thread","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. 公開組織はうみとしょかん","known_identities":[],"targets":[{"id":"person","kind":"person","start":495,"end":516,"value":"うみとしょかん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["うみとしょかん"]},"customers":{"required_absent":[],"required_present":["うみとしょかん"]},"all":{"required_absent":[],"required_present":["うみとしょかん"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-027","language":"ja","script":"Hiragana","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=27 --message=\"顧客が話した相手は\" --value=さくらこばやし","known_identities":[],"targets":[{"id":"person","kind":"person","start":60,"end":81,"value":"さくらこばやし","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["さくらこばやし"]},"customers":{"required_absent":["さくらこばやし"],"required_present":[]},"all":{"required_absent":["さくらこばやし"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-027","language":"ja","script":"Hiragana","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=27 --message=\"公開組織は\" --value=うみげきだん","known_identities":[],"targets":[{"id":"person","kind":"person","start":48,"end":66,"value":"うみげきだん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["うみげきだん"]},"customers":{"required_absent":[],"required_present":["うみげきだん"]},"all":{"required_absent":[],"required_present":["うみげきだん"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-028","language":"ja","script":"Hiragana","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"顧客が話した相手はさくらさとう","known_identities":[],"targets":[{"id":"person","kind":"person","start":27,"end":45,"value":"さくらさとう","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["さくらさとう"]},"customers":{"required_absent":["さくらさとう"],"required_present":[]},"all":{"required_absent":["さくらさとう"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-028","language":"ja","script":"Hiragana","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"公開組織はうみはくぶつかん","known_identities":[],"targets":[{"id":"person","kind":"person","start":15,"end":39,"value":"うみはくぶつかん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["うみはくぶつかん"]},"customers":{"required_absent":[],"required_present":["うみはくぶつかん"]},"all":{"required_absent":[],"required_present":["うみはくぶつかん"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-029","language":"ja","script":"Hiragana","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_29\":\"顧客が話した相手はさくらたなか\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":60,"value":"さくらたなか","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["さくらたなか"]},"customers":{"required_absent":["さくらたなか"],"required_present":[]},"all":{"required_absent":["さくらたなか"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-029","language":"ja","script":"Hiragana","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_29\":\"公開組織はうみきょうかい\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":51,"value":"うみきょうかい","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["うみきょうかい"]},"customers":{"required_absent":[],"required_present":["うみきょうかい"]},"all":{"required_absent":[],"required_present":["うみきょうかい"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-030","language":"ja","script":"Hiragana","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_30: 顧客が話した相手はたくみあらい","known_identities":[],"targets":[{"id":"person","kind":"person","start":39,"end":57,"value":"たくみあらい","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["たくみあらい"]},"customers":{"required_absent":["たくみあらい"],"required_present":[]},"all":{"required_absent":["たくみあらい"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-030","language":"ja","script":"Hiragana","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_30: 公開組織はえにしけんきゅうじょ","known_identities":[],"targets":[{"id":"person","kind":"person","start":27,"end":57,"value":"えにしけんきゅうじょ","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["えにしけんきゅうじょ"]},"customers":{"required_absent":[],"required_present":["えにしけんきゅうじょ"]},"all":{"required_absent":[],"required_present":["えにしけんきゅうじょ"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-031","language":"ja","script":"Hiragana","shape":"shell","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_31='顧客が話した相手はたくみいとう'","known_identities":[],"targets":[{"id":"person","kind":"person","start":39,"end":57,"value":"たくみいとう","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["たくみいとう"]},"customers":{"required_absent":["たくみいとう"],"required_present":[]},"all":{"required_absent":["たくみいとう"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-031","language":"ja","script":"Hiragana","shape":"shell","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_31='公開組織はえにししゅっぱん'","known_identities":[],"targets":[{"id":"person","kind":"person","start":27,"end":51,"value":"えにししゅっぱん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["えにししゅっぱん"]},"customers":{"required_absent":[],"required_present":["えにししゅっぱん"]},"all":{"required_absent":[],"required_present":["えにししゅっぱん"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-032","language":"ja","script":"Hiragana","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/32 ; 顧客が話した相手はたくみうえだ","known_identities":[],"targets":[{"id":"person","kind":"person","start":60,"end":78,"value":"たくみうえだ","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["たくみうえだ"]},"customers":{"required_absent":["たくみうえだ"],"required_present":[]},"all":{"required_absent":["たくみうえだ"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-032","language":"ja","script":"Hiragana","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/32 ; 公開組織はえにしざいだん","known_identities":[],"targets":[{"id":"person","kind":"person","start":48,"end":69,"value":"えにしざいだん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["えにしざいだん"]},"customers":{"required_absent":[],"required_present":["えにしざいだん"]},"all":{"required_absent":[],"required_present":["えにしざいだん"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-033","language":"ja","script":"Hiragana","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"**顧客が話した相手はたくみえんどう**","known_identities":[],"targets":[{"id":"person","kind":"person","start":29,"end":50,"value":"たくみえんどう","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["たくみえんどう"]},"customers":{"required_absent":["たくみえんどう"],"required_present":[]},"all":{"required_absent":["たくみえんどう"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-033","language":"ja","script":"Hiragana","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"**公開組織はえにしこうぼう**","known_identities":[],"targets":[{"id":"person","kind":"person","start":17,"end":38,"value":"えにしこうぼう","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["えにしこうぼう"]},"customers":{"required_absent":[],"required_present":["えにしこうぼう"]},"all":{"required_absent":[],"required_present":["えにしこうぼう"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-034","language":"ja","script":"Hiragana","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003e顧客が話した相手はたくみおおた\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":48,"value":"たくみおおた","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["たくみおおた"]},"customers":{"required_absent":["たくみおおた"],"required_present":[]},"all":{"required_absent":["たくみおおた"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-034","language":"ja","script":"Hiragana","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003e公開組織はえにしがくえん\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":18,"end":39,"value":"えにしがくえん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["えにしがくえん"]},"customers":{"required_absent":[],"required_present":["えにしがくえん"]},"all":{"required_absent":[],"required_present":["えにしがくえん"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-035","language":"ja","script":"Hiragana","shape":"quoted-reply","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e 顧客が話した相手はたくみかとう","known_identities":[],"targets":[{"id":"person","kind":"person","start":29,"end":47,"value":"たくみかとう","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["たくみかとう"]},"customers":{"required_absent":["たくみかとう"],"required_present":[]},"all":{"required_absent":["たくみかとう"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-035","language":"ja","script":"Hiragana","shape":"quoted-reply","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e 公開組織はえにしぶんかかい","known_identities":[],"targets":[{"id":"person","kind":"person","start":17,"end":41,"value":"えにしぶんかかい","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["えにしぶんかかい"]},"customers":{"required_absent":[],"required_present":["えにしぶんかかい"]},"all":{"required_absent":[],"required_present":["えにしぶんかかい"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-036","language":"ja","script":"Hiragana","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=36 message=\"顧客が話した相手は\" value=たくみきむら","known_identities":[],"targets":[{"id":"person","kind":"person","start":65,"end":83,"value":"たくみきむら","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["たくみきむら"]},"customers":{"required_absent":["たくみきむら"],"required_present":[]},"all":{"required_absent":["たくみきむら"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-036","language":"ja","script":"Hiragana","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=36 message=\"公開組織は\" value=えにしとしょかん","known_identities":[],"targets":[{"id":"person","kind":"person","start":53,"end":77,"value":"えにしとしょかん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["えにしとしょかん"]},"customers":{"required_absent":[],"required_present":["えにしとしょかん"]},"all":{"required_absent":[],"required_present":["えにしとしょかん"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-037","language":"ja","script":"Hiragana","shape":"stack-trace","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[37]: 顧客が話した相手はたくみこばやし","known_identities":[],"targets":[{"id":"person","kind":"person","start":38,"end":59,"value":"たくみこばやし","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["たくみこばやし"]},"customers":{"required_absent":["たくみこばやし"],"required_present":[]},"all":{"required_absent":["たくみこばやし"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-037","language":"ja","script":"Hiragana","shape":"stack-trace","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[37]: 公開組織はえにしげきだん","known_identities":[],"targets":[{"id":"person","kind":"person","start":26,"end":47,"value":"えにしげきだん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["えにしげきだん"]},"customers":{"required_absent":[],"required_present":["えにしげきだん"]},"all":{"required_absent":[],"required_present":["えにしげきだん"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-038","language":"ja","script":"Hiragana","shape":"code","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_38 := `顧客が話した相手はたくみさとう`","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":60,"value":"たくみさとう","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["たくみさとう"]},"customers":{"required_absent":["たくみさとう"],"required_present":[]},"all":{"required_absent":["たくみさとう"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-038","language":"ja","script":"Hiragana","shape":"code","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_38 := `公開組織はえにしはくぶつかん`","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":57,"value":"えにしはくぶつかん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["えにしはくぶつかん"]},"customers":{"required_absent":[],"required_present":["えにしはくぶつかん"]},"all":{"required_absent":[],"required_present":["えにしはくぶつかん"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-039","language":"ja","script":"Hiragana","shape":"signature","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--\n顧客が話した相手はたくみたなか","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":48,"value":"たくみたなか","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["たくみたなか"]},"customers":{"required_absent":["たくみたなか"],"required_present":[]},"all":{"required_absent":["たくみたなか"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-039","language":"ja","script":"Hiragana","shape":"signature","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--\n公開組織はえにしきょうかい","known_identities":[],"targets":[{"id":"person","kind":"person","start":18,"end":42,"value":"えにしきょうかい","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["えにしきょうかい"]},"customers":{"required_absent":[],"required_present":["えにしきょうかい"]},"all":{"required_absent":[],"required_present":["えにしきょうかい"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-040","language":"ja","script":"Hiragana","shape":"long-thread","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. 顧客が話した相手はなおあらい","known_identities":[],"targets":[{"id":"person","kind":"person","start":507,"end":522,"value":"なおあらい","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["なおあらい"]},"customers":{"required_absent":["なおあらい"],"required_present":[]},"all":{"required_absent":["なおあらい"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-040","language":"ja","script":"Hiragana","shape":"long-thread","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. 公開組織はおおぞらけんきゅうじょ","known_identities":[],"targets":[{"id":"person","kind":"person","start":495,"end":528,"value":"おおぞらけんきゅうじょ","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["おおぞらけんきゅうじょ"]},"customers":{"required_absent":[],"required_present":["おおぞらけんきゅうじょ"]},"all":{"required_absent":[],"required_present":["おおぞらけんきゅうじょ"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-041","language":"ja","script":"Hiragana","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=41 --message=\"顧客が話した相手は\" --value=なおいとう","known_identities":[],"targets":[{"id":"person","kind":"person","start":60,"end":75,"value":"なおいとう","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["なおいとう"]},"customers":{"required_absent":["なおいとう"],"required_present":[]},"all":{"required_absent":["なおいとう"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-041","language":"ja","script":"Hiragana","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=41 --message=\"公開組織は\" --value=おおぞらしゅっぱん","known_identities":[],"targets":[{"id":"person","kind":"person","start":48,"end":75,"value":"おおぞらしゅっぱん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["おおぞらしゅっぱん"]},"customers":{"required_absent":[],"required_present":["おおぞらしゅっぱん"]},"all":{"required_absent":[],"required_present":["おおぞらしゅっぱん"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-042","language":"ja","script":"Hiragana","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"顧客が話した相手はなおうえだ","known_identities":[],"targets":[{"id":"person","kind":"person","start":27,"end":42,"value":"なおうえだ","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["なおうえだ"]},"customers":{"required_absent":["なおうえだ"],"required_present":[]},"all":{"required_absent":["なおうえだ"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-042","language":"ja","script":"Hiragana","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"公開組織はおおぞらざいだん","known_identities":[],"targets":[{"id":"person","kind":"person","start":15,"end":39,"value":"おおぞらざいだん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["おおぞらざいだん"]},"customers":{"required_absent":[],"required_present":["おおぞらざいだん"]},"all":{"required_absent":[],"required_present":["おおぞらざいだん"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-043","language":"ja","script":"Hiragana","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_43\":\"顧客が話した相手はなおえんどう\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":60,"value":"なおえんどう","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["なおえんどう"]},"customers":{"required_absent":["なおえんどう"],"required_present":[]},"all":{"required_absent":["なおえんどう"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-043","language":"ja","script":"Hiragana","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_43\":\"公開組織はおおぞらこうぼう\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":54,"value":"おおぞらこうぼう","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["おおぞらこうぼう"]},"customers":{"required_absent":[],"required_present":["おおぞらこうぼう"]},"all":{"required_absent":[],"required_present":["おおぞらこうぼう"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-044","language":"ja","script":"Hiragana","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_44: 顧客が話した相手はなおおおた","known_identities":[],"targets":[{"id":"person","kind":"person","start":39,"end":54,"value":"なおおおた","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["なおおおた"]},"customers":{"required_absent":["なおおおた"],"required_present":[]},"all":{"required_absent":["なおおおた"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-044","language":"ja","script":"Hiragana","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_44: 公開組織はおおぞらがくえん","known_identities":[],"targets":[{"id":"person","kind":"person","start":27,"end":51,"value":"おおぞらがくえん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["おおぞらがくえん"]},"customers":{"required_absent":[],"required_present":["おおぞらがくえん"]},"all":{"required_absent":[],"required_present":["おおぞらがくえん"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-045","language":"ja","script":"Hiragana","shape":"shell","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_45='顧客が話した相手はなおかとう'","known_identities":[],"targets":[{"id":"person","kind":"person","start":39,"end":54,"value":"なおかとう","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["なおかとう"]},"customers":{"required_absent":["なおかとう"],"required_present":[]},"all":{"required_absent":["なおかとう"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-045","language":"ja","script":"Hiragana","shape":"shell","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_45='公開組織はおおぞらぶんかかい'","known_identities":[],"targets":[{"id":"person","kind":"person","start":27,"end":54,"value":"おおぞらぶんかかい","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["おおぞらぶんかかい"]},"customers":{"required_absent":[],"required_present":["おおぞらぶんかかい"]},"all":{"required_absent":[],"required_present":["おおぞらぶんかかい"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-046","language":"ja","script":"Hiragana","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/46 ; 顧客が話した相手はなおきむら","known_identities":[],"targets":[{"id":"person","kind":"person","start":60,"end":75,"value":"なおきむら","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["なおきむら"]},"customers":{"required_absent":["なおきむら"],"required_present":[]},"all":{"required_absent":["なおきむら"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-046","language":"ja","script":"Hiragana","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/46 ; 公開組織はおおぞらとしょかん","known_identities":[],"targets":[{"id":"person","kind":"person","start":48,"end":75,"value":"おおぞらとしょかん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["おおぞらとしょかん"]},"customers":{"required_absent":[],"required_present":["おおぞらとしょかん"]},"all":{"required_absent":[],"required_present":["おおぞらとしょかん"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-047","language":"ja","script":"Hiragana","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"**顧客が話した相手はなおこばやし**","known_identities":[],"targets":[{"id":"person","kind":"person","start":29,"end":47,"value":"なおこばやし","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["なおこばやし"]},"customers":{"required_absent":["なおこばやし"],"required_present":[]},"all":{"required_absent":["なおこばやし"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-047","language":"ja","script":"Hiragana","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"**公開組織はおおぞらげきだん**","known_identities":[],"targets":[{"id":"person","kind":"person","start":17,"end":41,"value":"おおぞらげきだん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["おおぞらげきだん"]},"customers":{"required_absent":[],"required_present":["おおぞらげきだん"]},"all":{"required_absent":[],"required_present":["おおぞらげきだん"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-048","language":"ja","script":"Hiragana","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003e顧客が話した相手はなおさとう\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":45,"value":"なおさとう","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["なおさとう"]},"customers":{"required_absent":["なおさとう"],"required_present":[]},"all":{"required_absent":["なおさとう"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-048","language":"ja","script":"Hiragana","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003e公開組織はおおぞらはくぶつかん\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":18,"end":48,"value":"おおぞらはくぶつかん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["おおぞらはくぶつかん"]},"customers":{"required_absent":[],"required_present":["おおぞらはくぶつかん"]},"all":{"required_absent":[],"required_present":["おおぞらはくぶつかん"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-049","language":"ja","script":"Hiragana","shape":"quoted-reply","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e 顧客が話した相手はなおたなか","known_identities":[],"targets":[{"id":"person","kind":"person","start":29,"end":44,"value":"なおたなか","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["なおたなか"]},"customers":{"required_absent":["なおたなか"],"required_present":[]},"all":{"required_absent":["なおたなか"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-049","language":"ja","script":"Hiragana","shape":"quoted-reply","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e 公開組織はおおぞらきょうかい","known_identities":[],"targets":[{"id":"person","kind":"person","start":17,"end":44,"value":"おおぞらきょうかい","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["おおぞらきょうかい"]},"customers":{"required_absent":[],"required_present":["おおぞらきょうかい"]},"all":{"required_absent":[],"required_present":["おおぞらきょうかい"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-050","language":"ja","script":"Hiragana","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=50 message=\"顧客が話した相手は\" value=はるあらい","known_identities":[],"targets":[{"id":"person","kind":"person","start":65,"end":80,"value":"はるあらい","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["はるあらい"]},"customers":{"required_absent":["はるあらい"],"required_present":[]},"all":{"required_absent":["はるあらい"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-050","language":"ja","script":"Hiragana","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=50 message=\"公開組織は\" value=かすみけんきゅうじょ","known_identities":[],"targets":[{"id":"person","kind":"person","start":53,"end":83,"value":"かすみけんきゅうじょ","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["かすみけんきゅうじょ"]},"customers":{"required_absent":[],"required_present":["かすみけんきゅうじょ"]},"all":{"required_absent":[],"required_present":["かすみけんきゅうじょ"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-051","language":"ja","script":"Hiragana","shape":"stack-trace","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[51]: 顧客が話した相手ははるいとう","known_identities":[],"targets":[{"id":"person","kind":"person","start":38,"end":53,"value":"はるいとう","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["はるいとう"]},"customers":{"required_absent":["はるいとう"],"required_present":[]},"all":{"required_absent":["はるいとう"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-051","language":"ja","script":"Hiragana","shape":"stack-trace","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[51]: 公開組織はかすみしゅっぱん","known_identities":[],"targets":[{"id":"person","kind":"person","start":26,"end":50,"value":"かすみしゅっぱん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["かすみしゅっぱん"]},"customers":{"required_absent":[],"required_present":["かすみしゅっぱん"]},"all":{"required_absent":[],"required_present":["かすみしゅっぱん"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-052","language":"ja","script":"Hiragana","shape":"code","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_52 := `顧客が話した相手ははるうえだ`","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":57,"value":"はるうえだ","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["はるうえだ"]},"customers":{"required_absent":["はるうえだ"],"required_present":[]},"all":{"required_absent":["はるうえだ"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-052","language":"ja","script":"Hiragana","shape":"code","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_52 := `公開組織はかすみざいだん`","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":51,"value":"かすみざいだん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["かすみざいだん"]},"customers":{"required_absent":[],"required_present":["かすみざいだん"]},"all":{"required_absent":[],"required_present":["かすみざいだん"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-053","language":"ja","script":"Hiragana","shape":"signature","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--\n顧客が話した相手ははるえんどう","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":48,"value":"はるえんどう","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["はるえんどう"]},"customers":{"required_absent":["はるえんどう"],"required_present":[]},"all":{"required_absent":["はるえんどう"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-053","language":"ja","script":"Hiragana","shape":"signature","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--\n公開組織はかすみこうぼう","known_identities":[],"targets":[{"id":"person","kind":"person","start":18,"end":39,"value":"かすみこうぼう","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["かすみこうぼう"]},"customers":{"required_absent":[],"required_present":["かすみこうぼう"]},"all":{"required_absent":[],"required_present":["かすみこうぼう"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-054","language":"ja","script":"Hiragana","shape":"long-thread","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. 顧客が話した相手ははるおおた","known_identities":[],"targets":[{"id":"person","kind":"person","start":507,"end":522,"value":"はるおおた","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["はるおおた"]},"customers":{"required_absent":["はるおおた"],"required_present":[]},"all":{"required_absent":["はるおおた"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-054","language":"ja","script":"Hiragana","shape":"long-thread","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. 公開組織はかすみがくえん","known_identities":[],"targets":[{"id":"person","kind":"person","start":495,"end":516,"value":"かすみがくえん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["かすみがくえん"]},"customers":{"required_absent":[],"required_present":["かすみがくえん"]},"all":{"required_absent":[],"required_present":["かすみがくえん"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-055","language":"ja","script":"Hiragana","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=55 --message=\"顧客が話した相手は\" --value=はるかとう","known_identities":[],"targets":[{"id":"person","kind":"person","start":60,"end":75,"value":"はるかとう","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["はるかとう"]},"customers":{"required_absent":["はるかとう"],"required_present":[]},"all":{"required_absent":["はるかとう"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-055","language":"ja","script":"Hiragana","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=55 --message=\"公開組織は\" --value=かすみぶんかかい","known_identities":[],"targets":[{"id":"person","kind":"person","start":48,"end":72,"value":"かすみぶんかかい","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["かすみぶんかかい"]},"customers":{"required_absent":[],"required_present":["かすみぶんかかい"]},"all":{"required_absent":[],"required_present":["かすみぶんかかい"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-056","language":"ja","script":"Hiragana","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"顧客が話した相手ははるきむら","known_identities":[],"targets":[{"id":"person","kind":"person","start":27,"end":42,"value":"はるきむら","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["はるきむら"]},"customers":{"required_absent":["はるきむら"],"required_present":[]},"all":{"required_absent":["はるきむら"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-056","language":"ja","script":"Hiragana","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"公開組織はかすみとしょかん","known_identities":[],"targets":[{"id":"person","kind":"person","start":15,"end":39,"value":"かすみとしょかん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["かすみとしょかん"]},"customers":{"required_absent":[],"required_present":["かすみとしょかん"]},"all":{"required_absent":[],"required_present":["かすみとしょかん"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-057","language":"ja","script":"Hiragana","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_57\":\"顧客が話した相手ははるこばやし\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":60,"value":"はるこばやし","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["はるこばやし"]},"customers":{"required_absent":["はるこばやし"],"required_present":[]},"all":{"required_absent":["はるこばやし"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-057","language":"ja","script":"Hiragana","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_57\":\"公開組織はかすみげきだん\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":51,"value":"かすみげきだん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["かすみげきだん"]},"customers":{"required_absent":[],"required_present":["かすみげきだん"]},"all":{"required_absent":[],"required_present":["かすみげきだん"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-058","language":"ja","script":"Hiragana","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_58: 顧客が話した相手ははるさとう","known_identities":[],"targets":[{"id":"person","kind":"person","start":39,"end":54,"value":"はるさとう","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["はるさとう"]},"customers":{"required_absent":["はるさとう"],"required_present":[]},"all":{"required_absent":["はるさとう"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-058","language":"ja","script":"Hiragana","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_58: 公開組織はかすみはくぶつかん","known_identities":[],"targets":[{"id":"person","kind":"person","start":27,"end":54,"value":"かすみはくぶつかん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["かすみはくぶつかん"]},"customers":{"required_absent":[],"required_present":["かすみはくぶつかん"]},"all":{"required_absent":[],"required_present":["かすみはくぶつかん"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-059","language":"ja","script":"Hiragana","shape":"shell","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_59='顧客が話した相手ははるたなか'","known_identities":[],"targets":[{"id":"person","kind":"person","start":39,"end":54,"value":"はるたなか","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["はるたなか"]},"customers":{"required_absent":["はるたなか"],"required_present":[]},"all":{"required_absent":["はるたなか"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-059","language":"ja","script":"Hiragana","shape":"shell","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_59='公開組織はかすみきょうかい'","known_identities":[],"targets":[{"id":"person","kind":"person","start":27,"end":51,"value":"かすみきょうかい","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["かすみきょうかい"]},"customers":{"required_absent":[],"required_present":["かすみきょうかい"]},"all":{"required_absent":[],"required_present":["かすみきょうかい"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-060","language":"ja","script":"Hiragana","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/60 ; 顧客が話した相手はひなたあらい","known_identities":[],"targets":[{"id":"person","kind":"person","start":60,"end":78,"value":"ひなたあらい","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["ひなたあらい"]},"customers":{"required_absent":["ひなたあらい"],"required_present":[]},"all":{"required_absent":["ひなたあらい"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-060","language":"ja","script":"Hiragana","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/60 ; 公開組織はきぼうけんきゅうじょ","known_identities":[],"targets":[{"id":"person","kind":"person","start":48,"end":78,"value":"きぼうけんきゅうじょ","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["きぼうけんきゅうじょ"]},"customers":{"required_absent":[],"required_present":["きぼうけんきゅうじょ"]},"all":{"required_absent":[],"required_present":["きぼうけんきゅうじょ"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-061","language":"ja","script":"Hiragana","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"**顧客が話した相手はひなたいとう**","known_identities":[],"targets":[{"id":"person","kind":"person","start":29,"end":47,"value":"ひなたいとう","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["ひなたいとう"]},"customers":{"required_absent":["ひなたいとう"],"required_present":[]},"all":{"required_absent":["ひなたいとう"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-061","language":"ja","script":"Hiragana","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"**公開組織はきぼうしゅっぱん**","known_identities":[],"targets":[{"id":"person","kind":"person","start":17,"end":41,"value":"きぼうしゅっぱん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["きぼうしゅっぱん"]},"customers":{"required_absent":[],"required_present":["きぼうしゅっぱん"]},"all":{"required_absent":[],"required_present":["きぼうしゅっぱん"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-062","language":"ja","script":"Hiragana","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003e顧客が話した相手はひなたうえだ\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":48,"value":"ひなたうえだ","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["ひなたうえだ"]},"customers":{"required_absent":["ひなたうえだ"],"required_present":[]},"all":{"required_absent":["ひなたうえだ"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-062","language":"ja","script":"Hiragana","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003e公開組織はきぼうざいだん\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":18,"end":39,"value":"きぼうざいだん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["きぼうざいだん"]},"customers":{"required_absent":[],"required_present":["きぼうざいだん"]},"all":{"required_absent":[],"required_present":["きぼうざいだん"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-063","language":"ja","script":"Hiragana","shape":"quoted-reply","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e 顧客が話した相手はひなたえんどう","known_identities":[],"targets":[{"id":"person","kind":"person","start":29,"end":50,"value":"ひなたえんどう","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["ひなたえんどう"]},"customers":{"required_absent":["ひなたえんどう"],"required_present":[]},"all":{"required_absent":["ひなたえんどう"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-063","language":"ja","script":"Hiragana","shape":"quoted-reply","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e 公開組織はきぼうこうぼう","known_identities":[],"targets":[{"id":"person","kind":"person","start":17,"end":38,"value":"きぼうこうぼう","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["きぼうこうぼう"]},"customers":{"required_absent":[],"required_present":["きぼうこうぼう"]},"all":{"required_absent":[],"required_present":["きぼうこうぼう"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-064","language":"ja","script":"Hiragana","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=64 message=\"顧客が話した相手は\" value=ひなたおおた","known_identities":[],"targets":[{"id":"person","kind":"person","start":65,"end":83,"value":"ひなたおおた","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["ひなたおおた"]},"customers":{"required_absent":["ひなたおおた"],"required_present":[]},"all":{"required_absent":["ひなたおおた"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-064","language":"ja","script":"Hiragana","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=64 message=\"公開組織は\" value=きぼうがくえん","known_identities":[],"targets":[{"id":"person","kind":"person","start":53,"end":74,"value":"きぼうがくえん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["きぼうがくえん"]},"customers":{"required_absent":[],"required_present":["きぼうがくえん"]},"all":{"required_absent":[],"required_present":["きぼうがくえん"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-065","language":"ja","script":"Hiragana","shape":"stack-trace","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[65]: 顧客が話した相手はひなたかとう","known_identities":[],"targets":[{"id":"person","kind":"person","start":38,"end":56,"value":"ひなたかとう","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["ひなたかとう"]},"customers":{"required_absent":["ひなたかとう"],"required_present":[]},"all":{"required_absent":["ひなたかとう"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-065","language":"ja","script":"Hiragana","shape":"stack-trace","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[65]: 公開組織はきぼうぶんかかい","known_identities":[],"targets":[{"id":"person","kind":"person","start":26,"end":50,"value":"きぼうぶんかかい","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["きぼうぶんかかい"]},"customers":{"required_absent":[],"required_present":["きぼうぶんかかい"]},"all":{"required_absent":[],"required_present":["きぼうぶんかかい"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-066","language":"ja","script":"Hiragana","shape":"code","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_66 := `顧客が話した相手はひなたきむら`","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":60,"value":"ひなたきむら","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["ひなたきむら"]},"customers":{"required_absent":["ひなたきむら"],"required_present":[]},"all":{"required_absent":["ひなたきむら"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-066","language":"ja","script":"Hiragana","shape":"code","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_66 := `公開組織はきぼうとしょかん`","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":54,"value":"きぼうとしょかん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["きぼうとしょかん"]},"customers":{"required_absent":[],"required_present":["きぼうとしょかん"]},"all":{"required_absent":[],"required_present":["きぼうとしょかん"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-067","language":"ja","script":"Hiragana","shape":"signature","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--\n顧客が話した相手はひなたこばやし","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":51,"value":"ひなたこばやし","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["ひなたこばやし"]},"customers":{"required_absent":["ひなたこばやし"],"required_present":[]},"all":{"required_absent":["ひなたこばやし"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-067","language":"ja","script":"Hiragana","shape":"signature","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--\n公開組織はきぼうげきだん","known_identities":[],"targets":[{"id":"person","kind":"person","start":18,"end":39,"value":"きぼうげきだん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["きぼうげきだん"]},"customers":{"required_absent":[],"required_present":["きぼうげきだん"]},"all":{"required_absent":[],"required_present":["きぼうげきだん"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-068","language":"ja","script":"Hiragana","shape":"long-thread","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. 顧客が話した相手はひなたさとう","known_identities":[],"targets":[{"id":"person","kind":"person","start":507,"end":525,"value":"ひなたさとう","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["ひなたさとう"]},"customers":{"required_absent":["ひなたさとう"],"required_present":[]},"all":{"required_absent":["ひなたさとう"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-068","language":"ja","script":"Hiragana","shape":"long-thread","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. 公開組織はきぼうはくぶつかん","known_identities":[],"targets":[{"id":"person","kind":"person","start":495,"end":522,"value":"きぼうはくぶつかん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["きぼうはくぶつかん"]},"customers":{"required_absent":[],"required_present":["きぼうはくぶつかん"]},"all":{"required_absent":[],"required_present":["きぼうはくぶつかん"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-069","language":"ja","script":"Hiragana","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=69 --message=\"顧客が話した相手は\" --value=ひなたたなか","known_identities":[],"targets":[{"id":"person","kind":"person","start":60,"end":78,"value":"ひなたたなか","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["ひなたたなか"]},"customers":{"required_absent":["ひなたたなか"],"required_present":[]},"all":{"required_absent":["ひなたたなか"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-069","language":"ja","script":"Hiragana","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=69 --message=\"公開組織は\" --value=きぼうきょうかい","known_identities":[],"targets":[{"id":"person","kind":"person","start":48,"end":72,"value":"きぼうきょうかい","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["きぼうきょうかい"]},"customers":{"required_absent":[],"required_present":["きぼうきょうかい"]},"all":{"required_absent":[],"required_present":["きぼうきょうかい"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-070","language":"ja","script":"Hiragana","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"顧客が話した相手はまことあらい","known_identities":[],"targets":[{"id":"person","kind":"person","start":27,"end":45,"value":"まことあらい","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["まことあらい"]},"customers":{"required_absent":["まことあらい"],"required_present":[]},"all":{"required_absent":["まことあらい"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-070","language":"ja","script":"Hiragana","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"公開組織はこもれびけんきゅうじょ","known_identities":[],"targets":[{"id":"person","kind":"person","start":15,"end":48,"value":"こもれびけんきゅうじょ","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["こもれびけんきゅうじょ"]},"customers":{"required_absent":[],"required_present":["こもれびけんきゅうじょ"]},"all":{"required_absent":[],"required_present":["こもれびけんきゅうじょ"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-071","language":"ja","script":"Hiragana","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_71\":\"顧客が話した相手はまこといとう\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":60,"value":"まこといとう","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["まこといとう"]},"customers":{"required_absent":["まこといとう"],"required_present":[]},"all":{"required_absent":["まこといとう"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-071","language":"ja","script":"Hiragana","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_71\":\"公開組織はこもれびしゅっぱん\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":57,"value":"こもれびしゅっぱん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["こもれびしゅっぱん"]},"customers":{"required_absent":[],"required_present":["こもれびしゅっぱん"]},"all":{"required_absent":[],"required_present":["こもれびしゅっぱん"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-072","language":"ja","script":"Hiragana","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_72: 顧客が話した相手はまことうえだ","known_identities":[],"targets":[{"id":"person","kind":"person","start":39,"end":57,"value":"まことうえだ","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["まことうえだ"]},"customers":{"required_absent":["まことうえだ"],"required_present":[]},"all":{"required_absent":["まことうえだ"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-072","language":"ja","script":"Hiragana","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_72: 公開組織はこもれびざいだん","known_identities":[],"targets":[{"id":"person","kind":"person","start":27,"end":51,"value":"こもれびざいだん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["こもれびざいだん"]},"customers":{"required_absent":[],"required_present":["こもれびざいだん"]},"all":{"required_absent":[],"required_present":["こもれびざいだん"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-073","language":"ja","script":"Hiragana","shape":"shell","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_73='顧客が話した相手はまことえんどう'","known_identities":[],"targets":[{"id":"person","kind":"person","start":39,"end":60,"value":"まことえんどう","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["まことえんどう"]},"customers":{"required_absent":["まことえんどう"],"required_present":[]},"all":{"required_absent":["まことえんどう"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-073","language":"ja","script":"Hiragana","shape":"shell","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_73='公開組織はこもれびこうぼう'","known_identities":[],"targets":[{"id":"person","kind":"person","start":27,"end":51,"value":"こもれびこうぼう","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["こもれびこうぼう"]},"customers":{"required_absent":[],"required_present":["こもれびこうぼう"]},"all":{"required_absent":[],"required_present":["こもれびこうぼう"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-074","language":"ja","script":"Hiragana","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/74 ; 顧客が話した相手はまことおおた","known_identities":[],"targets":[{"id":"person","kind":"person","start":60,"end":78,"value":"まことおおた","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["まことおおた"]},"customers":{"required_absent":["まことおおた"],"required_present":[]},"all":{"required_absent":["まことおおた"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-074","language":"ja","script":"Hiragana","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/74 ; 公開組織はこもれびがくえん","known_identities":[],"targets":[{"id":"person","kind":"person","start":48,"end":72,"value":"こもれびがくえん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["こもれびがくえん"]},"customers":{"required_absent":[],"required_present":["こもれびがくえん"]},"all":{"required_absent":[],"required_present":["こもれびがくえん"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-075","language":"ja","script":"Hiragana","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"**顧客が話した相手はまことかとう**","known_identities":[],"targets":[{"id":"person","kind":"person","start":29,"end":47,"value":"まことかとう","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["まことかとう"]},"customers":{"required_absent":["まことかとう"],"required_present":[]},"all":{"required_absent":["まことかとう"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-075","language":"ja","script":"Hiragana","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"**公開組織はこもれびぶんかかい**","known_identities":[],"targets":[{"id":"person","kind":"person","start":17,"end":44,"value":"こもれびぶんかかい","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["こもれびぶんかかい"]},"customers":{"required_absent":[],"required_present":["こもれびぶんかかい"]},"all":{"required_absent":[],"required_present":["こもれびぶんかかい"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-076","language":"ja","script":"Hiragana","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003e顧客が話した相手はまこときむら\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":48,"value":"まこときむら","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["まこときむら"]},"customers":{"required_absent":["まこときむら"],"required_present":[]},"all":{"required_absent":["まこときむら"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-076","language":"ja","script":"Hiragana","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003e公開組織はこもれびとしょかん\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":18,"end":45,"value":"こもれびとしょかん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["こもれびとしょかん"]},"customers":{"required_absent":[],"required_present":["こもれびとしょかん"]},"all":{"required_absent":[],"required_present":["こもれびとしょかん"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-077","language":"ja","script":"Hiragana","shape":"quoted-reply","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e 顧客が話した相手はまことこばやし","known_identities":[],"targets":[{"id":"person","kind":"person","start":29,"end":50,"value":"まことこばやし","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["まことこばやし"]},"customers":{"required_absent":["まことこばやし"],"required_present":[]},"all":{"required_absent":["まことこばやし"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-077","language":"ja","script":"Hiragana","shape":"quoted-reply","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e 公開組織はこもれびげきだん","known_identities":[],"targets":[{"id":"person","kind":"person","start":17,"end":41,"value":"こもれびげきだん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["こもれびげきだん"]},"customers":{"required_absent":[],"required_present":["こもれびげきだん"]},"all":{"required_absent":[],"required_present":["こもれびげきだん"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-078","language":"ja","script":"Hiragana","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=78 message=\"顧客が話した相手は\" value=まことさとう","known_identities":[],"targets":[{"id":"person","kind":"person","start":65,"end":83,"value":"まことさとう","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["まことさとう"]},"customers":{"required_absent":["まことさとう"],"required_present":[]},"all":{"required_absent":["まことさとう"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-078","language":"ja","script":"Hiragana","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=78 message=\"公開組織は\" value=こもれびはくぶつかん","known_identities":[],"targets":[{"id":"person","kind":"person","start":53,"end":83,"value":"こもれびはくぶつかん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["こもれびはくぶつかん"]},"customers":{"required_absent":[],"required_present":["こもれびはくぶつかん"]},"all":{"required_absent":[],"required_present":["こもれびはくぶつかん"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-079","language":"ja","script":"Hiragana","shape":"stack-trace","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[79]: 顧客が話した相手はまことたなか","known_identities":[],"targets":[{"id":"person","kind":"person","start":38,"end":56,"value":"まことたなか","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["まことたなか"]},"customers":{"required_absent":["まことたなか"],"required_present":[]},"all":{"required_absent":["まことたなか"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-079","language":"ja","script":"Hiragana","shape":"stack-trace","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[79]: 公開組織はこもれびきょうかい","known_identities":[],"targets":[{"id":"person","kind":"person","start":26,"end":53,"value":"こもれびきょうかい","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["こもれびきょうかい"]},"customers":{"required_absent":[],"required_present":["こもれびきょうかい"]},"all":{"required_absent":[],"required_present":["こもれびきょうかい"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-080","language":"ja","script":"Hiragana","shape":"code","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_80 := `顧客が話した相手はゆいあらい`","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":57,"value":"ゆいあらい","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["ゆいあらい"]},"customers":{"required_absent":["ゆいあらい"],"required_present":[]},"all":{"required_absent":["ゆいあらい"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-080","language":"ja","script":"Hiragana","shape":"code","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_80 := `公開組織はさざなみけんきゅうじょ`","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":63,"value":"さざなみけんきゅうじょ","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["さざなみけんきゅうじょ"]},"customers":{"required_absent":[],"required_present":["さざなみけんきゅうじょ"]},"all":{"required_absent":[],"required_present":["さざなみけんきゅうじょ"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-081","language":"ja","script":"Hiragana","shape":"signature","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--\n顧客が話した相手はゆいいとう","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":45,"value":"ゆいいとう","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["ゆいいとう"]},"customers":{"required_absent":["ゆいいとう"],"required_present":[]},"all":{"required_absent":["ゆいいとう"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-081","language":"ja","script":"Hiragana","shape":"signature","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--\n公開組織はさざなみしゅっぱん","known_identities":[],"targets":[{"id":"person","kind":"person","start":18,"end":45,"value":"さざなみしゅっぱん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["さざなみしゅっぱん"]},"customers":{"required_absent":[],"required_present":["さざなみしゅっぱん"]},"all":{"required_absent":[],"required_present":["さざなみしゅっぱん"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-082","language":"ja","script":"Hiragana","shape":"long-thread","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. 顧客が話した相手はゆいうえだ","known_identities":[],"targets":[{"id":"person","kind":"person","start":507,"end":522,"value":"ゆいうえだ","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["ゆいうえだ"]},"customers":{"required_absent":["ゆいうえだ"],"required_present":[]},"all":{"required_absent":["ゆいうえだ"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-082","language":"ja","script":"Hiragana","shape":"long-thread","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. 公開組織はさざなみざいだん","known_identities":[],"targets":[{"id":"person","kind":"person","start":495,"end":519,"value":"さざなみざいだん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["さざなみざいだん"]},"customers":{"required_absent":[],"required_present":["さざなみざいだん"]},"all":{"required_absent":[],"required_present":["さざなみざいだん"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-083","language":"ja","script":"Hiragana","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=83 --message=\"顧客が話した相手は\" --value=ゆいえんどう","known_identities":[],"targets":[{"id":"person","kind":"person","start":60,"end":78,"value":"ゆいえんどう","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["ゆいえんどう"]},"customers":{"required_absent":["ゆいえんどう"],"required_present":[]},"all":{"required_absent":["ゆいえんどう"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-083","language":"ja","script":"Hiragana","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=83 --message=\"公開組織は\" --value=さざなみこうぼう","known_identities":[],"targets":[{"id":"person","kind":"person","start":48,"end":72,"value":"さざなみこうぼう","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["さざなみこうぼう"]},"customers":{"required_absent":[],"required_present":["さざなみこうぼう"]},"all":{"required_absent":[],"required_present":["さざなみこうぼう"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-084","language":"ja","script":"Hiragana","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"顧客が話した相手はゆいおおた","known_identities":[],"targets":[{"id":"person","kind":"person","start":27,"end":42,"value":"ゆいおおた","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["ゆいおおた"]},"customers":{"required_absent":["ゆいおおた"],"required_present":[]},"all":{"required_absent":["ゆいおおた"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-084","language":"ja","script":"Hiragana","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"公開組織はさざなみがくえん","known_identities":[],"targets":[{"id":"person","kind":"person","start":15,"end":39,"value":"さざなみがくえん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["さざなみがくえん"]},"customers":{"required_absent":[],"required_present":["さざなみがくえん"]},"all":{"required_absent":[],"required_present":["さざなみがくえん"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-085","language":"ja","script":"Hiragana","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_85\":\"顧客が話した相手はゆいかとう\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":57,"value":"ゆいかとう","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["ゆいかとう"]},"customers":{"required_absent":["ゆいかとう"],"required_present":[]},"all":{"required_absent":["ゆいかとう"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-085","language":"ja","script":"Hiragana","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_85\":\"公開組織はさざなみぶんかかい\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":57,"value":"さざなみぶんかかい","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["さざなみぶんかかい"]},"customers":{"required_absent":[],"required_present":["さざなみぶんかかい"]},"all":{"required_absent":[],"required_present":["さざなみぶんかかい"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-086","language":"ja","script":"Hiragana","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_86: 顧客が話した相手はゆいきむら","known_identities":[],"targets":[{"id":"person","kind":"person","start":39,"end":54,"value":"ゆいきむら","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["ゆいきむら"]},"customers":{"required_absent":["ゆいきむら"],"required_present":[]},"all":{"required_absent":["ゆいきむら"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-086","language":"ja","script":"Hiragana","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_86: 公開組織はさざなみとしょかん","known_identities":[],"targets":[{"id":"person","kind":"person","start":27,"end":54,"value":"さざなみとしょかん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["さざなみとしょかん"]},"customers":{"required_absent":[],"required_present":["さざなみとしょかん"]},"all":{"required_absent":[],"required_present":["さざなみとしょかん"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-087","language":"ja","script":"Hiragana","shape":"shell","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_87='顧客が話した相手はゆいこばやし'","known_identities":[],"targets":[{"id":"person","kind":"person","start":39,"end":57,"value":"ゆいこばやし","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["ゆいこばやし"]},"customers":{"required_absent":["ゆいこばやし"],"required_present":[]},"all":{"required_absent":["ゆいこばやし"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-087","language":"ja","script":"Hiragana","shape":"shell","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_87='公開組織はさざなみげきだん'","known_identities":[],"targets":[{"id":"person","kind":"person","start":27,"end":51,"value":"さざなみげきだん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["さざなみげきだん"]},"customers":{"required_absent":[],"required_present":["さざなみげきだん"]},"all":{"required_absent":[],"required_present":["さざなみげきだん"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-088","language":"ja","script":"Hiragana","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/88 ; 顧客が話した相手はゆいさとう","known_identities":[],"targets":[{"id":"person","kind":"person","start":60,"end":75,"value":"ゆいさとう","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["ゆいさとう"]},"customers":{"required_absent":["ゆいさとう"],"required_present":[]},"all":{"required_absent":["ゆいさとう"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-088","language":"ja","script":"Hiragana","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/88 ; 公開組織はさざなみはくぶつかん","known_identities":[],"targets":[{"id":"person","kind":"person","start":48,"end":78,"value":"さざなみはくぶつかん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["さざなみはくぶつかん"]},"customers":{"required_absent":[],"required_present":["さざなみはくぶつかん"]},"all":{"required_absent":[],"required_present":["さざなみはくぶつかん"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-089","language":"ja","script":"Hiragana","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"**顧客が話した相手はゆいたなか**","known_identities":[],"targets":[{"id":"person","kind":"person","start":29,"end":44,"value":"ゆいたなか","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["ゆいたなか"]},"customers":{"required_absent":["ゆいたなか"],"required_present":[]},"all":{"required_absent":["ゆいたなか"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-089","language":"ja","script":"Hiragana","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"**公開組織はさざなみきょうかい**","known_identities":[],"targets":[{"id":"person","kind":"person","start":17,"end":44,"value":"さざなみきょうかい","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["さざなみきょうかい"]},"customers":{"required_absent":[],"required_present":["さざなみきょうかい"]},"all":{"required_absent":[],"required_present":["さざなみきょうかい"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-090","language":"ja","script":"Hiragana","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003e顧客が話した相手はりんあらい\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":45,"value":"りんあらい","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["りんあらい"]},"customers":{"required_absent":["りんあらい"],"required_present":[]},"all":{"required_absent":["りんあらい"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-090","language":"ja","script":"Hiragana","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003e公開組織はつばさけんきゅうじょ\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":18,"end":48,"value":"つばさけんきゅうじょ","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["つばさけんきゅうじょ"]},"customers":{"required_absent":[],"required_present":["つばさけんきゅうじょ"]},"all":{"required_absent":[],"required_present":["つばさけんきゅうじょ"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-091","language":"ja","script":"Hiragana","shape":"quoted-reply","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e 顧客が話した相手はりんいとう","known_identities":[],"targets":[{"id":"person","kind":"person","start":29,"end":44,"value":"りんいとう","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["りんいとう"]},"customers":{"required_absent":["りんいとう"],"required_present":[]},"all":{"required_absent":["りんいとう"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-091","language":"ja","script":"Hiragana","shape":"quoted-reply","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e 公開組織はつばさしゅっぱん","known_identities":[],"targets":[{"id":"person","kind":"person","start":17,"end":41,"value":"つばさしゅっぱん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["つばさしゅっぱん"]},"customers":{"required_absent":[],"required_present":["つばさしゅっぱん"]},"all":{"required_absent":[],"required_present":["つばさしゅっぱん"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-092","language":"ja","script":"Hiragana","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=92 message=\"顧客が話した相手は\" value=りんうえだ","known_identities":[],"targets":[{"id":"person","kind":"person","start":65,"end":80,"value":"りんうえだ","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["りんうえだ"]},"customers":{"required_absent":["りんうえだ"],"required_present":[]},"all":{"required_absent":["りんうえだ"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-092","language":"ja","script":"Hiragana","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=92 message=\"公開組織は\" value=つばさざいだん","known_identities":[],"targets":[{"id":"person","kind":"person","start":53,"end":74,"value":"つばさざいだん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["つばさざいだん"]},"customers":{"required_absent":[],"required_present":["つばさざいだん"]},"all":{"required_absent":[],"required_present":["つばさざいだん"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-093","language":"ja","script":"Hiragana","shape":"stack-trace","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[93]: 顧客が話した相手はりんえんどう","known_identities":[],"targets":[{"id":"person","kind":"person","start":38,"end":56,"value":"りんえんどう","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["りんえんどう"]},"customers":{"required_absent":["りんえんどう"],"required_present":[]},"all":{"required_absent":["りんえんどう"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-093","language":"ja","script":"Hiragana","shape":"stack-trace","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[93]: 公開組織はつばさこうぼう","known_identities":[],"targets":[{"id":"person","kind":"person","start":26,"end":47,"value":"つばさこうぼう","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["つばさこうぼう"]},"customers":{"required_absent":[],"required_present":["つばさこうぼう"]},"all":{"required_absent":[],"required_present":["つばさこうぼう"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-094","language":"ja","script":"Hiragana","shape":"code","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_94 := `顧客が話した相手はりんおおた`","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":57,"value":"りんおおた","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["りんおおた"]},"customers":{"required_absent":["りんおおた"],"required_present":[]},"all":{"required_absent":["りんおおた"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-094","language":"ja","script":"Hiragana","shape":"code","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_94 := `公開組織はつばさがくえん`","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":51,"value":"つばさがくえん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["つばさがくえん"]},"customers":{"required_absent":[],"required_present":["つばさがくえん"]},"all":{"required_absent":[],"required_present":["つばさがくえん"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-095","language":"ja","script":"Hiragana","shape":"signature","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--\n顧客が話した相手はりんかとう","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":45,"value":"りんかとう","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["りんかとう"]},"customers":{"required_absent":["りんかとう"],"required_present":[]},"all":{"required_absent":["りんかとう"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-095","language":"ja","script":"Hiragana","shape":"signature","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--\n公開組織はつばさぶんかかい","known_identities":[],"targets":[{"id":"person","kind":"person","start":18,"end":42,"value":"つばさぶんかかい","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["つばさぶんかかい"]},"customers":{"required_absent":[],"required_present":["つばさぶんかかい"]},"all":{"required_absent":[],"required_present":["つばさぶんかかい"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-096","language":"ja","script":"Hiragana","shape":"long-thread","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. 顧客が話した相手はりんきむら","known_identities":[],"targets":[{"id":"person","kind":"person","start":507,"end":522,"value":"りんきむら","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["りんきむら"]},"customers":{"required_absent":["りんきむら"],"required_present":[]},"all":{"required_absent":["りんきむら"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-096","language":"ja","script":"Hiragana","shape":"long-thread","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. 公開組織はつばさとしょかん","known_identities":[],"targets":[{"id":"person","kind":"person","start":495,"end":519,"value":"つばさとしょかん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["つばさとしょかん"]},"customers":{"required_absent":[],"required_present":["つばさとしょかん"]},"all":{"required_absent":[],"required_present":["つばさとしょかん"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-097","language":"ja","script":"Hiragana","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=97 --message=\"顧客が話した相手は\" --value=りんこばやし","known_identities":[],"targets":[{"id":"person","kind":"person","start":60,"end":78,"value":"りんこばやし","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["りんこばやし"]},"customers":{"required_absent":["りんこばやし"],"required_present":[]},"all":{"required_absent":["りんこばやし"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-097","language":"ja","script":"Hiragana","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=97 --message=\"公開組織は\" --value=つばさげきだん","known_identities":[],"targets":[{"id":"person","kind":"person","start":48,"end":69,"value":"つばさげきだん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["つばさげきだん"]},"customers":{"required_absent":[],"required_present":["つばさげきだん"]},"all":{"required_absent":[],"required_present":["つばさげきだん"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-098","language":"ja","script":"Hiragana","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"顧客が話した相手はりんさとう","known_identities":[],"targets":[{"id":"person","kind":"person","start":27,"end":42,"value":"りんさとう","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["りんさとう"]},"customers":{"required_absent":["りんさとう"],"required_present":[]},"all":{"required_absent":["りんさとう"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-098","language":"ja","script":"Hiragana","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"公開組織はつばさはくぶつかん","known_identities":[],"targets":[{"id":"person","kind":"person","start":15,"end":42,"value":"つばさはくぶつかん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["つばさはくぶつかん"]},"customers":{"required_absent":[],"required_present":["つばさはくぶつかん"]},"all":{"required_absent":[],"required_present":["つばさはくぶつかん"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-099","language":"ja","script":"Hiragana","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_99\":\"顧客が話した相手はりんたなか\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":57,"value":"りんたなか","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["りんたなか"]},"customers":{"required_absent":["りんたなか"],"required_present":[]},"all":{"required_absent":["りんたなか"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-099","language":"ja","script":"Hiragana","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_99\":\"公開組織はつばさきょうかい\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":54,"value":"つばさきょうかい","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["つばさきょうかい"]},"customers":{"required_absent":[],"required_present":["つばさきょうかい"]},"all":{"required_absent":[],"required_present":["つばさきょうかい"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-000","language":"ko","script":"Hangul","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"고객이 언급한 사람은 가람 김","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":40,"value":"가람 김","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["가람 김"]},"customers":{"required_absent":["가람 김"],"required_present":[]},"all":{"required_absent":["가람 김"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-000","language":"ko","script":"Hangul","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"공개 기관은 가온 연구소","known_identities":[],"targets":[{"id":"person","kind":"person","start":17,"end":33,"value":"가온 연구소","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["가온 연구소"]},"customers":{"required_absent":[],"required_present":["가온 연구소"]},"all":{"required_absent":[],"required_present":["가온 연구소"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-001","language":"ko","script":"Hangul","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_1\":\"고객이 언급한 사람은 가람 이\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":44,"end":54,"value":"가람 이","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["가람 이"]},"customers":{"required_absent":["가람 이"],"required_present":[]},"all":{"required_absent":["가람 이"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-001","language":"ko","script":"Hangul","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_1\":\"공개 기관은 가온 출판사\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":47,"value":"가온 출판사","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["가온 출판사"]},"customers":{"required_absent":[],"required_present":["가온 출판사"]},"all":{"required_absent":[],"required_present":["가온 출판사"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-002","language":"ko","script":"Hangul","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_2: 고객이 언급한 사람은 가람 박","known_identities":[],"targets":[{"id":"person","kind":"person","start":41,"end":51,"value":"가람 박","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["가람 박"]},"customers":{"required_absent":["가람 박"],"required_present":[]},"all":{"required_absent":["가람 박"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-002","language":"ko","script":"Hangul","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_2: 공개 기관은 가온 재단","known_identities":[],"targets":[{"id":"person","kind":"person","start":28,"end":41,"value":"가온 재단","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["가온 재단"]},"customers":{"required_absent":[],"required_present":["가온 재단"]},"all":{"required_absent":[],"required_present":["가온 재단"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-003","language":"ko","script":"Hangul","shape":"shell","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_3='고객이 언급한 사람은 가람 최'","known_identities":[],"targets":[{"id":"person","kind":"person","start":41,"end":51,"value":"가람 최","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["가람 최"]},"customers":{"required_absent":["가람 최"],"required_present":[]},"all":{"required_absent":["가람 최"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-003","language":"ko","script":"Hangul","shape":"shell","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_3='공개 기관은 가온 공방'","known_identities":[],"targets":[{"id":"person","kind":"person","start":28,"end":41,"value":"가온 공방","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["가온 공방"]},"customers":{"required_absent":[],"required_present":["가온 공방"]},"all":{"required_absent":[],"required_present":["가온 공방"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-004","language":"ko","script":"Hangul","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/4 ; 고객이 언급한 사람은 가람 정","known_identities":[],"targets":[{"id":"person","kind":"person","start":62,"end":72,"value":"가람 정","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["가람 정"]},"customers":{"required_absent":["가람 정"],"required_present":[]},"all":{"required_absent":["가람 정"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-004","language":"ko","script":"Hangul","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/4 ; 공개 기관은 가온 학교","known_identities":[],"targets":[{"id":"person","kind":"person","start":49,"end":62,"value":"가온 학교","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["가온 학교"]},"customers":{"required_absent":[],"required_present":["가온 학교"]},"all":{"required_absent":[],"required_present":["가온 학교"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-005","language":"ko","script":"Hangul","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"**고객이 언급한 사람은 가람 강**","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":42,"value":"가람 강","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["가람 강"]},"customers":{"required_absent":["가람 강"],"required_present":[]},"all":{"required_absent":["가람 강"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-005","language":"ko","script":"Hangul","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"**공개 기관은 가온 협회**","known_identities":[],"targets":[{"id":"person","kind":"person","start":19,"end":32,"value":"가온 협회","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["가온 협회"]},"customers":{"required_absent":[],"required_present":["가온 협회"]},"all":{"required_absent":[],"required_present":["가온 협회"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-006","language":"ko","script":"Hangul","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003e고객이 언급한 사람은 가람 조\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":33,"end":43,"value":"가람 조","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["가람 조"]},"customers":{"required_absent":["가람 조"],"required_present":[]},"all":{"required_absent":["가람 조"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-006","language":"ko","script":"Hangul","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003e공개 기관은 가온 박물관\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":20,"end":36,"value":"가온 박물관","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["가온 박물관"]},"customers":{"required_absent":[],"required_present":["가온 박물관"]},"all":{"required_absent":[],"required_present":["가온 박물관"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-007","language":"ko","script":"Hangul","shape":"quoted-reply","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e 고객이 언급한 사람은 가람 윤","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":42,"value":"가람 윤","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["가람 윤"]},"customers":{"required_absent":["가람 윤"],"required_present":[]},"all":{"required_absent":["가람 윤"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-007","language":"ko","script":"Hangul","shape":"quoted-reply","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e 공개 기관은 가온 도서관","known_identities":[],"targets":[{"id":"person","kind":"person","start":19,"end":35,"value":"가온 도서관","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["가온 도서관"]},"customers":{"required_absent":[],"required_present":["가온 도서관"]},"all":{"required_absent":[],"required_present":["가온 도서관"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-008","language":"ko","script":"Hangul","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=8 message=\"고객이 언급한 사람은 \" value=가람 장","known_identities":[],"targets":[{"id":"person","kind":"person","start":67,"end":77,"value":"가람 장","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["가람 장"]},"customers":{"required_absent":["가람 장"],"required_present":[]},"all":{"required_absent":["가람 장"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-008","language":"ko","script":"Hangul","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=8 message=\"공개 기관은 \" value=가온 극단","known_identities":[],"targets":[{"id":"person","kind":"person","start":54,"end":67,"value":"가온 극단","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["가온 극단"]},"customers":{"required_absent":[],"required_present":["가온 극단"]},"all":{"required_absent":[],"required_present":["가온 극단"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-009","language":"ko","script":"Hangul","shape":"stack-trace","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[9]: 고객이 언급한 사람은 가람 임","known_identities":[],"targets":[{"id":"person","kind":"person","start":40,"end":50,"value":"가람 임","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["가람 임"]},"customers":{"required_absent":["가람 임"],"required_present":[]},"all":{"required_absent":["가람 임"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-009","language":"ko","script":"Hangul","shape":"stack-trace","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[9]: 공개 기관은 가온 센터","known_identities":[],"targets":[{"id":"person","kind":"person","start":27,"end":40,"value":"가온 센터","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["가온 센터"]},"customers":{"required_absent":[],"required_present":["가온 센터"]},"all":{"required_absent":[],"required_present":["가온 센터"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-010","language":"ko","script":"Hangul","shape":"code","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_10 := `고객이 언급한 사람은 나래 김`","known_identities":[],"targets":[{"id":"person","kind":"person","start":45,"end":55,"value":"나래 김","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["나래 김"]},"customers":{"required_absent":["나래 김"],"required_present":[]},"all":{"required_absent":["나래 김"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-010","language":"ko","script":"Hangul","shape":"code","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_10 := `공개 기관은 나무 연구소`","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":48,"value":"나무 연구소","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["나무 연구소"]},"customers":{"required_absent":[],"required_present":["나무 연구소"]},"all":{"required_absent":[],"required_present":["나무 연구소"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-011","language":"ko","script":"Hangul","shape":"signature","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--\n고객이 언급한 사람은 나래 이","known_identities":[],"targets":[{"id":"person","kind":"person","start":33,"end":43,"value":"나래 이","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["나래 이"]},"customers":{"required_absent":["나래 이"],"required_present":[]},"all":{"required_absent":["나래 이"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-011","language":"ko","script":"Hangul","shape":"signature","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--\n공개 기관은 나무 출판사","known_identities":[],"targets":[{"id":"person","kind":"person","start":20,"end":36,"value":"나무 출판사","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["나무 출판사"]},"customers":{"required_absent":[],"required_present":["나무 출판사"]},"all":{"required_absent":[],"required_present":["나무 출판사"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-012","language":"ko","script":"Hangul","shape":"long-thread","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. 고객이 언급한 사람은 나래 박","known_identities":[],"targets":[{"id":"person","kind":"person","start":510,"end":520,"value":"나래 박","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["나래 박"]},"customers":{"required_absent":["나래 박"],"required_present":[]},"all":{"required_absent":["나래 박"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-012","language":"ko","script":"Hangul","shape":"long-thread","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. 공개 기관은 나무 재단","known_identities":[],"targets":[{"id":"person","kind":"person","start":497,"end":510,"value":"나무 재단","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["나무 재단"]},"customers":{"required_absent":[],"required_present":["나무 재단"]},"all":{"required_absent":[],"required_present":["나무 재단"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-013","language":"ko","script":"Hangul","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=13 --message=\"고객이 언급한 사람은 \" --value=나래 최","known_identities":[],"targets":[{"id":"person","kind":"person","start":63,"end":73,"value":"나래 최","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["나래 최"]},"customers":{"required_absent":["나래 최"],"required_present":[]},"all":{"required_absent":["나래 최"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-013","language":"ko","script":"Hangul","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=13 --message=\"공개 기관은 \" --value=나무 공방","known_identities":[],"targets":[{"id":"person","kind":"person","start":50,"end":63,"value":"나무 공방","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["나무 공방"]},"customers":{"required_absent":[],"required_present":["나무 공방"]},"all":{"required_absent":[],"required_present":["나무 공방"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-014","language":"ko","script":"Hangul","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"고객이 언급한 사람은 나래 정","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":40,"value":"나래 정","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["나래 정"]},"customers":{"required_absent":["나래 정"],"required_present":[]},"all":{"required_absent":["나래 정"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-014","language":"ko","script":"Hangul","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"공개 기관은 나무 학교","known_identities":[],"targets":[{"id":"person","kind":"person","start":17,"end":30,"value":"나무 학교","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["나무 학교"]},"customers":{"required_absent":[],"required_present":["나무 학교"]},"all":{"required_absent":[],"required_present":["나무 학교"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-015","language":"ko","script":"Hangul","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_15\":\"고객이 언급한 사람은 나래 강\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":45,"end":55,"value":"나래 강","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["나래 강"]},"customers":{"required_absent":["나래 강"],"required_present":[]},"all":{"required_absent":["나래 강"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-015","language":"ko","script":"Hangul","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_15\":\"공개 기관은 나무 협회\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":45,"value":"나무 협회","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["나무 협회"]},"customers":{"required_absent":[],"required_present":["나무 협회"]},"all":{"required_absent":[],"required_present":["나무 협회"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-016","language":"ko","script":"Hangul","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_16: 고객이 언급한 사람은 나래 조","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":52,"value":"나래 조","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["나래 조"]},"customers":{"required_absent":["나래 조"],"required_present":[]},"all":{"required_absent":["나래 조"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-016","language":"ko","script":"Hangul","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_16: 공개 기관은 나무 박물관","known_identities":[],"targets":[{"id":"person","kind":"person","start":29,"end":45,"value":"나무 박물관","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["나무 박물관"]},"customers":{"required_absent":[],"required_present":["나무 박물관"]},"all":{"required_absent":[],"required_present":["나무 박물관"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-017","language":"ko","script":"Hangul","shape":"shell","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_17='고객이 언급한 사람은 나래 윤'","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":52,"value":"나래 윤","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["나래 윤"]},"customers":{"required_absent":["나래 윤"],"required_present":[]},"all":{"required_absent":["나래 윤"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-017","language":"ko","script":"Hangul","shape":"shell","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_17='공개 기관은 나무 도서관'","known_identities":[],"targets":[{"id":"person","kind":"person","start":29,"end":45,"value":"나무 도서관","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["나무 도서관"]},"customers":{"required_absent":[],"required_present":["나무 도서관"]},"all":{"required_absent":[],"required_present":["나무 도서관"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-018","language":"ko","script":"Hangul","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/18 ; 고객이 언급한 사람은 나래 장","known_identities":[],"targets":[{"id":"person","kind":"person","start":63,"end":73,"value":"나래 장","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["나래 장"]},"customers":{"required_absent":["나래 장"],"required_present":[]},"all":{"required_absent":["나래 장"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-018","language":"ko","script":"Hangul","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/18 ; 공개 기관은 나무 극단","known_identities":[],"targets":[{"id":"person","kind":"person","start":50,"end":63,"value":"나무 극단","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["나무 극단"]},"customers":{"required_absent":[],"required_present":["나무 극단"]},"all":{"required_absent":[],"required_present":["나무 극단"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-019","language":"ko","script":"Hangul","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"**고객이 언급한 사람은 나래 임**","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":42,"value":"나래 임","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["나래 임"]},"customers":{"required_absent":["나래 임"],"required_present":[]},"all":{"required_absent":["나래 임"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-019","language":"ko","script":"Hangul","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"**공개 기관은 나무 센터**","known_identities":[],"targets":[{"id":"person","kind":"person","start":19,"end":32,"value":"나무 센터","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["나무 센터"]},"customers":{"required_absent":[],"required_present":["나무 센터"]},"all":{"required_absent":[],"required_present":["나무 센터"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-020","language":"ko","script":"Hangul","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003e고객이 언급한 사람은 다온 김\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":33,"end":43,"value":"다온 김","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["다온 김"]},"customers":{"required_absent":["다온 김"],"required_present":[]},"all":{"required_absent":["다온 김"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-020","language":"ko","script":"Hangul","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003e공개 기관은 다솜 연구소\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":20,"end":36,"value":"다솜 연구소","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["다솜 연구소"]},"customers":{"required_absent":[],"required_present":["다솜 연구소"]},"all":{"required_absent":[],"required_present":["다솜 연구소"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-021","language":"ko","script":"Hangul","shape":"quoted-reply","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e 고객이 언급한 사람은 다온 이","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":42,"value":"다온 이","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["다온 이"]},"customers":{"required_absent":["다온 이"],"required_present":[]},"all":{"required_absent":["다온 이"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-021","language":"ko","script":"Hangul","shape":"quoted-reply","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e 공개 기관은 다솜 출판사","known_identities":[],"targets":[{"id":"person","kind":"person","start":19,"end":35,"value":"다솜 출판사","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["다솜 출판사"]},"customers":{"required_absent":[],"required_present":["다솜 출판사"]},"all":{"required_absent":[],"required_present":["다솜 출판사"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-022","language":"ko","script":"Hangul","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=22 message=\"고객이 언급한 사람은 \" value=다온 박","known_identities":[],"targets":[{"id":"person","kind":"person","start":68,"end":78,"value":"다온 박","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["다온 박"]},"customers":{"required_absent":["다온 박"],"required_present":[]},"all":{"required_absent":["다온 박"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-022","language":"ko","script":"Hangul","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=22 message=\"공개 기관은 \" value=다솜 재단","known_identities":[],"targets":[{"id":"person","kind":"person","start":55,"end":68,"value":"다솜 재단","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["다솜 재단"]},"customers":{"required_absent":[],"required_present":["다솜 재단"]},"all":{"required_absent":[],"required_present":["다솜 재단"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-023","language":"ko","script":"Hangul","shape":"stack-trace","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[23]: 고객이 언급한 사람은 다온 최","known_identities":[],"targets":[{"id":"person","kind":"person","start":41,"end":51,"value":"다온 최","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["다온 최"]},"customers":{"required_absent":["다온 최"],"required_present":[]},"all":{"required_absent":["다온 최"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-023","language":"ko","script":"Hangul","shape":"stack-trace","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[23]: 공개 기관은 다솜 공방","known_identities":[],"targets":[{"id":"person","kind":"person","start":28,"end":41,"value":"다솜 공방","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["다솜 공방"]},"customers":{"required_absent":[],"required_present":["다솜 공방"]},"all":{"required_absent":[],"required_present":["다솜 공방"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-024","language":"ko","script":"Hangul","shape":"code","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_24 := `고객이 언급한 사람은 다온 정`","known_identities":[],"targets":[{"id":"person","kind":"person","start":45,"end":55,"value":"다온 정","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["다온 정"]},"customers":{"required_absent":["다온 정"],"required_present":[]},"all":{"required_absent":["다온 정"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-024","language":"ko","script":"Hangul","shape":"code","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_24 := `공개 기관은 다솜 학교`","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":45,"value":"다솜 학교","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["다솜 학교"]},"customers":{"required_absent":[],"required_present":["다솜 학교"]},"all":{"required_absent":[],"required_present":["다솜 학교"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-025","language":"ko","script":"Hangul","shape":"signature","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--\n고객이 언급한 사람은 다온 강","known_identities":[],"targets":[{"id":"person","kind":"person","start":33,"end":43,"value":"다온 강","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["다온 강"]},"customers":{"required_absent":["다온 강"],"required_present":[]},"all":{"required_absent":["다온 강"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-025","language":"ko","script":"Hangul","shape":"signature","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--\n공개 기관은 다솜 협회","known_identities":[],"targets":[{"id":"person","kind":"person","start":20,"end":33,"value":"다솜 협회","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["다솜 협회"]},"customers":{"required_absent":[],"required_present":["다솜 협회"]},"all":{"required_absent":[],"required_present":["다솜 협회"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-026","language":"ko","script":"Hangul","shape":"long-thread","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. 고객이 언급한 사람은 다온 조","known_identities":[],"targets":[{"id":"person","kind":"person","start":510,"end":520,"value":"다온 조","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["다온 조"]},"customers":{"required_absent":["다온 조"],"required_present":[]},"all":{"required_absent":["다온 조"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-026","language":"ko","script":"Hangul","shape":"long-thread","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. 공개 기관은 다솜 박물관","known_identities":[],"targets":[{"id":"person","kind":"person","start":497,"end":513,"value":"다솜 박물관","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["다솜 박물관"]},"customers":{"required_absent":[],"required_present":["다솜 박물관"]},"all":{"required_absent":[],"required_present":["다솜 박물관"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-027","language":"ko","script":"Hangul","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=27 --message=\"고객이 언급한 사람은 \" --value=다온 윤","known_identities":[],"targets":[{"id":"person","kind":"person","start":63,"end":73,"value":"다온 윤","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["다온 윤"]},"customers":{"required_absent":["다온 윤"],"required_present":[]},"all":{"required_absent":["다온 윤"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-027","language":"ko","script":"Hangul","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=27 --message=\"공개 기관은 \" --value=다솜 도서관","known_identities":[],"targets":[{"id":"person","kind":"person","start":50,"end":66,"value":"다솜 도서관","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["다솜 도서관"]},"customers":{"required_absent":[],"required_present":["다솜 도서관"]},"all":{"required_absent":[],"required_present":["다솜 도서관"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-028","language":"ko","script":"Hangul","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"고객이 언급한 사람은 다온 장","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":40,"value":"다온 장","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["다온 장"]},"customers":{"required_absent":["다온 장"],"required_present":[]},"all":{"required_absent":["다온 장"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-028","language":"ko","script":"Hangul","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"공개 기관은 다솜 극단","known_identities":[],"targets":[{"id":"person","kind":"person","start":17,"end":30,"value":"다솜 극단","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["다솜 극단"]},"customers":{"required_absent":[],"required_present":["다솜 극단"]},"all":{"required_absent":[],"required_present":["다솜 극단"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-029","language":"ko","script":"Hangul","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_29\":\"고객이 언급한 사람은 다온 임\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":45,"end":55,"value":"다온 임","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["다온 임"]},"customers":{"required_absent":["다온 임"],"required_present":[]},"all":{"required_absent":["다온 임"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-029","language":"ko","script":"Hangul","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_29\":\"공개 기관은 다솜 센터\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":45,"value":"다솜 센터","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["다솜 센터"]},"customers":{"required_absent":[],"required_present":["다솜 센터"]},"all":{"required_absent":[],"required_present":["다솜 센터"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-030","language":"ko","script":"Hangul","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_30: 고객이 언급한 사람은 라온 김","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":52,"value":"라온 김","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["라온 김"]},"customers":{"required_absent":["라온 김"],"required_present":[]},"all":{"required_absent":["라온 김"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-030","language":"ko","script":"Hangul","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_30: 공개 기관은 라움 연구소","known_identities":[],"targets":[{"id":"person","kind":"person","start":29,"end":45,"value":"라움 연구소","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["라움 연구소"]},"customers":{"required_absent":[],"required_present":["라움 연구소"]},"all":{"required_absent":[],"required_present":["라움 연구소"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-031","language":"ko","script":"Hangul","shape":"shell","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_31='고객이 언급한 사람은 라온 이'","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":52,"value":"라온 이","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["라온 이"]},"customers":{"required_absent":["라온 이"],"required_present":[]},"all":{"required_absent":["라온 이"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-031","language":"ko","script":"Hangul","shape":"shell","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_31='공개 기관은 라움 출판사'","known_identities":[],"targets":[{"id":"person","kind":"person","start":29,"end":45,"value":"라움 출판사","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["라움 출판사"]},"customers":{"required_absent":[],"required_present":["라움 출판사"]},"all":{"required_absent":[],"required_present":["라움 출판사"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-032","language":"ko","script":"Hangul","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/32 ; 고객이 언급한 사람은 라온 박","known_identities":[],"targets":[{"id":"person","kind":"person","start":63,"end":73,"value":"라온 박","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["라온 박"]},"customers":{"required_absent":["라온 박"],"required_present":[]},"all":{"required_absent":["라온 박"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-032","language":"ko","script":"Hangul","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/32 ; 공개 기관은 라움 재단","known_identities":[],"targets":[{"id":"person","kind":"person","start":50,"end":63,"value":"라움 재단","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["라움 재단"]},"customers":{"required_absent":[],"required_present":["라움 재단"]},"all":{"required_absent":[],"required_present":["라움 재단"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-033","language":"ko","script":"Hangul","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"**고객이 언급한 사람은 라온 최**","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":42,"value":"라온 최","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["라온 최"]},"customers":{"required_absent":["라온 최"],"required_present":[]},"all":{"required_absent":["라온 최"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-033","language":"ko","script":"Hangul","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"**공개 기관은 라움 공방**","known_identities":[],"targets":[{"id":"person","kind":"person","start":19,"end":32,"value":"라움 공방","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["라움 공방"]},"customers":{"required_absent":[],"required_present":["라움 공방"]},"all":{"required_absent":[],"required_present":["라움 공방"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-034","language":"ko","script":"Hangul","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003e고객이 언급한 사람은 라온 정\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":33,"end":43,"value":"라온 정","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["라온 정"]},"customers":{"required_absent":["라온 정"],"required_present":[]},"all":{"required_absent":["라온 정"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-034","language":"ko","script":"Hangul","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003e공개 기관은 라움 학교\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":20,"end":33,"value":"라움 학교","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["라움 학교"]},"customers":{"required_absent":[],"required_present":["라움 학교"]},"all":{"required_absent":[],"required_present":["라움 학교"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-035","language":"ko","script":"Hangul","shape":"quoted-reply","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e 고객이 언급한 사람은 라온 강","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":42,"value":"라온 강","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["라온 강"]},"customers":{"required_absent":["라온 강"],"required_present":[]},"all":{"required_absent":["라온 강"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-035","language":"ko","script":"Hangul","shape":"quoted-reply","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e 공개 기관은 라움 협회","known_identities":[],"targets":[{"id":"person","kind":"person","start":19,"end":32,"value":"라움 협회","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["라움 협회"]},"customers":{"required_absent":[],"required_present":["라움 협회"]},"all":{"required_absent":[],"required_present":["라움 협회"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-036","language":"ko","script":"Hangul","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=36 message=\"고객이 언급한 사람은 \" value=라온 조","known_identities":[],"targets":[{"id":"person","kind":"person","start":68,"end":78,"value":"라온 조","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["라온 조"]},"customers":{"required_absent":["라온 조"],"required_present":[]},"all":{"required_absent":["라온 조"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-036","language":"ko","script":"Hangul","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=36 message=\"공개 기관은 \" value=라움 박물관","known_identities":[],"targets":[{"id":"person","kind":"person","start":55,"end":71,"value":"라움 박물관","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["라움 박물관"]},"customers":{"required_absent":[],"required_present":["라움 박물관"]},"all":{"required_absent":[],"required_present":["라움 박물관"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-037","language":"ko","script":"Hangul","shape":"stack-trace","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[37]: 고객이 언급한 사람은 라온 윤","known_identities":[],"targets":[{"id":"person","kind":"person","start":41,"end":51,"value":"라온 윤","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["라온 윤"]},"customers":{"required_absent":["라온 윤"],"required_present":[]},"all":{"required_absent":["라온 윤"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-037","language":"ko","script":"Hangul","shape":"stack-trace","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[37]: 공개 기관은 라움 도서관","known_identities":[],"targets":[{"id":"person","kind":"person","start":28,"end":44,"value":"라움 도서관","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["라움 도서관"]},"customers":{"required_absent":[],"required_present":["라움 도서관"]},"all":{"required_absent":[],"required_present":["라움 도서관"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-038","language":"ko","script":"Hangul","shape":"code","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_38 := `고객이 언급한 사람은 라온 장`","known_identities":[],"targets":[{"id":"person","kind":"person","start":45,"end":55,"value":"라온 장","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["라온 장"]},"customers":{"required_absent":["라온 장"],"required_present":[]},"all":{"required_absent":["라온 장"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-038","language":"ko","script":"Hangul","shape":"code","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_38 := `공개 기관은 라움 극단`","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":45,"value":"라움 극단","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["라움 극단"]},"customers":{"required_absent":[],"required_present":["라움 극단"]},"all":{"required_absent":[],"required_present":["라움 극단"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-039","language":"ko","script":"Hangul","shape":"signature","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--\n고객이 언급한 사람은 라온 임","known_identities":[],"targets":[{"id":"person","kind":"person","start":33,"end":43,"value":"라온 임","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["라온 임"]},"customers":{"required_absent":["라온 임"],"required_present":[]},"all":{"required_absent":["라온 임"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-039","language":"ko","script":"Hangul","shape":"signature","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--\n공개 기관은 라움 센터","known_identities":[],"targets":[{"id":"person","kind":"person","start":20,"end":33,"value":"라움 센터","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["라움 센터"]},"customers":{"required_absent":[],"required_present":["라움 센터"]},"all":{"required_absent":[],"required_present":["라움 센터"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-040","language":"ko","script":"Hangul","shape":"long-thread","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. 고객이 언급한 사람은 마루 김","known_identities":[],"targets":[{"id":"person","kind":"person","start":510,"end":520,"value":"마루 김","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["마루 김"]},"customers":{"required_absent":["마루 김"],"required_present":[]},"all":{"required_absent":["마루 김"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-040","language":"ko","script":"Hangul","shape":"long-thread","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. 공개 기관은 마중 연구소","known_identities":[],"targets":[{"id":"person","kind":"person","start":497,"end":513,"value":"마중 연구소","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["마중 연구소"]},"customers":{"required_absent":[],"required_present":["마중 연구소"]},"all":{"required_absent":[],"required_present":["마중 연구소"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-041","language":"ko","script":"Hangul","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=41 --message=\"고객이 언급한 사람은 \" --value=마루 이","known_identities":[],"targets":[{"id":"person","kind":"person","start":63,"end":73,"value":"마루 이","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["마루 이"]},"customers":{"required_absent":["마루 이"],"required_present":[]},"all":{"required_absent":["마루 이"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-041","language":"ko","script":"Hangul","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=41 --message=\"공개 기관은 \" --value=마중 출판사","known_identities":[],"targets":[{"id":"person","kind":"person","start":50,"end":66,"value":"마중 출판사","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["마중 출판사"]},"customers":{"required_absent":[],"required_present":["마중 출판사"]},"all":{"required_absent":[],"required_present":["마중 출판사"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-042","language":"ko","script":"Hangul","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"고객이 언급한 사람은 마루 박","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":40,"value":"마루 박","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["마루 박"]},"customers":{"required_absent":["마루 박"],"required_present":[]},"all":{"required_absent":["마루 박"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-042","language":"ko","script":"Hangul","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"공개 기관은 마중 재단","known_identities":[],"targets":[{"id":"person","kind":"person","start":17,"end":30,"value":"마중 재단","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["마중 재단"]},"customers":{"required_absent":[],"required_present":["마중 재단"]},"all":{"required_absent":[],"required_present":["마중 재단"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-043","language":"ko","script":"Hangul","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_43\":\"고객이 언급한 사람은 마루 최\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":45,"end":55,"value":"마루 최","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["마루 최"]},"customers":{"required_absent":["마루 최"],"required_present":[]},"all":{"required_absent":["마루 최"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-043","language":"ko","script":"Hangul","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_43\":\"공개 기관은 마중 공방\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":45,"value":"마중 공방","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["마중 공방"]},"customers":{"required_absent":[],"required_present":["마중 공방"]},"all":{"required_absent":[],"required_present":["마중 공방"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-044","language":"ko","script":"Hangul","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_44: 고객이 언급한 사람은 마루 정","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":52,"value":"마루 정","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["마루 정"]},"customers":{"required_absent":["마루 정"],"required_present":[]},"all":{"required_absent":["마루 정"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-044","language":"ko","script":"Hangul","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_44: 공개 기관은 마중 학교","known_identities":[],"targets":[{"id":"person","kind":"person","start":29,"end":42,"value":"마중 학교","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["마중 학교"]},"customers":{"required_absent":[],"required_present":["마중 학교"]},"all":{"required_absent":[],"required_present":["마중 학교"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-045","language":"ko","script":"Hangul","shape":"shell","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_45='고객이 언급한 사람은 마루 강'","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":52,"value":"마루 강","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["마루 강"]},"customers":{"required_absent":["마루 강"],"required_present":[]},"all":{"required_absent":["마루 강"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-045","language":"ko","script":"Hangul","shape":"shell","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_45='공개 기관은 마중 협회'","known_identities":[],"targets":[{"id":"person","kind":"person","start":29,"end":42,"value":"마중 협회","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["마중 협회"]},"customers":{"required_absent":[],"required_present":["마중 협회"]},"all":{"required_absent":[],"required_present":["마중 협회"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-046","language":"ko","script":"Hangul","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/46 ; 고객이 언급한 사람은 마루 조","known_identities":[],"targets":[{"id":"person","kind":"person","start":63,"end":73,"value":"마루 조","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["마루 조"]},"customers":{"required_absent":["마루 조"],"required_present":[]},"all":{"required_absent":["마루 조"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-046","language":"ko","script":"Hangul","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/46 ; 공개 기관은 마중 박물관","known_identities":[],"targets":[{"id":"person","kind":"person","start":50,"end":66,"value":"마중 박물관","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["마중 박물관"]},"customers":{"required_absent":[],"required_present":["마중 박물관"]},"all":{"required_absent":[],"required_present":["마중 박물관"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-047","language":"ko","script":"Hangul","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"**고객이 언급한 사람은 마루 윤**","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":42,"value":"마루 윤","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["마루 윤"]},"customers":{"required_absent":["마루 윤"],"required_present":[]},"all":{"required_absent":["마루 윤"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-047","language":"ko","script":"Hangul","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"**공개 기관은 마중 도서관**","known_identities":[],"targets":[{"id":"person","kind":"person","start":19,"end":35,"value":"마중 도서관","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["마중 도서관"]},"customers":{"required_absent":[],"required_present":["마중 도서관"]},"all":{"required_absent":[],"required_present":["마중 도서관"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-048","language":"ko","script":"Hangul","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003e고객이 언급한 사람은 마루 장\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":33,"end":43,"value":"마루 장","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["마루 장"]},"customers":{"required_absent":["마루 장"],"required_present":[]},"all":{"required_absent":["마루 장"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-048","language":"ko","script":"Hangul","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003e공개 기관은 마중 극단\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":20,"end":33,"value":"마중 극단","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["마중 극단"]},"customers":{"required_absent":[],"required_present":["마중 극단"]},"all":{"required_absent":[],"required_present":["마중 극단"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-049","language":"ko","script":"Hangul","shape":"quoted-reply","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e 고객이 언급한 사람은 마루 임","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":42,"value":"마루 임","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["마루 임"]},"customers":{"required_absent":["마루 임"],"required_present":[]},"all":{"required_absent":["마루 임"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-049","language":"ko","script":"Hangul","shape":"quoted-reply","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e 공개 기관은 마중 센터","known_identities":[],"targets":[{"id":"person","kind":"person","start":19,"end":32,"value":"마중 센터","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["마중 센터"]},"customers":{"required_absent":[],"required_present":["마중 센터"]},"all":{"required_absent":[],"required_present":["마중 센터"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-050","language":"ko","script":"Hangul","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=50 message=\"고객이 언급한 사람은 \" value=바다 김","known_identities":[],"targets":[{"id":"person","kind":"person","start":68,"end":78,"value":"바다 김","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["바다 김"]},"customers":{"required_absent":["바다 김"],"required_present":[]},"all":{"required_absent":["바다 김"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-050","language":"ko","script":"Hangul","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=50 message=\"공개 기관은 \" value=바람 연구소","known_identities":[],"targets":[{"id":"person","kind":"person","start":55,"end":71,"value":"바람 연구소","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["바람 연구소"]},"customers":{"required_absent":[],"required_present":["바람 연구소"]},"all":{"required_absent":[],"required_present":["바람 연구소"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-051","language":"ko","script":"Hangul","shape":"stack-trace","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[51]: 고객이 언급한 사람은 바다 이","known_identities":[],"targets":[{"id":"person","kind":"person","start":41,"end":51,"value":"바다 이","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["바다 이"]},"customers":{"required_absent":["바다 이"],"required_present":[]},"all":{"required_absent":["바다 이"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-051","language":"ko","script":"Hangul","shape":"stack-trace","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[51]: 공개 기관은 바람 출판사","known_identities":[],"targets":[{"id":"person","kind":"person","start":28,"end":44,"value":"바람 출판사","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["바람 출판사"]},"customers":{"required_absent":[],"required_present":["바람 출판사"]},"all":{"required_absent":[],"required_present":["바람 출판사"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-052","language":"ko","script":"Hangul","shape":"code","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_52 := `고객이 언급한 사람은 바다 박`","known_identities":[],"targets":[{"id":"person","kind":"person","start":45,"end":55,"value":"바다 박","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["바다 박"]},"customers":{"required_absent":["바다 박"],"required_present":[]},"all":{"required_absent":["바다 박"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-052","language":"ko","script":"Hangul","shape":"code","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_52 := `공개 기관은 바람 재단`","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":45,"value":"바람 재단","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["바람 재단"]},"customers":{"required_absent":[],"required_present":["바람 재단"]},"all":{"required_absent":[],"required_present":["바람 재단"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-053","language":"ko","script":"Hangul","shape":"signature","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--\n고객이 언급한 사람은 바다 최","known_identities":[],"targets":[{"id":"person","kind":"person","start":33,"end":43,"value":"바다 최","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["바다 최"]},"customers":{"required_absent":["바다 최"],"required_present":[]},"all":{"required_absent":["바다 최"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-053","language":"ko","script":"Hangul","shape":"signature","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--\n공개 기관은 바람 공방","known_identities":[],"targets":[{"id":"person","kind":"person","start":20,"end":33,"value":"바람 공방","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["바람 공방"]},"customers":{"required_absent":[],"required_present":["바람 공방"]},"all":{"required_absent":[],"required_present":["바람 공방"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-054","language":"ko","script":"Hangul","shape":"long-thread","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. 고객이 언급한 사람은 바다 정","known_identities":[],"targets":[{"id":"person","kind":"person","start":510,"end":520,"value":"바다 정","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["바다 정"]},"customers":{"required_absent":["바다 정"],"required_present":[]},"all":{"required_absent":["바다 정"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-054","language":"ko","script":"Hangul","shape":"long-thread","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. 공개 기관은 바람 학교","known_identities":[],"targets":[{"id":"person","kind":"person","start":497,"end":510,"value":"바람 학교","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["바람 학교"]},"customers":{"required_absent":[],"required_present":["바람 학교"]},"all":{"required_absent":[],"required_present":["바람 학교"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-055","language":"ko","script":"Hangul","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=55 --message=\"고객이 언급한 사람은 \" --value=바다 강","known_identities":[],"targets":[{"id":"person","kind":"person","start":63,"end":73,"value":"바다 강","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["바다 강"]},"customers":{"required_absent":["바다 강"],"required_present":[]},"all":{"required_absent":["바다 강"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-055","language":"ko","script":"Hangul","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=55 --message=\"공개 기관은 \" --value=바람 협회","known_identities":[],"targets":[{"id":"person","kind":"person","start":50,"end":63,"value":"바람 협회","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["바람 협회"]},"customers":{"required_absent":[],"required_present":["바람 협회"]},"all":{"required_absent":[],"required_present":["바람 협회"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-056","language":"ko","script":"Hangul","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"고객이 언급한 사람은 바다 조","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":40,"value":"바다 조","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["바다 조"]},"customers":{"required_absent":["바다 조"],"required_present":[]},"all":{"required_absent":["바다 조"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-056","language":"ko","script":"Hangul","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"공개 기관은 바람 박물관","known_identities":[],"targets":[{"id":"person","kind":"person","start":17,"end":33,"value":"바람 박물관","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["바람 박물관"]},"customers":{"required_absent":[],"required_present":["바람 박물관"]},"all":{"required_absent":[],"required_present":["바람 박물관"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-057","language":"ko","script":"Hangul","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_57\":\"고객이 언급한 사람은 바다 윤\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":45,"end":55,"value":"바다 윤","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["바다 윤"]},"customers":{"required_absent":["바다 윤"],"required_present":[]},"all":{"required_absent":["바다 윤"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-057","language":"ko","script":"Hangul","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_57\":\"공개 기관은 바람 도서관\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":48,"value":"바람 도서관","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["바람 도서관"]},"customers":{"required_absent":[],"required_present":["바람 도서관"]},"all":{"required_absent":[],"required_present":["바람 도서관"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-058","language":"ko","script":"Hangul","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_58: 고객이 언급한 사람은 바다 장","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":52,"value":"바다 장","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["바다 장"]},"customers":{"required_absent":["바다 장"],"required_present":[]},"all":{"required_absent":["바다 장"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-058","language":"ko","script":"Hangul","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_58: 공개 기관은 바람 극단","known_identities":[],"targets":[{"id":"person","kind":"person","start":29,"end":42,"value":"바람 극단","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["바람 극단"]},"customers":{"required_absent":[],"required_present":["바람 극단"]},"all":{"required_absent":[],"required_present":["바람 극단"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-059","language":"ko","script":"Hangul","shape":"shell","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_59='고객이 언급한 사람은 바다 임'","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":52,"value":"바다 임","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["바다 임"]},"customers":{"required_absent":["바다 임"],"required_present":[]},"all":{"required_absent":["바다 임"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-059","language":"ko","script":"Hangul","shape":"shell","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_59='공개 기관은 바람 센터'","known_identities":[],"targets":[{"id":"person","kind":"person","start":29,"end":42,"value":"바람 센터","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["바람 센터"]},"customers":{"required_absent":[],"required_present":["바람 센터"]},"all":{"required_absent":[],"required_present":["바람 센터"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-060","language":"ko","script":"Hangul","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/60 ; 고객이 언급한 사람은 새봄 김","known_identities":[],"targets":[{"id":"person","kind":"person","start":63,"end":73,"value":"새봄 김","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["새봄 김"]},"customers":{"required_absent":["새봄 김"],"required_present":[]},"all":{"required_absent":["새봄 김"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-060","language":"ko","script":"Hangul","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/60 ; 공개 기관은 새길 연구소","known_identities":[],"targets":[{"id":"person","kind":"person","start":50,"end":66,"value":"새길 연구소","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["새길 연구소"]},"customers":{"required_absent":[],"required_present":["새길 연구소"]},"all":{"required_absent":[],"required_present":["새길 연구소"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-061","language":"ko","script":"Hangul","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"**고객이 언급한 사람은 새봄 이**","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":42,"value":"새봄 이","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["새봄 이"]},"customers":{"required_absent":["새봄 이"],"required_present":[]},"all":{"required_absent":["새봄 이"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-061","language":"ko","script":"Hangul","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"**공개 기관은 새길 출판사**","known_identities":[],"targets":[{"id":"person","kind":"person","start":19,"end":35,"value":"새길 출판사","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["새길 출판사"]},"customers":{"required_absent":[],"required_present":["새길 출판사"]},"all":{"required_absent":[],"required_present":["새길 출판사"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-062","language":"ko","script":"Hangul","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003e고객이 언급한 사람은 새봄 박\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":33,"end":43,"value":"새봄 박","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["새봄 박"]},"customers":{"required_absent":["새봄 박"],"required_present":[]},"all":{"required_absent":["새봄 박"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-062","language":"ko","script":"Hangul","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003e공개 기관은 새길 재단\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":20,"end":33,"value":"새길 재단","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["새길 재단"]},"customers":{"required_absent":[],"required_present":["새길 재단"]},"all":{"required_absent":[],"required_present":["새길 재단"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-063","language":"ko","script":"Hangul","shape":"quoted-reply","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e 고객이 언급한 사람은 새봄 최","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":42,"value":"새봄 최","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["새봄 최"]},"customers":{"required_absent":["새봄 최"],"required_present":[]},"all":{"required_absent":["새봄 최"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-063","language":"ko","script":"Hangul","shape":"quoted-reply","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e 공개 기관은 새길 공방","known_identities":[],"targets":[{"id":"person","kind":"person","start":19,"end":32,"value":"새길 공방","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["새길 공방"]},"customers":{"required_absent":[],"required_present":["새길 공방"]},"all":{"required_absent":[],"required_present":["새길 공방"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-064","language":"ko","script":"Hangul","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=64 message=\"고객이 언급한 사람은 \" value=새봄 정","known_identities":[],"targets":[{"id":"person","kind":"person","start":68,"end":78,"value":"새봄 정","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["새봄 정"]},"customers":{"required_absent":["새봄 정"],"required_present":[]},"all":{"required_absent":["새봄 정"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-064","language":"ko","script":"Hangul","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=64 message=\"공개 기관은 \" value=새길 학교","known_identities":[],"targets":[{"id":"person","kind":"person","start":55,"end":68,"value":"새길 학교","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["새길 학교"]},"customers":{"required_absent":[],"required_present":["새길 학교"]},"all":{"required_absent":[],"required_present":["새길 학교"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-065","language":"ko","script":"Hangul","shape":"stack-trace","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[65]: 고객이 언급한 사람은 새봄 강","known_identities":[],"targets":[{"id":"person","kind":"person","start":41,"end":51,"value":"새봄 강","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["새봄 강"]},"customers":{"required_absent":["새봄 강"],"required_present":[]},"all":{"required_absent":["새봄 강"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-065","language":"ko","script":"Hangul","shape":"stack-trace","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[65]: 공개 기관은 새길 협회","known_identities":[],"targets":[{"id":"person","kind":"person","start":28,"end":41,"value":"새길 협회","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["새길 협회"]},"customers":{"required_absent":[],"required_present":["새길 협회"]},"all":{"required_absent":[],"required_present":["새길 협회"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-066","language":"ko","script":"Hangul","shape":"code","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_66 := `고객이 언급한 사람은 새봄 조`","known_identities":[],"targets":[{"id":"person","kind":"person","start":45,"end":55,"value":"새봄 조","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["새봄 조"]},"customers":{"required_absent":["새봄 조"],"required_present":[]},"all":{"required_absent":["새봄 조"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-066","language":"ko","script":"Hangul","shape":"code","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_66 := `공개 기관은 새길 박물관`","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":48,"value":"새길 박물관","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["새길 박물관"]},"customers":{"required_absent":[],"required_present":["새길 박물관"]},"all":{"required_absent":[],"required_present":["새길 박물관"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-067","language":"ko","script":"Hangul","shape":"signature","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--\n고객이 언급한 사람은 새봄 윤","known_identities":[],"targets":[{"id":"person","kind":"person","start":33,"end":43,"value":"새봄 윤","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["새봄 윤"]},"customers":{"required_absent":["새봄 윤"],"required_present":[]},"all":{"required_absent":["새봄 윤"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-067","language":"ko","script":"Hangul","shape":"signature","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--\n공개 기관은 새길 도서관","known_identities":[],"targets":[{"id":"person","kind":"person","start":20,"end":36,"value":"새길 도서관","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["새길 도서관"]},"customers":{"required_absent":[],"required_present":["새길 도서관"]},"all":{"required_absent":[],"required_present":["새길 도서관"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-068","language":"ko","script":"Hangul","shape":"long-thread","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. 고객이 언급한 사람은 새봄 장","known_identities":[],"targets":[{"id":"person","kind":"person","start":510,"end":520,"value":"새봄 장","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["새봄 장"]},"customers":{"required_absent":["새봄 장"],"required_present":[]},"all":{"required_absent":["새봄 장"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-068","language":"ko","script":"Hangul","shape":"long-thread","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. 공개 기관은 새길 극단","known_identities":[],"targets":[{"id":"person","kind":"person","start":497,"end":510,"value":"새길 극단","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["새길 극단"]},"customers":{"required_absent":[],"required_present":["새길 극단"]},"all":{"required_absent":[],"required_present":["새길 극단"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-069","language":"ko","script":"Hangul","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=69 --message=\"고객이 언급한 사람은 \" --value=새봄 임","known_identities":[],"targets":[{"id":"person","kind":"person","start":63,"end":73,"value":"새봄 임","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["새봄 임"]},"customers":{"required_absent":["새봄 임"],"required_present":[]},"all":{"required_absent":["새봄 임"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-069","language":"ko","script":"Hangul","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=69 --message=\"공개 기관은 \" --value=새길 센터","known_identities":[],"targets":[{"id":"person","kind":"person","start":50,"end":63,"value":"새길 센터","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["새길 센터"]},"customers":{"required_absent":[],"required_present":["새길 센터"]},"all":{"required_absent":[],"required_present":["새길 센터"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-070","language":"ko","script":"Hangul","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"고객이 언급한 사람은 아람 김","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":40,"value":"아람 김","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["아람 김"]},"customers":{"required_absent":["아람 김"],"required_present":[]},"all":{"required_absent":["아람 김"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-070","language":"ko","script":"Hangul","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"공개 기관은 아침 연구소","known_identities":[],"targets":[{"id":"person","kind":"person","start":17,"end":33,"value":"아침 연구소","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["아침 연구소"]},"customers":{"required_absent":[],"required_present":["아침 연구소"]},"all":{"required_absent":[],"required_present":["아침 연구소"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-071","language":"ko","script":"Hangul","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_71\":\"고객이 언급한 사람은 아람 이\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":45,"end":55,"value":"아람 이","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["아람 이"]},"customers":{"required_absent":["아람 이"],"required_present":[]},"all":{"required_absent":["아람 이"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-071","language":"ko","script":"Hangul","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_71\":\"공개 기관은 아침 출판사\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":48,"value":"아침 출판사","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["아침 출판사"]},"customers":{"required_absent":[],"required_present":["아침 출판사"]},"all":{"required_absent":[],"required_present":["아침 출판사"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-072","language":"ko","script":"Hangul","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_72: 고객이 언급한 사람은 아람 박","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":52,"value":"아람 박","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["아람 박"]},"customers":{"required_absent":["아람 박"],"required_present":[]},"all":{"required_absent":["아람 박"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-072","language":"ko","script":"Hangul","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_72: 공개 기관은 아침 재단","known_identities":[],"targets":[{"id":"person","kind":"person","start":29,"end":42,"value":"아침 재단","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["아침 재단"]},"customers":{"required_absent":[],"required_present":["아침 재단"]},"all":{"required_absent":[],"required_present":["아침 재단"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-073","language":"ko","script":"Hangul","shape":"shell","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_73='고객이 언급한 사람은 아람 최'","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":52,"value":"아람 최","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["아람 최"]},"customers":{"required_absent":["아람 최"],"required_present":[]},"all":{"required_absent":["아람 최"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-073","language":"ko","script":"Hangul","shape":"shell","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_73='공개 기관은 아침 공방'","known_identities":[],"targets":[{"id":"person","kind":"person","start":29,"end":42,"value":"아침 공방","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["아침 공방"]},"customers":{"required_absent":[],"required_present":["아침 공방"]},"all":{"required_absent":[],"required_present":["아침 공방"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-074","language":"ko","script":"Hangul","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/74 ; 고객이 언급한 사람은 아람 정","known_identities":[],"targets":[{"id":"person","kind":"person","start":63,"end":73,"value":"아람 정","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["아람 정"]},"customers":{"required_absent":["아람 정"],"required_present":[]},"all":{"required_absent":["아람 정"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-074","language":"ko","script":"Hangul","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/74 ; 공개 기관은 아침 학교","known_identities":[],"targets":[{"id":"person","kind":"person","start":50,"end":63,"value":"아침 학교","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["아침 학교"]},"customers":{"required_absent":[],"required_present":["아침 학교"]},"all":{"required_absent":[],"required_present":["아침 학교"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-075","language":"ko","script":"Hangul","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"**고객이 언급한 사람은 아람 강**","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":42,"value":"아람 강","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["아람 강"]},"customers":{"required_absent":["아람 강"],"required_present":[]},"all":{"required_absent":["아람 강"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-075","language":"ko","script":"Hangul","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"**공개 기관은 아침 협회**","known_identities":[],"targets":[{"id":"person","kind":"person","start":19,"end":32,"value":"아침 협회","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["아침 협회"]},"customers":{"required_absent":[],"required_present":["아침 협회"]},"all":{"required_absent":[],"required_present":["아침 협회"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-076","language":"ko","script":"Hangul","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003e고객이 언급한 사람은 아람 조\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":33,"end":43,"value":"아람 조","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["아람 조"]},"customers":{"required_absent":["아람 조"],"required_present":[]},"all":{"required_absent":["아람 조"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-076","language":"ko","script":"Hangul","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003e공개 기관은 아침 박물관\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":20,"end":36,"value":"아침 박물관","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["아침 박물관"]},"customers":{"required_absent":[],"required_present":["아침 박물관"]},"all":{"required_absent":[],"required_present":["아침 박물관"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-077","language":"ko","script":"Hangul","shape":"quoted-reply","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e 고객이 언급한 사람은 아람 윤","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":42,"value":"아람 윤","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["아람 윤"]},"customers":{"required_absent":["아람 윤"],"required_present":[]},"all":{"required_absent":["아람 윤"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-077","language":"ko","script":"Hangul","shape":"quoted-reply","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e 공개 기관은 아침 도서관","known_identities":[],"targets":[{"id":"person","kind":"person","start":19,"end":35,"value":"아침 도서관","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["아침 도서관"]},"customers":{"required_absent":[],"required_present":["아침 도서관"]},"all":{"required_absent":[],"required_present":["아침 도서관"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-078","language":"ko","script":"Hangul","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=78 message=\"고객이 언급한 사람은 \" value=아람 장","known_identities":[],"targets":[{"id":"person","kind":"person","start":68,"end":78,"value":"아람 장","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["아람 장"]},"customers":{"required_absent":["아람 장"],"required_present":[]},"all":{"required_absent":["아람 장"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-078","language":"ko","script":"Hangul","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=78 message=\"공개 기관은 \" value=아침 극단","known_identities":[],"targets":[{"id":"person","kind":"person","start":55,"end":68,"value":"아침 극단","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["아침 극단"]},"customers":{"required_absent":[],"required_present":["아침 극단"]},"all":{"required_absent":[],"required_present":["아침 극단"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-079","language":"ko","script":"Hangul","shape":"stack-trace","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[79]: 고객이 언급한 사람은 아람 임","known_identities":[],"targets":[{"id":"person","kind":"person","start":41,"end":51,"value":"아람 임","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["아람 임"]},"customers":{"required_absent":["아람 임"],"required_present":[]},"all":{"required_absent":["아람 임"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-079","language":"ko","script":"Hangul","shape":"stack-trace","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[79]: 공개 기관은 아침 센터","known_identities":[],"targets":[{"id":"person","kind":"person","start":28,"end":41,"value":"아침 센터","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["아침 센터"]},"customers":{"required_absent":[],"required_present":["아침 센터"]},"all":{"required_absent":[],"required_present":["아침 센터"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-080","language":"ko","script":"Hangul","shape":"code","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_80 := `고객이 언급한 사람은 이든 김`","known_identities":[],"targets":[{"id":"person","kind":"person","start":45,"end":55,"value":"이든 김","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["이든 김"]},"customers":{"required_absent":["이든 김"],"required_present":[]},"all":{"required_absent":["이든 김"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-080","language":"ko","script":"Hangul","shape":"code","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_80 := `공개 기관은 이음 연구소`","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":48,"value":"이음 연구소","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["이음 연구소"]},"customers":{"required_absent":[],"required_present":["이음 연구소"]},"all":{"required_absent":[],"required_present":["이음 연구소"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-081","language":"ko","script":"Hangul","shape":"signature","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--\n고객이 언급한 사람은 이든 이","known_identities":[],"targets":[{"id":"person","kind":"person","start":33,"end":43,"value":"이든 이","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["이든 이"]},"customers":{"required_absent":["이든 이"],"required_present":[]},"all":{"required_absent":["이든 이"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-081","language":"ko","script":"Hangul","shape":"signature","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--\n공개 기관은 이음 출판사","known_identities":[],"targets":[{"id":"person","kind":"person","start":20,"end":36,"value":"이음 출판사","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["이음 출판사"]},"customers":{"required_absent":[],"required_present":["이음 출판사"]},"all":{"required_absent":[],"required_present":["이음 출판사"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-082","language":"ko","script":"Hangul","shape":"long-thread","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. 고객이 언급한 사람은 이든 박","known_identities":[],"targets":[{"id":"person","kind":"person","start":510,"end":520,"value":"이든 박","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["이든 박"]},"customers":{"required_absent":["이든 박"],"required_present":[]},"all":{"required_absent":["이든 박"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-082","language":"ko","script":"Hangul","shape":"long-thread","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. 공개 기관은 이음 재단","known_identities":[],"targets":[{"id":"person","kind":"person","start":497,"end":510,"value":"이음 재단","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["이음 재단"]},"customers":{"required_absent":[],"required_present":["이음 재단"]},"all":{"required_absent":[],"required_present":["이음 재단"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-083","language":"ko","script":"Hangul","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=83 --message=\"고객이 언급한 사람은 \" --value=이든 최","known_identities":[],"targets":[{"id":"person","kind":"person","start":63,"end":73,"value":"이든 최","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["이든 최"]},"customers":{"required_absent":["이든 최"],"required_present":[]},"all":{"required_absent":["이든 최"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-083","language":"ko","script":"Hangul","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=83 --message=\"공개 기관은 \" --value=이음 공방","known_identities":[],"targets":[{"id":"person","kind":"person","start":50,"end":63,"value":"이음 공방","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["이음 공방"]},"customers":{"required_absent":[],"required_present":["이음 공방"]},"all":{"required_absent":[],"required_present":["이음 공방"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-084","language":"ko","script":"Hangul","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"고객이 언급한 사람은 이든 정","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":40,"value":"이든 정","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["이든 정"]},"customers":{"required_absent":["이든 정"],"required_present":[]},"all":{"required_absent":["이든 정"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-084","language":"ko","script":"Hangul","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"공개 기관은 이음 학교","known_identities":[],"targets":[{"id":"person","kind":"person","start":17,"end":30,"value":"이음 학교","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["이음 학교"]},"customers":{"required_absent":[],"required_present":["이음 학교"]},"all":{"required_absent":[],"required_present":["이음 학교"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-085","language":"ko","script":"Hangul","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_85\":\"고객이 언급한 사람은 이든 강\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":45,"end":55,"value":"이든 강","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["이든 강"]},"customers":{"required_absent":["이든 강"],"required_present":[]},"all":{"required_absent":["이든 강"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-085","language":"ko","script":"Hangul","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_85\":\"공개 기관은 이음 협회\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":45,"value":"이음 협회","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["이음 협회"]},"customers":{"required_absent":[],"required_present":["이음 협회"]},"all":{"required_absent":[],"required_present":["이음 협회"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-086","language":"ko","script":"Hangul","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_86: 고객이 언급한 사람은 이든 조","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":52,"value":"이든 조","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["이든 조"]},"customers":{"required_absent":["이든 조"],"required_present":[]},"all":{"required_absent":["이든 조"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-086","language":"ko","script":"Hangul","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_86: 공개 기관은 이음 박물관","known_identities":[],"targets":[{"id":"person","kind":"person","start":29,"end":45,"value":"이음 박물관","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["이음 박물관"]},"customers":{"required_absent":[],"required_present":["이음 박물관"]},"all":{"required_absent":[],"required_present":["이음 박물관"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-087","language":"ko","script":"Hangul","shape":"shell","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_87='고객이 언급한 사람은 이든 윤'","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":52,"value":"이든 윤","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["이든 윤"]},"customers":{"required_absent":["이든 윤"],"required_present":[]},"all":{"required_absent":["이든 윤"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-087","language":"ko","script":"Hangul","shape":"shell","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_87='공개 기관은 이음 도서관'","known_identities":[],"targets":[{"id":"person","kind":"person","start":29,"end":45,"value":"이음 도서관","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["이음 도서관"]},"customers":{"required_absent":[],"required_present":["이음 도서관"]},"all":{"required_absent":[],"required_present":["이음 도서관"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-088","language":"ko","script":"Hangul","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/88 ; 고객이 언급한 사람은 이든 장","known_identities":[],"targets":[{"id":"person","kind":"person","start":63,"end":73,"value":"이든 장","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["이든 장"]},"customers":{"required_absent":["이든 장"],"required_present":[]},"all":{"required_absent":["이든 장"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-088","language":"ko","script":"Hangul","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/88 ; 공개 기관은 이음 극단","known_identities":[],"targets":[{"id":"person","kind":"person","start":50,"end":63,"value":"이음 극단","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["이음 극단"]},"customers":{"required_absent":[],"required_present":["이음 극단"]},"all":{"required_absent":[],"required_present":["이음 극단"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-089","language":"ko","script":"Hangul","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"**고객이 언급한 사람은 이든 임**","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":42,"value":"이든 임","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["이든 임"]},"customers":{"required_absent":["이든 임"],"required_present":[]},"all":{"required_absent":["이든 임"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-089","language":"ko","script":"Hangul","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"**공개 기관은 이음 센터**","known_identities":[],"targets":[{"id":"person","kind":"person","start":19,"end":32,"value":"이음 센터","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["이음 센터"]},"customers":{"required_absent":[],"required_present":["이음 센터"]},"all":{"required_absent":[],"required_present":["이음 센터"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-090","language":"ko","script":"Hangul","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003e고객이 언급한 사람은 하늘 김\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":33,"end":43,"value":"하늘 김","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["하늘 김"]},"customers":{"required_absent":["하늘 김"],"required_present":[]},"all":{"required_absent":["하늘 김"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-090","language":"ko","script":"Hangul","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003e공개 기관은 한빛 연구소\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":20,"end":36,"value":"한빛 연구소","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["한빛 연구소"]},"customers":{"required_absent":[],"required_present":["한빛 연구소"]},"all":{"required_absent":[],"required_present":["한빛 연구소"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-091","language":"ko","script":"Hangul","shape":"quoted-reply","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e 고객이 언급한 사람은 하늘 이","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":42,"value":"하늘 이","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["하늘 이"]},"customers":{"required_absent":["하늘 이"],"required_present":[]},"all":{"required_absent":["하늘 이"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-091","language":"ko","script":"Hangul","shape":"quoted-reply","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e 공개 기관은 한빛 출판사","known_identities":[],"targets":[{"id":"person","kind":"person","start":19,"end":35,"value":"한빛 출판사","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["한빛 출판사"]},"customers":{"required_absent":[],"required_present":["한빛 출판사"]},"all":{"required_absent":[],"required_present":["한빛 출판사"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-092","language":"ko","script":"Hangul","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=92 message=\"고객이 언급한 사람은 \" value=하늘 박","known_identities":[],"targets":[{"id":"person","kind":"person","start":68,"end":78,"value":"하늘 박","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["하늘 박"]},"customers":{"required_absent":["하늘 박"],"required_present":[]},"all":{"required_absent":["하늘 박"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-092","language":"ko","script":"Hangul","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=92 message=\"공개 기관은 \" value=한빛 재단","known_identities":[],"targets":[{"id":"person","kind":"person","start":55,"end":68,"value":"한빛 재단","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["한빛 재단"]},"customers":{"required_absent":[],"required_present":["한빛 재단"]},"all":{"required_absent":[],"required_present":["한빛 재단"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-093","language":"ko","script":"Hangul","shape":"stack-trace","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[93]: 고객이 언급한 사람은 하늘 최","known_identities":[],"targets":[{"id":"person","kind":"person","start":41,"end":51,"value":"하늘 최","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["하늘 최"]},"customers":{"required_absent":["하늘 최"],"required_present":[]},"all":{"required_absent":["하늘 최"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-093","language":"ko","script":"Hangul","shape":"stack-trace","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[93]: 공개 기관은 한빛 공방","known_identities":[],"targets":[{"id":"person","kind":"person","start":28,"end":41,"value":"한빛 공방","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["한빛 공방"]},"customers":{"required_absent":[],"required_present":["한빛 공방"]},"all":{"required_absent":[],"required_present":["한빛 공방"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-094","language":"ko","script":"Hangul","shape":"code","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_94 := `고객이 언급한 사람은 하늘 정`","known_identities":[],"targets":[{"id":"person","kind":"person","start":45,"end":55,"value":"하늘 정","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["하늘 정"]},"customers":{"required_absent":["하늘 정"],"required_present":[]},"all":{"required_absent":["하늘 정"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-094","language":"ko","script":"Hangul","shape":"code","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_94 := `공개 기관은 한빛 학교`","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":45,"value":"한빛 학교","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["한빛 학교"]},"customers":{"required_absent":[],"required_present":["한빛 학교"]},"all":{"required_absent":[],"required_present":["한빛 학교"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-095","language":"ko","script":"Hangul","shape":"signature","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--\n고객이 언급한 사람은 하늘 강","known_identities":[],"targets":[{"id":"person","kind":"person","start":33,"end":43,"value":"하늘 강","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["하늘 강"]},"customers":{"required_absent":["하늘 강"],"required_present":[]},"all":{"required_absent":["하늘 강"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-095","language":"ko","script":"Hangul","shape":"signature","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--\n공개 기관은 한빛 협회","known_identities":[],"targets":[{"id":"person","kind":"person","start":20,"end":33,"value":"한빛 협회","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["한빛 협회"]},"customers":{"required_absent":[],"required_present":["한빛 협회"]},"all":{"required_absent":[],"required_present":["한빛 협회"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-096","language":"ko","script":"Hangul","shape":"long-thread","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. 고객이 언급한 사람은 하늘 조","known_identities":[],"targets":[{"id":"person","kind":"person","start":510,"end":520,"value":"하늘 조","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["하늘 조"]},"customers":{"required_absent":["하늘 조"],"required_present":[]},"all":{"required_absent":["하늘 조"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-096","language":"ko","script":"Hangul","shape":"long-thread","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. 공개 기관은 한빛 박물관","known_identities":[],"targets":[{"id":"person","kind":"person","start":497,"end":513,"value":"한빛 박물관","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["한빛 박물관"]},"customers":{"required_absent":[],"required_present":["한빛 박물관"]},"all":{"required_absent":[],"required_present":["한빛 박물관"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-097","language":"ko","script":"Hangul","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=97 --message=\"고객이 언급한 사람은 \" --value=하늘 윤","known_identities":[],"targets":[{"id":"person","kind":"person","start":63,"end":73,"value":"하늘 윤","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["하늘 윤"]},"customers":{"required_absent":["하늘 윤"],"required_present":[]},"all":{"required_absent":["하늘 윤"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-097","language":"ko","script":"Hangul","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=97 --message=\"공개 기관은 \" --value=한빛 도서관","known_identities":[],"targets":[{"id":"person","kind":"person","start":50,"end":66,"value":"한빛 도서관","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["한빛 도서관"]},"customers":{"required_absent":[],"required_present":["한빛 도서관"]},"all":{"required_absent":[],"required_present":["한빛 도서관"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-098","language":"ko","script":"Hangul","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"고객이 언급한 사람은 하늘 장","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":40,"value":"하늘 장","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["하늘 장"]},"customers":{"required_absent":["하늘 장"],"required_present":[]},"all":{"required_absent":["하늘 장"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-098","language":"ko","script":"Hangul","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"공개 기관은 한빛 극단","known_identities":[],"targets":[{"id":"person","kind":"person","start":17,"end":30,"value":"한빛 극단","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["한빛 극단"]},"customers":{"required_absent":[],"required_present":["한빛 극단"]},"all":{"required_absent":[],"required_present":["한빛 극단"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-099","language":"ko","script":"Hangul","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_99\":\"고객이 언급한 사람은 하늘 임\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":45,"end":55,"value":"하늘 임","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["하늘 임"]},"customers":{"required_absent":["하늘 임"],"required_present":[]},"all":{"required_absent":["하늘 임"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-099","language":"ko","script":"Hangul","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_99\":\"공개 기관은 한빛 센터\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":45,"value":"한빛 센터","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["한빛 센터"]},"customers":{"required_absent":[],"required_present":["한빛 센터"]},"all":{"required_absent":[],"required_present":["한빛 센터"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-000","language":"hi","script":"Devanagari","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"ग्राहक ने उल्लेख किया आरव अरोड़ा","known_identities":[],"targets":[{"id":"person","kind":"person","start":58,"end":86,"value":"आरव अरोड़ा","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["आरव अरोड़ा"]},"customers":{"required_absent":["आरव अरोड़ा"],"required_present":[]},"all":{"required_absent":["आरव अरोड़ा"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-000","language":"hi","script":"Devanagari","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"सार्वजनिक संस्था आकाश संस्थान","known_identities":[],"targets":[{"id":"person","kind":"person","start":47,"end":81,"value":"आकाश संस्थान","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["आकाश संस्थान"]},"customers":{"required_absent":[],"required_present":["आकाश संस्थान"]},"all":{"required_absent":[],"required_present":["आकाश संस्थान"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-001","language":"hi","script":"Devanagari","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_1\":\"ग्राहक ने उल्लेख किया आरव बंसल\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":72,"end":94,"value":"आरव बंसल","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["आरव बंसल"]},"customers":{"required_absent":["आरव बंसल"],"required_present":[]},"all":{"required_absent":["आरव बंसल"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-001","language":"hi","script":"Devanagari","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_1\":\"सार्वजनिक संस्था आकाश प्रकाशन\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":61,"end":95,"value":"आकाश प्रकाशन","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["आकाश प्रकाशन"]},"customers":{"required_absent":[],"required_present":["आकाश प्रकाशन"]},"all":{"required_absent":[],"required_present":["आकाश प्रकाशन"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-002","language":"hi","script":"Devanagari","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_2: ग्राहक ने उल्लेख किया आरव चौहान","known_identities":[],"targets":[{"id":"person","kind":"person","start":69,"end":94,"value":"आरव चौहान","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["आरव चौहान"]},"customers":{"required_absent":["आरव चौहान"],"required_present":[]},"all":{"required_absent":["आरव चौहान"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-002","language":"hi","script":"Devanagari","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_2: सार्वजनिक संस्था आकाश फाउंडेशन","known_identities":[],"targets":[{"id":"person","kind":"person","start":58,"end":95,"value":"आकाश फाउंडेशन","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["आकाश फाउंडेशन"]},"customers":{"required_absent":[],"required_present":["आकाश फाउंडेशन"]},"all":{"required_absent":[],"required_present":["आकाश फाउंडेशन"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-003","language":"hi","script":"Devanagari","shape":"shell","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_3='ग्राहक ने उल्लेख किया आरव देसाई'","known_identities":[],"targets":[{"id":"person","kind":"person","start":69,"end":94,"value":"आरव देसाई","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["आरव देसाई"]},"customers":{"required_absent":["आरव देसाई"],"required_present":[]},"all":{"required_absent":["आरव देसाई"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-003","language":"hi","script":"Devanagari","shape":"shell","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_3='सार्वजनिक संस्था आकाश प्रयोगशाला'","known_identities":[],"targets":[{"id":"person","kind":"person","start":58,"end":101,"value":"आकाश प्रयोगशाला","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["आकाश प्रयोगशाला"]},"customers":{"required_absent":[],"required_present":["आकाश प्रयोगशाला"]},"all":{"required_absent":[],"required_present":["आकाश प्रयोगशाला"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-004","language":"hi","script":"Devanagari","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/4 ; ग्राहक ने उल्लेख किया आरव गोयल","known_identities":[],"targets":[{"id":"person","kind":"person","start":90,"end":112,"value":"आरव गोयल","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["आरव गोयल"]},"customers":{"required_absent":["आरव गोयल"],"required_present":[]},"all":{"required_absent":["आरव गोयल"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-004","language":"hi","script":"Devanagari","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/4 ; सार्वजनिक संस्था आकाश विद्यालय","known_identities":[],"targets":[{"id":"person","kind":"person","start":79,"end":116,"value":"आकाश विद्यालय","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["आकाश विद्यालय"]},"customers":{"required_absent":[],"required_present":["आकाश विद्यालय"]},"all":{"required_absent":[],"required_present":["आकाश विद्यालय"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-005","language":"hi","script":"Devanagari","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"**ग्राहक ने उल्लेख किया आरव कपूर**","known_identities":[],"targets":[{"id":"person","kind":"person","start":60,"end":82,"value":"आरव कपूर","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["आरव कपूर"]},"customers":{"required_absent":["आरव कपूर"],"required_present":[]},"all":{"required_absent":["आरव कपूर"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-005","language":"hi","script":"Devanagari","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"**सार्वजनिक संस्था आकाश संग्रहालय**","known_identities":[],"targets":[{"id":"person","kind":"person","start":49,"end":89,"value":"आकाश संग्रहालय","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["आकाश संग्रहालय"]},"customers":{"required_absent":[],"required_present":["आकाश संग्रहालय"]},"all":{"required_absent":[],"required_present":["आकाश संग्रहालय"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-006","language":"hi","script":"Devanagari","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eग्राहक ने उल्लेख किया आरव मेहता\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":61,"end":86,"value":"आरव मेहता","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["आरव मेहता"]},"customers":{"required_absent":["आरव मेहता"],"required_present":[]},"all":{"required_absent":["आरव मेहता"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-006","language":"hi","script":"Devanagari","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eसार्वजनिक संस्था आकाश पुस्तकालय\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":50,"end":90,"value":"आकाश पुस्तकालय","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["आकाश पुस्तकालय"]},"customers":{"required_absent":[],"required_present":["आकाश पुस्तकालय"]},"all":{"required_absent":[],"required_present":["आकाश पुस्तकालय"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-007","language":"hi","script":"Devanagari","shape":"quoted-reply","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e ग्राहक ने उल्लेख किया आरव नायर","known_identities":[],"targets":[{"id":"person","kind":"person","start":60,"end":82,"value":"आरव नायर","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["आरव नायर"]},"customers":{"required_absent":["आरव नायर"],"required_present":[]},"all":{"required_absent":["आरव नायर"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-007","language":"hi","script":"Devanagari","shape":"quoted-reply","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e सार्वजनिक संस्था आकाश परिषद","known_identities":[],"targets":[{"id":"person","kind":"person","start":49,"end":77,"value":"आकाश परिषद","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["आकाश परिषद"]},"customers":{"required_absent":[],"required_present":["आकाश परिषद"]},"all":{"required_absent":[],"required_present":["आकाश परिषद"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-008","language":"hi","script":"Devanagari","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=8 message=\"ग्राहक ने उल्लेख किया \" value=आरव पटेल","known_identities":[],"targets":[{"id":"person","kind":"person","start":95,"end":117,"value":"आरव पटेल","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["आरव पटेल"]},"customers":{"required_absent":["आरव पटेल"],"required_present":[]},"all":{"required_absent":["आरव पटेल"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-008","language":"hi","script":"Devanagari","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=8 message=\"सार्वजनिक संस्था \" value=आकाश केंद्र","known_identities":[],"targets":[{"id":"person","kind":"person","start":84,"end":115,"value":"आकाश केंद्र","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["आकाश केंद्र"]},"customers":{"required_absent":[],"required_present":["आकाश केंद्र"]},"all":{"required_absent":[],"required_present":["आकाश केंद्र"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-009","language":"hi","script":"Devanagari","shape":"stack-trace","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[9]: ग्राहक ने उल्लेख किया आरव शर्मा","known_identities":[],"targets":[{"id":"person","kind":"person","start":68,"end":93,"value":"आरव शर्मा","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["आरव शर्मा"]},"customers":{"required_absent":["आरव शर्मा"],"required_present":[]},"all":{"required_absent":["आरव शर्मा"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-009","language":"hi","script":"Devanagari","shape":"stack-trace","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[9]: सार्वजनिक संस्था आकाश मंच","known_identities":[],"targets":[{"id":"person","kind":"person","start":57,"end":79,"value":"आकाश मंच","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["आकाश मंच"]},"customers":{"required_absent":[],"required_present":["आकाश मंच"]},"all":{"required_absent":[],"required_present":["आकाश मंच"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-010","language":"hi","script":"Devanagari","shape":"code","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_10 := `ग्राहक ने उल्लेख किया इशान अरोड़ा`","known_identities":[],"targets":[{"id":"person","kind":"person","start":73,"end":104,"value":"इशान अरोड़ा","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["इशान अरोड़ा"]},"customers":{"required_absent":["इशान अरोड़ा"],"required_present":[]},"all":{"required_absent":["इशान अरोड़ा"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-010","language":"hi","script":"Devanagari","shape":"code","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_10 := `सार्वजनिक संस्था उदय संस्थान`","known_identities":[],"targets":[{"id":"person","kind":"person","start":62,"end":93,"value":"उदय संस्थान","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["उदय संस्थान"]},"customers":{"required_absent":[],"required_present":["उदय संस्थान"]},"all":{"required_absent":[],"required_present":["उदय संस्थान"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-011","language":"hi","script":"Devanagari","shape":"signature","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--\nग्राहक ने उल्लेख किया इशान बंसल","known_identities":[],"targets":[{"id":"person","kind":"person","start":61,"end":86,"value":"इशान बंसल","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["इशान बंसल"]},"customers":{"required_absent":["इशान बंसल"],"required_present":[]},"all":{"required_absent":["इशान बंसल"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-011","language":"hi","script":"Devanagari","shape":"signature","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--\nसार्वजनिक संस्था उदय प्रकाशन","known_identities":[],"targets":[{"id":"person","kind":"person","start":50,"end":81,"value":"उदय प्रकाशन","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["उदय प्रकाशन"]},"customers":{"required_absent":[],"required_present":["उदय प्रकाशन"]},"all":{"required_absent":[],"required_present":["उदय प्रकाशन"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-012","language":"hi","script":"Devanagari","shape":"long-thread","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. ग्राहक ने उल्लेख किया इशान चौहान","known_identities":[],"targets":[{"id":"person","kind":"person","start":538,"end":566,"value":"इशान चौहान","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["इशान चौहान"]},"customers":{"required_absent":["इशान चौहान"],"required_present":[]},"all":{"required_absent":["इशान चौहान"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-012","language":"hi","script":"Devanagari","shape":"long-thread","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. सार्वजनिक संस्था उदय फाउंडेशन","known_identities":[],"targets":[{"id":"person","kind":"person","start":527,"end":561,"value":"उदय फाउंडेशन","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["उदय फाउंडेशन"]},"customers":{"required_absent":[],"required_present":["उदय फाउंडेशन"]},"all":{"required_absent":[],"required_present":["उदय फाउंडेशन"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-013","language":"hi","script":"Devanagari","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=13 --message=\"ग्राहक ने उल्लेख किया \" --value=इशान देसाई","known_identities":[],"targets":[{"id":"person","kind":"person","start":91,"end":119,"value":"इशान देसाई","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["इशान देसाई"]},"customers":{"required_absent":["इशान देसाई"],"required_present":[]},"all":{"required_absent":["इशान देसाई"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-013","language":"hi","script":"Devanagari","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=13 --message=\"सार्वजनिक संस्था \" --value=उदय प्रयोगशाला","known_identities":[],"targets":[{"id":"person","kind":"person","start":80,"end":120,"value":"उदय प्रयोगशाला","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["उदय प्रयोगशाला"]},"customers":{"required_absent":[],"required_present":["उदय प्रयोगशाला"]},"all":{"required_absent":[],"required_present":["उदय प्रयोगशाला"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-014","language":"hi","script":"Devanagari","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"ग्राहक ने उल्लेख किया इशान गोयल","known_identities":[],"targets":[{"id":"person","kind":"person","start":58,"end":83,"value":"इशान गोयल","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["इशान गोयल"]},"customers":{"required_absent":["इशान गोयल"],"required_present":[]},"all":{"required_absent":["इशान गोयल"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-014","language":"hi","script":"Devanagari","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"सार्वजनिक संस्था उदय विद्यालय","known_identities":[],"targets":[{"id":"person","kind":"person","start":47,"end":81,"value":"उदय विद्यालय","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["उदय विद्यालय"]},"customers":{"required_absent":[],"required_present":["उदय विद्यालय"]},"all":{"required_absent":[],"required_present":["उदय विद्यालय"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-015","language":"hi","script":"Devanagari","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_15\":\"ग्राहक ने उल्लेख किया इशान कपूर\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":73,"end":98,"value":"इशान कपूर","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["इशान कपूर"]},"customers":{"required_absent":["इशान कपूर"],"required_present":[]},"all":{"required_absent":["इशान कपूर"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-015","language":"hi","script":"Devanagari","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_15\":\"सार्वजनिक संस्था उदय संग्रहालय\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":62,"end":99,"value":"उदय संग्रहालय","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["उदय संग्रहालय"]},"customers":{"required_absent":[],"required_present":["उदय संग्रहालय"]},"all":{"required_absent":[],"required_present":["उदय संग्रहालय"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-016","language":"hi","script":"Devanagari","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_16: ग्राहक ने उल्लेख किया इशान मेहता","known_identities":[],"targets":[{"id":"person","kind":"person","start":70,"end":98,"value":"इशान मेहता","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["इशान मेहता"]},"customers":{"required_absent":["इशान मेहता"],"required_present":[]},"all":{"required_absent":["इशान मेहता"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-016","language":"hi","script":"Devanagari","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_16: सार्वजनिक संस्था उदय पुस्तकालय","known_identities":[],"targets":[{"id":"person","kind":"person","start":59,"end":96,"value":"उदय पुस्तकालय","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["उदय पुस्तकालय"]},"customers":{"required_absent":[],"required_present":["उदय पुस्तकालय"]},"all":{"required_absent":[],"required_present":["उदय पुस्तकालय"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-017","language":"hi","script":"Devanagari","shape":"shell","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_17='ग्राहक ने उल्लेख किया इशान नायर'","known_identities":[],"targets":[{"id":"person","kind":"person","start":70,"end":95,"value":"इशान नायर","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["इशान नायर"]},"customers":{"required_absent":["इशान नायर"],"required_present":[]},"all":{"required_absent":["इशान नायर"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-017","language":"hi","script":"Devanagari","shape":"shell","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_17='सार्वजनिक संस्था उदय परिषद'","known_identities":[],"targets":[{"id":"person","kind":"person","start":59,"end":84,"value":"उदय परिषद","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["उदय परिषद"]},"customers":{"required_absent":[],"required_present":["उदय परिषद"]},"all":{"required_absent":[],"required_present":["उदय परिषद"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-018","language":"hi","script":"Devanagari","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/18 ; ग्राहक ने उल्लेख किया इशान पटेल","known_identities":[],"targets":[{"id":"person","kind":"person","start":91,"end":116,"value":"इशान पटेल","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["इशान पटेल"]},"customers":{"required_absent":["इशान पटेल"],"required_present":[]},"all":{"required_absent":["इशान पटेल"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-018","language":"hi","script":"Devanagari","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/18 ; सार्वजनिक संस्था उदय केंद्र","known_identities":[],"targets":[{"id":"person","kind":"person","start":80,"end":108,"value":"उदय केंद्र","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["उदय केंद्र"]},"customers":{"required_absent":[],"required_present":["उदय केंद्र"]},"all":{"required_absent":[],"required_present":["उदय केंद्र"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-019","language":"hi","script":"Devanagari","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"**ग्राहक ने उल्लेख किया इशान शर्मा**","known_identities":[],"targets":[{"id":"person","kind":"person","start":60,"end":88,"value":"इशान शर्मा","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["इशान शर्मा"]},"customers":{"required_absent":["इशान शर्मा"],"required_present":[]},"all":{"required_absent":["इशान शर्मा"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-019","language":"hi","script":"Devanagari","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"**सार्वजनिक संस्था उदय मंच**","known_identities":[],"targets":[{"id":"person","kind":"person","start":49,"end":68,"value":"उदय मंच","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["उदय मंच"]},"customers":{"required_absent":[],"required_present":["उदय मंच"]},"all":{"required_absent":[],"required_present":["उदय मंच"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-020","language":"hi","script":"Devanagari","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eग्राहक ने उल्लेख किया काव्या अरोड़ा\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":61,"end":98,"value":"काव्या अरोड़ा","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["काव्या अरोड़ा"]},"customers":{"required_absent":["काव्या अरोड़ा"],"required_present":[]},"all":{"required_absent":["काव्या अरोड़ा"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-020","language":"hi","script":"Devanagari","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eसार्वजनिक संस्था किरण संस्थान\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":50,"end":84,"value":"किरण संस्थान","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["किरण संस्थान"]},"customers":{"required_absent":[],"required_present":["किरण संस्थान"]},"all":{"required_absent":[],"required_present":["किरण संस्थान"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-021","language":"hi","script":"Devanagari","shape":"quoted-reply","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e ग्राहक ने उल्लेख किया काव्या बंसल","known_identities":[],"targets":[{"id":"person","kind":"person","start":60,"end":91,"value":"काव्या बंसल","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["काव्या बंसल"]},"customers":{"required_absent":["काव्या बंसल"],"required_present":[]},"all":{"required_absent":["काव्या बंसल"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-021","language":"hi","script":"Devanagari","shape":"quoted-reply","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e सार्वजनिक संस्था किरण प्रकाशन","known_identities":[],"targets":[{"id":"person","kind":"person","start":49,"end":83,"value":"किरण प्रकाशन","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["किरण प्रकाशन"]},"customers":{"required_absent":[],"required_present":["किरण प्रकाशन"]},"all":{"required_absent":[],"required_present":["किरण प्रकाशन"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-022","language":"hi","script":"Devanagari","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=22 message=\"ग्राहक ने उल्लेख किया \" value=काव्या चौहान","known_identities":[],"targets":[{"id":"person","kind":"person","start":96,"end":130,"value":"काव्या चौहान","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["काव्या चौहान"]},"customers":{"required_absent":["काव्या चौहान"],"required_present":[]},"all":{"required_absent":["काव्या चौहान"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-022","language":"hi","script":"Devanagari","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=22 message=\"सार्वजनिक संस्था \" value=किरण फाउंडेशन","known_identities":[],"targets":[{"id":"person","kind":"person","start":85,"end":122,"value":"किरण फाउंडेशन","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["किरण फाउंडेशन"]},"customers":{"required_absent":[],"required_present":["किरण फाउंडेशन"]},"all":{"required_absent":[],"required_present":["किरण फाउंडेशन"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-023","language":"hi","script":"Devanagari","shape":"stack-trace","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[23]: ग्राहक ने उल्लेख किया काव्या देसाई","known_identities":[],"targets":[{"id":"person","kind":"person","start":69,"end":103,"value":"काव्या देसाई","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["काव्या देसाई"]},"customers":{"required_absent":["काव्या देसाई"],"required_present":[]},"all":{"required_absent":["काव्या देसाई"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-023","language":"hi","script":"Devanagari","shape":"stack-trace","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[23]: सार्वजनिक संस्था किरण प्रयोगशाला","known_identities":[],"targets":[{"id":"person","kind":"person","start":58,"end":101,"value":"किरण प्रयोगशाला","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["किरण प्रयोगशाला"]},"customers":{"required_absent":[],"required_present":["किरण प्रयोगशाला"]},"all":{"required_absent":[],"required_present":["किरण प्रयोगशाला"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-024","language":"hi","script":"Devanagari","shape":"code","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_24 := `ग्राहक ने उल्लेख किया काव्या गोयल`","known_identities":[],"targets":[{"id":"person","kind":"person","start":73,"end":104,"value":"काव्या गोयल","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["काव्या गोयल"]},"customers":{"required_absent":["काव्या गोयल"],"required_present":[]},"all":{"required_absent":["काव्या गोयल"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-024","language":"hi","script":"Devanagari","shape":"code","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_24 := `सार्वजनिक संस्था किरण विद्यालय`","known_identities":[],"targets":[{"id":"person","kind":"person","start":62,"end":99,"value":"किरण विद्यालय","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["किरण विद्यालय"]},"customers":{"required_absent":[],"required_present":["किरण विद्यालय"]},"all":{"required_absent":[],"required_present":["किरण विद्यालय"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-025","language":"hi","script":"Devanagari","shape":"signature","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--\nग्राहक ने उल्लेख किया काव्या कपूर","known_identities":[],"targets":[{"id":"person","kind":"person","start":61,"end":92,"value":"काव्या कपूर","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["काव्या कपूर"]},"customers":{"required_absent":["काव्या कपूर"],"required_present":[]},"all":{"required_absent":["काव्या कपूर"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-025","language":"hi","script":"Devanagari","shape":"signature","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--\nसार्वजनिक संस्था किरण संग्रहालय","known_identities":[],"targets":[{"id":"person","kind":"person","start":50,"end":90,"value":"किरण संग्रहालय","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["किरण संग्रहालय"]},"customers":{"required_absent":[],"required_present":["किरण संग्रहालय"]},"all":{"required_absent":[],"required_present":["किरण संग्रहालय"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-026","language":"hi","script":"Devanagari","shape":"long-thread","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. ग्राहक ने उल्लेख किया काव्या मेहता","known_identities":[],"targets":[{"id":"person","kind":"person","start":538,"end":572,"value":"काव्या मेहता","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["काव्या मेहता"]},"customers":{"required_absent":["काव्या मेहता"],"required_present":[]},"all":{"required_absent":["काव्या मेहता"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-026","language":"hi","script":"Devanagari","shape":"long-thread","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. सार्वजनिक संस्था किरण पुस्तकालय","known_identities":[],"targets":[{"id":"person","kind":"person","start":527,"end":567,"value":"किरण पुस्तकालय","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["किरण पुस्तकालय"]},"customers":{"required_absent":[],"required_present":["किरण पुस्तकालय"]},"all":{"required_absent":[],"required_present":["किरण पुस्तकालय"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-027","language":"hi","script":"Devanagari","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=27 --message=\"ग्राहक ने उल्लेख किया \" --value=काव्या नायर","known_identities":[],"targets":[{"id":"person","kind":"person","start":91,"end":122,"value":"काव्या नायर","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["काव्या नायर"]},"customers":{"required_absent":["काव्या नायर"],"required_present":[]},"all":{"required_absent":["काव्या नायर"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-027","language":"hi","script":"Devanagari","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=27 --message=\"सार्वजनिक संस्था \" --value=किरण परिषद","known_identities":[],"targets":[{"id":"person","kind":"person","start":80,"end":108,"value":"किरण परिषद","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["किरण परिषद"]},"customers":{"required_absent":[],"required_present":["किरण परिषद"]},"all":{"required_absent":[],"required_present":["किरण परिषद"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-028","language":"hi","script":"Devanagari","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"ग्राहक ने उल्लेख किया काव्या पटेल","known_identities":[],"targets":[{"id":"person","kind":"person","start":58,"end":89,"value":"काव्या पटेल","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["काव्या पटेल"]},"customers":{"required_absent":["काव्या पटेल"],"required_present":[]},"all":{"required_absent":["काव्या पटेल"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-028","language":"hi","script":"Devanagari","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"सार्वजनिक संस्था किरण केंद्र","known_identities":[],"targets":[{"id":"person","kind":"person","start":47,"end":78,"value":"किरण केंद्र","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["किरण केंद्र"]},"customers":{"required_absent":[],"required_present":["किरण केंद्र"]},"all":{"required_absent":[],"required_present":["किरण केंद्र"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-029","language":"hi","script":"Devanagari","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_29\":\"ग्राहक ने उल्लेख किया काव्या शर्मा\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":73,"end":107,"value":"काव्या शर्मा","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["काव्या शर्मा"]},"customers":{"required_absent":["काव्या शर्मा"],"required_present":[]},"all":{"required_absent":["काव्या शर्मा"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-029","language":"hi","script":"Devanagari","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_29\":\"सार्वजनिक संस्था किरण मंच\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":62,"end":84,"value":"किरण मंच","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["किरण मंच"]},"customers":{"required_absent":[],"required_present":["किरण मंच"]},"all":{"required_absent":[],"required_present":["किरण मंच"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-030","language":"hi","script":"Devanagari","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_30: ग्राहक ने उल्लेख किया दीया अरोड़ा","known_identities":[],"targets":[{"id":"person","kind":"person","start":70,"end":101,"value":"दीया अरोड़ा","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["दीया अरोड़ा"]},"customers":{"required_absent":["दीया अरोड़ा"],"required_present":[]},"all":{"required_absent":["दीया अरोड़ा"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-030","language":"hi","script":"Devanagari","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_30: सार्वजनिक संस्था गंगा संस्थान","known_identities":[],"targets":[{"id":"person","kind":"person","start":59,"end":93,"value":"गंगा संस्थान","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["गंगा संस्थान"]},"customers":{"required_absent":[],"required_present":["गंगा संस्थान"]},"all":{"required_absent":[],"required_present":["गंगा संस्थान"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-031","language":"hi","script":"Devanagari","shape":"shell","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_31='ग्राहक ने उल्लेख किया दीया बंसल'","known_identities":[],"targets":[{"id":"person","kind":"person","start":70,"end":95,"value":"दीया बंसल","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["दीया बंसल"]},"customers":{"required_absent":["दीया बंसल"],"required_present":[]},"all":{"required_absent":["दीया बंसल"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-031","language":"hi","script":"Devanagari","shape":"shell","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_31='सार्वजनिक संस्था गंगा प्रकाशन'","known_identities":[],"targets":[{"id":"person","kind":"person","start":59,"end":93,"value":"गंगा प्रकाशन","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["गंगा प्रकाशन"]},"customers":{"required_absent":[],"required_present":["गंगा प्रकाशन"]},"all":{"required_absent":[],"required_present":["गंगा प्रकाशन"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-032","language":"hi","script":"Devanagari","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/32 ; ग्राहक ने उल्लेख किया दीया चौहान","known_identities":[],"targets":[{"id":"person","kind":"person","start":91,"end":119,"value":"दीया चौहान","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["दीया चौहान"]},"customers":{"required_absent":["दीया चौहान"],"required_present":[]},"all":{"required_absent":["दीया चौहान"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-032","language":"hi","script":"Devanagari","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/32 ; सार्वजनिक संस्था गंगा फाउंडेशन","known_identities":[],"targets":[{"id":"person","kind":"person","start":80,"end":117,"value":"गंगा फाउंडेशन","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["गंगा फाउंडेशन"]},"customers":{"required_absent":[],"required_present":["गंगा फाउंडेशन"]},"all":{"required_absent":[],"required_present":["गंगा फाउंडेशन"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-033","language":"hi","script":"Devanagari","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"**ग्राहक ने उल्लेख किया दीया देसाई**","known_identities":[],"targets":[{"id":"person","kind":"person","start":60,"end":88,"value":"दीया देसाई","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["दीया देसाई"]},"customers":{"required_absent":["दीया देसाई"],"required_present":[]},"all":{"required_absent":["दीया देसाई"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-033","language":"hi","script":"Devanagari","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"**सार्वजनिक संस्था गंगा प्रयोगशाला**","known_identities":[],"targets":[{"id":"person","kind":"person","start":49,"end":92,"value":"गंगा प्रयोगशाला","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["गंगा प्रयोगशाला"]},"customers":{"required_absent":[],"required_present":["गंगा प्रयोगशाला"]},"all":{"required_absent":[],"required_present":["गंगा प्रयोगशाला"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-034","language":"hi","script":"Devanagari","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eग्राहक ने उल्लेख किया दीया गोयल\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":61,"end":86,"value":"दीया गोयल","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["दीया गोयल"]},"customers":{"required_absent":["दीया गोयल"],"required_present":[]},"all":{"required_absent":["दीया गोयल"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-034","language":"hi","script":"Devanagari","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eसार्वजनिक संस्था गंगा विद्यालय\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":50,"end":87,"value":"गंगा विद्यालय","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["गंगा विद्यालय"]},"customers":{"required_absent":[],"required_present":["गंगा विद्यालय"]},"all":{"required_absent":[],"required_present":["गंगा विद्यालय"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-035","language":"hi","script":"Devanagari","shape":"quoted-reply","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e ग्राहक ने उल्लेख किया दीया कपूर","known_identities":[],"targets":[{"id":"person","kind":"person","start":60,"end":85,"value":"दीया कपूर","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["दीया कपूर"]},"customers":{"required_absent":["दीया कपूर"],"required_present":[]},"all":{"required_absent":["दीया कपूर"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-035","language":"hi","script":"Devanagari","shape":"quoted-reply","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e सार्वजनिक संस्था गंगा संग्रहालय","known_identities":[],"targets":[{"id":"person","kind":"person","start":49,"end":89,"value":"गंगा संग्रहालय","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["गंगा संग्रहालय"]},"customers":{"required_absent":[],"required_present":["गंगा संग्रहालय"]},"all":{"required_absent":[],"required_present":["गंगा संग्रहालय"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-036","language":"hi","script":"Devanagari","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=36 message=\"ग्राहक ने उल्लेख किया \" value=दीया मेहता","known_identities":[],"targets":[{"id":"person","kind":"person","start":96,"end":124,"value":"दीया मेहता","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["दीया मेहता"]},"customers":{"required_absent":["दीया मेहता"],"required_present":[]},"all":{"required_absent":["दीया मेहता"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-036","language":"hi","script":"Devanagari","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=36 message=\"सार्वजनिक संस्था \" value=गंगा पुस्तकालय","known_identities":[],"targets":[{"id":"person","kind":"person","start":85,"end":125,"value":"गंगा पुस्तकालय","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["गंगा पुस्तकालय"]},"customers":{"required_absent":[],"required_present":["गंगा पुस्तकालय"]},"all":{"required_absent":[],"required_present":["गंगा पुस्तकालय"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-037","language":"hi","script":"Devanagari","shape":"stack-trace","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[37]: ग्राहक ने उल्लेख किया दीया नायर","known_identities":[],"targets":[{"id":"person","kind":"person","start":69,"end":94,"value":"दीया नायर","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["दीया नायर"]},"customers":{"required_absent":["दीया नायर"],"required_present":[]},"all":{"required_absent":["दीया नायर"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-037","language":"hi","script":"Devanagari","shape":"stack-trace","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[37]: सार्वजनिक संस्था गंगा परिषद","known_identities":[],"targets":[{"id":"person","kind":"person","start":58,"end":86,"value":"गंगा परिषद","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["गंगा परिषद"]},"customers":{"required_absent":[],"required_present":["गंगा परिषद"]},"all":{"required_absent":[],"required_present":["गंगा परिषद"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-038","language":"hi","script":"Devanagari","shape":"code","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_38 := `ग्राहक ने उल्लेख किया दीया पटेल`","known_identities":[],"targets":[{"id":"person","kind":"person","start":73,"end":98,"value":"दीया पटेल","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["दीया पटेल"]},"customers":{"required_absent":["दीया पटेल"],"required_present":[]},"all":{"required_absent":["दीया पटेल"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-038","language":"hi","script":"Devanagari","shape":"code","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_38 := `सार्वजनिक संस्था गंगा केंद्र`","known_identities":[],"targets":[{"id":"person","kind":"person","start":62,"end":93,"value":"गंगा केंद्र","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["गंगा केंद्र"]},"customers":{"required_absent":[],"required_present":["गंगा केंद्र"]},"all":{"required_absent":[],"required_present":["गंगा केंद्र"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-039","language":"hi","script":"Devanagari","shape":"signature","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--\nग्राहक ने उल्लेख किया दीया शर्मा","known_identities":[],"targets":[{"id":"person","kind":"person","start":61,"end":89,"value":"दीया शर्मा","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["दीया शर्मा"]},"customers":{"required_absent":["दीया शर्मा"],"required_present":[]},"all":{"required_absent":["दीया शर्मा"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-039","language":"hi","script":"Devanagari","shape":"signature","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--\nसार्वजनिक संस्था गंगा मंच","known_identities":[],"targets":[{"id":"person","kind":"person","start":50,"end":72,"value":"गंगा मंच","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["गंगा मंच"]},"customers":{"required_absent":[],"required_present":["गंगा मंच"]},"all":{"required_absent":[],"required_present":["गंगा मंच"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-040","language":"hi","script":"Devanagari","shape":"long-thread","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. ग्राहक ने उल्लेख किया नील अरोड़ा","known_identities":[],"targets":[{"id":"person","kind":"person","start":538,"end":566,"value":"नील अरोड़ा","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["नील अरोड़ा"]},"customers":{"required_absent":["नील अरोड़ा"],"required_present":[]},"all":{"required_absent":["नील अरोड़ा"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-040","language":"hi","script":"Devanagari","shape":"long-thread","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. सार्वजनिक संस्था चेतना संस्थान","known_identities":[],"targets":[{"id":"person","kind":"person","start":527,"end":564,"value":"चेतना संस्थान","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["चेतना संस्थान"]},"customers":{"required_absent":[],"required_present":["चेतना संस्थान"]},"all":{"required_absent":[],"required_present":["चेतना संस्थान"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-041","language":"hi","script":"Devanagari","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=41 --message=\"ग्राहक ने उल्लेख किया \" --value=नील बंसल","known_identities":[],"targets":[{"id":"person","kind":"person","start":91,"end":113,"value":"नील बंसल","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["नील बंसल"]},"customers":{"required_absent":["नील बंसल"],"required_present":[]},"all":{"required_absent":["नील बंसल"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-041","language":"hi","script":"Devanagari","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=41 --message=\"सार्वजनिक संस्था \" --value=चेतना प्रकाशन","known_identities":[],"targets":[{"id":"person","kind":"person","start":80,"end":117,"value":"चेतना प्रकाशन","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["चेतना प्रकाशन"]},"customers":{"required_absent":[],"required_present":["चेतना प्रकाशन"]},"all":{"required_absent":[],"required_present":["चेतना प्रकाशन"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-042","language":"hi","script":"Devanagari","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"ग्राहक ने उल्लेख किया नील चौहान","known_identities":[],"targets":[{"id":"person","kind":"person","start":58,"end":83,"value":"नील चौहान","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["नील चौहान"]},"customers":{"required_absent":["नील चौहान"],"required_present":[]},"all":{"required_absent":["नील चौहान"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-042","language":"hi","script":"Devanagari","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"सार्वजनिक संस्था चेतना फाउंडेशन","known_identities":[],"targets":[{"id":"person","kind":"person","start":47,"end":87,"value":"चेतना फाउंडेशन","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["चेतना फाउंडेशन"]},"customers":{"required_absent":[],"required_present":["चेतना फाउंडेशन"]},"all":{"required_absent":[],"required_present":["चेतना फाउंडेशन"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-043","language":"hi","script":"Devanagari","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_43\":\"ग्राहक ने उल्लेख किया नील देसाई\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":73,"end":98,"value":"नील देसाई","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["नील देसाई"]},"customers":{"required_absent":["नील देसाई"],"required_present":[]},"all":{"required_absent":["नील देसाई"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-043","language":"hi","script":"Devanagari","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_43\":\"सार्वजनिक संस्था चेतना प्रयोगशाला\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":62,"end":108,"value":"चेतना प्रयोगशाला","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["चेतना प्रयोगशाला"]},"customers":{"required_absent":[],"required_present":["चेतना प्रयोगशाला"]},"all":{"required_absent":[],"required_present":["चेतना प्रयोगशाला"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-044","language":"hi","script":"Devanagari","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_44: ग्राहक ने उल्लेख किया नील गोयल","known_identities":[],"targets":[{"id":"person","kind":"person","start":70,"end":92,"value":"नील गोयल","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["नील गोयल"]},"customers":{"required_absent":["नील गोयल"],"required_present":[]},"all":{"required_absent":["नील गोयल"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-044","language":"hi","script":"Devanagari","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_44: सार्वजनिक संस्था चेतना विद्यालय","known_identities":[],"targets":[{"id":"person","kind":"person","start":59,"end":99,"value":"चेतना विद्यालय","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["चेतना विद्यालय"]},"customers":{"required_absent":[],"required_present":["चेतना विद्यालय"]},"all":{"required_absent":[],"required_present":["चेतना विद्यालय"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-045","language":"hi","script":"Devanagari","shape":"shell","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_45='ग्राहक ने उल्लेख किया नील कपूर'","known_identities":[],"targets":[{"id":"person","kind":"person","start":70,"end":92,"value":"नील कपूर","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["नील कपूर"]},"customers":{"required_absent":["नील कपूर"],"required_present":[]},"all":{"required_absent":["नील कपूर"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-045","language":"hi","script":"Devanagari","shape":"shell","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_45='सार्वजनिक संस्था चेतना संग्रहालय'","known_identities":[],"targets":[{"id":"person","kind":"person","start":59,"end":102,"value":"चेतना संग्रहालय","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["चेतना संग्रहालय"]},"customers":{"required_absent":[],"required_present":["चेतना संग्रहालय"]},"all":{"required_absent":[],"required_present":["चेतना संग्रहालय"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-046","language":"hi","script":"Devanagari","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/46 ; ग्राहक ने उल्लेख किया नील मेहता","known_identities":[],"targets":[{"id":"person","kind":"person","start":91,"end":116,"value":"नील मेहता","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["नील मेहता"]},"customers":{"required_absent":["नील मेहता"],"required_present":[]},"all":{"required_absent":["नील मेहता"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-046","language":"hi","script":"Devanagari","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/46 ; सार्वजनिक संस्था चेतना पुस्तकालय","known_identities":[],"targets":[{"id":"person","kind":"person","start":80,"end":123,"value":"चेतना पुस्तकालय","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["चेतना पुस्तकालय"]},"customers":{"required_absent":[],"required_present":["चेतना पुस्तकालय"]},"all":{"required_absent":[],"required_present":["चेतना पुस्तकालय"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-047","language":"hi","script":"Devanagari","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"**ग्राहक ने उल्लेख किया नील नायर**","known_identities":[],"targets":[{"id":"person","kind":"person","start":60,"end":82,"value":"नील नायर","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["नील नायर"]},"customers":{"required_absent":["नील नायर"],"required_present":[]},"all":{"required_absent":["नील नायर"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-047","language":"hi","script":"Devanagari","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"**सार्वजनिक संस्था चेतना परिषद**","known_identities":[],"targets":[{"id":"person","kind":"person","start":49,"end":80,"value":"चेतना परिषद","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["चेतना परिषद"]},"customers":{"required_absent":[],"required_present":["चेतना परिषद"]},"all":{"required_absent":[],"required_present":["चेतना परिषद"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-048","language":"hi","script":"Devanagari","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eग्राहक ने उल्लेख किया नील पटेल\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":61,"end":83,"value":"नील पटेल","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["नील पटेल"]},"customers":{"required_absent":["नील पटेल"],"required_present":[]},"all":{"required_absent":["नील पटेल"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-048","language":"hi","script":"Devanagari","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eसार्वजनिक संस्था चेतना केंद्र\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":50,"end":84,"value":"चेतना केंद्र","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["चेतना केंद्र"]},"customers":{"required_absent":[],"required_present":["चेतना केंद्र"]},"all":{"required_absent":[],"required_present":["चेतना केंद्र"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-049","language":"hi","script":"Devanagari","shape":"quoted-reply","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e ग्राहक ने उल्लेख किया नील शर्मा","known_identities":[],"targets":[{"id":"person","kind":"person","start":60,"end":85,"value":"नील शर्मा","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["नील शर्मा"]},"customers":{"required_absent":["नील शर्मा"],"required_present":[]},"all":{"required_absent":["नील शर्मा"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-049","language":"hi","script":"Devanagari","shape":"quoted-reply","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e सार्वजनिक संस्था चेतना मंच","known_identities":[],"targets":[{"id":"person","kind":"person","start":49,"end":74,"value":"चेतना मंच","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["चेतना मंच"]},"customers":{"required_absent":[],"required_present":["चेतना मंच"]},"all":{"required_absent":[],"required_present":["चेतना मंच"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-050","language":"hi","script":"Devanagari","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=50 message=\"ग्राहक ने उल्लेख किया \" value=प्रिया अरोड़ा","known_identities":[],"targets":[{"id":"person","kind":"person","start":96,"end":133,"value":"प्रिया अरोड़ा","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["प्रिया अरोड़ा"]},"customers":{"required_absent":["प्रिया अरोड़ा"],"required_present":[]},"all":{"required_absent":["प्रिया अरोड़ा"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-050","language":"hi","script":"Devanagari","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=50 message=\"सार्वजनिक संस्था \" value=तरंग संस्थान","known_identities":[],"targets":[{"id":"person","kind":"person","start":85,"end":119,"value":"तरंग संस्थान","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["तरंग संस्थान"]},"customers":{"required_absent":[],"required_present":["तरंग संस्थान"]},"all":{"required_absent":[],"required_present":["तरंग संस्थान"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-051","language":"hi","script":"Devanagari","shape":"stack-trace","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[51]: ग्राहक ने उल्लेख किया प्रिया बंसल","known_identities":[],"targets":[{"id":"person","kind":"person","start":69,"end":100,"value":"प्रिया बंसल","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["प्रिया बंसल"]},"customers":{"required_absent":["प्रिया बंसल"],"required_present":[]},"all":{"required_absent":["प्रिया बंसल"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-051","language":"hi","script":"Devanagari","shape":"stack-trace","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[51]: सार्वजनिक संस्था तरंग प्रकाशन","known_identities":[],"targets":[{"id":"person","kind":"person","start":58,"end":92,"value":"तरंग प्रकाशन","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["तरंग प्रकाशन"]},"customers":{"required_absent":[],"required_present":["तरंग प्रकाशन"]},"all":{"required_absent":[],"required_present":["तरंग प्रकाशन"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-052","language":"hi","script":"Devanagari","shape":"code","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_52 := `ग्राहक ने उल्लेख किया प्रिया चौहान`","known_identities":[],"targets":[{"id":"person","kind":"person","start":73,"end":107,"value":"प्रिया चौहान","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["प्रिया चौहान"]},"customers":{"required_absent":["प्रिया चौहान"],"required_present":[]},"all":{"required_absent":["प्रिया चौहान"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-052","language":"hi","script":"Devanagari","shape":"code","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_52 := `सार्वजनिक संस्था तरंग फाउंडेशन`","known_identities":[],"targets":[{"id":"person","kind":"person","start":62,"end":99,"value":"तरंग फाउंडेशन","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["तरंग फाउंडेशन"]},"customers":{"required_absent":[],"required_present":["तरंग फाउंडेशन"]},"all":{"required_absent":[],"required_present":["तरंग फाउंडेशन"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-053","language":"hi","script":"Devanagari","shape":"signature","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--\nग्राहक ने उल्लेख किया प्रिया देसाई","known_identities":[],"targets":[{"id":"person","kind":"person","start":61,"end":95,"value":"प्रिया देसाई","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["प्रिया देसाई"]},"customers":{"required_absent":["प्रिया देसाई"],"required_present":[]},"all":{"required_absent":["प्रिया देसाई"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-053","language":"hi","script":"Devanagari","shape":"signature","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--\nसार्वजनिक संस्था तरंग प्रयोगशाला","known_identities":[],"targets":[{"id":"person","kind":"person","start":50,"end":93,"value":"तरंग प्रयोगशाला","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["तरंग प्रयोगशाला"]},"customers":{"required_absent":[],"required_present":["तरंग प्रयोगशाला"]},"all":{"required_absent":[],"required_present":["तरंग प्रयोगशाला"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-054","language":"hi","script":"Devanagari","shape":"long-thread","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. ग्राहक ने उल्लेख किया प्रिया गोयल","known_identities":[],"targets":[{"id":"person","kind":"person","start":538,"end":569,"value":"प्रिया गोयल","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["प्रिया गोयल"]},"customers":{"required_absent":["प्रिया गोयल"],"required_present":[]},"all":{"required_absent":["प्रिया गोयल"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-054","language":"hi","script":"Devanagari","shape":"long-thread","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. सार्वजनिक संस्था तरंग विद्यालय","known_identities":[],"targets":[{"id":"person","kind":"person","start":527,"end":564,"value":"तरंग विद्यालय","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["तरंग विद्यालय"]},"customers":{"required_absent":[],"required_present":["तरंग विद्यालय"]},"all":{"required_absent":[],"required_present":["तरंग विद्यालय"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-055","language":"hi","script":"Devanagari","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=55 --message=\"ग्राहक ने उल्लेख किया \" --value=प्रिया कपूर","known_identities":[],"targets":[{"id":"person","kind":"person","start":91,"end":122,"value":"प्रिया कपूर","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["प्रिया कपूर"]},"customers":{"required_absent":["प्रिया कपूर"],"required_present":[]},"all":{"required_absent":["प्रिया कपूर"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-055","language":"hi","script":"Devanagari","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=55 --message=\"सार्वजनिक संस्था \" --value=तरंग संग्रहालय","known_identities":[],"targets":[{"id":"person","kind":"person","start":80,"end":120,"value":"तरंग संग्रहालय","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["तरंग संग्रहालय"]},"customers":{"required_absent":[],"required_present":["तरंग संग्रहालय"]},"all":{"required_absent":[],"required_present":["तरंग संग्रहालय"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-056","language":"hi","script":"Devanagari","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"ग्राहक ने उल्लेख किया प्रिया मेहता","known_identities":[],"targets":[{"id":"person","kind":"person","start":58,"end":92,"value":"प्रिया मेहता","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["प्रिया मेहता"]},"customers":{"required_absent":["प्रिया मेहता"],"required_present":[]},"all":{"required_absent":["प्रिया मेहता"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-056","language":"hi","script":"Devanagari","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"सार्वजनिक संस्था तरंग पुस्तकालय","known_identities":[],"targets":[{"id":"person","kind":"person","start":47,"end":87,"value":"तरंग पुस्तकालय","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["तरंग पुस्तकालय"]},"customers":{"required_absent":[],"required_present":["तरंग पुस्तकालय"]},"all":{"required_absent":[],"required_present":["तरंग पुस्तकालय"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-057","language":"hi","script":"Devanagari","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_57\":\"ग्राहक ने उल्लेख किया प्रिया नायर\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":73,"end":104,"value":"प्रिया नायर","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["प्रिया नायर"]},"customers":{"required_absent":["प्रिया नायर"],"required_present":[]},"all":{"required_absent":["प्रिया नायर"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-057","language":"hi","script":"Devanagari","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_57\":\"सार्वजनिक संस्था तरंग परिषद\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":62,"end":90,"value":"तरंग परिषद","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["तरंग परिषद"]},"customers":{"required_absent":[],"required_present":["तरंग परिषद"]},"all":{"required_absent":[],"required_present":["तरंग परिषद"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-058","language":"hi","script":"Devanagari","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_58: ग्राहक ने उल्लेख किया प्रिया पटेल","known_identities":[],"targets":[{"id":"person","kind":"person","start":70,"end":101,"value":"प्रिया पटेल","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["प्रिया पटेल"]},"customers":{"required_absent":["प्रिया पटेल"],"required_present":[]},"all":{"required_absent":["प्रिया पटेल"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-058","language":"hi","script":"Devanagari","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_58: सार्वजनिक संस्था तरंग केंद्र","known_identities":[],"targets":[{"id":"person","kind":"person","start":59,"end":90,"value":"तरंग केंद्र","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["तरंग केंद्र"]},"customers":{"required_absent":[],"required_present":["तरंग केंद्र"]},"all":{"required_absent":[],"required_present":["तरंग केंद्र"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-059","language":"hi","script":"Devanagari","shape":"shell","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_59='ग्राहक ने उल्लेख किया प्रिया शर्मा'","known_identities":[],"targets":[{"id":"person","kind":"person","start":70,"end":104,"value":"प्रिया शर्मा","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["प्रिया शर्मा"]},"customers":{"required_absent":["प्रिया शर्मा"],"required_present":[]},"all":{"required_absent":["प्रिया शर्मा"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-059","language":"hi","script":"Devanagari","shape":"shell","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_59='सार्वजनिक संस्था तरंग मंच'","known_identities":[],"targets":[{"id":"person","kind":"person","start":59,"end":81,"value":"तरंग मंच","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["तरंग मंच"]},"customers":{"required_absent":[],"required_present":["तरंग मंच"]},"all":{"required_absent":[],"required_present":["तरंग मंच"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-060","language":"hi","script":"Devanagari","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/60 ; ग्राहक ने उल्लेख किया रवि अरोड़ा","known_identities":[],"targets":[{"id":"person","kind":"person","start":91,"end":119,"value":"रवि अरोड़ा","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["रवि अरोड़ा"]},"customers":{"required_absent":["रवि अरोड़ा"],"required_present":[]},"all":{"required_absent":["रवि अरोड़ा"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-060","language":"hi","script":"Devanagari","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/60 ; सार्वजनिक संस्था दिशा संस्थान","known_identities":[],"targets":[{"id":"person","kind":"person","start":80,"end":114,"value":"दिशा संस्थान","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["दिशा संस्थान"]},"customers":{"required_absent":[],"required_present":["दिशा संस्थान"]},"all":{"required_absent":[],"required_present":["दिशा संस्थान"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-061","language":"hi","script":"Devanagari","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"**ग्राहक ने उल्लेख किया रवि बंसल**","known_identities":[],"targets":[{"id":"person","kind":"person","start":60,"end":82,"value":"रवि बंसल","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["रवि बंसल"]},"customers":{"required_absent":["रवि बंसल"],"required_present":[]},"all":{"required_absent":["रवि बंसल"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-061","language":"hi","script":"Devanagari","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"**सार्वजनिक संस्था दिशा प्रकाशन**","known_identities":[],"targets":[{"id":"person","kind":"person","start":49,"end":83,"value":"दिशा प्रकाशन","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["दिशा प्रकाशन"]},"customers":{"required_absent":[],"required_present":["दिशा प्रकाशन"]},"all":{"required_absent":[],"required_present":["दिशा प्रकाशन"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-062","language":"hi","script":"Devanagari","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eग्राहक ने उल्लेख किया रवि चौहान\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":61,"end":86,"value":"रवि चौहान","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["रवि चौहान"]},"customers":{"required_absent":["रवि चौहान"],"required_present":[]},"all":{"required_absent":["रवि चौहान"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-062","language":"hi","script":"Devanagari","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eसार्वजनिक संस्था दिशा फाउंडेशन\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":50,"end":87,"value":"दिशा फाउंडेशन","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["दिशा फाउंडेशन"]},"customers":{"required_absent":[],"required_present":["दिशा फाउंडेशन"]},"all":{"required_absent":[],"required_present":["दिशा फाउंडेशन"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-063","language":"hi","script":"Devanagari","shape":"quoted-reply","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e ग्राहक ने उल्लेख किया रवि देसाई","known_identities":[],"targets":[{"id":"person","kind":"person","start":60,"end":85,"value":"रवि देसाई","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["रवि देसाई"]},"customers":{"required_absent":["रवि देसाई"],"required_present":[]},"all":{"required_absent":["रवि देसाई"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-063","language":"hi","script":"Devanagari","shape":"quoted-reply","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e सार्वजनिक संस्था दिशा प्रयोगशाला","known_identities":[],"targets":[{"id":"person","kind":"person","start":49,"end":92,"value":"दिशा प्रयोगशाला","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["दिशा प्रयोगशाला"]},"customers":{"required_absent":[],"required_present":["दिशा प्रयोगशाला"]},"all":{"required_absent":[],"required_present":["दिशा प्रयोगशाला"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-064","language":"hi","script":"Devanagari","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=64 message=\"ग्राहक ने उल्लेख किया \" value=रवि गोयल","known_identities":[],"targets":[{"id":"person","kind":"person","start":96,"end":118,"value":"रवि गोयल","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["रवि गोयल"]},"customers":{"required_absent":["रवि गोयल"],"required_present":[]},"all":{"required_absent":["रवि गोयल"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-064","language":"hi","script":"Devanagari","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=64 message=\"सार्वजनिक संस्था \" value=दिशा विद्यालय","known_identities":[],"targets":[{"id":"person","kind":"person","start":85,"end":122,"value":"दिशा विद्यालय","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["दिशा विद्यालय"]},"customers":{"required_absent":[],"required_present":["दिशा विद्यालय"]},"all":{"required_absent":[],"required_present":["दिशा विद्यालय"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-065","language":"hi","script":"Devanagari","shape":"stack-trace","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[65]: ग्राहक ने उल्लेख किया रवि कपूर","known_identities":[],"targets":[{"id":"person","kind":"person","start":69,"end":91,"value":"रवि कपूर","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["रवि कपूर"]},"customers":{"required_absent":["रवि कपूर"],"required_present":[]},"all":{"required_absent":["रवि कपूर"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-065","language":"hi","script":"Devanagari","shape":"stack-trace","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[65]: सार्वजनिक संस्था दिशा संग्रहालय","known_identities":[],"targets":[{"id":"person","kind":"person","start":58,"end":98,"value":"दिशा संग्रहालय","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["दिशा संग्रहालय"]},"customers":{"required_absent":[],"required_present":["दिशा संग्रहालय"]},"all":{"required_absent":[],"required_present":["दिशा संग्रहालय"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-066","language":"hi","script":"Devanagari","shape":"code","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_66 := `ग्राहक ने उल्लेख किया रवि मेहता`","known_identities":[],"targets":[{"id":"person","kind":"person","start":73,"end":98,"value":"रवि मेहता","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["रवि मेहता"]},"customers":{"required_absent":["रवि मेहता"],"required_present":[]},"all":{"required_absent":["रवि मेहता"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-066","language":"hi","script":"Devanagari","shape":"code","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_66 := `सार्वजनिक संस्था दिशा पुस्तकालय`","known_identities":[],"targets":[{"id":"person","kind":"person","start":62,"end":102,"value":"दिशा पुस्तकालय","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["दिशा पुस्तकालय"]},"customers":{"required_absent":[],"required_present":["दिशा पुस्तकालय"]},"all":{"required_absent":[],"required_present":["दिशा पुस्तकालय"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-067","language":"hi","script":"Devanagari","shape":"signature","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--\nग्राहक ने उल्लेख किया रवि नायर","known_identities":[],"targets":[{"id":"person","kind":"person","start":61,"end":83,"value":"रवि नायर","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["रवि नायर"]},"customers":{"required_absent":["रवि नायर"],"required_present":[]},"all":{"required_absent":["रवि नायर"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-067","language":"hi","script":"Devanagari","shape":"signature","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--\nसार्वजनिक संस्था दिशा परिषद","known_identities":[],"targets":[{"id":"person","kind":"person","start":50,"end":78,"value":"दिशा परिषद","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["दिशा परिषद"]},"customers":{"required_absent":[],"required_present":["दिशा परिषद"]},"all":{"required_absent":[],"required_present":["दिशा परिषद"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-068","language":"hi","script":"Devanagari","shape":"long-thread","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. ग्राहक ने उल्लेख किया रवि पटेल","known_identities":[],"targets":[{"id":"person","kind":"person","start":538,"end":560,"value":"रवि पटेल","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["रवि पटेल"]},"customers":{"required_absent":["रवि पटेल"],"required_present":[]},"all":{"required_absent":["रवि पटेल"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-068","language":"hi","script":"Devanagari","shape":"long-thread","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. सार्वजनिक संस्था दिशा केंद्र","known_identities":[],"targets":[{"id":"person","kind":"person","start":527,"end":558,"value":"दिशा केंद्र","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["दिशा केंद्र"]},"customers":{"required_absent":[],"required_present":["दिशा केंद्र"]},"all":{"required_absent":[],"required_present":["दिशा केंद्र"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-069","language":"hi","script":"Devanagari","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=69 --message=\"ग्राहक ने उल्लेख किया \" --value=रवि शर्मा","known_identities":[],"targets":[{"id":"person","kind":"person","start":91,"end":116,"value":"रवि शर्मा","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["रवि शर्मा"]},"customers":{"required_absent":["रवि शर्मा"],"required_present":[]},"all":{"required_absent":["रवि शर्मा"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-069","language":"hi","script":"Devanagari","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=69 --message=\"सार्वजनिक संस्था \" --value=दिशा मंच","known_identities":[],"targets":[{"id":"person","kind":"person","start":80,"end":102,"value":"दिशा मंच","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["दिशा मंच"]},"customers":{"required_absent":[],"required_present":["दिशा मंच"]},"all":{"required_absent":[],"required_present":["दिशा मंच"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-070","language":"hi","script":"Devanagari","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"ग्राहक ने उल्लेख किया सिया अरोड़ा","known_identities":[],"targets":[{"id":"person","kind":"person","start":58,"end":89,"value":"सिया अरोड़ा","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["सिया अरोड़ा"]},"customers":{"required_absent":["सिया अरोड़ा"],"required_present":[]},"all":{"required_absent":["सिया अरोड़ा"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-070","language":"hi","script":"Devanagari","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"सार्वजनिक संस्था नव संस्थान","known_identities":[],"targets":[{"id":"person","kind":"person","start":47,"end":75,"value":"नव संस्थान","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["नव संस्थान"]},"customers":{"required_absent":[],"required_present":["नव संस्थान"]},"all":{"required_absent":[],"required_present":["नव संस्थान"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-071","language":"hi","script":"Devanagari","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_71\":\"ग्राहक ने उल्लेख किया सिया बंसल\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":73,"end":98,"value":"सिया बंसल","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["सिया बंसल"]},"customers":{"required_absent":["सिया बंसल"],"required_present":[]},"all":{"required_absent":["सिया बंसल"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-071","language":"hi","script":"Devanagari","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_71\":\"सार्वजनिक संस्था नव प्रकाशन\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":62,"end":90,"value":"नव प्रकाशन","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["नव प्रकाशन"]},"customers":{"required_absent":[],"required_present":["नव प्रकाशन"]},"all":{"required_absent":[],"required_present":["नव प्रकाशन"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-072","language":"hi","script":"Devanagari","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_72: ग्राहक ने उल्लेख किया सिया चौहान","known_identities":[],"targets":[{"id":"person","kind":"person","start":70,"end":98,"value":"सिया चौहान","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["सिया चौहान"]},"customers":{"required_absent":["सिया चौहान"],"required_present":[]},"all":{"required_absent":["सिया चौहान"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-072","language":"hi","script":"Devanagari","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_72: सार्वजनिक संस्था नव फाउंडेशन","known_identities":[],"targets":[{"id":"person","kind":"person","start":59,"end":90,"value":"नव फाउंडेशन","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["नव फाउंडेशन"]},"customers":{"required_absent":[],"required_present":["नव फाउंडेशन"]},"all":{"required_absent":[],"required_present":["नव फाउंडेशन"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-073","language":"hi","script":"Devanagari","shape":"shell","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_73='ग्राहक ने उल्लेख किया सिया देसाई'","known_identities":[],"targets":[{"id":"person","kind":"person","start":70,"end":98,"value":"सिया देसाई","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["सिया देसाई"]},"customers":{"required_absent":["सिया देसाई"],"required_present":[]},"all":{"required_absent":["सिया देसाई"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-073","language":"hi","script":"Devanagari","shape":"shell","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_73='सार्वजनिक संस्था नव प्रयोगशाला'","known_identities":[],"targets":[{"id":"person","kind":"person","start":59,"end":96,"value":"नव प्रयोगशाला","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["नव प्रयोगशाला"]},"customers":{"required_absent":[],"required_present":["नव प्रयोगशाला"]},"all":{"required_absent":[],"required_present":["नव प्रयोगशाला"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-074","language":"hi","script":"Devanagari","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/74 ; ग्राहक ने उल्लेख किया सिया गोयल","known_identities":[],"targets":[{"id":"person","kind":"person","start":91,"end":116,"value":"सिया गोयल","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["सिया गोयल"]},"customers":{"required_absent":["सिया गोयल"],"required_present":[]},"all":{"required_absent":["सिया गोयल"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-074","language":"hi","script":"Devanagari","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/74 ; सार्वजनिक संस्था नव विद्यालय","known_identities":[],"targets":[{"id":"person","kind":"person","start":80,"end":111,"value":"नव विद्यालय","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["नव विद्यालय"]},"customers":{"required_absent":[],"required_present":["नव विद्यालय"]},"all":{"required_absent":[],"required_present":["नव विद्यालय"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-075","language":"hi","script":"Devanagari","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"**ग्राहक ने उल्लेख किया सिया कपूर**","known_identities":[],"targets":[{"id":"person","kind":"person","start":60,"end":85,"value":"सिया कपूर","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["सिया कपूर"]},"customers":{"required_absent":["सिया कपूर"],"required_present":[]},"all":{"required_absent":["सिया कपूर"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-075","language":"hi","script":"Devanagari","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"**सार्वजनिक संस्था नव संग्रहालय**","known_identities":[],"targets":[{"id":"person","kind":"person","start":49,"end":83,"value":"नव संग्रहालय","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["नव संग्रहालय"]},"customers":{"required_absent":[],"required_present":["नव संग्रहालय"]},"all":{"required_absent":[],"required_present":["नव संग्रहालय"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-076","language":"hi","script":"Devanagari","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eग्राहक ने उल्लेख किया सिया मेहता\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":61,"end":89,"value":"सिया मेहता","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["सिया मेहता"]},"customers":{"required_absent":["सिया मेहता"],"required_present":[]},"all":{"required_absent":["सिया मेहता"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-076","language":"hi","script":"Devanagari","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eसार्वजनिक संस्था नव पुस्तकालय\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":50,"end":84,"value":"नव पुस्तकालय","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["नव पुस्तकालय"]},"customers":{"required_absent":[],"required_present":["नव पुस्तकालय"]},"all":{"required_absent":[],"required_present":["नव पुस्तकालय"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-077","language":"hi","script":"Devanagari","shape":"quoted-reply","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e ग्राहक ने उल्लेख किया सिया नायर","known_identities":[],"targets":[{"id":"person","kind":"person","start":60,"end":85,"value":"सिया नायर","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["सिया नायर"]},"customers":{"required_absent":["सिया नायर"],"required_present":[]},"all":{"required_absent":["सिया नायर"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-077","language":"hi","script":"Devanagari","shape":"quoted-reply","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e सार्वजनिक संस्था नव परिषद","known_identities":[],"targets":[{"id":"person","kind":"person","start":49,"end":71,"value":"नव परिषद","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["नव परिषद"]},"customers":{"required_absent":[],"required_present":["नव परिषद"]},"all":{"required_absent":[],"required_present":["नव परिषद"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-078","language":"hi","script":"Devanagari","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=78 message=\"ग्राहक ने उल्लेख किया \" value=सिया पटेल","known_identities":[],"targets":[{"id":"person","kind":"person","start":96,"end":121,"value":"सिया पटेल","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["सिया पटेल"]},"customers":{"required_absent":["सिया पटेल"],"required_present":[]},"all":{"required_absent":["सिया पटेल"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-078","language":"hi","script":"Devanagari","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=78 message=\"सार्वजनिक संस्था \" value=नव केंद्र","known_identities":[],"targets":[{"id":"person","kind":"person","start":85,"end":110,"value":"नव केंद्र","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["नव केंद्र"]},"customers":{"required_absent":[],"required_present":["नव केंद्र"]},"all":{"required_absent":[],"required_present":["नव केंद्र"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-079","language":"hi","script":"Devanagari","shape":"stack-trace","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[79]: ग्राहक ने उल्लेख किया सिया शर्मा","known_identities":[],"targets":[{"id":"person","kind":"person","start":69,"end":97,"value":"सिया शर्मा","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["सिया शर्मा"]},"customers":{"required_absent":["सिया शर्मा"],"required_present":[]},"all":{"required_absent":["सिया शर्मा"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-079","language":"hi","script":"Devanagari","shape":"stack-trace","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[79]: सार्वजनिक संस्था नव मंच","known_identities":[],"targets":[{"id":"person","kind":"person","start":58,"end":74,"value":"नव मंच","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["नव मंच"]},"customers":{"required_absent":[],"required_present":["नव मंच"]},"all":{"required_absent":[],"required_present":["नव मंच"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-080","language":"hi","script":"Devanagari","shape":"code","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_80 := `ग्राहक ने उल्लेख किया तनय अरोड़ा`","known_identities":[],"targets":[{"id":"person","kind":"person","start":73,"end":101,"value":"तनय अरोड़ा","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["तनय अरोड़ा"]},"customers":{"required_absent":["तनय अरोड़ा"],"required_present":[]},"all":{"required_absent":["तनय अरोड़ा"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-080","language":"hi","script":"Devanagari","shape":"code","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_80 := `सार्वजनिक संस्था प्रकाश संस्थान`","known_identities":[],"targets":[{"id":"person","kind":"person","start":62,"end":102,"value":"प्रकाश संस्थान","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["प्रकाश संस्थान"]},"customers":{"required_absent":[],"required_present":["प्रकाश संस्थान"]},"all":{"required_absent":[],"required_present":["प्रकाश संस्थान"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-081","language":"hi","script":"Devanagari","shape":"signature","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--\nग्राहक ने उल्लेख किया तनय बंसल","known_identities":[],"targets":[{"id":"person","kind":"person","start":61,"end":83,"value":"तनय बंसल","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["तनय बंसल"]},"customers":{"required_absent":["तनय बंसल"],"required_present":[]},"all":{"required_absent":["तनय बंसल"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-081","language":"hi","script":"Devanagari","shape":"signature","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--\nसार्वजनिक संस्था प्रकाश प्रकाशन","known_identities":[],"targets":[{"id":"person","kind":"person","start":50,"end":90,"value":"प्रकाश प्रकाशन","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["प्रकाश प्रकाशन"]},"customers":{"required_absent":[],"required_present":["प्रकाश प्रकाशन"]},"all":{"required_absent":[],"required_present":["प्रकाश प्रकाशन"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-082","language":"hi","script":"Devanagari","shape":"long-thread","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. ग्राहक ने उल्लेख किया तनय चौहान","known_identities":[],"targets":[{"id":"person","kind":"person","start":538,"end":563,"value":"तनय चौहान","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["तनय चौहान"]},"customers":{"required_absent":["तनय चौहान"],"required_present":[]},"all":{"required_absent":["तनय चौहान"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-082","language":"hi","script":"Devanagari","shape":"long-thread","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. सार्वजनिक संस्था प्रकाश फाउंडेशन","known_identities":[],"targets":[{"id":"person","kind":"person","start":527,"end":570,"value":"प्रकाश फाउंडेशन","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["प्रकाश फाउंडेशन"]},"customers":{"required_absent":[],"required_present":["प्रकाश फाउंडेशन"]},"all":{"required_absent":[],"required_present":["प्रकाश फाउंडेशन"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-083","language":"hi","script":"Devanagari","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=83 --message=\"ग्राहक ने उल्लेख किया \" --value=तनय देसाई","known_identities":[],"targets":[{"id":"person","kind":"person","start":91,"end":116,"value":"तनय देसाई","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["तनय देसाई"]},"customers":{"required_absent":["तनय देसाई"],"required_present":[]},"all":{"required_absent":["तनय देसाई"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-083","language":"hi","script":"Devanagari","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=83 --message=\"सार्वजनिक संस्था \" --value=प्रकाश प्रयोगशाला","known_identities":[],"targets":[{"id":"person","kind":"person","start":80,"end":129,"value":"प्रकाश प्रयोगशाला","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["प्रकाश प्रयोगशाला"]},"customers":{"required_absent":[],"required_present":["प्रकाश प्रयोगशाला"]},"all":{"required_absent":[],"required_present":["प्रकाश प्रयोगशाला"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-084","language":"hi","script":"Devanagari","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"ग्राहक ने उल्लेख किया तनय गोयल","known_identities":[],"targets":[{"id":"person","kind":"person","start":58,"end":80,"value":"तनय गोयल","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["तनय गोयल"]},"customers":{"required_absent":["तनय गोयल"],"required_present":[]},"all":{"required_absent":["तनय गोयल"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-084","language":"hi","script":"Devanagari","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"सार्वजनिक संस्था प्रकाश विद्यालय","known_identities":[],"targets":[{"id":"person","kind":"person","start":47,"end":90,"value":"प्रकाश विद्यालय","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["प्रकाश विद्यालय"]},"customers":{"required_absent":[],"required_present":["प्रकाश विद्यालय"]},"all":{"required_absent":[],"required_present":["प्रकाश विद्यालय"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-085","language":"hi","script":"Devanagari","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_85\":\"ग्राहक ने उल्लेख किया तनय कपूर\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":73,"end":95,"value":"तनय कपूर","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["तनय कपूर"]},"customers":{"required_absent":["तनय कपूर"],"required_present":[]},"all":{"required_absent":["तनय कपूर"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-085","language":"hi","script":"Devanagari","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_85\":\"सार्वजनिक संस्था प्रकाश संग्रहालय\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":62,"end":108,"value":"प्रकाश संग्रहालय","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["प्रकाश संग्रहालय"]},"customers":{"required_absent":[],"required_present":["प्रकाश संग्रहालय"]},"all":{"required_absent":[],"required_present":["प्रकाश संग्रहालय"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-086","language":"hi","script":"Devanagari","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_86: ग्राहक ने उल्लेख किया तनय मेहता","known_identities":[],"targets":[{"id":"person","kind":"person","start":70,"end":95,"value":"तनय मेहता","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["तनय मेहता"]},"customers":{"required_absent":["तनय मेहता"],"required_present":[]},"all":{"required_absent":["तनय मेहता"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-086","language":"hi","script":"Devanagari","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_86: सार्वजनिक संस्था प्रकाश पुस्तकालय","known_identities":[],"targets":[{"id":"person","kind":"person","start":59,"end":105,"value":"प्रकाश पुस्तकालय","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["प्रकाश पुस्तकालय"]},"customers":{"required_absent":[],"required_present":["प्रकाश पुस्तकालय"]},"all":{"required_absent":[],"required_present":["प्रकाश पुस्तकालय"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-087","language":"hi","script":"Devanagari","shape":"shell","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_87='ग्राहक ने उल्लेख किया तनय नायर'","known_identities":[],"targets":[{"id":"person","kind":"person","start":70,"end":92,"value":"तनय नायर","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["तनय नायर"]},"customers":{"required_absent":["तनय नायर"],"required_present":[]},"all":{"required_absent":["तनय नायर"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-087","language":"hi","script":"Devanagari","shape":"shell","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_87='सार्वजनिक संस्था प्रकाश परिषद'","known_identities":[],"targets":[{"id":"person","kind":"person","start":59,"end":93,"value":"प्रकाश परिषद","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["प्रकाश परिषद"]},"customers":{"required_absent":[],"required_present":["प्रकाश परिषद"]},"all":{"required_absent":[],"required_present":["प्रकाश परिषद"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-088","language":"hi","script":"Devanagari","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/88 ; ग्राहक ने उल्लेख किया तनय पटेल","known_identities":[],"targets":[{"id":"person","kind":"person","start":91,"end":113,"value":"तनय पटेल","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["तनय पटेल"]},"customers":{"required_absent":["तनय पटेल"],"required_present":[]},"all":{"required_absent":["तनय पटेल"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-088","language":"hi","script":"Devanagari","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/88 ; सार्वजनिक संस्था प्रकाश केंद्र","known_identities":[],"targets":[{"id":"person","kind":"person","start":80,"end":117,"value":"प्रकाश केंद्र","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["प्रकाश केंद्र"]},"customers":{"required_absent":[],"required_present":["प्रकाश केंद्र"]},"all":{"required_absent":[],"required_present":["प्रकाश केंद्र"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-089","language":"hi","script":"Devanagari","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"**ग्राहक ने उल्लेख किया तनय शर्मा**","known_identities":[],"targets":[{"id":"person","kind":"person","start":60,"end":85,"value":"तनय शर्मा","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["तनय शर्मा"]},"customers":{"required_absent":["तनय शर्मा"],"required_present":[]},"all":{"required_absent":["तनय शर्मा"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-089","language":"hi","script":"Devanagari","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"**सार्वजनिक संस्था प्रकाश मंच**","known_identities":[],"targets":[{"id":"person","kind":"person","start":49,"end":77,"value":"प्रकाश मंच","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["प्रकाश मंच"]},"customers":{"required_absent":[],"required_present":["प्रकाश मंच"]},"all":{"required_absent":[],"required_present":["प्रकाश मंच"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-090","language":"hi","script":"Devanagari","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eग्राहक ने उल्लेख किया वाणी अरोड़ा\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":61,"end":92,"value":"वाणी अरोड़ा","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["वाणी अरोड़ा"]},"customers":{"required_absent":["वाणी अरोड़ा"],"required_present":[]},"all":{"required_absent":["वाणी अरोड़ा"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-090","language":"hi","script":"Devanagari","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eसार्वजनिक संस्था संगम संस्थान\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":50,"end":84,"value":"संगम संस्थान","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["संगम संस्थान"]},"customers":{"required_absent":[],"required_present":["संगम संस्थान"]},"all":{"required_absent":[],"required_present":["संगम संस्थान"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-091","language":"hi","script":"Devanagari","shape":"quoted-reply","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e ग्राहक ने उल्लेख किया वाणी बंसल","known_identities":[],"targets":[{"id":"person","kind":"person","start":60,"end":85,"value":"वाणी बंसल","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["वाणी बंसल"]},"customers":{"required_absent":["वाणी बंसल"],"required_present":[]},"all":{"required_absent":["वाणी बंसल"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-091","language":"hi","script":"Devanagari","shape":"quoted-reply","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e सार्वजनिक संस्था संगम प्रकाशन","known_identities":[],"targets":[{"id":"person","kind":"person","start":49,"end":83,"value":"संगम प्रकाशन","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["संगम प्रकाशन"]},"customers":{"required_absent":[],"required_present":["संगम प्रकाशन"]},"all":{"required_absent":[],"required_present":["संगम प्रकाशन"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-092","language":"hi","script":"Devanagari","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=92 message=\"ग्राहक ने उल्लेख किया \" value=वाणी चौहान","known_identities":[],"targets":[{"id":"person","kind":"person","start":96,"end":124,"value":"वाणी चौहान","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["वाणी चौहान"]},"customers":{"required_absent":["वाणी चौहान"],"required_present":[]},"all":{"required_absent":["वाणी चौहान"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-092","language":"hi","script":"Devanagari","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=92 message=\"सार्वजनिक संस्था \" value=संगम फाउंडेशन","known_identities":[],"targets":[{"id":"person","kind":"person","start":85,"end":122,"value":"संगम फाउंडेशन","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["संगम फाउंडेशन"]},"customers":{"required_absent":[],"required_present":["संगम फाउंडेशन"]},"all":{"required_absent":[],"required_present":["संगम फाउंडेशन"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-093","language":"hi","script":"Devanagari","shape":"stack-trace","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[93]: ग्राहक ने उल्लेख किया वाणी देसाई","known_identities":[],"targets":[{"id":"person","kind":"person","start":69,"end":97,"value":"वाणी देसाई","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["वाणी देसाई"]},"customers":{"required_absent":["वाणी देसाई"],"required_present":[]},"all":{"required_absent":["वाणी देसाई"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-093","language":"hi","script":"Devanagari","shape":"stack-trace","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[93]: सार्वजनिक संस्था संगम प्रयोगशाला","known_identities":[],"targets":[{"id":"person","kind":"person","start":58,"end":101,"value":"संगम प्रयोगशाला","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["संगम प्रयोगशाला"]},"customers":{"required_absent":[],"required_present":["संगम प्रयोगशाला"]},"all":{"required_absent":[],"required_present":["संगम प्रयोगशाला"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-094","language":"hi","script":"Devanagari","shape":"code","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_94 := `ग्राहक ने उल्लेख किया वाणी गोयल`","known_identities":[],"targets":[{"id":"person","kind":"person","start":73,"end":98,"value":"वाणी गोयल","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["वाणी गोयल"]},"customers":{"required_absent":["वाणी गोयल"],"required_present":[]},"all":{"required_absent":["वाणी गोयल"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-094","language":"hi","script":"Devanagari","shape":"code","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_94 := `सार्वजनिक संस्था संगम विद्यालय`","known_identities":[],"targets":[{"id":"person","kind":"person","start":62,"end":99,"value":"संगम विद्यालय","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["संगम विद्यालय"]},"customers":{"required_absent":[],"required_present":["संगम विद्यालय"]},"all":{"required_absent":[],"required_present":["संगम विद्यालय"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-095","language":"hi","script":"Devanagari","shape":"signature","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--\nग्राहक ने उल्लेख किया वाणी कपूर","known_identities":[],"targets":[{"id":"person","kind":"person","start":61,"end":86,"value":"वाणी कपूर","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["वाणी कपूर"]},"customers":{"required_absent":["वाणी कपूर"],"required_present":[]},"all":{"required_absent":["वाणी कपूर"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-095","language":"hi","script":"Devanagari","shape":"signature","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--\nसार्वजनिक संस्था संगम संग्रहालय","known_identities":[],"targets":[{"id":"person","kind":"person","start":50,"end":90,"value":"संगम संग्रहालय","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["संगम संग्रहालय"]},"customers":{"required_absent":[],"required_present":["संगम संग्रहालय"]},"all":{"required_absent":[],"required_present":["संगम संग्रहालय"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-096","language":"hi","script":"Devanagari","shape":"long-thread","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. ग्राहक ने उल्लेख किया वाणी मेहता","known_identities":[],"targets":[{"id":"person","kind":"person","start":538,"end":566,"value":"वाणी मेहता","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["वाणी मेहता"]},"customers":{"required_absent":["वाणी मेहता"],"required_present":[]},"all":{"required_absent":["वाणी मेहता"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-096","language":"hi","script":"Devanagari","shape":"long-thread","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. सार्वजनिक संस्था संगम पुस्तकालय","known_identities":[],"targets":[{"id":"person","kind":"person","start":527,"end":567,"value":"संगम पुस्तकालय","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["संगम पुस्तकालय"]},"customers":{"required_absent":[],"required_present":["संगम पुस्तकालय"]},"all":{"required_absent":[],"required_present":["संगम पुस्तकालय"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-097","language":"hi","script":"Devanagari","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=97 --message=\"ग्राहक ने उल्लेख किया \" --value=वाणी नायर","known_identities":[],"targets":[{"id":"person","kind":"person","start":91,"end":116,"value":"वाणी नायर","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["वाणी नायर"]},"customers":{"required_absent":["वाणी नायर"],"required_present":[]},"all":{"required_absent":["वाणी नायर"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-097","language":"hi","script":"Devanagari","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=97 --message=\"सार्वजनिक संस्था \" --value=संगम परिषद","known_identities":[],"targets":[{"id":"person","kind":"person","start":80,"end":108,"value":"संगम परिषद","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["संगम परिषद"]},"customers":{"required_absent":[],"required_present":["संगम परिषद"]},"all":{"required_absent":[],"required_present":["संगम परिषद"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-098","language":"hi","script":"Devanagari","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"ग्राहक ने उल्लेख किया वाणी पटेल","known_identities":[],"targets":[{"id":"person","kind":"person","start":58,"end":83,"value":"वाणी पटेल","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["वाणी पटेल"]},"customers":{"required_absent":["वाणी पटेल"],"required_present":[]},"all":{"required_absent":["वाणी पटेल"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-098","language":"hi","script":"Devanagari","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"सार्वजनिक संस्था संगम केंद्र","known_identities":[],"targets":[{"id":"person","kind":"person","start":47,"end":78,"value":"संगम केंद्र","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["संगम केंद्र"]},"customers":{"required_absent":[],"required_present":["संगम केंद्र"]},"all":{"required_absent":[],"required_present":["संगम केंद्र"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-099","language":"hi","script":"Devanagari","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_99\":\"ग्राहक ने उल्लेख किया वाणी शर्मा\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":73,"end":101,"value":"वाणी शर्मा","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["वाणी शर्मा"]},"customers":{"required_absent":["वाणी शर्मा"],"required_present":[]},"all":{"required_absent":["वाणी शर्मा"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-099","language":"hi","script":"Devanagari","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_99\":\"सार्वजनिक संस्था संगम मंच\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":62,"end":84,"value":"संगम मंच","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["संगम मंच"]},"customers":{"required_absent":[],"required_present":["संगम मंच"]},"all":{"required_absent":[],"required_present":["संगम मंच"]}},"tags":["broad-quality","multilingual"]} + ] +} diff --git a/internal/pii/testdata/privacy-filter/broad/v1/preservation.json b/internal/pii/testdata/privacy-filter/broad/v1/preservation.json new file mode 100644 index 0000000..4b36604 --- /dev/null +++ b/internal/pii/testdata/privacy-filter/broad/v1/preservation.json @@ -0,0 +1,106 @@ +{ + "schema": 1, + "partition": "preservation", + "cases": [ + {"id":"broad-preservation-checksum-000","language":"en","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"\u003e Published artifact checksum: e8de46b6eb17d64bdeacffa9a6bd65ca4be0fdbe2bc1ba57dc5dc2b6eaa6a1ed","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":31,"end":95,"value":"e8de46b6eb17d64bdeacffa9a6bd65ca4be0fdbe2bc1ba57dc5dc2b6eaa6a1ed","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-000","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["e8de46b6eb17d64bdeacffa9a6bd65ca4be0fdbe2bc1ba57dc5dc2b6eaa6a1ed"]},"customers":{"required_absent":[],"required_present":["e8de46b6eb17d64bdeacffa9a6bd65ca4be0fdbe2bc1ba57dc5dc2b6eaa6a1ed"]},"all":{"required_absent":[],"required_present":["e8de46b6eb17d64bdeacffa9a6bd65ca4be0fdbe2bc1ba57dc5dc2b6eaa6a1ed"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-001","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"level=warn sample=1 message=\"Published artifact checksum: \" value=c03adbbc8f07edfd95a77d98f2cc59e59b6cbdee36d62d39fa4f3eb74b75e7ab","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":66,"end":130,"value":"c03adbbc8f07edfd95a77d98f2cc59e59b6cbdee36d62d39fa4f3eb74b75e7ab","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-001","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["c03adbbc8f07edfd95a77d98f2cc59e59b6cbdee36d62d39fa4f3eb74b75e7ab"]},"customers":{"required_absent":[],"required_present":["c03adbbc8f07edfd95a77d98f2cc59e59b6cbdee36d62d39fa4f3eb74b75e7ab"]},"all":{"required_absent":[],"required_present":["c03adbbc8f07edfd95a77d98f2cc59e59b6cbdee36d62d39fa4f3eb74b75e7ab"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-002","language":"en","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"Trace[2]: Published artifact checksum: b6fae2a21b95ee8c6ed83a37c90f99a0ab1ce30c74a0aef2d10d92eedfeddc7c","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":39,"end":103,"value":"b6fae2a21b95ee8c6ed83a37c90f99a0ab1ce30c74a0aef2d10d92eedfeddc7c","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-002","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["b6fae2a21b95ee8c6ed83a37c90f99a0ab1ce30c74a0aef2d10d92eedfeddc7c"]},"customers":{"required_absent":[],"required_present":["b6fae2a21b95ee8c6ed83a37c90f99a0ab1ce30c74a0aef2d10d92eedfeddc7c"]},"all":{"required_absent":[],"required_present":["b6fae2a21b95ee8c6ed83a37c90f99a0ab1ce30c74a0aef2d10d92eedfeddc7c"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-003","language":"en","script":"Latin","shape":"code","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"fixture_3 := `Published artifact checksum: d0bb5db00c24b08dc9c1ae5be5da11f91c7cb8ea88f88e78f1ba07fcaa2ad8fa`","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":43,"end":107,"value":"d0bb5db00c24b08dc9c1ae5be5da11f91c7cb8ea88f88e78f1ba07fcaa2ad8fa","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-003","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["d0bb5db00c24b08dc9c1ae5be5da11f91c7cb8ea88f88e78f1ba07fcaa2ad8fa"]},"customers":{"required_absent":[],"required_present":["d0bb5db00c24b08dc9c1ae5be5da11f91c7cb8ea88f88e78f1ba07fcaa2ad8fa"]},"all":{"required_absent":[],"required_present":["d0bb5db00c24b08dc9c1ae5be5da11f91c7cb8ea88f88e78f1ba07fcaa2ad8fa"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-004","language":"en","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"--\nPublished artifact checksum: c0ad28b6be86cb6bf1c70f31d68d98b80ca2a0efede8ea96b6cc31facb97ccea","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":32,"end":96,"value":"c0ad28b6be86cb6bf1c70f31d68d98b80ca2a0efede8ea96b6cc31facb97ccea","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-004","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["c0ad28b6be86cb6bf1c70f31d68d98b80ca2a0efede8ea96b6cc31facb97ccea"]},"customers":{"required_absent":[],"required_present":["c0ad28b6be86cb6bf1c70f31d68d98b80ca2a0efede8ea96b6cc31facb97ccea"]},"all":{"required_absent":[],"required_present":["c0ad28b6be86cb6bf1c70f31d68d98b80ca2a0efede8ea96b6cc31facb97ccea"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-005","language":"en","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Published artifact checksum: f56d14c7beb6c6ffdacefcd6edef39e79cc3e3fc69b95ca6dd6cb8a30d5bdd3c","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":509,"end":573,"value":"f56d14c7beb6c6ffdacefcd6edef39e79cc3e3fc69b95ca6dd6cb8a30d5bdd3c","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-005","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["f56d14c7beb6c6ffdacefcd6edef39e79cc3e3fc69b95ca6dd6cb8a30d5bdd3c"]},"customers":{"required_absent":[],"required_present":["f56d14c7beb6c6ffdacefcd6edef39e79cc3e3fc69b95ca6dd6cb8a30d5bdd3c"]},"all":{"required_absent":[],"required_present":["f56d14c7beb6c6ffdacefcd6edef39e79cc3e3fc69b95ca6dd6cb8a30d5bdd3c"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-006","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"--sample=6 --message=\"Published artifact checksum: \" --value=fcefd6fcba85a56db6cb9bfcc20f04bebae0ad5f00b42d81af4f89d9bf72d00e","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":61,"end":125,"value":"fcefd6fcba85a56db6cb9bfcc20f04bebae0ad5f00b42d81af4f89d9bf72d00e","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-006","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["fcefd6fcba85a56db6cb9bfcc20f04bebae0ad5f00b42d81af4f89d9bf72d00e"]},"customers":{"required_absent":[],"required_present":["fcefd6fcba85a56db6cb9bfcc20f04bebae0ad5f00b42d81af4f89d9bf72d00e"]},"all":{"required_absent":[],"required_present":["fcefd6fcba85a56db6cb9bfcc20f04bebae0ad5f00b42d81af4f89d9bf72d00e"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-007","language":"en","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"Published artifact checksum: d09a72c4eaa5c43b24a42e2aa55c68ff1f45dd0a33e35d83a71ddbc7ad57bddb","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":29,"end":93,"value":"d09a72c4eaa5c43b24a42e2aa55c68ff1f45dd0a33e35d83a71ddbc7ad57bddb","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-007","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["d09a72c4eaa5c43b24a42e2aa55c68ff1f45dd0a33e35d83a71ddbc7ad57bddb"]},"customers":{"required_absent":[],"required_present":["d09a72c4eaa5c43b24a42e2aa55c68ff1f45dd0a33e35d83a71ddbc7ad57bddb"]},"all":{"required_absent":[],"required_present":["d09a72c4eaa5c43b24a42e2aa55c68ff1f45dd0a33e35d83a71ddbc7ad57bddb"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-008","language":"en","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"{\"message_8\":\"Published artifact checksum: be9e49afff61d34f36c5bed5ad1c46e92acdbb4d13fffc55b23d2ed37d48ccaf\"}","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":43,"end":107,"value":"be9e49afff61d34f36c5bed5ad1c46e92acdbb4d13fffc55b23d2ed37d48ccaf","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-008","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["be9e49afff61d34f36c5bed5ad1c46e92acdbb4d13fffc55b23d2ed37d48ccaf"]},"customers":{"required_absent":[],"required_present":["be9e49afff61d34f36c5bed5ad1c46e92acdbb4d13fffc55b23d2ed37d48ccaf"]},"all":{"required_absent":[],"required_present":["be9e49afff61d34f36c5bed5ad1c46e92acdbb4d13fffc55b23d2ed37d48ccaf"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-009","language":"en","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"message_9: Published artifact checksum: d26d48c6fdeccfccdabd5d87f34ab9c75cdce45becbd0e26fe8fe1e89a98b06f","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":40,"end":104,"value":"d26d48c6fdeccfccdabd5d87f34ab9c75cdce45becbd0e26fe8fe1e89a98b06f","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-009","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["d26d48c6fdeccfccdabd5d87f34ab9c75cdce45becbd0e26fe8fe1e89a98b06f"]},"customers":{"required_absent":[],"required_present":["d26d48c6fdeccfccdabd5d87f34ab9c75cdce45becbd0e26fe8fe1e89a98b06f"]},"all":{"required_absent":[],"required_present":["d26d48c6fdeccfccdabd5d87f34ab9c75cdce45becbd0e26fe8fe1e89a98b06f"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-010","language":"en","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"MESSAGE_10='Published artifact checksum: a61ee3e43dccc8ad0abbadbce52ceedbdd20c16d63d0ad33d62f64dcab07c3fe'","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":41,"end":105,"value":"a61ee3e43dccc8ad0abbadbce52ceedbdd20c16d63d0ad33d62f64dcab07c3fe","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-010","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["a61ee3e43dccc8ad0abbadbce52ceedbdd20c16d63d0ad33d62f64dcab07c3fe"]},"customers":{"required_absent":[],"required_present":["a61ee3e43dccc8ad0abbadbce52ceedbdd20c16d63d0ad33d62f64dcab07c3fe"]},"all":{"required_absent":[],"required_present":["a61ee3e43dccc8ad0abbadbce52ceedbdd20c16d63d0ad33d62f64dcab07c3fe"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-011","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"endpoint=https://192.0.2.10/11 ; Published artifact checksum: a23fcfc7bd0cb67e9cc3fc1ac6feffed1c4afcaa5ef24ae0b77f7be7dca2b58a","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":62,"end":126,"value":"a23fcfc7bd0cb67e9cc3fc1ac6feffed1c4afcaa5ef24ae0b77f7be7dca2b58a","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-011","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["a23fcfc7bd0cb67e9cc3fc1ac6feffed1c4afcaa5ef24ae0b77f7be7dca2b58a"]},"customers":{"required_absent":[],"required_present":["a23fcfc7bd0cb67e9cc3fc1ac6feffed1c4afcaa5ef24ae0b77f7be7dca2b58a"]},"all":{"required_absent":[],"required_present":["a23fcfc7bd0cb67e9cc3fc1ac6feffed1c4afcaa5ef24ae0b77f7be7dca2b58a"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-012","language":"en","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"**Published artifact checksum: f34fb3fbdd22f3dacbbc4fc7f57b69c9addcf68e2db70a07dfde69cfcb11c1af**","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":31,"end":95,"value":"f34fb3fbdd22f3dacbbc4fc7f57b69c9addcf68e2db70a07dfde69cfcb11c1af","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-012","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["f34fb3fbdd22f3dacbbc4fc7f57b69c9addcf68e2db70a07dfde69cfcb11c1af"]},"customers":{"required_absent":[],"required_present":["f34fb3fbdd22f3dacbbc4fc7f57b69c9addcf68e2db70a07dfde69cfcb11c1af"]},"all":{"required_absent":[],"required_present":["f34fb3fbdd22f3dacbbc4fc7f57b69c9addcf68e2db70a07dfde69cfcb11c1af"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-013","language":"en","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"\u003cp\u003ePublished artifact checksum: f21c27e57a7ae69f5de54a89f52d6ff66c6ac42cf9ee3acaf18b60a3aa58d6dd\u003c/p\u003e","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":32,"end":96,"value":"f21c27e57a7ae69f5de54a89f52d6ff66c6ac42cf9ee3acaf18b60a3aa58d6dd","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-013","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["f21c27e57a7ae69f5de54a89f52d6ff66c6ac42cf9ee3acaf18b60a3aa58d6dd"]},"customers":{"required_absent":[],"required_present":["f21c27e57a7ae69f5de54a89f52d6ff66c6ac42cf9ee3acaf18b60a3aa58d6dd"]},"all":{"required_absent":[],"required_present":["f21c27e57a7ae69f5de54a89f52d6ff66c6ac42cf9ee3acaf18b60a3aa58d6dd"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-014","language":"en","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"\u003e Published artifact checksum: b32ee3f67b43a2bef2c35b35d51b07f03e1bdc9f30e59e3fae5afecd2c2fd1ac","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":31,"end":95,"value":"b32ee3f67b43a2bef2c35b35d51b07f03e1bdc9f30e59e3fae5afecd2c2fd1ac","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-014","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["b32ee3f67b43a2bef2c35b35d51b07f03e1bdc9f30e59e3fae5afecd2c2fd1ac"]},"customers":{"required_absent":[],"required_present":["b32ee3f67b43a2bef2c35b35d51b07f03e1bdc9f30e59e3fae5afecd2c2fd1ac"]},"all":{"required_absent":[],"required_present":["b32ee3f67b43a2bef2c35b35d51b07f03e1bdc9f30e59e3fae5afecd2c2fd1ac"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-015","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"level=warn sample=15 message=\"Published artifact checksum: \" value=c09d61f8cc70f95a10f22ed4c7dd06f22f09afab9aad1d68f04d2da7ed3eb5dc","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":67,"end":131,"value":"c09d61f8cc70f95a10f22ed4c7dd06f22f09afab9aad1d68f04d2da7ed3eb5dc","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-015","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["c09d61f8cc70f95a10f22ed4c7dd06f22f09afab9aad1d68f04d2da7ed3eb5dc"]},"customers":{"required_absent":[],"required_present":["c09d61f8cc70f95a10f22ed4c7dd06f22f09afab9aad1d68f04d2da7ed3eb5dc"]},"all":{"required_absent":[],"required_present":["c09d61f8cc70f95a10f22ed4c7dd06f22f09afab9aad1d68f04d2da7ed3eb5dc"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-016","language":"en","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"Trace[16]: Published artifact checksum: a74c9ee07c04a4bed2c8de18c26df2d9aecfa28addf9ca04ff6d3bcdaa5ab35c","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":40,"end":104,"value":"a74c9ee07c04a4bed2c8de18c26df2d9aecfa28addf9ca04ff6d3bcdaa5ab35c","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-016","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["a74c9ee07c04a4bed2c8de18c26df2d9aecfa28addf9ca04ff6d3bcdaa5ab35c"]},"customers":{"required_absent":[],"required_present":["a74c9ee07c04a4bed2c8de18c26df2d9aecfa28addf9ca04ff6d3bcdaa5ab35c"]},"all":{"required_absent":[],"required_present":["a74c9ee07c04a4bed2c8de18c26df2d9aecfa28addf9ca04ff6d3bcdaa5ab35c"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-017","language":"en","script":"Latin","shape":"code","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"fixture_17 := `Published artifact checksum: b51d51b99dc8b01eeedc9e0dbabc21abff8cd8ccdaf1ce9ce79ccdee9a8db40e`","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":44,"end":108,"value":"b51d51b99dc8b01eeedc9e0dbabc21abff8cd8ccdaf1ce9ce79ccdee9a8db40e","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-017","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["b51d51b99dc8b01eeedc9e0dbabc21abff8cd8ccdaf1ce9ce79ccdee9a8db40e"]},"customers":{"required_absent":[],"required_present":["b51d51b99dc8b01eeedc9e0dbabc21abff8cd8ccdaf1ce9ce79ccdee9a8db40e"]},"all":{"required_absent":[],"required_present":["b51d51b99dc8b01eeedc9e0dbabc21abff8cd8ccdaf1ce9ce79ccdee9a8db40e"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-018","language":"en","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"--\nPublished artifact checksum: f1fc6dae0dc1c74a0be1bb5ddfcd4edf0bd5ecadf4a0fb3cb77ed3a3bcd9c37b","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":32,"end":96,"value":"f1fc6dae0dc1c74a0be1bb5ddfcd4edf0bd5ecadf4a0fb3cb77ed3a3bcd9c37b","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-018","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["f1fc6dae0dc1c74a0be1bb5ddfcd4edf0bd5ecadf4a0fb3cb77ed3a3bcd9c37b"]},"customers":{"required_absent":[],"required_present":["f1fc6dae0dc1c74a0be1bb5ddfcd4edf0bd5ecadf4a0fb3cb77ed3a3bcd9c37b"]},"all":{"required_absent":[],"required_present":["f1fc6dae0dc1c74a0be1bb5ddfcd4edf0bd5ecadf4a0fb3cb77ed3a3bcd9c37b"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-019","language":"en","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Published artifact checksum: dd7bc7b14c04e73ae0dc8d5fa30d34ca0fb5a23ff0ce6e89f18e0def9fdffaec","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":509,"end":573,"value":"dd7bc7b14c04e73ae0dc8d5fa30d34ca0fb5a23ff0ce6e89f18e0def9fdffaec","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-019","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["dd7bc7b14c04e73ae0dc8d5fa30d34ca0fb5a23ff0ce6e89f18e0def9fdffaec"]},"customers":{"required_absent":[],"required_present":["dd7bc7b14c04e73ae0dc8d5fa30d34ca0fb5a23ff0ce6e89f18e0def9fdffaec"]},"all":{"required_absent":[],"required_present":["dd7bc7b14c04e73ae0dc8d5fa30d34ca0fb5a23ff0ce6e89f18e0def9fdffaec"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-020","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"--sample=20 --message=\"Published artifact checksum: \" --value=e3eb88c57a77e69b8cfb7f4eb6ee22fd9afdc5bd65bf7b3ba6ab08c3eb4bc39a","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":62,"end":126,"value":"e3eb88c57a77e69b8cfb7f4eb6ee22fd9afdc5bd65bf7b3ba6ab08c3eb4bc39a","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-020","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["e3eb88c57a77e69b8cfb7f4eb6ee22fd9afdc5bd65bf7b3ba6ab08c3eb4bc39a"]},"customers":{"required_absent":[],"required_present":["e3eb88c57a77e69b8cfb7f4eb6ee22fd9afdc5bd65bf7b3ba6ab08c3eb4bc39a"]},"all":{"required_absent":[],"required_present":["e3eb88c57a77e69b8cfb7f4eb6ee22fd9afdc5bd65bf7b3ba6ab08c3eb4bc39a"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-021","language":"en","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"Published artifact checksum: cb9c9ae40c1cd78b91ce6e1fd2eff3dbbf85f8dae1b0ba2cc92cf3ae1c3af2dd","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":29,"end":93,"value":"cb9c9ae40c1cd78b91ce6e1fd2eff3dbbf85f8dae1b0ba2cc92cf3ae1c3af2dd","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-021","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["cb9c9ae40c1cd78b91ce6e1fd2eff3dbbf85f8dae1b0ba2cc92cf3ae1c3af2dd"]},"customers":{"required_absent":[],"required_present":["cb9c9ae40c1cd78b91ce6e1fd2eff3dbbf85f8dae1b0ba2cc92cf3ae1c3af2dd"]},"all":{"required_absent":[],"required_present":["cb9c9ae40c1cd78b91ce6e1fd2eff3dbbf85f8dae1b0ba2cc92cf3ae1c3af2dd"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-022","language":"en","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"{\"message_22\":\"Published artifact checksum: fa6c1ca39a57caced6c29b1fad1df7f06ba1f54c43b3fb3ce27b90bfbe45a6ee\"}","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":44,"end":108,"value":"fa6c1ca39a57caced6c29b1fad1df7f06ba1f54c43b3fb3ce27b90bfbe45a6ee","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-022","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["fa6c1ca39a57caced6c29b1fad1df7f06ba1f54c43b3fb3ce27b90bfbe45a6ee"]},"customers":{"required_absent":[],"required_present":["fa6c1ca39a57caced6c29b1fad1df7f06ba1f54c43b3fb3ce27b90bfbe45a6ee"]},"all":{"required_absent":[],"required_present":["fa6c1ca39a57caced6c29b1fad1df7f06ba1f54c43b3fb3ce27b90bfbe45a6ee"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-023","language":"en","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"message_23: Published artifact checksum: ecab0fb75e8ddc2b46e55f29fa1cbdea0d82d9eafec28aa6abbc41a6ed5cadae","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":41,"end":105,"value":"ecab0fb75e8ddc2b46e55f29fa1cbdea0d82d9eafec28aa6abbc41a6ed5cadae","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-023","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["ecab0fb75e8ddc2b46e55f29fa1cbdea0d82d9eafec28aa6abbc41a6ed5cadae"]},"customers":{"required_absent":[],"required_present":["ecab0fb75e8ddc2b46e55f29fa1cbdea0d82d9eafec28aa6abbc41a6ed5cadae"]},"all":{"required_absent":[],"required_present":["ecab0fb75e8ddc2b46e55f29fa1cbdea0d82d9eafec28aa6abbc41a6ed5cadae"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-024","language":"en","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"MESSAGE_24='Published artifact checksum: d75cd2adfba0faca1cd9cae7a52d79e0ebc1b27ab5f8ab88fe5bf9ef5dffc65e'","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":41,"end":105,"value":"d75cd2adfba0faca1cd9cae7a52d79e0ebc1b27ab5f8ab88fe5bf9ef5dffc65e","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-024","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["d75cd2adfba0faca1cd9cae7a52d79e0ebc1b27ab5f8ab88fe5bf9ef5dffc65e"]},"customers":{"required_absent":[],"required_present":["d75cd2adfba0faca1cd9cae7a52d79e0ebc1b27ab5f8ab88fe5bf9ef5dffc65e"]},"all":{"required_absent":[],"required_present":["d75cd2adfba0faca1cd9cae7a52d79e0ebc1b27ab5f8ab88fe5bf9ef5dffc65e"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-025","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"endpoint=https://192.0.2.10/25 ; Published artifact checksum: a94d74ecdaf0f32d2ea8be12c66feeb55a55d17b7afb2b7cbf4be6fb7d1be9bf","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":62,"end":126,"value":"a94d74ecdaf0f32d2ea8be12c66feeb55a55d17b7afb2b7cbf4be6fb7d1be9bf","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-025","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["a94d74ecdaf0f32d2ea8be12c66feeb55a55d17b7afb2b7cbf4be6fb7d1be9bf"]},"customers":{"required_absent":[],"required_present":["a94d74ecdaf0f32d2ea8be12c66feeb55a55d17b7afb2b7cbf4be6fb7d1be9bf"]},"all":{"required_absent":[],"required_present":["a94d74ecdaf0f32d2ea8be12c66feeb55a55d17b7afb2b7cbf4be6fb7d1be9bf"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-026","language":"en","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"**Published artifact checksum: d71c1fbb1b04b9caa5f7ad2df87f0cd41c39d17d21ae3fded82e82ee2c53cfaa**","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":31,"end":95,"value":"d71c1fbb1b04b9caa5f7ad2df87f0cd41c39d17d21ae3fded82e82ee2c53cfaa","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-026","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["d71c1fbb1b04b9caa5f7ad2df87f0cd41c39d17d21ae3fded82e82ee2c53cfaa"]},"customers":{"required_absent":[],"required_present":["d71c1fbb1b04b9caa5f7ad2df87f0cd41c39d17d21ae3fded82e82ee2c53cfaa"]},"all":{"required_absent":[],"required_present":["d71c1fbb1b04b9caa5f7ad2df87f0cd41c39d17d21ae3fded82e82ee2c53cfaa"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-027","language":"en","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"\u003cp\u003ePublished artifact checksum: cb2a2fe1cf32bdbfefb21cc4aa0d1ac0aee6dd3dbfba3ce7b19fa5b1bd6aec2b\u003c/p\u003e","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":32,"end":96,"value":"cb2a2fe1cf32bdbfefb21cc4aa0d1ac0aee6dd3dbfba3ce7b19fa5b1bd6aec2b","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-027","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["cb2a2fe1cf32bdbfefb21cc4aa0d1ac0aee6dd3dbfba3ce7b19fa5b1bd6aec2b"]},"customers":{"required_absent":[],"required_present":["cb2a2fe1cf32bdbfefb21cc4aa0d1ac0aee6dd3dbfba3ce7b19fa5b1bd6aec2b"]},"all":{"required_absent":[],"required_present":["cb2a2fe1cf32bdbfefb21cc4aa0d1ac0aee6dd3dbfba3ce7b19fa5b1bd6aec2b"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-028","language":"en","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"\u003e Published artifact checksum: ac3ef8d28a06f40e15b68f78f81d2fb6ebdcf80d77f1ce2cc4eae2e4ba53b5bc","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":31,"end":95,"value":"ac3ef8d28a06f40e15b68f78f81d2fb6ebdcf80d77f1ce2cc4eae2e4ba53b5bc","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-028","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["ac3ef8d28a06f40e15b68f78f81d2fb6ebdcf80d77f1ce2cc4eae2e4ba53b5bc"]},"customers":{"required_absent":[],"required_present":["ac3ef8d28a06f40e15b68f78f81d2fb6ebdcf80d77f1ce2cc4eae2e4ba53b5bc"]},"all":{"required_absent":[],"required_present":["ac3ef8d28a06f40e15b68f78f81d2fb6ebdcf80d77f1ce2cc4eae2e4ba53b5bc"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-029","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"level=warn sample=29 message=\"Published artifact checksum: \" value=bf8a5dbdfd41f2dee8be8b45ba5ea6cfac81f28e9ee83ba2c53acaecafd1e40c","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":67,"end":131,"value":"bf8a5dbdfd41f2dee8be8b45ba5ea6cfac81f28e9ee83ba2c53acaecafd1e40c","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-029","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["bf8a5dbdfd41f2dee8be8b45ba5ea6cfac81f28e9ee83ba2c53acaecafd1e40c"]},"customers":{"required_absent":[],"required_present":["bf8a5dbdfd41f2dee8be8b45ba5ea6cfac81f28e9ee83ba2c53acaecafd1e40c"]},"all":{"required_absent":[],"required_present":["bf8a5dbdfd41f2dee8be8b45ba5ea6cfac81f28e9ee83ba2c53acaecafd1e40c"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-030","language":"en","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"Trace[30]: Published artifact checksum: c37d44f79c6ff23e85afae48fd7fffd01c3fd59f30f84f53d68f76ce8fddf99c","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":40,"end":104,"value":"c37d44f79c6ff23e85afae48fd7fffd01c3fd59f30f84f53d68f76ce8fddf99c","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-030","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["c37d44f79c6ff23e85afae48fd7fffd01c3fd59f30f84f53d68f76ce8fddf99c"]},"customers":{"required_absent":[],"required_present":["c37d44f79c6ff23e85afae48fd7fffd01c3fd59f30f84f53d68f76ce8fddf99c"]},"all":{"required_absent":[],"required_present":["c37d44f79c6ff23e85afae48fd7fffd01c3fd59f30f84f53d68f76ce8fddf99c"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-031","language":"en","script":"Latin","shape":"code","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"fixture_31 := `Published artifact checksum: cf9f1abfaccff1de6bdf3acdab1a2caeefe6daec32c64c2cf65eb2a98c65aeeb`","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":44,"end":108,"value":"cf9f1abfaccff1de6bdf3acdab1a2caeefe6daec32c64c2cf65eb2a98c65aeeb","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-031","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["cf9f1abfaccff1de6bdf3acdab1a2caeefe6daec32c64c2cf65eb2a98c65aeeb"]},"customers":{"required_absent":[],"required_present":["cf9f1abfaccff1de6bdf3acdab1a2caeefe6daec32c64c2cf65eb2a98c65aeeb"]},"all":{"required_absent":[],"required_present":["cf9f1abfaccff1de6bdf3acdab1a2caeefe6daec32c64c2cf65eb2a98c65aeeb"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-032","language":"en","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"--\nPublished artifact checksum: abdf91afbc00aa2c30a41b54e14ee9bf3f76e68e8edbfe22e9bf9cff6bddacee","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":32,"end":96,"value":"abdf91afbc00aa2c30a41b54e14ee9bf3f76e68e8edbfe22e9bf9cff6bddacee","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-032","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["abdf91afbc00aa2c30a41b54e14ee9bf3f76e68e8edbfe22e9bf9cff6bddacee"]},"customers":{"required_absent":[],"required_present":["abdf91afbc00aa2c30a41b54e14ee9bf3f76e68e8edbfe22e9bf9cff6bddacee"]},"all":{"required_absent":[],"required_present":["abdf91afbc00aa2c30a41b54e14ee9bf3f76e68e8edbfe22e9bf9cff6bddacee"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-033","language":"en","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Published artifact checksum: b08f27de0d49a72d6eb42b23fc3ae5b7eee3d7dcecbd4d00ef4c76c8ea5bc99c","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":509,"end":573,"value":"b08f27de0d49a72d6eb42b23fc3ae5b7eee3d7dcecbd4d00ef4c76c8ea5bc99c","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-033","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["b08f27de0d49a72d6eb42b23fc3ae5b7eee3d7dcecbd4d00ef4c76c8ea5bc99c"]},"customers":{"required_absent":[],"required_present":["b08f27de0d49a72d6eb42b23fc3ae5b7eee3d7dcecbd4d00ef4c76c8ea5bc99c"]},"all":{"required_absent":[],"required_present":["b08f27de0d49a72d6eb42b23fc3ae5b7eee3d7dcecbd4d00ef4c76c8ea5bc99c"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-034","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"--sample=34 --message=\"Published artifact checksum: \" --value=b34b05cdac9fef6bfed69f19e52a29f68e52ed6d6dcc9b34d5ac07c94ec9d4db","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":62,"end":126,"value":"b34b05cdac9fef6bfed69f19e52a29f68e52ed6d6dcc9b34d5ac07c94ec9d4db","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-034","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["b34b05cdac9fef6bfed69f19e52a29f68e52ed6d6dcc9b34d5ac07c94ec9d4db"]},"customers":{"required_absent":[],"required_present":["b34b05cdac9fef6bfed69f19e52a29f68e52ed6d6dcc9b34d5ac07c94ec9d4db"]},"all":{"required_absent":[],"required_present":["b34b05cdac9fef6bfed69f19e52a29f68e52ed6d6dcc9b34d5ac07c94ec9d4db"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-035","language":"en","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"Published artifact checksum: e10e9ce10fa7a90cd6bbaa79df5b41cc2c9fd70c61efbfd3dbcda7d09cb7b21f","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":29,"end":93,"value":"e10e9ce10fa7a90cd6bbaa79df5b41cc2c9fd70c61efbfd3dbcda7d09cb7b21f","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-035","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["e10e9ce10fa7a90cd6bbaa79df5b41cc2c9fd70c61efbfd3dbcda7d09cb7b21f"]},"customers":{"required_absent":[],"required_present":["e10e9ce10fa7a90cd6bbaa79df5b41cc2c9fd70c61efbfd3dbcda7d09cb7b21f"]},"all":{"required_absent":[],"required_present":["e10e9ce10fa7a90cd6bbaa79df5b41cc2c9fd70c61efbfd3dbcda7d09cb7b21f"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-036","language":"en","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"{\"message_36\":\"Published artifact checksum: c1bd4fd46e00f6fc3bf9ea00d60a92d6fb3ec4df57e53accb5fd00ae7b63f76f\"}","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":44,"end":108,"value":"c1bd4fd46e00f6fc3bf9ea00d60a92d6fb3ec4df57e53accb5fd00ae7b63f76f","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-036","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["c1bd4fd46e00f6fc3bf9ea00d60a92d6fb3ec4df57e53accb5fd00ae7b63f76f"]},"customers":{"required_absent":[],"required_present":["c1bd4fd46e00f6fc3bf9ea00d60a92d6fb3ec4df57e53accb5fd00ae7b63f76f"]},"all":{"required_absent":[],"required_present":["c1bd4fd46e00f6fc3bf9ea00d60a92d6fb3ec4df57e53accb5fd00ae7b63f76f"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-037","language":"en","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"message_37: Published artifact checksum: d3acc2c28fbccdff4dce7c28e90b53b0ca44c99b48a1dc4cdacc6fbf6c2ee89e","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":41,"end":105,"value":"d3acc2c28fbccdff4dce7c28e90b53b0ca44c99b48a1dc4cdacc6fbf6c2ee89e","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-037","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["d3acc2c28fbccdff4dce7c28e90b53b0ca44c99b48a1dc4cdacc6fbf6c2ee89e"]},"customers":{"required_absent":[],"required_present":["d3acc2c28fbccdff4dce7c28e90b53b0ca44c99b48a1dc4cdacc6fbf6c2ee89e"]},"all":{"required_absent":[],"required_present":["d3acc2c28fbccdff4dce7c28e90b53b0ca44c99b48a1dc4cdacc6fbf6c2ee89e"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-038","language":"en","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"MESSAGE_38='Published artifact checksum: e71f26d20e23c20adcf35ba6e54d8fc2bd2fb6fc42b99a09f5cac2c75c99c70d'","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":41,"end":105,"value":"e71f26d20e23c20adcf35ba6e54d8fc2bd2fb6fc42b99a09f5cac2c75c99c70d","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-038","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["e71f26d20e23c20adcf35ba6e54d8fc2bd2fb6fc42b99a09f5cac2c75c99c70d"]},"customers":{"required_absent":[],"required_present":["e71f26d20e23c20adcf35ba6e54d8fc2bd2fb6fc42b99a09f5cac2c75c99c70d"]},"all":{"required_absent":[],"required_present":["e71f26d20e23c20adcf35ba6e54d8fc2bd2fb6fc42b99a09f5cac2c75c99c70d"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-039","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"endpoint=https://192.0.2.10/39 ; Published artifact checksum: d73ba1baab1ea47c83d1cdf8b8fe51e8ddf2f0faa1c20e12c36a25d34c90c29b","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":62,"end":126,"value":"d73ba1baab1ea47c83d1cdf8b8fe51e8ddf2f0faa1c20e12c36a25d34c90c29b","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-039","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["d73ba1baab1ea47c83d1cdf8b8fe51e8ddf2f0faa1c20e12c36a25d34c90c29b"]},"customers":{"required_absent":[],"required_present":["d73ba1baab1ea47c83d1cdf8b8fe51e8ddf2f0faa1c20e12c36a25d34c90c29b"]},"all":{"required_absent":[],"required_present":["d73ba1baab1ea47c83d1cdf8b8fe51e8ddf2f0faa1c20e12c36a25d34c90c29b"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-040","language":"en","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"**Published artifact checksum: ca4e2caebb30d65d51d18ca2bf1b5faccbf4cdca73c46e60ffdeceaa2d6bfaca**","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":31,"end":95,"value":"ca4e2caebb30d65d51d18ca2bf1b5faccbf4cdca73c46e60ffdeceaa2d6bfaca","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-040","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["ca4e2caebb30d65d51d18ca2bf1b5faccbf4cdca73c46e60ffdeceaa2d6bfaca"]},"customers":{"required_absent":[],"required_present":["ca4e2caebb30d65d51d18ca2bf1b5faccbf4cdca73c46e60ffdeceaa2d6bfaca"]},"all":{"required_absent":[],"required_present":["ca4e2caebb30d65d51d18ca2bf1b5faccbf4cdca73c46e60ffdeceaa2d6bfaca"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-041","language":"en","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"\u003cp\u003ePublished artifact checksum: c0dea0a7cd8cb6cac5d88d8ec7de45e3afd4db9dc5b47c5ecd9a66b57c90f4ac\u003c/p\u003e","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":32,"end":96,"value":"c0dea0a7cd8cb6cac5d88d8ec7de45e3afd4db9dc5b47c5ecd9a66b57c90f4ac","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-041","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["c0dea0a7cd8cb6cac5d88d8ec7de45e3afd4db9dc5b47c5ecd9a66b57c90f4ac"]},"customers":{"required_absent":[],"required_present":["c0dea0a7cd8cb6cac5d88d8ec7de45e3afd4db9dc5b47c5ecd9a66b57c90f4ac"]},"all":{"required_absent":[],"required_present":["c0dea0a7cd8cb6cac5d88d8ec7de45e3afd4db9dc5b47c5ecd9a66b57c90f4ac"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-042","language":"en","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"\u003e Published artifact checksum: b0dd45a5bbf1e7bd2aee8e8ca5cb07ec0d8ef57ef6bc1dd3e52d99a52a55fa1b","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":31,"end":95,"value":"b0dd45a5bbf1e7bd2aee8e8ca5cb07ec0d8ef57ef6bc1dd3e52d99a52a55fa1b","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-042","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["b0dd45a5bbf1e7bd2aee8e8ca5cb07ec0d8ef57ef6bc1dd3e52d99a52a55fa1b"]},"customers":{"required_absent":[],"required_present":["b0dd45a5bbf1e7bd2aee8e8ca5cb07ec0d8ef57ef6bc1dd3e52d99a52a55fa1b"]},"all":{"required_absent":[],"required_present":["b0dd45a5bbf1e7bd2aee8e8ca5cb07ec0d8ef57ef6bc1dd3e52d99a52a55fa1b"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-043","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"level=warn sample=43 message=\"Published artifact checksum: \" value=a85ef4c1fbb4bc4c29c07beefdfff7c0da0ea1eb4ec72c5ea21ad3cf3bd1ab7d","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":67,"end":131,"value":"a85ef4c1fbb4bc4c29c07beefdfff7c0da0ea1eb4ec72c5ea21ad3cf3bd1ab7d","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-043","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["a85ef4c1fbb4bc4c29c07beefdfff7c0da0ea1eb4ec72c5ea21ad3cf3bd1ab7d"]},"customers":{"required_absent":[],"required_present":["a85ef4c1fbb4bc4c29c07beefdfff7c0da0ea1eb4ec72c5ea21ad3cf3bd1ab7d"]},"all":{"required_absent":[],"required_present":["a85ef4c1fbb4bc4c29c07beefdfff7c0da0ea1eb4ec72c5ea21ad3cf3bd1ab7d"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-044","language":"en","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"Trace[44]: Published artifact checksum: b33f04b56d0fd65f84fc6b3ba35a58c30e59da1ae2e24d3ea2db2fc4dddeda2a","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":40,"end":104,"value":"b33f04b56d0fd65f84fc6b3ba35a58c30e59da1ae2e24d3ea2db2fc4dddeda2a","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-044","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["b33f04b56d0fd65f84fc6b3ba35a58c30e59da1ae2e24d3ea2db2fc4dddeda2a"]},"customers":{"required_absent":[],"required_present":["b33f04b56d0fd65f84fc6b3ba35a58c30e59da1ae2e24d3ea2db2fc4dddeda2a"]},"all":{"required_absent":[],"required_present":["b33f04b56d0fd65f84fc6b3ba35a58c30e59da1ae2e24d3ea2db2fc4dddeda2a"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-045","language":"en","script":"Latin","shape":"code","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"fixture_45 := `Published artifact checksum: db1dabc12fe5d65c54d75ed5f4bf5ded1c90a9cf88e61b6bb2cb89a70a90b0fc`","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":44,"end":108,"value":"db1dabc12fe5d65c54d75ed5f4bf5ded1c90a9cf88e61b6bb2cb89a70a90b0fc","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-045","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["db1dabc12fe5d65c54d75ed5f4bf5ded1c90a9cf88e61b6bb2cb89a70a90b0fc"]},"customers":{"required_absent":[],"required_present":["db1dabc12fe5d65c54d75ed5f4bf5ded1c90a9cf88e61b6bb2cb89a70a90b0fc"]},"all":{"required_absent":[],"required_present":["db1dabc12fe5d65c54d75ed5f4bf5ded1c90a9cf88e61b6bb2cb89a70a90b0fc"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-046","language":"en","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"--\nPublished artifact checksum: b1ba7fcfbe3ea73f18a75a20e2ecb0b08d31e9ad28fd3bd9c98c5dbb1a19b78b","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":32,"end":96,"value":"b1ba7fcfbe3ea73f18a75a20e2ecb0b08d31e9ad28fd3bd9c98c5dbb1a19b78b","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-046","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["b1ba7fcfbe3ea73f18a75a20e2ecb0b08d31e9ad28fd3bd9c98c5dbb1a19b78b"]},"customers":{"required_absent":[],"required_present":["b1ba7fcfbe3ea73f18a75a20e2ecb0b08d31e9ad28fd3bd9c98c5dbb1a19b78b"]},"all":{"required_absent":[],"required_present":["b1ba7fcfbe3ea73f18a75a20e2ecb0b08d31e9ad28fd3bd9c98c5dbb1a19b78b"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-047","language":"en","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Published artifact checksum: dc8faabb0e85a9ccfec36d32c02b20e17cbae6bef2ecde22bc4d37cdae16fe1b","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":509,"end":573,"value":"dc8faabb0e85a9ccfec36d32c02b20e17cbae6bef2ecde22bc4d37cdae16fe1b","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-047","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["dc8faabb0e85a9ccfec36d32c02b20e17cbae6bef2ecde22bc4d37cdae16fe1b"]},"customers":{"required_absent":[],"required_present":["dc8faabb0e85a9ccfec36d32c02b20e17cbae6bef2ecde22bc4d37cdae16fe1b"]},"all":{"required_absent":[],"required_present":["dc8faabb0e85a9ccfec36d32c02b20e17cbae6bef2ecde22bc4d37cdae16fe1b"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-048","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"--sample=48 --message=\"Published artifact checksum: \" --value=daad1bd8fc57a05d05be1b6fc89ecdd33a0ef29e43aedb45adeb78a9ab27dc7d","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":62,"end":126,"value":"daad1bd8fc57a05d05be1b6fc89ecdd33a0ef29e43aedb45adeb78a9ab27dc7d","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-048","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["daad1bd8fc57a05d05be1b6fc89ecdd33a0ef29e43aedb45adeb78a9ab27dc7d"]},"customers":{"required_absent":[],"required_present":["daad1bd8fc57a05d05be1b6fc89ecdd33a0ef29e43aedb45adeb78a9ab27dc7d"]},"all":{"required_absent":[],"required_present":["daad1bd8fc57a05d05be1b6fc89ecdd33a0ef29e43aedb45adeb78a9ab27dc7d"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-049","language":"en","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"Published artifact checksum: abcdfcc11ff9dc7b53be2e3cbada9bcbda5fd3fe75d3cdccd38ad4d3ca06f9da","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":29,"end":93,"value":"abcdfcc11ff9dc7b53be2e3cbada9bcbda5fd3fe75d3cdccd38ad4d3ca06f9da","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-049","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["abcdfcc11ff9dc7b53be2e3cbada9bcbda5fd3fe75d3cdccd38ad4d3ca06f9da"]},"customers":{"required_absent":[],"required_present":["abcdfcc11ff9dc7b53be2e3cbada9bcbda5fd3fe75d3cdccd38ad4d3ca06f9da"]},"all":{"required_absent":[],"required_present":["abcdfcc11ff9dc7b53be2e3cbada9bcbda5fd3fe75d3cdccd38ad4d3ca06f9da"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-050","language":"en","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"{\"message_50\":\"Published artifact checksum: edad49c48aa9f95dc9ceab10e80e15ab9c16f7dcfbbf9e85ec2bffbcdf89c0da\"}","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":44,"end":108,"value":"edad49c48aa9f95dc9ceab10e80e15ab9c16f7dcfbbf9e85ec2bffbcdf89c0da","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-050","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["edad49c48aa9f95dc9ceab10e80e15ab9c16f7dcfbbf9e85ec2bffbcdf89c0da"]},"customers":{"required_absent":[],"required_present":["edad49c48aa9f95dc9ceab10e80e15ab9c16f7dcfbbf9e85ec2bffbcdf89c0da"]},"all":{"required_absent":[],"required_present":["edad49c48aa9f95dc9ceab10e80e15ab9c16f7dcfbbf9e85ec2bffbcdf89c0da"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-051","language":"en","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"message_51: Published artifact checksum: c16d75a6ea7fd5eeb5b01f42b6fcc9af4f4ba17b3fe21aabaa4da4eb3a5cdfdc","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":41,"end":105,"value":"c16d75a6ea7fd5eeb5b01f42b6fcc9af4f4ba17b3fe21aabaa4da4eb3a5cdfdc","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-051","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["c16d75a6ea7fd5eeb5b01f42b6fcc9af4f4ba17b3fe21aabaa4da4eb3a5cdfdc"]},"customers":{"required_absent":[],"required_present":["c16d75a6ea7fd5eeb5b01f42b6fcc9af4f4ba17b3fe21aabaa4da4eb3a5cdfdc"]},"all":{"required_absent":[],"required_present":["c16d75a6ea7fd5eeb5b01f42b6fcc9af4f4ba17b3fe21aabaa4da4eb3a5cdfdc"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-052","language":"en","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"MESSAGE_52='Published artifact checksum: a91d13e1ee65db4a40f90e50f37f58a40c65f73c32cd1b4df7cbdbac4a35d47c'","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":41,"end":105,"value":"a91d13e1ee65db4a40f90e50f37f58a40c65f73c32cd1b4df7cbdbac4a35d47c","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-052","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["a91d13e1ee65db4a40f90e50f37f58a40c65f73c32cd1b4df7cbdbac4a35d47c"]},"customers":{"required_absent":[],"required_present":["a91d13e1ee65db4a40f90e50f37f58a40c65f73c32cd1b4df7cbdbac4a35d47c"]},"all":{"required_absent":[],"required_present":["a91d13e1ee65db4a40f90e50f37f58a40c65f73c32cd1b4df7cbdbac4a35d47c"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-053","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"endpoint=https://192.0.2.10/53 ; Published artifact checksum: d1cc37c38a4ed0eb7eb4be84d45e34dc2d71c6fb5ede5a0cc9eb30eb6e5dae5d","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":62,"end":126,"value":"d1cc37c38a4ed0eb7eb4be84d45e34dc2d71c6fb5ede5a0cc9eb30eb6e5dae5d","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-053","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["d1cc37c38a4ed0eb7eb4be84d45e34dc2d71c6fb5ede5a0cc9eb30eb6e5dae5d"]},"customers":{"required_absent":[],"required_present":["d1cc37c38a4ed0eb7eb4be84d45e34dc2d71c6fb5ede5a0cc9eb30eb6e5dae5d"]},"all":{"required_absent":[],"required_present":["d1cc37c38a4ed0eb7eb4be84d45e34dc2d71c6fb5ede5a0cc9eb30eb6e5dae5d"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-054","language":"en","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"**Published artifact checksum: e55b70e5ae10e88d6bc81ea8bf9e37e17b4ac77bc5e8af82aa8a7eb20e52b94f**","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":31,"end":95,"value":"e55b70e5ae10e88d6bc81ea8bf9e37e17b4ac77bc5e8af82aa8a7eb20e52b94f","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-054","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["e55b70e5ae10e88d6bc81ea8bf9e37e17b4ac77bc5e8af82aa8a7eb20e52b94f"]},"customers":{"required_absent":[],"required_present":["e55b70e5ae10e88d6bc81ea8bf9e37e17b4ac77bc5e8af82aa8a7eb20e52b94f"]},"all":{"required_absent":[],"required_present":["e55b70e5ae10e88d6bc81ea8bf9e37e17b4ac77bc5e8af82aa8a7eb20e52b94f"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-055","language":"en","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"\u003cp\u003ePublished artifact checksum: b68fcde6fd49ba9a48a90ad8cb9f06be3dd9b39c9ca03c76e96e5efe7dd9fd3a\u003c/p\u003e","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":32,"end":96,"value":"b68fcde6fd49ba9a48a90ad8cb9f06be3dd9b39c9ca03c76e96e5efe7dd9fd3a","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-055","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["b68fcde6fd49ba9a48a90ad8cb9f06be3dd9b39c9ca03c76e96e5efe7dd9fd3a"]},"customers":{"required_absent":[],"required_present":["b68fcde6fd49ba9a48a90ad8cb9f06be3dd9b39c9ca03c76e96e5efe7dd9fd3a"]},"all":{"required_absent":[],"required_present":["b68fcde6fd49ba9a48a90ad8cb9f06be3dd9b39c9ca03c76e96e5efe7dd9fd3a"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-056","language":"en","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"\u003e Published artifact checksum: d61a51ceaf50a3ba45d3ba4dcbcf9db6cc98befd26dc7d4fa59e56bffe65b67d","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":31,"end":95,"value":"d61a51ceaf50a3ba45d3ba4dcbcf9db6cc98befd26dc7d4fa59e56bffe65b67d","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-056","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["d61a51ceaf50a3ba45d3ba4dcbcf9db6cc98befd26dc7d4fa59e56bffe65b67d"]},"customers":{"required_absent":[],"required_present":["d61a51ceaf50a3ba45d3ba4dcbcf9db6cc98befd26dc7d4fa59e56bffe65b67d"]},"all":{"required_absent":[],"required_present":["d61a51ceaf50a3ba45d3ba4dcbcf9db6cc98befd26dc7d4fa59e56bffe65b67d"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-057","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"level=warn sample=57 message=\"Published artifact checksum: \" value=b50b6ef0dcfaa02a7cd3bfb5a9ce2dbb2b6bdaab54ed0be6d03e20a53cabe5fb","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":67,"end":131,"value":"b50b6ef0dcfaa02a7cd3bfb5a9ce2dbb2b6bdaab54ed0be6d03e20a53cabe5fb","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-057","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["b50b6ef0dcfaa02a7cd3bfb5a9ce2dbb2b6bdaab54ed0be6d03e20a53cabe5fb"]},"customers":{"required_absent":[],"required_present":["b50b6ef0dcfaa02a7cd3bfb5a9ce2dbb2b6bdaab54ed0be6d03e20a53cabe5fb"]},"all":{"required_absent":[],"required_present":["b50b6ef0dcfaa02a7cd3bfb5a9ce2dbb2b6bdaab54ed0be6d03e20a53cabe5fb"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-058","language":"en","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"Trace[58]: Published artifact checksum: ff7d4fd82b60cc8b62f78fc1f85f16dbbe44ddad3df95e8dc54acaedfd0ea94d","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":40,"end":104,"value":"ff7d4fd82b60cc8b62f78fc1f85f16dbbe44ddad3df95e8dc54acaedfd0ea94d","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-058","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["ff7d4fd82b60cc8b62f78fc1f85f16dbbe44ddad3df95e8dc54acaedfd0ea94d"]},"customers":{"required_absent":[],"required_present":["ff7d4fd82b60cc8b62f78fc1f85f16dbbe44ddad3df95e8dc54acaedfd0ea94d"]},"all":{"required_absent":[],"required_present":["ff7d4fd82b60cc8b62f78fc1f85f16dbbe44ddad3df95e8dc54acaedfd0ea94d"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-059","language":"en","script":"Latin","shape":"code","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"fixture_59 := `Published artifact checksum: a93fd4ec3a12ecfecbd84e95cb9ed9f61c10bbad74d59d20ceef6bc7cce5ce8a`","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":44,"end":108,"value":"a93fd4ec3a12ecfecbd84e95cb9ed9f61c10bbad74d59d20ceef6bc7cce5ce8a","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-059","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["a93fd4ec3a12ecfecbd84e95cb9ed9f61c10bbad74d59d20ceef6bc7cce5ce8a"]},"customers":{"required_absent":[],"required_present":["a93fd4ec3a12ecfecbd84e95cb9ed9f61c10bbad74d59d20ceef6bc7cce5ce8a"]},"all":{"required_absent":[],"required_present":["a93fd4ec3a12ecfecbd84e95cb9ed9f61c10bbad74d59d20ceef6bc7cce5ce8a"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-060","language":"en","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"--\nPublished artifact checksum: d2ca63d0fa4cf68a68e94e0acefb0baeae37d8ff9dbf0a1cf49ff8a7ff63d57c","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":32,"end":96,"value":"d2ca63d0fa4cf68a68e94e0acefb0baeae37d8ff9dbf0a1cf49ff8a7ff63d57c","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-060","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["d2ca63d0fa4cf68a68e94e0acefb0baeae37d8ff9dbf0a1cf49ff8a7ff63d57c"]},"customers":{"required_absent":[],"required_present":["d2ca63d0fa4cf68a68e94e0acefb0baeae37d8ff9dbf0a1cf49ff8a7ff63d57c"]},"all":{"required_absent":[],"required_present":["d2ca63d0fa4cf68a68e94e0acefb0baeae37d8ff9dbf0a1cf49ff8a7ff63d57c"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-061","language":"en","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Published artifact checksum: ebcda6e23c6be95e18e3ee83d6da9cf0ec4df96e3af4dd7fb8fe13ca1bebdacc","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":509,"end":573,"value":"ebcda6e23c6be95e18e3ee83d6da9cf0ec4df96e3af4dd7fb8fe13ca1bebdacc","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-061","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["ebcda6e23c6be95e18e3ee83d6da9cf0ec4df96e3af4dd7fb8fe13ca1bebdacc"]},"customers":{"required_absent":[],"required_present":["ebcda6e23c6be95e18e3ee83d6da9cf0ec4df96e3af4dd7fb8fe13ca1bebdacc"]},"all":{"required_absent":[],"required_present":["ebcda6e23c6be95e18e3ee83d6da9cf0ec4df96e3af4dd7fb8fe13ca1bebdacc"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-062","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"--sample=62 --message=\"Published artifact checksum: \" --value=dd0ad4a55ae0e17c03cd4da2e9ef52bceccdd6bcfeefbfb7fa8ff1ea1c31aacf","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":62,"end":126,"value":"dd0ad4a55ae0e17c03cd4da2e9ef52bceccdd6bcfeefbfb7fa8ff1ea1c31aacf","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-062","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["dd0ad4a55ae0e17c03cd4da2e9ef52bceccdd6bcfeefbfb7fa8ff1ea1c31aacf"]},"customers":{"required_absent":[],"required_present":["dd0ad4a55ae0e17c03cd4da2e9ef52bceccdd6bcfeefbfb7fa8ff1ea1c31aacf"]},"all":{"required_absent":[],"required_present":["dd0ad4a55ae0e17c03cd4da2e9ef52bceccdd6bcfeefbfb7fa8ff1ea1c31aacf"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-063","language":"en","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"Published artifact checksum: df2c54a18a78d07f93a96eadc3eccba96f35a87a4ae20abab44f61bb1bb2f33d","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":29,"end":93,"value":"df2c54a18a78d07f93a96eadc3eccba96f35a87a4ae20abab44f61bb1bb2f33d","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-063","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["df2c54a18a78d07f93a96eadc3eccba96f35a87a4ae20abab44f61bb1bb2f33d"]},"customers":{"required_absent":[],"required_present":["df2c54a18a78d07f93a96eadc3eccba96f35a87a4ae20abab44f61bb1bb2f33d"]},"all":{"required_absent":[],"required_present":["df2c54a18a78d07f93a96eadc3eccba96f35a87a4ae20abab44f61bb1bb2f33d"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-064","language":"en","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"{\"message_64\":\"Published artifact checksum: afbbe0d3ace5c1eae3f85bb6b6ce9af58a51d0cbebf61b36d0dc4fdc9a59b29b\"}","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":44,"end":108,"value":"afbbe0d3ace5c1eae3f85bb6b6ce9af58a51d0cbebf61b36d0dc4fdc9a59b29b","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-064","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["afbbe0d3ace5c1eae3f85bb6b6ce9af58a51d0cbebf61b36d0dc4fdc9a59b29b"]},"customers":{"required_absent":[],"required_present":["afbbe0d3ace5c1eae3f85bb6b6ce9af58a51d0cbebf61b36d0dc4fdc9a59b29b"]},"all":{"required_absent":[],"required_present":["afbbe0d3ace5c1eae3f85bb6b6ce9af58a51d0cbebf61b36d0dc4fdc9a59b29b"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-065","language":"en","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"message_65: Published artifact checksum: e4dcbdae2b13ab4f7dfb3abada4fb7d87f6cfffdf6bccd2edf4deea05c69b4fc","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":41,"end":105,"value":"e4dcbdae2b13ab4f7dfb3abada4fb7d87f6cfffdf6bccd2edf4deea05c69b4fc","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-065","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["e4dcbdae2b13ab4f7dfb3abada4fb7d87f6cfffdf6bccd2edf4deea05c69b4fc"]},"customers":{"required_absent":[],"required_present":["e4dcbdae2b13ab4f7dfb3abada4fb7d87f6cfffdf6bccd2edf4deea05c69b4fc"]},"all":{"required_absent":[],"required_present":["e4dcbdae2b13ab4f7dfb3abada4fb7d87f6cfffdf6bccd2edf4deea05c69b4fc"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-066","language":"en","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"MESSAGE_66='Published artifact checksum: d6cc7bbf0af9c29c4ea8cf8eadabbde6bdf4c56c36a07ed5a5eb28a75ecbea4d'","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":41,"end":105,"value":"d6cc7bbf0af9c29c4ea8cf8eadabbde6bdf4c56c36a07ed5a5eb28a75ecbea4d","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-066","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["d6cc7bbf0af9c29c4ea8cf8eadabbde6bdf4c56c36a07ed5a5eb28a75ecbea4d"]},"customers":{"required_absent":[],"required_present":["d6cc7bbf0af9c29c4ea8cf8eadabbde6bdf4c56c36a07ed5a5eb28a75ecbea4d"]},"all":{"required_absent":[],"required_present":["d6cc7bbf0af9c29c4ea8cf8eadabbde6bdf4c56c36a07ed5a5eb28a75ecbea4d"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-067","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"endpoint=https://192.0.2.10/67 ; Published artifact checksum: a95c6eff4e91f16ac7f23a12c6afc6af9d51d03b74a92c89ca5eb6e07c1ee36e","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":62,"end":126,"value":"a95c6eff4e91f16ac7f23a12c6afc6af9d51d03b74a92c89ca5eb6e07c1ee36e","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-067","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["a95c6eff4e91f16ac7f23a12c6afc6af9d51d03b74a92c89ca5eb6e07c1ee36e"]},"customers":{"required_absent":[],"required_present":["a95c6eff4e91f16ac7f23a12c6afc6af9d51d03b74a92c89ca5eb6e07c1ee36e"]},"all":{"required_absent":[],"required_present":["a95c6eff4e91f16ac7f23a12c6afc6af9d51d03b74a92c89ca5eb6e07c1ee36e"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-068","language":"en","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"**Published artifact checksum: f04fe7b9ebf2cb8fcee0cd07b84ef6cfbdf7a17abbc5ef96eaeabba46f42ffaf**","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":31,"end":95,"value":"f04fe7b9ebf2cb8fcee0cd07b84ef6cfbdf7a17abbc5ef96eaeabba46f42ffaf","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-068","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["f04fe7b9ebf2cb8fcee0cd07b84ef6cfbdf7a17abbc5ef96eaeabba46f42ffaf"]},"customers":{"required_absent":[],"required_present":["f04fe7b9ebf2cb8fcee0cd07b84ef6cfbdf7a17abbc5ef96eaeabba46f42ffaf"]},"all":{"required_absent":[],"required_present":["f04fe7b9ebf2cb8fcee0cd07b84ef6cfbdf7a17abbc5ef96eaeabba46f42ffaf"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-069","language":"en","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"\u003cp\u003ePublished artifact checksum: d0db9bb50f7ade2c93fedae8e23bd3a10ca5c34a57cc1ea3e66d07f0ec60a70d\u003c/p\u003e","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":32,"end":96,"value":"d0db9bb50f7ade2c93fedae8e23bd3a10ca5c34a57cc1ea3e66d07f0ec60a70d","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-069","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["d0db9bb50f7ade2c93fedae8e23bd3a10ca5c34a57cc1ea3e66d07f0ec60a70d"]},"customers":{"required_absent":[],"required_present":["d0db9bb50f7ade2c93fedae8e23bd3a10ca5c34a57cc1ea3e66d07f0ec60a70d"]},"all":{"required_absent":[],"required_present":["d0db9bb50f7ade2c93fedae8e23bd3a10ca5c34a57cc1ea3e66d07f0ec60a70d"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-070","language":"en","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"\u003e Published artifact checksum: a62b77ef1f3da22f24c2adb8cb7a1ecb1bffd6da73d7fd9bf3ed42bd6edef2be","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":31,"end":95,"value":"a62b77ef1f3da22f24c2adb8cb7a1ecb1bffd6da73d7fd9bf3ed42bd6edef2be","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-070","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["a62b77ef1f3da22f24c2adb8cb7a1ecb1bffd6da73d7fd9bf3ed42bd6edef2be"]},"customers":{"required_absent":[],"required_present":["a62b77ef1f3da22f24c2adb8cb7a1ecb1bffd6da73d7fd9bf3ed42bd6edef2be"]},"all":{"required_absent":[],"required_present":["a62b77ef1f3da22f24c2adb8cb7a1ecb1bffd6da73d7fd9bf3ed42bd6edef2be"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-071","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"level=warn sample=71 message=\"Published artifact checksum: \" value=d3ee6afa2f98d1ffded25d83c12b4bc0cae7b99f5ce53c6ab7cc5de2bcc5d8da","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":67,"end":131,"value":"d3ee6afa2f98d1ffded25d83c12b4bc0cae7b99f5ce53c6ab7cc5de2bcc5d8da","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-071","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["d3ee6afa2f98d1ffded25d83c12b4bc0cae7b99f5ce53c6ab7cc5de2bcc5d8da"]},"customers":{"required_absent":[],"required_present":["d3ee6afa2f98d1ffded25d83c12b4bc0cae7b99f5ce53c6ab7cc5de2bcc5d8da"]},"all":{"required_absent":[],"required_present":["d3ee6afa2f98d1ffded25d83c12b4bc0cae7b99f5ce53c6ab7cc5de2bcc5d8da"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-072","language":"en","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"Trace[72]: Published artifact checksum: a5ec80fc8fabd10efab14c42cc2cd4eb4f33cf7c13a3ca5ac26f43cecf36e94a","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":40,"end":104,"value":"a5ec80fc8fabd10efab14c42cc2cd4eb4f33cf7c13a3ca5ac26f43cecf36e94a","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-072","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["a5ec80fc8fabd10efab14c42cc2cd4eb4f33cf7c13a3ca5ac26f43cecf36e94a"]},"customers":{"required_absent":[],"required_present":["a5ec80fc8fabd10efab14c42cc2cd4eb4f33cf7c13a3ca5ac26f43cecf36e94a"]},"all":{"required_absent":[],"required_present":["a5ec80fc8fabd10efab14c42cc2cd4eb4f33cf7c13a3ca5ac26f43cecf36e94a"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-073","language":"en","script":"Latin","shape":"code","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"fixture_73 := `Published artifact checksum: edcbc5ec6e0fd18a94a9cd7fcfda71a8ac6fd5fff2eb5dfba06f17fe6cdfbaae`","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":44,"end":108,"value":"edcbc5ec6e0fd18a94a9cd7fcfda71a8ac6fd5fff2eb5dfba06f17fe6cdfbaae","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-073","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["edcbc5ec6e0fd18a94a9cd7fcfda71a8ac6fd5fff2eb5dfba06f17fe6cdfbaae"]},"customers":{"required_absent":[],"required_present":["edcbc5ec6e0fd18a94a9cd7fcfda71a8ac6fd5fff2eb5dfba06f17fe6cdfbaae"]},"all":{"required_absent":[],"required_present":["edcbc5ec6e0fd18a94a9cd7fcfda71a8ac6fd5fff2eb5dfba06f17fe6cdfbaae"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-074","language":"en","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"--\nPublished artifact checksum: df1f23b61e41e36baac5ae5ea84db4a7dfc2d55fe7bacc54ef5f00dd6a78c5fc","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":32,"end":96,"value":"df1f23b61e41e36baac5ae5ea84db4a7dfc2d55fe7bacc54ef5f00dd6a78c5fc","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-074","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["df1f23b61e41e36baac5ae5ea84db4a7dfc2d55fe7bacc54ef5f00dd6a78c5fc"]},"customers":{"required_absent":[],"required_present":["df1f23b61e41e36baac5ae5ea84db4a7dfc2d55fe7bacc54ef5f00dd6a78c5fc"]},"all":{"required_absent":[],"required_present":["df1f23b61e41e36baac5ae5ea84db4a7dfc2d55fe7bacc54ef5f00dd6a78c5fc"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-075","language":"en","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Published artifact checksum: b07d2bf13fb3c6cfafeddbede9db30ef2ef2be8f59eeecfecdfa60b3fd5fb5ed","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":509,"end":573,"value":"b07d2bf13fb3c6cfafeddbede9db30ef2ef2be8f59eeecfecdfa60b3fd5fb5ed","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-075","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["b07d2bf13fb3c6cfafeddbede9db30ef2ef2be8f59eeecfecdfa60b3fd5fb5ed"]},"customers":{"required_absent":[],"required_present":["b07d2bf13fb3c6cfafeddbede9db30ef2ef2be8f59eeecfecdfa60b3fd5fb5ed"]},"all":{"required_absent":[],"required_present":["b07d2bf13fb3c6cfafeddbede9db30ef2ef2be8f59eeecfecdfa60b3fd5fb5ed"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-076","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"--sample=76 --message=\"Published artifact checksum: \" --value=c8ffe4f0fa7dd05f30b2ac7de78e18a3bceaed3a23c88cd4f74fe3ad4e3ee8ce","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":62,"end":126,"value":"c8ffe4f0fa7dd05f30b2ac7de78e18a3bceaed3a23c88cd4f74fe3ad4e3ee8ce","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-076","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["c8ffe4f0fa7dd05f30b2ac7de78e18a3bceaed3a23c88cd4f74fe3ad4e3ee8ce"]},"customers":{"required_absent":[],"required_present":["c8ffe4f0fa7dd05f30b2ac7de78e18a3bceaed3a23c88cd4f74fe3ad4e3ee8ce"]},"all":{"required_absent":[],"required_present":["c8ffe4f0fa7dd05f30b2ac7de78e18a3bceaed3a23c88cd4f74fe3ad4e3ee8ce"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-077","language":"en","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"Published artifact checksum: ca4ac2cd2a4bf70df5aced98e60cd6cd4bbcc2dc72f15f9acd2db2c6afd1ba2c","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":29,"end":93,"value":"ca4ac2cd2a4bf70df5aced98e60cd6cd4bbcc2dc72f15f9acd2db2c6afd1ba2c","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-077","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["ca4ac2cd2a4bf70df5aced98e60cd6cd4bbcc2dc72f15f9acd2db2c6afd1ba2c"]},"customers":{"required_absent":[],"required_present":["ca4ac2cd2a4bf70df5aced98e60cd6cd4bbcc2dc72f15f9acd2db2c6afd1ba2c"]},"all":{"required_absent":[],"required_present":["ca4ac2cd2a4bf70df5aced98e60cd6cd4bbcc2dc72f15f9acd2db2c6afd1ba2c"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-078","language":"en","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"{\"message_78\":\"Published artifact checksum: e1bc00e79bb0a1fa5cadaeb0e47f01e97b59afdbeeed1b83f54f75ceeea0ad5e\"}","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":44,"end":108,"value":"e1bc00e79bb0a1fa5cadaeb0e47f01e97b59afdbeeed1b83f54f75ceeea0ad5e","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-078","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["e1bc00e79bb0a1fa5cadaeb0e47f01e97b59afdbeeed1b83f54f75ceeea0ad5e"]},"customers":{"required_absent":[],"required_present":["e1bc00e79bb0a1fa5cadaeb0e47f01e97b59afdbeeed1b83f54f75ceeea0ad5e"]},"all":{"required_absent":[],"required_present":["e1bc00e79bb0a1fa5cadaeb0e47f01e97b59afdbeeed1b83f54f75ceeea0ad5e"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-079","language":"en","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"message_79: Published artifact checksum: e26e15fabafcaf0ba2fabca5ceccb8f61c7ab15f1dcb4cdcd6cb83ea2bd4cf3a","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":41,"end":105,"value":"e26e15fabafcaf0ba2fabca5ceccb8f61c7ab15f1dcb4cdcd6cb83ea2bd4cf3a","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-079","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["e26e15fabafcaf0ba2fabca5ceccb8f61c7ab15f1dcb4cdcd6cb83ea2bd4cf3a"]},"customers":{"required_absent":[],"required_present":["e26e15fabafcaf0ba2fabca5ceccb8f61c7ab15f1dcb4cdcd6cb83ea2bd4cf3a"]},"all":{"required_absent":[],"required_present":["e26e15fabafcaf0ba2fabca5ceccb8f61c7ab15f1dcb4cdcd6cb83ea2bd4cf3a"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-080","language":"en","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"MESSAGE_80='Published artifact checksum: df0e18b32dafe81eccf7ca0bc90f9fc24d34b16b2deddbbac03aa9fb2f7ee81d'","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":41,"end":105,"value":"df0e18b32dafe81eccf7ca0bc90f9fc24d34b16b2deddbbac03aa9fb2f7ee81d","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-080","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["df0e18b32dafe81eccf7ca0bc90f9fc24d34b16b2deddbbac03aa9fb2f7ee81d"]},"customers":{"required_absent":[],"required_present":["df0e18b32dafe81eccf7ca0bc90f9fc24d34b16b2deddbbac03aa9fb2f7ee81d"]},"all":{"required_absent":[],"required_present":["df0e18b32dafe81eccf7ca0bc90f9fc24d34b16b2deddbbac03aa9fb2f7ee81d"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-081","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"endpoint=https://192.0.2.10/81 ; Published artifact checksum: d2bfefc8eb6da93dfac71e4eed0d73ecfedba2ec4cba2e82a53a63cb5e27c33b","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":62,"end":126,"value":"d2bfefc8eb6da93dfac71e4eed0d73ecfedba2ec4cba2e82a53a63cb5e27c33b","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-081","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["d2bfefc8eb6da93dfac71e4eed0d73ecfedba2ec4cba2e82a53a63cb5e27c33b"]},"customers":{"required_absent":[],"required_present":["d2bfefc8eb6da93dfac71e4eed0d73ecfedba2ec4cba2e82a53a63cb5e27c33b"]},"all":{"required_absent":[],"required_present":["d2bfefc8eb6da93dfac71e4eed0d73ecfedba2ec4cba2e82a53a63cb5e27c33b"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-082","language":"en","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"**Published artifact checksum: c69b26ce2a19d84f0cc8cb52b98b9de74abcc66e7bc5ae69e10e74fafc4da3bd**","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":31,"end":95,"value":"c69b26ce2a19d84f0cc8cb52b98b9de74abcc66e7bc5ae69e10e74fafc4da3bd","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-082","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["c69b26ce2a19d84f0cc8cb52b98b9de74abcc66e7bc5ae69e10e74fafc4da3bd"]},"customers":{"required_absent":[],"required_present":["c69b26ce2a19d84f0cc8cb52b98b9de74abcc66e7bc5ae69e10e74fafc4da3bd"]},"all":{"required_absent":[],"required_present":["c69b26ce2a19d84f0cc8cb52b98b9de74abcc66e7bc5ae69e10e74fafc4da3bd"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-083","language":"en","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"\u003cp\u003ePublished artifact checksum: fedea4a38de5ad4cf0aebf52ff6a8fe7fca7eada1aec4eb9cd7cd2f87f0da02b\u003c/p\u003e","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":32,"end":96,"value":"fedea4a38de5ad4cf0aebf52ff6a8fe7fca7eada1aec4eb9cd7cd2f87f0da02b","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-083","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["fedea4a38de5ad4cf0aebf52ff6a8fe7fca7eada1aec4eb9cd7cd2f87f0da02b"]},"customers":{"required_absent":[],"required_present":["fedea4a38de5ad4cf0aebf52ff6a8fe7fca7eada1aec4eb9cd7cd2f87f0da02b"]},"all":{"required_absent":[],"required_present":["fedea4a38de5ad4cf0aebf52ff6a8fe7fca7eada1aec4eb9cd7cd2f87f0da02b"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-084","language":"en","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"\u003e Published artifact checksum: c22e15a7bf29a03b21bb8d95b94a67a76f81d92bada8cc54d12aceb5df9fac8e","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":31,"end":95,"value":"c22e15a7bf29a03b21bb8d95b94a67a76f81d92bada8cc54d12aceb5df9fac8e","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-084","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["c22e15a7bf29a03b21bb8d95b94a67a76f81d92bada8cc54d12aceb5df9fac8e"]},"customers":{"required_absent":[],"required_present":["c22e15a7bf29a03b21bb8d95b94a67a76f81d92bada8cc54d12aceb5df9fac8e"]},"all":{"required_absent":[],"required_present":["c22e15a7bf29a03b21bb8d95b94a67a76f81d92bada8cc54d12aceb5df9fac8e"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-085","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"level=warn sample=85 message=\"Published artifact checksum: \" value=c1caf0eebc09a66bd9af0bd7c89b9aeaac6fb49d45aa5ddce26decf7abbadf5c","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":67,"end":131,"value":"c1caf0eebc09a66bd9af0bd7c89b9aeaac6fb49d45aa5ddce26decf7abbadf5c","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-085","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["c1caf0eebc09a66bd9af0bd7c89b9aeaac6fb49d45aa5ddce26decf7abbadf5c"]},"customers":{"required_absent":[],"required_present":["c1caf0eebc09a66bd9af0bd7c89b9aeaac6fb49d45aa5ddce26decf7abbadf5c"]},"all":{"required_absent":[],"required_present":["c1caf0eebc09a66bd9af0bd7c89b9aeaac6fb49d45aa5ddce26decf7abbadf5c"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-086","language":"en","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"Trace[86]: Published artifact checksum: c5ecccab9f6dae6de4d41c7cad2f81f7bc23a38ef3e6acbcd4acc0a6fbe3e4ca","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":40,"end":104,"value":"c5ecccab9f6dae6de4d41c7cad2f81f7bc23a38ef3e6acbcd4acc0a6fbe3e4ca","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-086","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["c5ecccab9f6dae6de4d41c7cad2f81f7bc23a38ef3e6acbcd4acc0a6fbe3e4ca"]},"customers":{"required_absent":[],"required_present":["c5ecccab9f6dae6de4d41c7cad2f81f7bc23a38ef3e6acbcd4acc0a6fbe3e4ca"]},"all":{"required_absent":[],"required_present":["c5ecccab9f6dae6de4d41c7cad2f81f7bc23a38ef3e6acbcd4acc0a6fbe3e4ca"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-087","language":"en","script":"Latin","shape":"code","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"fixture_87 := `Published artifact checksum: c9dccfed2fa3fc9cf6f0ba82ce2c0da96a54f7cee8c9aecdbcadafba9d2cfaab`","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":44,"end":108,"value":"c9dccfed2fa3fc9cf6f0ba82ce2c0da96a54f7cee8c9aecdbcadafba9d2cfaab","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-087","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["c9dccfed2fa3fc9cf6f0ba82ce2c0da96a54f7cee8c9aecdbcadafba9d2cfaab"]},"customers":{"required_absent":[],"required_present":["c9dccfed2fa3fc9cf6f0ba82ce2c0da96a54f7cee8c9aecdbcadafba9d2cfaab"]},"all":{"required_absent":[],"required_present":["c9dccfed2fa3fc9cf6f0ba82ce2c0da96a54f7cee8c9aecdbcadafba9d2cfaab"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-088","language":"en","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"--\nPublished artifact checksum: dd7dd0a24d74ea4b90e56fbdf84cabe25e25cc9c31a73e08fc1c22c0cba2cc4c","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":32,"end":96,"value":"dd7dd0a24d74ea4b90e56fbdf84cabe25e25cc9c31a73e08fc1c22c0cba2cc4c","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-088","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["dd7dd0a24d74ea4b90e56fbdf84cabe25e25cc9c31a73e08fc1c22c0cba2cc4c"]},"customers":{"required_absent":[],"required_present":["dd7dd0a24d74ea4b90e56fbdf84cabe25e25cc9c31a73e08fc1c22c0cba2cc4c"]},"all":{"required_absent":[],"required_present":["dd7dd0a24d74ea4b90e56fbdf84cabe25e25cc9c31a73e08fc1c22c0cba2cc4c"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-089","language":"en","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Published artifact checksum: a4ac3cc90b7cba7ca9c48e1eaf2ef3d3cb69d9ba6ede2ff2e90a5bed9dd7e47d","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":509,"end":573,"value":"a4ac3cc90b7cba7ca9c48e1eaf2ef3d3cb69d9ba6ede2ff2e90a5bed9dd7e47d","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-089","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["a4ac3cc90b7cba7ca9c48e1eaf2ef3d3cb69d9ba6ede2ff2e90a5bed9dd7e47d"]},"customers":{"required_absent":[],"required_present":["a4ac3cc90b7cba7ca9c48e1eaf2ef3d3cb69d9ba6ede2ff2e90a5bed9dd7e47d"]},"all":{"required_absent":[],"required_present":["a4ac3cc90b7cba7ca9c48e1eaf2ef3d3cb69d9ba6ede2ff2e90a5bed9dd7e47d"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-090","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"--sample=90 --message=\"Published artifact checksum: \" --value=d2aa73b57f0ae1cb30f93aacc82bccbf9d43edcae9a2db0cff1b70c22db8a1ef","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":62,"end":126,"value":"d2aa73b57f0ae1cb30f93aacc82bccbf9d43edcae9a2db0cff1b70c22db8a1ef","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-090","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["d2aa73b57f0ae1cb30f93aacc82bccbf9d43edcae9a2db0cff1b70c22db8a1ef"]},"customers":{"required_absent":[],"required_present":["d2aa73b57f0ae1cb30f93aacc82bccbf9d43edcae9a2db0cff1b70c22db8a1ef"]},"all":{"required_absent":[],"required_present":["d2aa73b57f0ae1cb30f93aacc82bccbf9d43edcae9a2db0cff1b70c22db8a1ef"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-091","language":"en","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"Published artifact checksum: e5ca90ec5bdea2bbbcab7a3cdece60fe3a13f70adfa72b75c48e5dff7fe4cdda","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":29,"end":93,"value":"e5ca90ec5bdea2bbbcab7a3cdece60fe3a13f70adfa72b75c48e5dff7fe4cdda","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-091","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["e5ca90ec5bdea2bbbcab7a3cdece60fe3a13f70adfa72b75c48e5dff7fe4cdda"]},"customers":{"required_absent":[],"required_present":["e5ca90ec5bdea2bbbcab7a3cdece60fe3a13f70adfa72b75c48e5dff7fe4cdda"]},"all":{"required_absent":[],"required_present":["e5ca90ec5bdea2bbbcab7a3cdece60fe3a13f70adfa72b75c48e5dff7fe4cdda"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-092","language":"en","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"{\"message_92\":\"Published artifact checksum: a9bc77e31f2ca0eae7d65b36d53b2ac02d32db2f7dbebc05a3aa4ecebd45e1ba\"}","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":44,"end":108,"value":"a9bc77e31f2ca0eae7d65b36d53b2ac02d32db2f7dbebc05a3aa4ecebd45e1ba","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-092","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["a9bc77e31f2ca0eae7d65b36d53b2ac02d32db2f7dbebc05a3aa4ecebd45e1ba"]},"customers":{"required_absent":[],"required_present":["a9bc77e31f2ca0eae7d65b36d53b2ac02d32db2f7dbebc05a3aa4ecebd45e1ba"]},"all":{"required_absent":[],"required_present":["a9bc77e31f2ca0eae7d65b36d53b2ac02d32db2f7dbebc05a3aa4ecebd45e1ba"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-093","language":"en","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"message_93: Published artifact checksum: d5dc99be1a11e45b45cefc70ed4d29ac3a16d4ea0fcbbc60c02b7da18c0ec30b","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":41,"end":105,"value":"d5dc99be1a11e45b45cefc70ed4d29ac3a16d4ea0fcbbc60c02b7da18c0ec30b","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-093","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["d5dc99be1a11e45b45cefc70ed4d29ac3a16d4ea0fcbbc60c02b7da18c0ec30b"]},"customers":{"required_absent":[],"required_present":["d5dc99be1a11e45b45cefc70ed4d29ac3a16d4ea0fcbbc60c02b7da18c0ec30b"]},"all":{"required_absent":[],"required_present":["d5dc99be1a11e45b45cefc70ed4d29ac3a16d4ea0fcbbc60c02b7da18c0ec30b"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-094","language":"en","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"MESSAGE_94='Published artifact checksum: e78a0facfa19c55b4dca5a8babbc4efacf3ddd0fefa47ceeec5cdecc6c0ddd1b'","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":41,"end":105,"value":"e78a0facfa19c55b4dca5a8babbc4efacf3ddd0fefa47ceeec5cdecc6c0ddd1b","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-094","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["e78a0facfa19c55b4dca5a8babbc4efacf3ddd0fefa47ceeec5cdecc6c0ddd1b"]},"customers":{"required_absent":[],"required_present":["e78a0facfa19c55b4dca5a8babbc4efacf3ddd0fefa47ceeec5cdecc6c0ddd1b"]},"all":{"required_absent":[],"required_present":["e78a0facfa19c55b4dca5a8babbc4efacf3ddd0fefa47ceeec5cdecc6c0ddd1b"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-095","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"endpoint=https://192.0.2.10/95 ; Published artifact checksum: f54ef6d84a19b21e7af11b92da6e75accd2dc5ecc3f1fcb4b75fd7ffdcfae82c","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":62,"end":126,"value":"f54ef6d84a19b21e7af11b92da6e75accd2dc5ecc3f1fcb4b75fd7ffdcfae82c","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-095","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["f54ef6d84a19b21e7af11b92da6e75accd2dc5ecc3f1fcb4b75fd7ffdcfae82c"]},"customers":{"required_absent":[],"required_present":["f54ef6d84a19b21e7af11b92da6e75accd2dc5ecc3f1fcb4b75fd7ffdcfae82c"]},"all":{"required_absent":[],"required_present":["f54ef6d84a19b21e7af11b92da6e75accd2dc5ecc3f1fcb4b75fd7ffdcfae82c"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-096","language":"en","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"**Published artifact checksum: eacab4bfcfefeadf75a49eade69d29c3bf9eb23b51c6fd8ad97dd6a04eb5eeca**","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":31,"end":95,"value":"eacab4bfcfefeadf75a49eade69d29c3bf9eb23b51c6fd8ad97dd6a04eb5eeca","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-096","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["eacab4bfcfefeadf75a49eade69d29c3bf9eb23b51c6fd8ad97dd6a04eb5eeca"]},"customers":{"required_absent":[],"required_present":["eacab4bfcfefeadf75a49eade69d29c3bf9eb23b51c6fd8ad97dd6a04eb5eeca"]},"all":{"required_absent":[],"required_present":["eacab4bfcfefeadf75a49eade69d29c3bf9eb23b51c6fd8ad97dd6a04eb5eeca"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-097","language":"en","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"\u003cp\u003ePublished artifact checksum: e84a59a50ad6fd8f48a36a4be9dd37d1bf05a6cbc7c96d8fa30d8af9fc2bf74c\u003c/p\u003e","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":32,"end":96,"value":"e84a59a50ad6fd8f48a36a4be9dd37d1bf05a6cbc7c96d8fa30d8af9fc2bf74c","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-097","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["e84a59a50ad6fd8f48a36a4be9dd37d1bf05a6cbc7c96d8fa30d8af9fc2bf74c"]},"customers":{"required_absent":[],"required_present":["e84a59a50ad6fd8f48a36a4be9dd37d1bf05a6cbc7c96d8fa30d8af9fc2bf74c"]},"all":{"required_absent":[],"required_present":["e84a59a50ad6fd8f48a36a4be9dd37d1bf05a6cbc7c96d8fa30d8af9fc2bf74c"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-098","language":"en","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"\u003e Published artifact checksum: f25edfb7df26bacf5ff64de0fb2fcef40fa1e5fe9decba0ec20daefd3d98a85f","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":31,"end":95,"value":"f25edfb7df26bacf5ff64de0fb2fcef40fa1e5fe9decba0ec20daefd3d98a85f","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-098","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["f25edfb7df26bacf5ff64de0fb2fcef40fa1e5fe9decba0ec20daefd3d98a85f"]},"customers":{"required_absent":[],"required_present":["f25edfb7df26bacf5ff64de0fb2fcef40fa1e5fe9decba0ec20daefd3d98a85f"]},"all":{"required_absent":[],"required_present":["f25edfb7df26bacf5ff64de0fb2fcef40fa1e5fe9decba0ec20daefd3d98a85f"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-099","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"level=warn sample=99 message=\"Published artifact checksum: \" value=b74fc1c31c21e07df5bafa67c48f7fee5dbbf87f7cde7b76abae9ca76e0ff8cf","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":67,"end":131,"value":"b74fc1c31c21e07df5bafa67c48f7fee5dbbf87f7cde7b76abae9ca76e0ff8cf","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-099","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["b74fc1c31c21e07df5bafa67c48f7fee5dbbf87f7cde7b76abae9ca76e0ff8cf"]},"customers":{"required_absent":[],"required_present":["b74fc1c31c21e07df5bafa67c48f7fee5dbbf87f7cde7b76abae9ca76e0ff8cf"]},"all":{"required_absent":[],"required_present":["b74fc1c31c21e07df5bafa67c48f7fee5dbbf87f7cde7b76abae9ca76e0ff8cf"]}},"tags":["broad-quality","preservation","checksum"]} + ] +} diff --git a/internal/pii/testdata/privacy-filter/broad/v1/private-public-dates.json b/internal/pii/testdata/privacy-filter/broad/v1/private-public-dates.json new file mode 100644 index 0000000..e94fd11 --- /dev/null +++ b/internal/pii/testdata/privacy-filter/broad/v1/private-public-dates.json @@ -0,0 +1,206 @@ +{ + "schema": 1, + "partition": "private-public-dates", + "cases": [ + {"id":"broad-date-redact-000","language":"en","script":"Latin","shape":"shell","risk":"high","reason":"Locked broad private/public date variation.","text":"MESSAGE_0='Customer date of birth: 1960-01-01'","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":35,"end":45,"value":"1960-01-01","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1960-01-01"]},"customers":{"required_absent":["1960-01-01"],"required_present":[]},"all":{"required_absent":["1960-01-01"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-000","language":"en","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad private/public date variation.","text":"MESSAGE_0='Public release date: 1960-01-01'","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":32,"end":42,"value":"1960-01-01","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1960-01-01"]},"customers":{"required_absent":[],"required_present":["1960-01-01"]},"all":{"required_absent":[],"required_present":["1960-01-01"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-001","language":"en","script":"Latin","shape":"url","risk":"high","reason":"Locked broad private/public date variation.","text":"endpoint=https://192.0.2.10/1 ; Customer date of birth: 1961-01-02","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":56,"end":66,"value":"1961-01-02","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1961-01-02"]},"customers":{"required_absent":["1961-01-02"],"required_present":[]},"all":{"required_absent":["1961-01-02"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-001","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad private/public date variation.","text":"endpoint=https://192.0.2.10/1 ; Public release date: 1961-01-02","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":53,"end":63,"value":"1961-01-02","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1961-01-02"]},"customers":{"required_absent":[],"required_present":["1961-01-02"]},"all":{"required_absent":[],"required_present":["1961-01-02"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-002","language":"en","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad private/public date variation.","text":"**Customer date of birth: 1962-01-03**","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":26,"end":36,"value":"1962-01-03","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1962-01-03"]},"customers":{"required_absent":["1962-01-03"],"required_present":[]},"all":{"required_absent":["1962-01-03"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-002","language":"en","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad private/public date variation.","text":"**Public release date: 1962-01-03**","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":23,"end":33,"value":"1962-01-03","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1962-01-03"]},"customers":{"required_absent":[],"required_present":["1962-01-03"]},"all":{"required_absent":[],"required_present":["1962-01-03"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-003","language":"en","script":"Latin","shape":"html","risk":"high","reason":"Locked broad private/public date variation.","text":"\u003cp\u003eCustomer date of birth: 1963-01-04\u003c/p\u003e","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":27,"end":37,"value":"1963-01-04","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1963-01-04"]},"customers":{"required_absent":["1963-01-04"],"required_present":[]},"all":{"required_absent":["1963-01-04"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-003","language":"en","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad private/public date variation.","text":"\u003cp\u003ePublic release date: 1963-01-04\u003c/p\u003e","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":24,"end":34,"value":"1963-01-04","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1963-01-04"]},"customers":{"required_absent":[],"required_present":["1963-01-04"]},"all":{"required_absent":[],"required_present":["1963-01-04"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-004","language":"en","script":"Latin","shape":"quoted-reply","risk":"high","reason":"Locked broad private/public date variation.","text":"\u003e Customer date of birth: 1964-01-05","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":26,"end":36,"value":"1964-01-05","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1964-01-05"]},"customers":{"required_absent":["1964-01-05"],"required_present":[]},"all":{"required_absent":["1964-01-05"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-004","language":"en","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad private/public date variation.","text":"\u003e Public release date: 1964-01-05","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":23,"end":33,"value":"1964-01-05","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1964-01-05"]},"customers":{"required_absent":[],"required_present":["1964-01-05"]},"all":{"required_absent":[],"required_present":["1964-01-05"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-005","language":"en","script":"Latin","shape":"log","risk":"high","reason":"Locked broad private/public date variation.","text":"level=warn sample=5 message=\"Customer date of birth: \" value=1965-01-06","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":61,"end":71,"value":"1965-01-06","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1965-01-06"]},"customers":{"required_absent":["1965-01-06"],"required_present":[]},"all":{"required_absent":["1965-01-06"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-005","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad private/public date variation.","text":"level=warn sample=5 message=\"Public release date: \" value=1965-01-06","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":58,"end":68,"value":"1965-01-06","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1965-01-06"]},"customers":{"required_absent":[],"required_present":["1965-01-06"]},"all":{"required_absent":[],"required_present":["1965-01-06"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-006","language":"en","script":"Latin","shape":"stack-trace","risk":"high","reason":"Locked broad private/public date variation.","text":"Trace[6]: Customer date of birth: 1966-01-07","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":34,"end":44,"value":"1966-01-07","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1966-01-07"]},"customers":{"required_absent":["1966-01-07"],"required_present":[]},"all":{"required_absent":["1966-01-07"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-006","language":"en","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad private/public date variation.","text":"Trace[6]: Public release date: 1966-01-07","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":31,"end":41,"value":"1966-01-07","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1966-01-07"]},"customers":{"required_absent":[],"required_present":["1966-01-07"]},"all":{"required_absent":[],"required_present":["1966-01-07"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-007","language":"en","script":"Latin","shape":"code","risk":"high","reason":"Locked broad private/public date variation.","text":"fixture_7 := `Customer date of birth: 1967-02-08`","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":38,"end":48,"value":"1967-02-08","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1967-02-08"]},"customers":{"required_absent":["1967-02-08"],"required_present":[]},"all":{"required_absent":["1967-02-08"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-007","language":"en","script":"Latin","shape":"code","risk":"preservation","reason":"Locked broad private/public date variation.","text":"fixture_7 := `Public release date: 1967-02-08`","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":35,"end":45,"value":"1967-02-08","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1967-02-08"]},"customers":{"required_absent":[],"required_present":["1967-02-08"]},"all":{"required_absent":[],"required_present":["1967-02-08"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-008","language":"en","script":"Latin","shape":"signature","risk":"high","reason":"Locked broad private/public date variation.","text":"--\nCustomer date of birth: 1968-02-09","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":27,"end":37,"value":"1968-02-09","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1968-02-09"]},"customers":{"required_absent":["1968-02-09"],"required_present":[]},"all":{"required_absent":["1968-02-09"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-008","language":"en","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad private/public date variation.","text":"--\nPublic release date: 1968-02-09","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":24,"end":34,"value":"1968-02-09","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1968-02-09"]},"customers":{"required_absent":[],"required_present":["1968-02-09"]},"all":{"required_absent":[],"required_present":["1968-02-09"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-009","language":"en","script":"Latin","shape":"long-thread","risk":"high","reason":"Locked broad private/public date variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Customer date of birth: 1969-02-10","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":504,"end":514,"value":"1969-02-10","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1969-02-10"]},"customers":{"required_absent":["1969-02-10"],"required_present":[]},"all":{"required_absent":["1969-02-10"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-009","language":"en","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad private/public date variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Public release date: 1969-02-10","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":501,"end":511,"value":"1969-02-10","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1969-02-10"]},"customers":{"required_absent":[],"required_present":["1969-02-10"]},"all":{"required_absent":[],"required_present":["1969-02-10"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-010","language":"en","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad private/public date variation.","text":"--sample=10 --message=\"Customer date of birth: \" --value=1970-02-11","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":57,"end":67,"value":"1970-02-11","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1970-02-11"]},"customers":{"required_absent":["1970-02-11"],"required_present":[]},"all":{"required_absent":["1970-02-11"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-010","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad private/public date variation.","text":"--sample=10 --message=\"Public release date: \" --value=1970-02-11","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":54,"end":64,"value":"1970-02-11","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1970-02-11"]},"customers":{"required_absent":[],"required_present":["1970-02-11"]},"all":{"required_absent":[],"required_present":["1970-02-11"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-011","language":"en","script":"Latin","shape":"prose","risk":"high","reason":"Locked broad private/public date variation.","text":"Customer date of birth: 1971-02-12","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":24,"end":34,"value":"1971-02-12","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1971-02-12"]},"customers":{"required_absent":["1971-02-12"],"required_present":[]},"all":{"required_absent":["1971-02-12"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-011","language":"en","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad private/public date variation.","text":"Public release date: 1971-02-12","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":21,"end":31,"value":"1971-02-12","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1971-02-12"]},"customers":{"required_absent":[],"required_present":["1971-02-12"]},"all":{"required_absent":[],"required_present":["1971-02-12"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-012","language":"en","script":"Latin","shape":"json","risk":"high","reason":"Locked broad private/public date variation.","text":"{\"message_12\":\"Customer date of birth: 1972-02-13\"}","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":39,"end":49,"value":"1972-02-13","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1972-02-13"]},"customers":{"required_absent":["1972-02-13"],"required_present":[]},"all":{"required_absent":["1972-02-13"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-012","language":"en","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad private/public date variation.","text":"{\"message_12\":\"Public release date: 1972-02-13\"}","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":36,"end":46,"value":"1972-02-13","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1972-02-13"]},"customers":{"required_absent":[],"required_present":["1972-02-13"]},"all":{"required_absent":[],"required_present":["1972-02-13"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-013","language":"en","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad private/public date variation.","text":"message_13: Customer date of birth: 1973-02-14","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":36,"end":46,"value":"1973-02-14","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1973-02-14"]},"customers":{"required_absent":["1973-02-14"],"required_present":[]},"all":{"required_absent":["1973-02-14"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-013","language":"en","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad private/public date variation.","text":"message_13: Public release date: 1973-02-14","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":33,"end":43,"value":"1973-02-14","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1973-02-14"]},"customers":{"required_absent":[],"required_present":["1973-02-14"]},"all":{"required_absent":[],"required_present":["1973-02-14"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-014","language":"en","script":"Latin","shape":"shell","risk":"high","reason":"Locked broad private/public date variation.","text":"MESSAGE_14='Customer date of birth: 1974-03-15'","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":36,"end":46,"value":"1974-03-15","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1974-03-15"]},"customers":{"required_absent":["1974-03-15"],"required_present":[]},"all":{"required_absent":["1974-03-15"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-014","language":"en","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad private/public date variation.","text":"MESSAGE_14='Public release date: 1974-03-15'","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":33,"end":43,"value":"1974-03-15","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1974-03-15"]},"customers":{"required_absent":[],"required_present":["1974-03-15"]},"all":{"required_absent":[],"required_present":["1974-03-15"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-015","language":"en","script":"Latin","shape":"url","risk":"high","reason":"Locked broad private/public date variation.","text":"endpoint=https://192.0.2.10/15 ; Customer date of birth: 1975-03-16","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":57,"end":67,"value":"1975-03-16","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1975-03-16"]},"customers":{"required_absent":["1975-03-16"],"required_present":[]},"all":{"required_absent":["1975-03-16"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-015","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad private/public date variation.","text":"endpoint=https://192.0.2.10/15 ; Public release date: 1975-03-16","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":54,"end":64,"value":"1975-03-16","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1975-03-16"]},"customers":{"required_absent":[],"required_present":["1975-03-16"]},"all":{"required_absent":[],"required_present":["1975-03-16"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-016","language":"en","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad private/public date variation.","text":"**Customer date of birth: 1976-03-17**","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":26,"end":36,"value":"1976-03-17","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1976-03-17"]},"customers":{"required_absent":["1976-03-17"],"required_present":[]},"all":{"required_absent":["1976-03-17"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-016","language":"en","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad private/public date variation.","text":"**Public release date: 1976-03-17**","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":23,"end":33,"value":"1976-03-17","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1976-03-17"]},"customers":{"required_absent":[],"required_present":["1976-03-17"]},"all":{"required_absent":[],"required_present":["1976-03-17"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-017","language":"en","script":"Latin","shape":"html","risk":"high","reason":"Locked broad private/public date variation.","text":"\u003cp\u003eCustomer date of birth: 1977-03-18\u003c/p\u003e","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":27,"end":37,"value":"1977-03-18","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1977-03-18"]},"customers":{"required_absent":["1977-03-18"],"required_present":[]},"all":{"required_absent":["1977-03-18"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-017","language":"en","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad private/public date variation.","text":"\u003cp\u003ePublic release date: 1977-03-18\u003c/p\u003e","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":24,"end":34,"value":"1977-03-18","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1977-03-18"]},"customers":{"required_absent":[],"required_present":["1977-03-18"]},"all":{"required_absent":[],"required_present":["1977-03-18"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-018","language":"en","script":"Latin","shape":"quoted-reply","risk":"high","reason":"Locked broad private/public date variation.","text":"\u003e Customer date of birth: 1978-03-19","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":26,"end":36,"value":"1978-03-19","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1978-03-19"]},"customers":{"required_absent":["1978-03-19"],"required_present":[]},"all":{"required_absent":["1978-03-19"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-018","language":"en","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad private/public date variation.","text":"\u003e Public release date: 1978-03-19","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":23,"end":33,"value":"1978-03-19","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1978-03-19"]},"customers":{"required_absent":[],"required_present":["1978-03-19"]},"all":{"required_absent":[],"required_present":["1978-03-19"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-019","language":"en","script":"Latin","shape":"log","risk":"high","reason":"Locked broad private/public date variation.","text":"level=warn sample=19 message=\"Customer date of birth: \" value=1979-03-20","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":62,"end":72,"value":"1979-03-20","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1979-03-20"]},"customers":{"required_absent":["1979-03-20"],"required_present":[]},"all":{"required_absent":["1979-03-20"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-019","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad private/public date variation.","text":"level=warn sample=19 message=\"Public release date: \" value=1979-03-20","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":59,"end":69,"value":"1979-03-20","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1979-03-20"]},"customers":{"required_absent":[],"required_present":["1979-03-20"]},"all":{"required_absent":[],"required_present":["1979-03-20"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-020","language":"en","script":"Latin","shape":"stack-trace","risk":"high","reason":"Locked broad private/public date variation.","text":"Trace[20]: Customer date of birth: 1980-03-21","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":35,"end":45,"value":"1980-03-21","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1980-03-21"]},"customers":{"required_absent":["1980-03-21"],"required_present":[]},"all":{"required_absent":["1980-03-21"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-020","language":"en","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad private/public date variation.","text":"Trace[20]: Public release date: 1980-03-21","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":32,"end":42,"value":"1980-03-21","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1980-03-21"]},"customers":{"required_absent":[],"required_present":["1980-03-21"]},"all":{"required_absent":[],"required_present":["1980-03-21"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-021","language":"en","script":"Latin","shape":"code","risk":"high","reason":"Locked broad private/public date variation.","text":"fixture_21 := `Customer date of birth: 1981-04-22`","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":39,"end":49,"value":"1981-04-22","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1981-04-22"]},"customers":{"required_absent":["1981-04-22"],"required_present":[]},"all":{"required_absent":["1981-04-22"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-021","language":"en","script":"Latin","shape":"code","risk":"preservation","reason":"Locked broad private/public date variation.","text":"fixture_21 := `Public release date: 1981-04-22`","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":36,"end":46,"value":"1981-04-22","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1981-04-22"]},"customers":{"required_absent":[],"required_present":["1981-04-22"]},"all":{"required_absent":[],"required_present":["1981-04-22"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-022","language":"en","script":"Latin","shape":"signature","risk":"high","reason":"Locked broad private/public date variation.","text":"--\nCustomer date of birth: 1982-04-23","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":27,"end":37,"value":"1982-04-23","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1982-04-23"]},"customers":{"required_absent":["1982-04-23"],"required_present":[]},"all":{"required_absent":["1982-04-23"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-022","language":"en","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad private/public date variation.","text":"--\nPublic release date: 1982-04-23","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":24,"end":34,"value":"1982-04-23","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1982-04-23"]},"customers":{"required_absent":[],"required_present":["1982-04-23"]},"all":{"required_absent":[],"required_present":["1982-04-23"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-023","language":"en","script":"Latin","shape":"long-thread","risk":"high","reason":"Locked broad private/public date variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Customer date of birth: 1983-04-24","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":504,"end":514,"value":"1983-04-24","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1983-04-24"]},"customers":{"required_absent":["1983-04-24"],"required_present":[]},"all":{"required_absent":["1983-04-24"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-023","language":"en","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad private/public date variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Public release date: 1983-04-24","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":501,"end":511,"value":"1983-04-24","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1983-04-24"]},"customers":{"required_absent":[],"required_present":["1983-04-24"]},"all":{"required_absent":[],"required_present":["1983-04-24"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-024","language":"en","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad private/public date variation.","text":"--sample=24 --message=\"Customer date of birth: \" --value=1984-04-25","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":57,"end":67,"value":"1984-04-25","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1984-04-25"]},"customers":{"required_absent":["1984-04-25"],"required_present":[]},"all":{"required_absent":["1984-04-25"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-024","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad private/public date variation.","text":"--sample=24 --message=\"Public release date: \" --value=1984-04-25","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":54,"end":64,"value":"1984-04-25","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1984-04-25"]},"customers":{"required_absent":[],"required_present":["1984-04-25"]},"all":{"required_absent":[],"required_present":["1984-04-25"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-025","language":"en","script":"Latin","shape":"prose","risk":"high","reason":"Locked broad private/public date variation.","text":"Customer date of birth: 1985-04-26","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":24,"end":34,"value":"1985-04-26","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1985-04-26"]},"customers":{"required_absent":["1985-04-26"],"required_present":[]},"all":{"required_absent":["1985-04-26"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-025","language":"en","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad private/public date variation.","text":"Public release date: 1985-04-26","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":21,"end":31,"value":"1985-04-26","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1985-04-26"]},"customers":{"required_absent":[],"required_present":["1985-04-26"]},"all":{"required_absent":[],"required_present":["1985-04-26"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-026","language":"en","script":"Latin","shape":"json","risk":"high","reason":"Locked broad private/public date variation.","text":"{\"message_26\":\"Customer date of birth: 1986-04-27\"}","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":39,"end":49,"value":"1986-04-27","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1986-04-27"]},"customers":{"required_absent":["1986-04-27"],"required_present":[]},"all":{"required_absent":["1986-04-27"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-026","language":"en","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad private/public date variation.","text":"{\"message_26\":\"Public release date: 1986-04-27\"}","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":36,"end":46,"value":"1986-04-27","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1986-04-27"]},"customers":{"required_absent":[],"required_present":["1986-04-27"]},"all":{"required_absent":[],"required_present":["1986-04-27"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-027","language":"en","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad private/public date variation.","text":"message_27: Customer date of birth: 1987-04-28","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":36,"end":46,"value":"1987-04-28","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1987-04-28"]},"customers":{"required_absent":["1987-04-28"],"required_present":[]},"all":{"required_absent":["1987-04-28"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-027","language":"en","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad private/public date variation.","text":"message_27: Public release date: 1987-04-28","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":33,"end":43,"value":"1987-04-28","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1987-04-28"]},"customers":{"required_absent":[],"required_present":["1987-04-28"]},"all":{"required_absent":[],"required_present":["1987-04-28"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-028","language":"en","script":"Latin","shape":"shell","risk":"high","reason":"Locked broad private/public date variation.","text":"MESSAGE_28='Customer date of birth: 1988-05-01'","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":36,"end":46,"value":"1988-05-01","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1988-05-01"]},"customers":{"required_absent":["1988-05-01"],"required_present":[]},"all":{"required_absent":["1988-05-01"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-028","language":"en","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad private/public date variation.","text":"MESSAGE_28='Public release date: 1988-05-01'","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":33,"end":43,"value":"1988-05-01","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1988-05-01"]},"customers":{"required_absent":[],"required_present":["1988-05-01"]},"all":{"required_absent":[],"required_present":["1988-05-01"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-029","language":"en","script":"Latin","shape":"url","risk":"high","reason":"Locked broad private/public date variation.","text":"endpoint=https://192.0.2.10/29 ; Customer date of birth: 1989-05-02","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":57,"end":67,"value":"1989-05-02","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1989-05-02"]},"customers":{"required_absent":["1989-05-02"],"required_present":[]},"all":{"required_absent":["1989-05-02"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-029","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad private/public date variation.","text":"endpoint=https://192.0.2.10/29 ; Public release date: 1989-05-02","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":54,"end":64,"value":"1989-05-02","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1989-05-02"]},"customers":{"required_absent":[],"required_present":["1989-05-02"]},"all":{"required_absent":[],"required_present":["1989-05-02"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-030","language":"en","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad private/public date variation.","text":"**Customer date of birth: 1990-05-03**","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":26,"end":36,"value":"1990-05-03","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1990-05-03"]},"customers":{"required_absent":["1990-05-03"],"required_present":[]},"all":{"required_absent":["1990-05-03"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-030","language":"en","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad private/public date variation.","text":"**Public release date: 1990-05-03**","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":23,"end":33,"value":"1990-05-03","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1990-05-03"]},"customers":{"required_absent":[],"required_present":["1990-05-03"]},"all":{"required_absent":[],"required_present":["1990-05-03"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-031","language":"en","script":"Latin","shape":"html","risk":"high","reason":"Locked broad private/public date variation.","text":"\u003cp\u003eCustomer date of birth: 1991-05-04\u003c/p\u003e","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":27,"end":37,"value":"1991-05-04","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1991-05-04"]},"customers":{"required_absent":["1991-05-04"],"required_present":[]},"all":{"required_absent":["1991-05-04"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-031","language":"en","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad private/public date variation.","text":"\u003cp\u003ePublic release date: 1991-05-04\u003c/p\u003e","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":24,"end":34,"value":"1991-05-04","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1991-05-04"]},"customers":{"required_absent":[],"required_present":["1991-05-04"]},"all":{"required_absent":[],"required_present":["1991-05-04"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-032","language":"en","script":"Latin","shape":"quoted-reply","risk":"high","reason":"Locked broad private/public date variation.","text":"\u003e Customer date of birth: 1992-05-05","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":26,"end":36,"value":"1992-05-05","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1992-05-05"]},"customers":{"required_absent":["1992-05-05"],"required_present":[]},"all":{"required_absent":["1992-05-05"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-032","language":"en","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad private/public date variation.","text":"\u003e Public release date: 1992-05-05","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":23,"end":33,"value":"1992-05-05","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1992-05-05"]},"customers":{"required_absent":[],"required_present":["1992-05-05"]},"all":{"required_absent":[],"required_present":["1992-05-05"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-033","language":"en","script":"Latin","shape":"log","risk":"high","reason":"Locked broad private/public date variation.","text":"level=warn sample=33 message=\"Customer date of birth: \" value=1993-05-06","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":62,"end":72,"value":"1993-05-06","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1993-05-06"]},"customers":{"required_absent":["1993-05-06"],"required_present":[]},"all":{"required_absent":["1993-05-06"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-033","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad private/public date variation.","text":"level=warn sample=33 message=\"Public release date: \" value=1993-05-06","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":59,"end":69,"value":"1993-05-06","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1993-05-06"]},"customers":{"required_absent":[],"required_present":["1993-05-06"]},"all":{"required_absent":[],"required_present":["1993-05-06"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-034","language":"en","script":"Latin","shape":"stack-trace","risk":"high","reason":"Locked broad private/public date variation.","text":"Trace[34]: Customer date of birth: 1994-05-07","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":35,"end":45,"value":"1994-05-07","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1994-05-07"]},"customers":{"required_absent":["1994-05-07"],"required_present":[]},"all":{"required_absent":["1994-05-07"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-034","language":"en","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad private/public date variation.","text":"Trace[34]: Public release date: 1994-05-07","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":32,"end":42,"value":"1994-05-07","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1994-05-07"]},"customers":{"required_absent":[],"required_present":["1994-05-07"]},"all":{"required_absent":[],"required_present":["1994-05-07"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-035","language":"en","script":"Latin","shape":"code","risk":"high","reason":"Locked broad private/public date variation.","text":"fixture_35 := `Customer date of birth: 1995-06-08`","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":39,"end":49,"value":"1995-06-08","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1995-06-08"]},"customers":{"required_absent":["1995-06-08"],"required_present":[]},"all":{"required_absent":["1995-06-08"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-035","language":"en","script":"Latin","shape":"code","risk":"preservation","reason":"Locked broad private/public date variation.","text":"fixture_35 := `Public release date: 1995-06-08`","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":36,"end":46,"value":"1995-06-08","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1995-06-08"]},"customers":{"required_absent":[],"required_present":["1995-06-08"]},"all":{"required_absent":[],"required_present":["1995-06-08"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-036","language":"en","script":"Latin","shape":"signature","risk":"high","reason":"Locked broad private/public date variation.","text":"--\nCustomer date of birth: 1996-06-09","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":27,"end":37,"value":"1996-06-09","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1996-06-09"]},"customers":{"required_absent":["1996-06-09"],"required_present":[]},"all":{"required_absent":["1996-06-09"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-036","language":"en","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad private/public date variation.","text":"--\nPublic release date: 1996-06-09","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":24,"end":34,"value":"1996-06-09","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1996-06-09"]},"customers":{"required_absent":[],"required_present":["1996-06-09"]},"all":{"required_absent":[],"required_present":["1996-06-09"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-037","language":"en","script":"Latin","shape":"long-thread","risk":"high","reason":"Locked broad private/public date variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Customer date of birth: 1997-06-10","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":504,"end":514,"value":"1997-06-10","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1997-06-10"]},"customers":{"required_absent":["1997-06-10"],"required_present":[]},"all":{"required_absent":["1997-06-10"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-037","language":"en","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad private/public date variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Public release date: 1997-06-10","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":501,"end":511,"value":"1997-06-10","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1997-06-10"]},"customers":{"required_absent":[],"required_present":["1997-06-10"]},"all":{"required_absent":[],"required_present":["1997-06-10"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-038","language":"en","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad private/public date variation.","text":"--sample=38 --message=\"Customer date of birth: \" --value=1998-06-11","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":57,"end":67,"value":"1998-06-11","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1998-06-11"]},"customers":{"required_absent":["1998-06-11"],"required_present":[]},"all":{"required_absent":["1998-06-11"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-038","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad private/public date variation.","text":"--sample=38 --message=\"Public release date: \" --value=1998-06-11","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":54,"end":64,"value":"1998-06-11","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1998-06-11"]},"customers":{"required_absent":[],"required_present":["1998-06-11"]},"all":{"required_absent":[],"required_present":["1998-06-11"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-039","language":"en","script":"Latin","shape":"prose","risk":"high","reason":"Locked broad private/public date variation.","text":"Customer date of birth: 1999-06-12","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":24,"end":34,"value":"1999-06-12","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1999-06-12"]},"customers":{"required_absent":["1999-06-12"],"required_present":[]},"all":{"required_absent":["1999-06-12"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-039","language":"en","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad private/public date variation.","text":"Public release date: 1999-06-12","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":21,"end":31,"value":"1999-06-12","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1999-06-12"]},"customers":{"required_absent":[],"required_present":["1999-06-12"]},"all":{"required_absent":[],"required_present":["1999-06-12"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-040","language":"en","script":"Latin","shape":"json","risk":"high","reason":"Locked broad private/public date variation.","text":"{\"message_40\":\"Customer date of birth: 2000-06-13\"}","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":39,"end":49,"value":"2000-06-13","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["2000-06-13"]},"customers":{"required_absent":["2000-06-13"],"required_present":[]},"all":{"required_absent":["2000-06-13"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-040","language":"en","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad private/public date variation.","text":"{\"message_40\":\"Public release date: 2000-06-13\"}","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":36,"end":46,"value":"2000-06-13","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["2000-06-13"]},"customers":{"required_absent":[],"required_present":["2000-06-13"]},"all":{"required_absent":[],"required_present":["2000-06-13"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-041","language":"en","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad private/public date variation.","text":"message_41: Customer date of birth: 2001-06-14","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":36,"end":46,"value":"2001-06-14","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["2001-06-14"]},"customers":{"required_absent":["2001-06-14"],"required_present":[]},"all":{"required_absent":["2001-06-14"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-041","language":"en","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad private/public date variation.","text":"message_41: Public release date: 2001-06-14","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":33,"end":43,"value":"2001-06-14","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["2001-06-14"]},"customers":{"required_absent":[],"required_present":["2001-06-14"]},"all":{"required_absent":[],"required_present":["2001-06-14"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-042","language":"en","script":"Latin","shape":"shell","risk":"high","reason":"Locked broad private/public date variation.","text":"MESSAGE_42='Customer date of birth: 2002-07-15'","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":36,"end":46,"value":"2002-07-15","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["2002-07-15"]},"customers":{"required_absent":["2002-07-15"],"required_present":[]},"all":{"required_absent":["2002-07-15"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-042","language":"en","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad private/public date variation.","text":"MESSAGE_42='Public release date: 2002-07-15'","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":33,"end":43,"value":"2002-07-15","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["2002-07-15"]},"customers":{"required_absent":[],"required_present":["2002-07-15"]},"all":{"required_absent":[],"required_present":["2002-07-15"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-043","language":"en","script":"Latin","shape":"url","risk":"high","reason":"Locked broad private/public date variation.","text":"endpoint=https://192.0.2.10/43 ; Customer date of birth: 2003-07-16","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":57,"end":67,"value":"2003-07-16","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["2003-07-16"]},"customers":{"required_absent":["2003-07-16"],"required_present":[]},"all":{"required_absent":["2003-07-16"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-043","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad private/public date variation.","text":"endpoint=https://192.0.2.10/43 ; Public release date: 2003-07-16","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":54,"end":64,"value":"2003-07-16","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["2003-07-16"]},"customers":{"required_absent":[],"required_present":["2003-07-16"]},"all":{"required_absent":[],"required_present":["2003-07-16"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-044","language":"en","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad private/public date variation.","text":"**Customer date of birth: 2004-07-17**","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":26,"end":36,"value":"2004-07-17","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["2004-07-17"]},"customers":{"required_absent":["2004-07-17"],"required_present":[]},"all":{"required_absent":["2004-07-17"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-044","language":"en","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad private/public date variation.","text":"**Public release date: 2004-07-17**","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":23,"end":33,"value":"2004-07-17","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["2004-07-17"]},"customers":{"required_absent":[],"required_present":["2004-07-17"]},"all":{"required_absent":[],"required_present":["2004-07-17"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-045","language":"en","script":"Latin","shape":"html","risk":"high","reason":"Locked broad private/public date variation.","text":"\u003cp\u003eCustomer date of birth: 2005-07-18\u003c/p\u003e","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":27,"end":37,"value":"2005-07-18","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["2005-07-18"]},"customers":{"required_absent":["2005-07-18"],"required_present":[]},"all":{"required_absent":["2005-07-18"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-045","language":"en","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad private/public date variation.","text":"\u003cp\u003ePublic release date: 2005-07-18\u003c/p\u003e","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":24,"end":34,"value":"2005-07-18","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["2005-07-18"]},"customers":{"required_absent":[],"required_present":["2005-07-18"]},"all":{"required_absent":[],"required_present":["2005-07-18"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-046","language":"en","script":"Latin","shape":"quoted-reply","risk":"high","reason":"Locked broad private/public date variation.","text":"\u003e Customer date of birth: 2006-07-19","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":26,"end":36,"value":"2006-07-19","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["2006-07-19"]},"customers":{"required_absent":["2006-07-19"],"required_present":[]},"all":{"required_absent":["2006-07-19"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-046","language":"en","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad private/public date variation.","text":"\u003e Public release date: 2006-07-19","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":23,"end":33,"value":"2006-07-19","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["2006-07-19"]},"customers":{"required_absent":[],"required_present":["2006-07-19"]},"all":{"required_absent":[],"required_present":["2006-07-19"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-047","language":"en","script":"Latin","shape":"log","risk":"high","reason":"Locked broad private/public date variation.","text":"level=warn sample=47 message=\"Customer date of birth: \" value=2007-07-20","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":62,"end":72,"value":"2007-07-20","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["2007-07-20"]},"customers":{"required_absent":["2007-07-20"],"required_present":[]},"all":{"required_absent":["2007-07-20"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-047","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad private/public date variation.","text":"level=warn sample=47 message=\"Public release date: \" value=2007-07-20","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":59,"end":69,"value":"2007-07-20","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["2007-07-20"]},"customers":{"required_absent":[],"required_present":["2007-07-20"]},"all":{"required_absent":[],"required_present":["2007-07-20"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-048","language":"en","script":"Latin","shape":"stack-trace","risk":"high","reason":"Locked broad private/public date variation.","text":"Trace[48]: Customer date of birth: 2008-07-21","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":35,"end":45,"value":"2008-07-21","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["2008-07-21"]},"customers":{"required_absent":["2008-07-21"],"required_present":[]},"all":{"required_absent":["2008-07-21"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-048","language":"en","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad private/public date variation.","text":"Trace[48]: Public release date: 2008-07-21","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":32,"end":42,"value":"2008-07-21","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["2008-07-21"]},"customers":{"required_absent":[],"required_present":["2008-07-21"]},"all":{"required_absent":[],"required_present":["2008-07-21"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-049","language":"en","script":"Latin","shape":"code","risk":"high","reason":"Locked broad private/public date variation.","text":"fixture_49 := `Customer date of birth: 2009-08-22`","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":39,"end":49,"value":"2009-08-22","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["2009-08-22"]},"customers":{"required_absent":["2009-08-22"],"required_present":[]},"all":{"required_absent":["2009-08-22"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-049","language":"en","script":"Latin","shape":"code","risk":"preservation","reason":"Locked broad private/public date variation.","text":"fixture_49 := `Public release date: 2009-08-22`","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":36,"end":46,"value":"2009-08-22","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["2009-08-22"]},"customers":{"required_absent":[],"required_present":["2009-08-22"]},"all":{"required_absent":[],"required_present":["2009-08-22"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-050","language":"en","script":"Latin","shape":"signature","risk":"high","reason":"Locked broad private/public date variation.","text":"--\nCustomer date of birth: 1960-08-23","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":27,"end":37,"value":"1960-08-23","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1960-08-23"]},"customers":{"required_absent":["1960-08-23"],"required_present":[]},"all":{"required_absent":["1960-08-23"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-050","language":"en","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad private/public date variation.","text":"--\nPublic release date: 1960-08-23","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":24,"end":34,"value":"1960-08-23","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1960-08-23"]},"customers":{"required_absent":[],"required_present":["1960-08-23"]},"all":{"required_absent":[],"required_present":["1960-08-23"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-051","language":"en","script":"Latin","shape":"long-thread","risk":"high","reason":"Locked broad private/public date variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Customer date of birth: 1961-08-24","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":504,"end":514,"value":"1961-08-24","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1961-08-24"]},"customers":{"required_absent":["1961-08-24"],"required_present":[]},"all":{"required_absent":["1961-08-24"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-051","language":"en","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad private/public date variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Public release date: 1961-08-24","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":501,"end":511,"value":"1961-08-24","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1961-08-24"]},"customers":{"required_absent":[],"required_present":["1961-08-24"]},"all":{"required_absent":[],"required_present":["1961-08-24"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-052","language":"en","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad private/public date variation.","text":"--sample=52 --message=\"Customer date of birth: \" --value=1962-08-25","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":57,"end":67,"value":"1962-08-25","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1962-08-25"]},"customers":{"required_absent":["1962-08-25"],"required_present":[]},"all":{"required_absent":["1962-08-25"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-052","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad private/public date variation.","text":"--sample=52 --message=\"Public release date: \" --value=1962-08-25","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":54,"end":64,"value":"1962-08-25","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1962-08-25"]},"customers":{"required_absent":[],"required_present":["1962-08-25"]},"all":{"required_absent":[],"required_present":["1962-08-25"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-053","language":"en","script":"Latin","shape":"prose","risk":"high","reason":"Locked broad private/public date variation.","text":"Customer date of birth: 1963-08-26","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":24,"end":34,"value":"1963-08-26","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1963-08-26"]},"customers":{"required_absent":["1963-08-26"],"required_present":[]},"all":{"required_absent":["1963-08-26"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-053","language":"en","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad private/public date variation.","text":"Public release date: 1963-08-26","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":21,"end":31,"value":"1963-08-26","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1963-08-26"]},"customers":{"required_absent":[],"required_present":["1963-08-26"]},"all":{"required_absent":[],"required_present":["1963-08-26"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-054","language":"en","script":"Latin","shape":"json","risk":"high","reason":"Locked broad private/public date variation.","text":"{\"message_54\":\"Customer date of birth: 1964-08-27\"}","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":39,"end":49,"value":"1964-08-27","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1964-08-27"]},"customers":{"required_absent":["1964-08-27"],"required_present":[]},"all":{"required_absent":["1964-08-27"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-054","language":"en","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad private/public date variation.","text":"{\"message_54\":\"Public release date: 1964-08-27\"}","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":36,"end":46,"value":"1964-08-27","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1964-08-27"]},"customers":{"required_absent":[],"required_present":["1964-08-27"]},"all":{"required_absent":[],"required_present":["1964-08-27"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-055","language":"en","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad private/public date variation.","text":"message_55: Customer date of birth: 1965-08-28","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":36,"end":46,"value":"1965-08-28","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1965-08-28"]},"customers":{"required_absent":["1965-08-28"],"required_present":[]},"all":{"required_absent":["1965-08-28"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-055","language":"en","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad private/public date variation.","text":"message_55: Public release date: 1965-08-28","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":33,"end":43,"value":"1965-08-28","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1965-08-28"]},"customers":{"required_absent":[],"required_present":["1965-08-28"]},"all":{"required_absent":[],"required_present":["1965-08-28"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-056","language":"en","script":"Latin","shape":"shell","risk":"high","reason":"Locked broad private/public date variation.","text":"MESSAGE_56='Customer date of birth: 1966-09-01'","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":36,"end":46,"value":"1966-09-01","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1966-09-01"]},"customers":{"required_absent":["1966-09-01"],"required_present":[]},"all":{"required_absent":["1966-09-01"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-056","language":"en","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad private/public date variation.","text":"MESSAGE_56='Public release date: 1966-09-01'","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":33,"end":43,"value":"1966-09-01","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1966-09-01"]},"customers":{"required_absent":[],"required_present":["1966-09-01"]},"all":{"required_absent":[],"required_present":["1966-09-01"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-057","language":"en","script":"Latin","shape":"url","risk":"high","reason":"Locked broad private/public date variation.","text":"endpoint=https://192.0.2.10/57 ; Customer date of birth: 1967-09-02","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":57,"end":67,"value":"1967-09-02","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1967-09-02"]},"customers":{"required_absent":["1967-09-02"],"required_present":[]},"all":{"required_absent":["1967-09-02"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-057","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad private/public date variation.","text":"endpoint=https://192.0.2.10/57 ; Public release date: 1967-09-02","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":54,"end":64,"value":"1967-09-02","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1967-09-02"]},"customers":{"required_absent":[],"required_present":["1967-09-02"]},"all":{"required_absent":[],"required_present":["1967-09-02"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-058","language":"en","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad private/public date variation.","text":"**Customer date of birth: 1968-09-03**","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":26,"end":36,"value":"1968-09-03","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1968-09-03"]},"customers":{"required_absent":["1968-09-03"],"required_present":[]},"all":{"required_absent":["1968-09-03"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-058","language":"en","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad private/public date variation.","text":"**Public release date: 1968-09-03**","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":23,"end":33,"value":"1968-09-03","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1968-09-03"]},"customers":{"required_absent":[],"required_present":["1968-09-03"]},"all":{"required_absent":[],"required_present":["1968-09-03"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-059","language":"en","script":"Latin","shape":"html","risk":"high","reason":"Locked broad private/public date variation.","text":"\u003cp\u003eCustomer date of birth: 1969-09-04\u003c/p\u003e","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":27,"end":37,"value":"1969-09-04","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1969-09-04"]},"customers":{"required_absent":["1969-09-04"],"required_present":[]},"all":{"required_absent":["1969-09-04"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-059","language":"en","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad private/public date variation.","text":"\u003cp\u003ePublic release date: 1969-09-04\u003c/p\u003e","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":24,"end":34,"value":"1969-09-04","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1969-09-04"]},"customers":{"required_absent":[],"required_present":["1969-09-04"]},"all":{"required_absent":[],"required_present":["1969-09-04"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-060","language":"en","script":"Latin","shape":"quoted-reply","risk":"high","reason":"Locked broad private/public date variation.","text":"\u003e Customer date of birth: 1970-09-05","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":26,"end":36,"value":"1970-09-05","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1970-09-05"]},"customers":{"required_absent":["1970-09-05"],"required_present":[]},"all":{"required_absent":["1970-09-05"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-060","language":"en","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad private/public date variation.","text":"\u003e Public release date: 1970-09-05","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":23,"end":33,"value":"1970-09-05","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1970-09-05"]},"customers":{"required_absent":[],"required_present":["1970-09-05"]},"all":{"required_absent":[],"required_present":["1970-09-05"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-061","language":"en","script":"Latin","shape":"log","risk":"high","reason":"Locked broad private/public date variation.","text":"level=warn sample=61 message=\"Customer date of birth: \" value=1971-09-06","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":62,"end":72,"value":"1971-09-06","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1971-09-06"]},"customers":{"required_absent":["1971-09-06"],"required_present":[]},"all":{"required_absent":["1971-09-06"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-061","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad private/public date variation.","text":"level=warn sample=61 message=\"Public release date: \" value=1971-09-06","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":59,"end":69,"value":"1971-09-06","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1971-09-06"]},"customers":{"required_absent":[],"required_present":["1971-09-06"]},"all":{"required_absent":[],"required_present":["1971-09-06"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-062","language":"en","script":"Latin","shape":"stack-trace","risk":"high","reason":"Locked broad private/public date variation.","text":"Trace[62]: Customer date of birth: 1972-09-07","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":35,"end":45,"value":"1972-09-07","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1972-09-07"]},"customers":{"required_absent":["1972-09-07"],"required_present":[]},"all":{"required_absent":["1972-09-07"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-062","language":"en","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad private/public date variation.","text":"Trace[62]: Public release date: 1972-09-07","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":32,"end":42,"value":"1972-09-07","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1972-09-07"]},"customers":{"required_absent":[],"required_present":["1972-09-07"]},"all":{"required_absent":[],"required_present":["1972-09-07"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-063","language":"en","script":"Latin","shape":"code","risk":"high","reason":"Locked broad private/public date variation.","text":"fixture_63 := `Customer date of birth: 1973-10-08`","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":39,"end":49,"value":"1973-10-08","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1973-10-08"]},"customers":{"required_absent":["1973-10-08"],"required_present":[]},"all":{"required_absent":["1973-10-08"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-063","language":"en","script":"Latin","shape":"code","risk":"preservation","reason":"Locked broad private/public date variation.","text":"fixture_63 := `Public release date: 1973-10-08`","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":36,"end":46,"value":"1973-10-08","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1973-10-08"]},"customers":{"required_absent":[],"required_present":["1973-10-08"]},"all":{"required_absent":[],"required_present":["1973-10-08"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-064","language":"en","script":"Latin","shape":"signature","risk":"high","reason":"Locked broad private/public date variation.","text":"--\nCustomer date of birth: 1974-10-09","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":27,"end":37,"value":"1974-10-09","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1974-10-09"]},"customers":{"required_absent":["1974-10-09"],"required_present":[]},"all":{"required_absent":["1974-10-09"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-064","language":"en","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad private/public date variation.","text":"--\nPublic release date: 1974-10-09","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":24,"end":34,"value":"1974-10-09","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1974-10-09"]},"customers":{"required_absent":[],"required_present":["1974-10-09"]},"all":{"required_absent":[],"required_present":["1974-10-09"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-065","language":"en","script":"Latin","shape":"long-thread","risk":"high","reason":"Locked broad private/public date variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Customer date of birth: 1975-10-10","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":504,"end":514,"value":"1975-10-10","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1975-10-10"]},"customers":{"required_absent":["1975-10-10"],"required_present":[]},"all":{"required_absent":["1975-10-10"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-065","language":"en","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad private/public date variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Public release date: 1975-10-10","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":501,"end":511,"value":"1975-10-10","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1975-10-10"]},"customers":{"required_absent":[],"required_present":["1975-10-10"]},"all":{"required_absent":[],"required_present":["1975-10-10"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-066","language":"en","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad private/public date variation.","text":"--sample=66 --message=\"Customer date of birth: \" --value=1976-10-11","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":57,"end":67,"value":"1976-10-11","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1976-10-11"]},"customers":{"required_absent":["1976-10-11"],"required_present":[]},"all":{"required_absent":["1976-10-11"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-066","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad private/public date variation.","text":"--sample=66 --message=\"Public release date: \" --value=1976-10-11","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":54,"end":64,"value":"1976-10-11","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1976-10-11"]},"customers":{"required_absent":[],"required_present":["1976-10-11"]},"all":{"required_absent":[],"required_present":["1976-10-11"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-067","language":"en","script":"Latin","shape":"prose","risk":"high","reason":"Locked broad private/public date variation.","text":"Customer date of birth: 1977-10-12","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":24,"end":34,"value":"1977-10-12","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1977-10-12"]},"customers":{"required_absent":["1977-10-12"],"required_present":[]},"all":{"required_absent":["1977-10-12"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-067","language":"en","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad private/public date variation.","text":"Public release date: 1977-10-12","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":21,"end":31,"value":"1977-10-12","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1977-10-12"]},"customers":{"required_absent":[],"required_present":["1977-10-12"]},"all":{"required_absent":[],"required_present":["1977-10-12"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-068","language":"en","script":"Latin","shape":"json","risk":"high","reason":"Locked broad private/public date variation.","text":"{\"message_68\":\"Customer date of birth: 1978-10-13\"}","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":39,"end":49,"value":"1978-10-13","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1978-10-13"]},"customers":{"required_absent":["1978-10-13"],"required_present":[]},"all":{"required_absent":["1978-10-13"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-068","language":"en","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad private/public date variation.","text":"{\"message_68\":\"Public release date: 1978-10-13\"}","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":36,"end":46,"value":"1978-10-13","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1978-10-13"]},"customers":{"required_absent":[],"required_present":["1978-10-13"]},"all":{"required_absent":[],"required_present":["1978-10-13"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-069","language":"en","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad private/public date variation.","text":"message_69: Customer date of birth: 1979-10-14","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":36,"end":46,"value":"1979-10-14","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1979-10-14"]},"customers":{"required_absent":["1979-10-14"],"required_present":[]},"all":{"required_absent":["1979-10-14"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-069","language":"en","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad private/public date variation.","text":"message_69: Public release date: 1979-10-14","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":33,"end":43,"value":"1979-10-14","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1979-10-14"]},"customers":{"required_absent":[],"required_present":["1979-10-14"]},"all":{"required_absent":[],"required_present":["1979-10-14"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-070","language":"en","script":"Latin","shape":"shell","risk":"high","reason":"Locked broad private/public date variation.","text":"MESSAGE_70='Customer date of birth: 1980-11-15'","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":36,"end":46,"value":"1980-11-15","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1980-11-15"]},"customers":{"required_absent":["1980-11-15"],"required_present":[]},"all":{"required_absent":["1980-11-15"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-070","language":"en","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad private/public date variation.","text":"MESSAGE_70='Public release date: 1980-11-15'","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":33,"end":43,"value":"1980-11-15","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1980-11-15"]},"customers":{"required_absent":[],"required_present":["1980-11-15"]},"all":{"required_absent":[],"required_present":["1980-11-15"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-071","language":"en","script":"Latin","shape":"url","risk":"high","reason":"Locked broad private/public date variation.","text":"endpoint=https://192.0.2.10/71 ; Customer date of birth: 1981-11-16","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":57,"end":67,"value":"1981-11-16","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1981-11-16"]},"customers":{"required_absent":["1981-11-16"],"required_present":[]},"all":{"required_absent":["1981-11-16"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-071","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad private/public date variation.","text":"endpoint=https://192.0.2.10/71 ; Public release date: 1981-11-16","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":54,"end":64,"value":"1981-11-16","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1981-11-16"]},"customers":{"required_absent":[],"required_present":["1981-11-16"]},"all":{"required_absent":[],"required_present":["1981-11-16"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-072","language":"en","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad private/public date variation.","text":"**Customer date of birth: 1982-11-17**","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":26,"end":36,"value":"1982-11-17","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1982-11-17"]},"customers":{"required_absent":["1982-11-17"],"required_present":[]},"all":{"required_absent":["1982-11-17"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-072","language":"en","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad private/public date variation.","text":"**Public release date: 1982-11-17**","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":23,"end":33,"value":"1982-11-17","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1982-11-17"]},"customers":{"required_absent":[],"required_present":["1982-11-17"]},"all":{"required_absent":[],"required_present":["1982-11-17"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-073","language":"en","script":"Latin","shape":"html","risk":"high","reason":"Locked broad private/public date variation.","text":"\u003cp\u003eCustomer date of birth: 1983-11-18\u003c/p\u003e","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":27,"end":37,"value":"1983-11-18","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1983-11-18"]},"customers":{"required_absent":["1983-11-18"],"required_present":[]},"all":{"required_absent":["1983-11-18"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-073","language":"en","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad private/public date variation.","text":"\u003cp\u003ePublic release date: 1983-11-18\u003c/p\u003e","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":24,"end":34,"value":"1983-11-18","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1983-11-18"]},"customers":{"required_absent":[],"required_present":["1983-11-18"]},"all":{"required_absent":[],"required_present":["1983-11-18"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-074","language":"en","script":"Latin","shape":"quoted-reply","risk":"high","reason":"Locked broad private/public date variation.","text":"\u003e Customer date of birth: 1984-11-19","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":26,"end":36,"value":"1984-11-19","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1984-11-19"]},"customers":{"required_absent":["1984-11-19"],"required_present":[]},"all":{"required_absent":["1984-11-19"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-074","language":"en","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad private/public date variation.","text":"\u003e Public release date: 1984-11-19","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":23,"end":33,"value":"1984-11-19","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1984-11-19"]},"customers":{"required_absent":[],"required_present":["1984-11-19"]},"all":{"required_absent":[],"required_present":["1984-11-19"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-075","language":"en","script":"Latin","shape":"log","risk":"high","reason":"Locked broad private/public date variation.","text":"level=warn sample=75 message=\"Customer date of birth: \" value=1985-11-20","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":62,"end":72,"value":"1985-11-20","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1985-11-20"]},"customers":{"required_absent":["1985-11-20"],"required_present":[]},"all":{"required_absent":["1985-11-20"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-075","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad private/public date variation.","text":"level=warn sample=75 message=\"Public release date: \" value=1985-11-20","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":59,"end":69,"value":"1985-11-20","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1985-11-20"]},"customers":{"required_absent":[],"required_present":["1985-11-20"]},"all":{"required_absent":[],"required_present":["1985-11-20"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-076","language":"en","script":"Latin","shape":"stack-trace","risk":"high","reason":"Locked broad private/public date variation.","text":"Trace[76]: Customer date of birth: 1986-11-21","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":35,"end":45,"value":"1986-11-21","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1986-11-21"]},"customers":{"required_absent":["1986-11-21"],"required_present":[]},"all":{"required_absent":["1986-11-21"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-076","language":"en","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad private/public date variation.","text":"Trace[76]: Public release date: 1986-11-21","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":32,"end":42,"value":"1986-11-21","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1986-11-21"]},"customers":{"required_absent":[],"required_present":["1986-11-21"]},"all":{"required_absent":[],"required_present":["1986-11-21"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-077","language":"en","script":"Latin","shape":"code","risk":"high","reason":"Locked broad private/public date variation.","text":"fixture_77 := `Customer date of birth: 1987-12-22`","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":39,"end":49,"value":"1987-12-22","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1987-12-22"]},"customers":{"required_absent":["1987-12-22"],"required_present":[]},"all":{"required_absent":["1987-12-22"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-077","language":"en","script":"Latin","shape":"code","risk":"preservation","reason":"Locked broad private/public date variation.","text":"fixture_77 := `Public release date: 1987-12-22`","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":36,"end":46,"value":"1987-12-22","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1987-12-22"]},"customers":{"required_absent":[],"required_present":["1987-12-22"]},"all":{"required_absent":[],"required_present":["1987-12-22"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-078","language":"en","script":"Latin","shape":"signature","risk":"high","reason":"Locked broad private/public date variation.","text":"--\nCustomer date of birth: 1988-12-23","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":27,"end":37,"value":"1988-12-23","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1988-12-23"]},"customers":{"required_absent":["1988-12-23"],"required_present":[]},"all":{"required_absent":["1988-12-23"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-078","language":"en","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad private/public date variation.","text":"--\nPublic release date: 1988-12-23","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":24,"end":34,"value":"1988-12-23","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1988-12-23"]},"customers":{"required_absent":[],"required_present":["1988-12-23"]},"all":{"required_absent":[],"required_present":["1988-12-23"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-079","language":"en","script":"Latin","shape":"long-thread","risk":"high","reason":"Locked broad private/public date variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Customer date of birth: 1989-12-24","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":504,"end":514,"value":"1989-12-24","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1989-12-24"]},"customers":{"required_absent":["1989-12-24"],"required_present":[]},"all":{"required_absent":["1989-12-24"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-079","language":"en","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad private/public date variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Public release date: 1989-12-24","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":501,"end":511,"value":"1989-12-24","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1989-12-24"]},"customers":{"required_absent":[],"required_present":["1989-12-24"]},"all":{"required_absent":[],"required_present":["1989-12-24"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-080","language":"en","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad private/public date variation.","text":"--sample=80 --message=\"Customer date of birth: \" --value=1990-12-25","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":57,"end":67,"value":"1990-12-25","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1990-12-25"]},"customers":{"required_absent":["1990-12-25"],"required_present":[]},"all":{"required_absent":["1990-12-25"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-080","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad private/public date variation.","text":"--sample=80 --message=\"Public release date: \" --value=1990-12-25","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":54,"end":64,"value":"1990-12-25","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1990-12-25"]},"customers":{"required_absent":[],"required_present":["1990-12-25"]},"all":{"required_absent":[],"required_present":["1990-12-25"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-081","language":"en","script":"Latin","shape":"prose","risk":"high","reason":"Locked broad private/public date variation.","text":"Customer date of birth: 1991-12-26","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":24,"end":34,"value":"1991-12-26","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1991-12-26"]},"customers":{"required_absent":["1991-12-26"],"required_present":[]},"all":{"required_absent":["1991-12-26"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-081","language":"en","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad private/public date variation.","text":"Public release date: 1991-12-26","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":21,"end":31,"value":"1991-12-26","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1991-12-26"]},"customers":{"required_absent":[],"required_present":["1991-12-26"]},"all":{"required_absent":[],"required_present":["1991-12-26"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-082","language":"en","script":"Latin","shape":"json","risk":"high","reason":"Locked broad private/public date variation.","text":"{\"message_82\":\"Customer date of birth: 1992-12-27\"}","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":39,"end":49,"value":"1992-12-27","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1992-12-27"]},"customers":{"required_absent":["1992-12-27"],"required_present":[]},"all":{"required_absent":["1992-12-27"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-082","language":"en","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad private/public date variation.","text":"{\"message_82\":\"Public release date: 1992-12-27\"}","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":36,"end":46,"value":"1992-12-27","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1992-12-27"]},"customers":{"required_absent":[],"required_present":["1992-12-27"]},"all":{"required_absent":[],"required_present":["1992-12-27"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-083","language":"en","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad private/public date variation.","text":"message_83: Customer date of birth: 1993-12-28","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":36,"end":46,"value":"1993-12-28","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1993-12-28"]},"customers":{"required_absent":["1993-12-28"],"required_present":[]},"all":{"required_absent":["1993-12-28"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-083","language":"en","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad private/public date variation.","text":"message_83: Public release date: 1993-12-28","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":33,"end":43,"value":"1993-12-28","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1993-12-28"]},"customers":{"required_absent":[],"required_present":["1993-12-28"]},"all":{"required_absent":[],"required_present":["1993-12-28"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-084","language":"en","script":"Latin","shape":"shell","risk":"high","reason":"Locked broad private/public date variation.","text":"MESSAGE_84='Customer date of birth: 1994-01-01'","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":36,"end":46,"value":"1994-01-01","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1994-01-01"]},"customers":{"required_absent":["1994-01-01"],"required_present":[]},"all":{"required_absent":["1994-01-01"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-084","language":"en","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad private/public date variation.","text":"MESSAGE_84='Public release date: 1994-01-01'","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":33,"end":43,"value":"1994-01-01","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1994-01-01"]},"customers":{"required_absent":[],"required_present":["1994-01-01"]},"all":{"required_absent":[],"required_present":["1994-01-01"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-085","language":"en","script":"Latin","shape":"url","risk":"high","reason":"Locked broad private/public date variation.","text":"endpoint=https://192.0.2.10/85 ; Customer date of birth: 1995-01-02","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":57,"end":67,"value":"1995-01-02","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1995-01-02"]},"customers":{"required_absent":["1995-01-02"],"required_present":[]},"all":{"required_absent":["1995-01-02"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-085","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad private/public date variation.","text":"endpoint=https://192.0.2.10/85 ; Public release date: 1995-01-02","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":54,"end":64,"value":"1995-01-02","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1995-01-02"]},"customers":{"required_absent":[],"required_present":["1995-01-02"]},"all":{"required_absent":[],"required_present":["1995-01-02"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-086","language":"en","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad private/public date variation.","text":"**Customer date of birth: 1996-01-03**","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":26,"end":36,"value":"1996-01-03","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1996-01-03"]},"customers":{"required_absent":["1996-01-03"],"required_present":[]},"all":{"required_absent":["1996-01-03"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-086","language":"en","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad private/public date variation.","text":"**Public release date: 1996-01-03**","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":23,"end":33,"value":"1996-01-03","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1996-01-03"]},"customers":{"required_absent":[],"required_present":["1996-01-03"]},"all":{"required_absent":[],"required_present":["1996-01-03"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-087","language":"en","script":"Latin","shape":"html","risk":"high","reason":"Locked broad private/public date variation.","text":"\u003cp\u003eCustomer date of birth: 1997-01-04\u003c/p\u003e","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":27,"end":37,"value":"1997-01-04","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1997-01-04"]},"customers":{"required_absent":["1997-01-04"],"required_present":[]},"all":{"required_absent":["1997-01-04"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-087","language":"en","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad private/public date variation.","text":"\u003cp\u003ePublic release date: 1997-01-04\u003c/p\u003e","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":24,"end":34,"value":"1997-01-04","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1997-01-04"]},"customers":{"required_absent":[],"required_present":["1997-01-04"]},"all":{"required_absent":[],"required_present":["1997-01-04"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-088","language":"en","script":"Latin","shape":"quoted-reply","risk":"high","reason":"Locked broad private/public date variation.","text":"\u003e Customer date of birth: 1998-01-05","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":26,"end":36,"value":"1998-01-05","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1998-01-05"]},"customers":{"required_absent":["1998-01-05"],"required_present":[]},"all":{"required_absent":["1998-01-05"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-088","language":"en","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad private/public date variation.","text":"\u003e Public release date: 1998-01-05","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":23,"end":33,"value":"1998-01-05","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1998-01-05"]},"customers":{"required_absent":[],"required_present":["1998-01-05"]},"all":{"required_absent":[],"required_present":["1998-01-05"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-089","language":"en","script":"Latin","shape":"log","risk":"high","reason":"Locked broad private/public date variation.","text":"level=warn sample=89 message=\"Customer date of birth: \" value=1999-01-06","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":62,"end":72,"value":"1999-01-06","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1999-01-06"]},"customers":{"required_absent":["1999-01-06"],"required_present":[]},"all":{"required_absent":["1999-01-06"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-089","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad private/public date variation.","text":"level=warn sample=89 message=\"Public release date: \" value=1999-01-06","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":59,"end":69,"value":"1999-01-06","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1999-01-06"]},"customers":{"required_absent":[],"required_present":["1999-01-06"]},"all":{"required_absent":[],"required_present":["1999-01-06"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-090","language":"en","script":"Latin","shape":"stack-trace","risk":"high","reason":"Locked broad private/public date variation.","text":"Trace[90]: Customer date of birth: 2000-01-07","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":35,"end":45,"value":"2000-01-07","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["2000-01-07"]},"customers":{"required_absent":["2000-01-07"],"required_present":[]},"all":{"required_absent":["2000-01-07"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-090","language":"en","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad private/public date variation.","text":"Trace[90]: Public release date: 2000-01-07","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":32,"end":42,"value":"2000-01-07","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["2000-01-07"]},"customers":{"required_absent":[],"required_present":["2000-01-07"]},"all":{"required_absent":[],"required_present":["2000-01-07"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-091","language":"en","script":"Latin","shape":"code","risk":"high","reason":"Locked broad private/public date variation.","text":"fixture_91 := `Customer date of birth: 2001-02-08`","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":39,"end":49,"value":"2001-02-08","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["2001-02-08"]},"customers":{"required_absent":["2001-02-08"],"required_present":[]},"all":{"required_absent":["2001-02-08"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-091","language":"en","script":"Latin","shape":"code","risk":"preservation","reason":"Locked broad private/public date variation.","text":"fixture_91 := `Public release date: 2001-02-08`","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":36,"end":46,"value":"2001-02-08","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["2001-02-08"]},"customers":{"required_absent":[],"required_present":["2001-02-08"]},"all":{"required_absent":[],"required_present":["2001-02-08"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-092","language":"en","script":"Latin","shape":"signature","risk":"high","reason":"Locked broad private/public date variation.","text":"--\nCustomer date of birth: 2002-02-09","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":27,"end":37,"value":"2002-02-09","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["2002-02-09"]},"customers":{"required_absent":["2002-02-09"],"required_present":[]},"all":{"required_absent":["2002-02-09"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-092","language":"en","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad private/public date variation.","text":"--\nPublic release date: 2002-02-09","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":24,"end":34,"value":"2002-02-09","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["2002-02-09"]},"customers":{"required_absent":[],"required_present":["2002-02-09"]},"all":{"required_absent":[],"required_present":["2002-02-09"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-093","language":"en","script":"Latin","shape":"long-thread","risk":"high","reason":"Locked broad private/public date variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Customer date of birth: 2003-02-10","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":504,"end":514,"value":"2003-02-10","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["2003-02-10"]},"customers":{"required_absent":["2003-02-10"],"required_present":[]},"all":{"required_absent":["2003-02-10"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-093","language":"en","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad private/public date variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Public release date: 2003-02-10","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":501,"end":511,"value":"2003-02-10","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["2003-02-10"]},"customers":{"required_absent":[],"required_present":["2003-02-10"]},"all":{"required_absent":[],"required_present":["2003-02-10"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-094","language":"en","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad private/public date variation.","text":"--sample=94 --message=\"Customer date of birth: \" --value=2004-02-11","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":57,"end":67,"value":"2004-02-11","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["2004-02-11"]},"customers":{"required_absent":["2004-02-11"],"required_present":[]},"all":{"required_absent":["2004-02-11"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-094","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad private/public date variation.","text":"--sample=94 --message=\"Public release date: \" --value=2004-02-11","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":54,"end":64,"value":"2004-02-11","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["2004-02-11"]},"customers":{"required_absent":[],"required_present":["2004-02-11"]},"all":{"required_absent":[],"required_present":["2004-02-11"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-095","language":"en","script":"Latin","shape":"prose","risk":"high","reason":"Locked broad private/public date variation.","text":"Customer date of birth: 2005-02-12","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":24,"end":34,"value":"2005-02-12","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["2005-02-12"]},"customers":{"required_absent":["2005-02-12"],"required_present":[]},"all":{"required_absent":["2005-02-12"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-095","language":"en","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad private/public date variation.","text":"Public release date: 2005-02-12","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":21,"end":31,"value":"2005-02-12","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["2005-02-12"]},"customers":{"required_absent":[],"required_present":["2005-02-12"]},"all":{"required_absent":[],"required_present":["2005-02-12"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-096","language":"en","script":"Latin","shape":"json","risk":"high","reason":"Locked broad private/public date variation.","text":"{\"message_96\":\"Customer date of birth: 2006-02-13\"}","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":39,"end":49,"value":"2006-02-13","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["2006-02-13"]},"customers":{"required_absent":["2006-02-13"],"required_present":[]},"all":{"required_absent":["2006-02-13"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-096","language":"en","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad private/public date variation.","text":"{\"message_96\":\"Public release date: 2006-02-13\"}","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":36,"end":46,"value":"2006-02-13","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["2006-02-13"]},"customers":{"required_absent":[],"required_present":["2006-02-13"]},"all":{"required_absent":[],"required_present":["2006-02-13"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-097","language":"en","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad private/public date variation.","text":"message_97: Customer date of birth: 2007-02-14","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":36,"end":46,"value":"2007-02-14","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["2007-02-14"]},"customers":{"required_absent":["2007-02-14"],"required_present":[]},"all":{"required_absent":["2007-02-14"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-097","language":"en","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad private/public date variation.","text":"message_97: Public release date: 2007-02-14","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":33,"end":43,"value":"2007-02-14","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["2007-02-14"]},"customers":{"required_absent":[],"required_present":["2007-02-14"]},"all":{"required_absent":[],"required_present":["2007-02-14"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-098","language":"en","script":"Latin","shape":"shell","risk":"high","reason":"Locked broad private/public date variation.","text":"MESSAGE_98='Customer date of birth: 2008-03-15'","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":36,"end":46,"value":"2008-03-15","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["2008-03-15"]},"customers":{"required_absent":["2008-03-15"],"required_present":[]},"all":{"required_absent":["2008-03-15"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-098","language":"en","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad private/public date variation.","text":"MESSAGE_98='Public release date: 2008-03-15'","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":33,"end":43,"value":"2008-03-15","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["2008-03-15"]},"customers":{"required_absent":[],"required_present":["2008-03-15"]},"all":{"required_absent":[],"required_present":["2008-03-15"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-099","language":"en","script":"Latin","shape":"url","risk":"high","reason":"Locked broad private/public date variation.","text":"endpoint=https://192.0.2.10/99 ; Customer date of birth: 2009-03-16","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":57,"end":67,"value":"2009-03-16","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["2009-03-16"]},"customers":{"required_absent":["2009-03-16"],"required_present":[]},"all":{"required_absent":["2009-03-16"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-099","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad private/public date variation.","text":"endpoint=https://192.0.2.10/99 ; Public release date: 2009-03-16","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":54,"end":64,"value":"2009-03-16","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["2009-03-16"]},"customers":{"required_absent":[],"required_present":["2009-03-16"]},"all":{"required_absent":[],"required_present":["2009-03-16"]}},"tags":["broad-quality","date-policy"]} + ] +} diff --git a/internal/pii/testdata/privacy-filter/broad/v1/secrets.json b/internal/pii/testdata/privacy-filter/broad/v1/secrets.json new file mode 100644 index 0000000..83b3d23 --- /dev/null +++ b/internal/pii/testdata/privacy-filter/broad/v1/secrets.json @@ -0,0 +1,230 @@ +{ + "schema": 1, + "partition": "secrets", + "cases": [ + {"id":"broad-secret-api-key-must-detect-00","language":"en","script":"Latin","shape":"prose","risk":"critical","reason":"Locked broad api-key variation.","text":"Credential copied from a support reply: ak_GZFDHOEWJQQ4GB5KBYKJLW9VZC0ZE8R5","known_identities":[],"targets":[{"id":"value","kind":"secret","start":40,"end":75,"value":"ak_GZFDHOEWJQQ4GB5KBYKJLW9VZC0ZE8R5","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-api-key-must-detect-00","recipe":"api-key","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["ak_GZFDHOEWJQQ4GB5KBYKJLW9VZC0ZE8R5"]},"customers":{"required_absent":["ak_GZFDHOEWJQQ4GB5KBYKJLW9VZC0ZE8R5"],"required_present":[]},"all":{"required_absent":["ak_GZFDHOEWJQQ4GB5KBYKJLW9VZC0ZE8R5"],"required_present":[]}},"tags":["broad-quality","secret-family:api-key","variation:00"],"secret_fixture":{"family":"api-key","role":"must-detect"}}, + {"id":"broad-secret-api-key-preserve-00","language":"en","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad api-key variation.","text":"Public configuration vocabulary: api_key_name","known_identities":[],"targets":[{"id":"value","kind":"secret","start":33,"end":45,"value":"api_key_name","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-api-key-preserve-00","recipe":"api-key","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["api_key_name"]},"customers":{"required_absent":[],"required_present":["api_key_name"]},"all":{"required_absent":[],"required_present":["api_key_name"]}},"tags":["broad-quality","secret-family:api-key","variation:00"],"secret_fixture":{"family":"api-key","role":"preserve"}}, + {"id":"broad-secret-api-key-must-detect-01","language":"en","script":"Latin","shape":"json","risk":"critical","reason":"Locked broad api-key variation.","text":"{\"message_1\":\"Authorization header value: ak_SJXY4S4U0E4C0N9QIGYSY2639A3PBPI5\"}","known_identities":[],"targets":[{"id":"value","kind":"secret","start":42,"end":77,"value":"ak_SJXY4S4U0E4C0N9QIGYSY2639A3PBPI5","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-api-key-must-detect-01","recipe":"api-key","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["ak_SJXY4S4U0E4C0N9QIGYSY2639A3PBPI5"]},"customers":{"required_absent":["ak_SJXY4S4U0E4C0N9QIGYSY2639A3PBPI5"],"required_present":[]},"all":{"required_absent":["ak_SJXY4S4U0E4C0N9QIGYSY2639A3PBPI5"],"required_present":[]}},"tags":["broad-quality","secret-family:api-key","variation:01"],"secret_fixture":{"family":"api-key","role":"must-detect"}}, + {"id":"broad-secret-api-key-preserve-01","language":"en","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad api-key variation.","text":"{\"message_1\":\"Documentation syntax: api_key_name\"}","known_identities":[],"targets":[{"id":"value","kind":"secret","start":36,"end":48,"value":"api_key_name","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-api-key-preserve-01","recipe":"api-key","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["api_key_name"]},"customers":{"required_absent":[],"required_present":["api_key_name"]},"all":{"required_absent":[],"required_present":["api_key_name"]}},"tags":["broad-quality","secret-family:api-key","variation:01"],"secret_fixture":{"family":"api-key","role":"preserve"}}, + {"id":"broad-secret-api-key-must-detect-02","language":"en","script":"Latin","shape":"yaml","risk":"critical","reason":"Locked broad api-key variation.","text":"message_2: Log field auth_value=ak_BGEV1YQ0725RYL4GANMHVTZ1ILUG44GP","known_identities":[],"targets":[{"id":"value","kind":"secret","start":32,"end":67,"value":"ak_BGEV1YQ0725RYL4GANMHVTZ1ILUG44GP","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-api-key-must-detect-02","recipe":"api-key","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["ak_BGEV1YQ0725RYL4GANMHVTZ1ILUG44GP"]},"customers":{"required_absent":["ak_BGEV1YQ0725RYL4GANMHVTZ1ILUG44GP"],"required_present":[]},"all":{"required_absent":["ak_BGEV1YQ0725RYL4GANMHVTZ1ILUG44GP"],"required_present":[]}},"tags":["broad-quality","secret-family:api-key","variation:02"],"secret_fixture":{"family":"api-key","role":"must-detect"}}, + {"id":"broad-secret-api-key-preserve-02","language":"en","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad api-key variation.","text":"message_2: Public operational identifier: api_key_name","known_identities":[],"targets":[{"id":"value","kind":"secret","start":42,"end":54,"value":"api_key_name","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-api-key-preserve-02","recipe":"api-key","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["api_key_name"]},"customers":{"required_absent":[],"required_present":["api_key_name"]},"all":{"required_absent":[],"required_present":["api_key_name"]}},"tags":["broad-quality","secret-family:api-key","variation:02"],"secret_fixture":{"family":"api-key","role":"preserve"}}, + {"id":"broad-secret-api-key-must-detect-03","language":"en","script":"Latin","shape":"shell","risk":"critical","reason":"Locked broad api-key variation.","text":"MESSAGE_3='Rotating this exposed value: ak_CNXUG8B81YZDOCRK2KYQWAIEKIQNEW2B'","known_identities":[],"targets":[{"id":"value","kind":"secret","start":40,"end":75,"value":"ak_CNXUG8B81YZDOCRK2KYQWAIEKIQNEW2B","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-api-key-must-detect-03","recipe":"api-key","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["ak_CNXUG8B81YZDOCRK2KYQWAIEKIQNEW2B"]},"customers":{"required_absent":["ak_CNXUG8B81YZDOCRK2KYQWAIEKIQNEW2B"],"required_present":[]},"all":{"required_absent":["ak_CNXUG8B81YZDOCRK2KYQWAIEKIQNEW2B"],"required_present":[]}},"tags":["broad-quality","secret-family:api-key","variation:03"],"secret_fixture":{"family":"api-key","role":"must-detect"}}, + {"id":"broad-secret-api-key-preserve-03","language":"en","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad api-key variation.","text":"MESSAGE_3='Schema field label: api_key_name'","known_identities":[],"targets":[{"id":"value","kind":"secret","start":31,"end":43,"value":"api_key_name","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-api-key-preserve-03","recipe":"api-key","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["api_key_name"]},"customers":{"required_absent":[],"required_present":["api_key_name"]},"all":{"required_absent":[],"required_present":["api_key_name"]}},"tags":["broad-quality","secret-family:api-key","variation:03"],"secret_fixture":{"family":"api-key","role":"preserve"}}, + {"id":"broad-secret-api-key-must-detect-04","language":"en","script":"Latin","shape":"url","risk":"critical","reason":"Locked broad api-key variation.","text":"endpoint=https://192.0.2.10/4 ; Quoted credential follows: ak_OETQEEJSEAAMDVOG3RHQZ8ICUTUDZQPU","known_identities":[],"targets":[{"id":"value","kind":"secret","start":59,"end":94,"value":"ak_OETQEEJSEAAMDVOG3RHQZ8ICUTUDZQPU","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-api-key-must-detect-04","recipe":"api-key","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["ak_OETQEEJSEAAMDVOG3RHQZ8ICUTUDZQPU"]},"customers":{"required_absent":["ak_OETQEEJSEAAMDVOG3RHQZ8ICUTUDZQPU"],"required_present":[]},"all":{"required_absent":["ak_OETQEEJSEAAMDVOG3RHQZ8ICUTUDZQPU"],"required_present":[]}},"tags":["broad-quality","secret-family:api-key","variation:04"],"secret_fixture":{"family":"api-key","role":"must-detect"}}, + {"id":"broad-secret-api-key-preserve-04","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad api-key variation.","text":"endpoint=https://192.0.2.10/4 ; Non-confidential protocol token: api_key_name","known_identities":[],"targets":[{"id":"value","kind":"secret","start":65,"end":77,"value":"api_key_name","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-api-key-preserve-04","recipe":"api-key","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["api_key_name"]},"customers":{"required_absent":[],"required_present":["api_key_name"]},"all":{"required_absent":[],"required_present":["api_key_name"]}},"tags":["broad-quality","secret-family:api-key","variation:04"],"secret_fixture":{"family":"api-key","role":"preserve"}}, + {"id":"broad-secret-api-key-must-detect-05","language":"en","script":"Latin","shape":"markdown","risk":"critical","reason":"Locked broad api-key variation.","text":"**Configuration secret: ak_ZBC6SRKDXRSSXPL6NQ8DSUCHGN4VJ5CF**","known_identities":[],"targets":[{"id":"value","kind":"secret","start":24,"end":59,"value":"ak_ZBC6SRKDXRSSXPL6NQ8DSUCHGN4VJ5CF","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-api-key-must-detect-05","recipe":"api-key","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["ak_ZBC6SRKDXRSSXPL6NQ8DSUCHGN4VJ5CF"]},"customers":{"required_absent":["ak_ZBC6SRKDXRSSXPL6NQ8DSUCHGN4VJ5CF"],"required_present":[]},"all":{"required_absent":["ak_ZBC6SRKDXRSSXPL6NQ8DSUCHGN4VJ5CF"],"required_present":[]}},"tags":["broad-quality","secret-family:api-key","variation:05"],"secret_fixture":{"family":"api-key","role":"must-detect"}}, + {"id":"broad-secret-api-key-preserve-05","language":"en","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad api-key variation.","text":"**Release metadata: api_key_name**","known_identities":[],"targets":[{"id":"value","kind":"secret","start":20,"end":32,"value":"api_key_name","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-api-key-preserve-05","recipe":"api-key","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["api_key_name"]},"customers":{"required_absent":[],"required_present":["api_key_name"]},"all":{"required_absent":[],"required_present":["api_key_name"]}},"tags":["broad-quality","secret-family:api-key","variation:05"],"secret_fixture":{"family":"api-key","role":"preserve"}}, + {"id":"broad-secret-api-key-must-detect-06","language":"en","script":"Latin","shape":"html","risk":"critical","reason":"Locked broad api-key variation.","text":"\u003cp\u003eStack trace captured credential ak_308KQF4029ETOFER19TE9I1ASSJGM62C\u003c/p\u003e","known_identities":[],"targets":[{"id":"value","kind":"secret","start":35,"end":70,"value":"ak_308KQF4029ETOFER19TE9I1ASSJGM62C","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-api-key-must-detect-06","recipe":"api-key","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["ak_308KQF4029ETOFER19TE9I1ASSJGM62C"]},"customers":{"required_absent":["ak_308KQF4029ETOFER19TE9I1ASSJGM62C"],"required_present":[]},"all":{"required_absent":["ak_308KQF4029ETOFER19TE9I1ASSJGM62C"],"required_present":[]}},"tags":["broad-quality","secret-family:api-key","variation:06"],"secret_fixture":{"family":"api-key","role":"must-detect"}}, + {"id":"broad-secret-api-key-preserve-06","language":"en","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad api-key variation.","text":"\u003cp\u003ePublic verification material: api_key_name\u003c/p\u003e","known_identities":[],"targets":[{"id":"value","kind":"secret","start":33,"end":45,"value":"api_key_name","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-api-key-preserve-06","recipe":"api-key","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["api_key_name"]},"customers":{"required_absent":[],"required_present":["api_key_name"]},"all":{"required_absent":[],"required_present":["api_key_name"]}},"tags":["broad-quality","secret-family:api-key","variation:06"],"secret_fixture":{"family":"api-key","role":"preserve"}}, + {"id":"broad-secret-api-key-must-detect-07","language":"en","script":"Latin","shape":"quoted-reply","risk":"critical","reason":"Locked broad api-key variation.","text":"\u003e Wrapped message credential: ak_J2HQM9T19W1JXNZSHK7KSWPL4KKA3ZA5","known_identities":[],"targets":[{"id":"value","kind":"secret","start":30,"end":65,"value":"ak_J2HQM9T19W1JXNZSHK7KSWPL4KKA3ZA5","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-api-key-must-detect-07","recipe":"api-key","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["ak_J2HQM9T19W1JXNZSHK7KSWPL4KKA3ZA5"]},"customers":{"required_absent":["ak_J2HQM9T19W1JXNZSHK7KSWPL4KKA3ZA5"],"required_present":[]},"all":{"required_absent":["ak_J2HQM9T19W1JXNZSHK7KSWPL4KKA3ZA5"],"required_present":[]}},"tags":["broad-quality","secret-family:api-key","variation:07"],"secret_fixture":{"family":"api-key","role":"must-detect"}}, + {"id":"broad-secret-api-key-preserve-07","language":"en","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad api-key variation.","text":"\u003e Troubleshooting reference: api_key_name","known_identities":[],"targets":[{"id":"value","kind":"secret","start":29,"end":41,"value":"api_key_name","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-api-key-preserve-07","recipe":"api-key","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["api_key_name"]},"customers":{"required_absent":[],"required_present":["api_key_name"]},"all":{"required_absent":[],"required_present":["api_key_name"]}},"tags":["broad-quality","secret-family:api-key","variation:07"],"secret_fixture":{"family":"api-key","role":"preserve"}}, + {"id":"broad-secret-access-token-must-detect-00","language":"en","script":"Latin","shape":"log","risk":"critical","reason":"Locked broad access-token variation.","text":"level=warn sample=0 message=\"Credential copied from a support reply: \" value=access_token_dZUuo6KYNV3gjsFjMMhhAplRLdOIWh0toJUXc6Il","known_identities":[],"targets":[{"id":"value","kind":"secret","start":77,"end":130,"value":"access_token_dZUuo6KYNV3gjsFjMMhhAplRLdOIWh0toJUXc6Il","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-access-token-must-detect-00","recipe":"access-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["access_token_dZUuo6KYNV3gjsFjMMhhAplRLdOIWh0toJUXc6Il"]},"customers":{"required_absent":["access_token_dZUuo6KYNV3gjsFjMMhhAplRLdOIWh0toJUXc6Il"],"required_present":[]},"all":{"required_absent":["access_token_dZUuo6KYNV3gjsFjMMhhAplRLdOIWh0toJUXc6Il"],"required_present":[]}},"tags":["broad-quality","secret-family:access-token","variation:00"],"secret_fixture":{"family":"access-token","role":"must-detect"}}, + {"id":"broad-secret-access-token-preserve-00","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad access-token variation.","text":"level=warn sample=0 message=\"Public configuration vocabulary: \" value=access_token","known_identities":[],"targets":[{"id":"value","kind":"secret","start":70,"end":82,"value":"access_token","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-access-token-preserve-00","recipe":"access-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["access_token"]},"customers":{"required_absent":[],"required_present":["access_token"]},"all":{"required_absent":[],"required_present":["access_token"]}},"tags":["broad-quality","secret-family:access-token","variation:00"],"secret_fixture":{"family":"access-token","role":"preserve"}}, + {"id":"broad-secret-access-token-must-detect-01","language":"en","script":"Latin","shape":"stack-trace","risk":"critical","reason":"Locked broad access-token variation.","text":"Trace[1]: Authorization header value: access_token_nCxNCCjWhi1y1V1IXY4T135Dui7SAap8yif0SSNX","known_identities":[],"targets":[{"id":"value","kind":"secret","start":38,"end":91,"value":"access_token_nCxNCCjWhi1y1V1IXY4T135Dui7SAap8yif0SSNX","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-access-token-must-detect-01","recipe":"access-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["access_token_nCxNCCjWhi1y1V1IXY4T135Dui7SAap8yif0SSNX"]},"customers":{"required_absent":["access_token_nCxNCCjWhi1y1V1IXY4T135Dui7SAap8yif0SSNX"],"required_present":[]},"all":{"required_absent":["access_token_nCxNCCjWhi1y1V1IXY4T135Dui7SAap8yif0SSNX"],"required_present":[]}},"tags":["broad-quality","secret-family:access-token","variation:01"],"secret_fixture":{"family":"access-token","role":"must-detect"}}, + {"id":"broad-secret-access-token-preserve-01","language":"en","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad access-token variation.","text":"Trace[1]: Documentation syntax: access_token","known_identities":[],"targets":[{"id":"value","kind":"secret","start":32,"end":44,"value":"access_token","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-access-token-preserve-01","recipe":"access-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["access_token"]},"customers":{"required_absent":[],"required_present":["access_token"]},"all":{"required_absent":[],"required_present":["access_token"]}},"tags":["broad-quality","secret-family:access-token","variation:01"],"secret_fixture":{"family":"access-token","role":"preserve"}}, + {"id":"broad-secret-access-token-must-detect-02","language":"en","script":"Latin","shape":"code","risk":"critical","reason":"Locked broad access-token variation.","text":"fixture_2 := `Log field auth_value=access_token_tNBRxEuz8BcXGlkElSXhZpjp6VwPZELlcRtMVBbO`","known_identities":[],"targets":[{"id":"value","kind":"secret","start":35,"end":88,"value":"access_token_tNBRxEuz8BcXGlkElSXhZpjp6VwPZELlcRtMVBbO","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-access-token-must-detect-02","recipe":"access-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["access_token_tNBRxEuz8BcXGlkElSXhZpjp6VwPZELlcRtMVBbO"]},"customers":{"required_absent":["access_token_tNBRxEuz8BcXGlkElSXhZpjp6VwPZELlcRtMVBbO"],"required_present":[]},"all":{"required_absent":["access_token_tNBRxEuz8BcXGlkElSXhZpjp6VwPZELlcRtMVBbO"],"required_present":[]}},"tags":["broad-quality","secret-family:access-token","variation:02"],"secret_fixture":{"family":"access-token","role":"must-detect"}}, + {"id":"broad-secret-access-token-preserve-02","language":"en","script":"Latin","shape":"code","risk":"preservation","reason":"Locked broad access-token variation.","text":"fixture_2 := `Public operational identifier: access_token`","known_identities":[],"targets":[{"id":"value","kind":"secret","start":45,"end":57,"value":"access_token","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-access-token-preserve-02","recipe":"access-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["access_token"]},"customers":{"required_absent":[],"required_present":["access_token"]},"all":{"required_absent":[],"required_present":["access_token"]}},"tags":["broad-quality","secret-family:access-token","variation:02"],"secret_fixture":{"family":"access-token","role":"preserve"}}, + {"id":"broad-secret-access-token-must-detect-03","language":"en","script":"Latin","shape":"signature","risk":"critical","reason":"Locked broad access-token variation.","text":"--\nRotating this exposed value: access_token_MLL99gyCVShul4g2dZZOCAnDHiFWLYo5rcoZJ5o2","known_identities":[],"targets":[{"id":"value","kind":"secret","start":32,"end":85,"value":"access_token_MLL99gyCVShul4g2dZZOCAnDHiFWLYo5rcoZJ5o2","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-access-token-must-detect-03","recipe":"access-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["access_token_MLL99gyCVShul4g2dZZOCAnDHiFWLYo5rcoZJ5o2"]},"customers":{"required_absent":["access_token_MLL99gyCVShul4g2dZZOCAnDHiFWLYo5rcoZJ5o2"],"required_present":[]},"all":{"required_absent":["access_token_MLL99gyCVShul4g2dZZOCAnDHiFWLYo5rcoZJ5o2"],"required_present":[]}},"tags":["broad-quality","secret-family:access-token","variation:03"],"secret_fixture":{"family":"access-token","role":"must-detect"}}, + {"id":"broad-secret-access-token-preserve-03","language":"en","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad access-token variation.","text":"--\nSchema field label: access_token","known_identities":[],"targets":[{"id":"value","kind":"secret","start":23,"end":35,"value":"access_token","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-access-token-preserve-03","recipe":"access-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["access_token"]},"customers":{"required_absent":[],"required_present":["access_token"]},"all":{"required_absent":[],"required_present":["access_token"]}},"tags":["broad-quality","secret-family:access-token","variation:03"],"secret_fixture":{"family":"access-token","role":"preserve"}}, + {"id":"broad-secret-access-token-must-detect-04","language":"en","script":"Latin","shape":"long-thread","risk":"critical","reason":"Locked broad access-token variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Quoted credential follows: access_token_psLzAQs3UxH1SFFzq9l5iLnfsRqsRvm8OkBYcYVd","known_identities":[],"targets":[{"id":"value","kind":"secret","start":507,"end":560,"value":"access_token_psLzAQs3UxH1SFFzq9l5iLnfsRqsRvm8OkBYcYVd","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-access-token-must-detect-04","recipe":"access-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["access_token_psLzAQs3UxH1SFFzq9l5iLnfsRqsRvm8OkBYcYVd"]},"customers":{"required_absent":["access_token_psLzAQs3UxH1SFFzq9l5iLnfsRqsRvm8OkBYcYVd"],"required_present":[]},"all":{"required_absent":["access_token_psLzAQs3UxH1SFFzq9l5iLnfsRqsRvm8OkBYcYVd"],"required_present":[]}},"tags":["broad-quality","secret-family:access-token","variation:04"],"secret_fixture":{"family":"access-token","role":"must-detect"}}, + {"id":"broad-secret-access-token-preserve-04","language":"en","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad access-token variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Non-confidential protocol token: access_token","known_identities":[],"targets":[{"id":"value","kind":"secret","start":513,"end":525,"value":"access_token","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-access-token-preserve-04","recipe":"access-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["access_token"]},"customers":{"required_absent":[],"required_present":["access_token"]},"all":{"required_absent":[],"required_present":["access_token"]}},"tags":["broad-quality","secret-family:access-token","variation:04"],"secret_fixture":{"family":"access-token","role":"preserve"}}, + {"id":"broad-secret-access-token-must-detect-05","language":"en","script":"Latin","shape":"command-payload","risk":"critical","reason":"Locked broad access-token variation.","text":"--sample=5 --message=\"Configuration secret: \" --value=access_token_l2mLsiGVG762bKcJZ6QyasWXEO48Krs4PivgpYBe","known_identities":[],"targets":[{"id":"value","kind":"secret","start":54,"end":107,"value":"access_token_l2mLsiGVG762bKcJZ6QyasWXEO48Krs4PivgpYBe","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-access-token-must-detect-05","recipe":"access-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["access_token_l2mLsiGVG762bKcJZ6QyasWXEO48Krs4PivgpYBe"]},"customers":{"required_absent":["access_token_l2mLsiGVG762bKcJZ6QyasWXEO48Krs4PivgpYBe"],"required_present":[]},"all":{"required_absent":["access_token_l2mLsiGVG762bKcJZ6QyasWXEO48Krs4PivgpYBe"],"required_present":[]}},"tags":["broad-quality","secret-family:access-token","variation:05"],"secret_fixture":{"family":"access-token","role":"must-detect"}}, + {"id":"broad-secret-access-token-preserve-05","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad access-token variation.","text":"--sample=5 --message=\"Release metadata: \" --value=access_token","known_identities":[],"targets":[{"id":"value","kind":"secret","start":50,"end":62,"value":"access_token","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-access-token-preserve-05","recipe":"access-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["access_token"]},"customers":{"required_absent":[],"required_present":["access_token"]},"all":{"required_absent":[],"required_present":["access_token"]}},"tags":["broad-quality","secret-family:access-token","variation:05"],"secret_fixture":{"family":"access-token","role":"preserve"}}, + {"id":"broad-secret-access-token-must-detect-06","language":"en","script":"Latin","shape":"prose","risk":"critical","reason":"Locked broad access-token variation.","text":"Stack trace captured credential access_token_GsSfthElEhYJFH6wU3Tp8WR0hvfFEAIrIJVPvwFc","known_identities":[],"targets":[{"id":"value","kind":"secret","start":32,"end":85,"value":"access_token_GsSfthElEhYJFH6wU3Tp8WR0hvfFEAIrIJVPvwFc","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-access-token-must-detect-06","recipe":"access-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["access_token_GsSfthElEhYJFH6wU3Tp8WR0hvfFEAIrIJVPvwFc"]},"customers":{"required_absent":["access_token_GsSfthElEhYJFH6wU3Tp8WR0hvfFEAIrIJVPvwFc"],"required_present":[]},"all":{"required_absent":["access_token_GsSfthElEhYJFH6wU3Tp8WR0hvfFEAIrIJVPvwFc"],"required_present":[]}},"tags":["broad-quality","secret-family:access-token","variation:06"],"secret_fixture":{"family":"access-token","role":"must-detect"}}, + {"id":"broad-secret-access-token-preserve-06","language":"en","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad access-token variation.","text":"Public verification material: access_token","known_identities":[],"targets":[{"id":"value","kind":"secret","start":30,"end":42,"value":"access_token","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-access-token-preserve-06","recipe":"access-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["access_token"]},"customers":{"required_absent":[],"required_present":["access_token"]},"all":{"required_absent":[],"required_present":["access_token"]}},"tags":["broad-quality","secret-family:access-token","variation:06"],"secret_fixture":{"family":"access-token","role":"preserve"}}, + {"id":"broad-secret-access-token-must-detect-07","language":"en","script":"Latin","shape":"json","risk":"critical","reason":"Locked broad access-token variation.","text":"{\"message_7\":\"Wrapped message credential: access_token_K38VBFGRVyWHGWTdBmlslewhVs6ARQxGrKPW3Up8\"}","known_identities":[],"targets":[{"id":"value","kind":"secret","start":42,"end":95,"value":"access_token_K38VBFGRVyWHGWTdBmlslewhVs6ARQxGrKPW3Up8","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-access-token-must-detect-07","recipe":"access-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["access_token_K38VBFGRVyWHGWTdBmlslewhVs6ARQxGrKPW3Up8"]},"customers":{"required_absent":["access_token_K38VBFGRVyWHGWTdBmlslewhVs6ARQxGrKPW3Up8"],"required_present":[]},"all":{"required_absent":["access_token_K38VBFGRVyWHGWTdBmlslewhVs6ARQxGrKPW3Up8"],"required_present":[]}},"tags":["broad-quality","secret-family:access-token","variation:07"],"secret_fixture":{"family":"access-token","role":"must-detect"}}, + {"id":"broad-secret-access-token-preserve-07","language":"en","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad access-token variation.","text":"{\"message_7\":\"Troubleshooting reference: access_token\"}","known_identities":[],"targets":[{"id":"value","kind":"secret","start":41,"end":53,"value":"access_token","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-access-token-preserve-07","recipe":"access-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["access_token"]},"customers":{"required_absent":[],"required_present":["access_token"]},"all":{"required_absent":[],"required_present":["access_token"]}},"tags":["broad-quality","secret-family:access-token","variation:07"],"secret_fixture":{"family":"access-token","role":"preserve"}}, + {"id":"broad-secret-oauth-token-must-detect-00","language":"en","script":"Latin","shape":"yaml","risk":"critical","reason":"Locked broad oauth-token variation.","text":"message_0: Credential copied from a support reply: oat2_jJMablVT3V_MGNgFgX36JJL8e1UzT0vmFPtXBk3ncZOqKefvF2CW","known_identities":[],"targets":[{"id":"value","kind":"secret","start":51,"end":108,"value":"oat2_jJMablVT3V_MGNgFgX36JJL8e1UzT0vmFPtXBk3ncZOqKefvF2CW","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-oauth-token-must-detect-00","recipe":"oauth-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["oat2_jJMablVT3V_MGNgFgX36JJL8e1UzT0vmFPtXBk3ncZOqKefvF2CW"]},"customers":{"required_absent":["oat2_jJMablVT3V_MGNgFgX36JJL8e1UzT0vmFPtXBk3ncZOqKefvF2CW"],"required_present":[]},"all":{"required_absent":["oat2_jJMablVT3V_MGNgFgX36JJL8e1UzT0vmFPtXBk3ncZOqKefvF2CW"],"required_present":[]}},"tags":["broad-quality","secret-family:oauth-token","variation:00"],"secret_fixture":{"family":"oauth-token","role":"must-detect"}}, + {"id":"broad-secret-oauth-token-preserve-00","language":"en","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad oauth-token variation.","text":"message_0: Public configuration vocabulary: Bearer","known_identities":[],"targets":[{"id":"value","kind":"secret","start":44,"end":50,"value":"Bearer","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-oauth-token-preserve-00","recipe":"oauth-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bearer"]},"customers":{"required_absent":[],"required_present":["Bearer"]},"all":{"required_absent":[],"required_present":["Bearer"]}},"tags":["broad-quality","secret-family:oauth-token","variation:00"],"secret_fixture":{"family":"oauth-token","role":"preserve"}}, + {"id":"broad-secret-oauth-token-must-detect-01","language":"en","script":"Latin","shape":"shell","risk":"critical","reason":"Locked broad oauth-token variation.","text":"MESSAGE_1='Authorization header value: oat2_H0sUIU424FEsU4D5xTAy5_3YLNGS8aNqbCg2mN4246DRU3E2hM8u'","known_identities":[],"targets":[{"id":"value","kind":"secret","start":39,"end":96,"value":"oat2_H0sUIU424FEsU4D5xTAy5_3YLNGS8aNqbCg2mN4246DRU3E2hM8u","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-oauth-token-must-detect-01","recipe":"oauth-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["oat2_H0sUIU424FEsU4D5xTAy5_3YLNGS8aNqbCg2mN4246DRU3E2hM8u"]},"customers":{"required_absent":["oat2_H0sUIU424FEsU4D5xTAy5_3YLNGS8aNqbCg2mN4246DRU3E2hM8u"],"required_present":[]},"all":{"required_absent":["oat2_H0sUIU424FEsU4D5xTAy5_3YLNGS8aNqbCg2mN4246DRU3E2hM8u"],"required_present":[]}},"tags":["broad-quality","secret-family:oauth-token","variation:01"],"secret_fixture":{"family":"oauth-token","role":"must-detect"}}, + {"id":"broad-secret-oauth-token-preserve-01","language":"en","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad oauth-token variation.","text":"MESSAGE_1='Documentation syntax: Bearer'","known_identities":[],"targets":[{"id":"value","kind":"secret","start":33,"end":39,"value":"Bearer","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-oauth-token-preserve-01","recipe":"oauth-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bearer"]},"customers":{"required_absent":[],"required_present":["Bearer"]},"all":{"required_absent":[],"required_present":["Bearer"]}},"tags":["broad-quality","secret-family:oauth-token","variation:01"],"secret_fixture":{"family":"oauth-token","role":"preserve"}}, + {"id":"broad-secret-oauth-token-must-detect-02","language":"en","script":"Latin","shape":"url","risk":"critical","reason":"Locked broad oauth-token variation.","text":"endpoint=https://192.0.2.10/2 ; Log field auth_value=oat2_flHSMRD6PkMtgvDty-8bdUOBygcSEsXcMU7jVtP0jqbfEfajichI","known_identities":[],"targets":[{"id":"value","kind":"secret","start":53,"end":110,"value":"oat2_flHSMRD6PkMtgvDty-8bdUOBygcSEsXcMU7jVtP0jqbfEfajichI","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-oauth-token-must-detect-02","recipe":"oauth-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["oat2_flHSMRD6PkMtgvDty-8bdUOBygcSEsXcMU7jVtP0jqbfEfajichI"]},"customers":{"required_absent":["oat2_flHSMRD6PkMtgvDty-8bdUOBygcSEsXcMU7jVtP0jqbfEfajichI"],"required_present":[]},"all":{"required_absent":["oat2_flHSMRD6PkMtgvDty-8bdUOBygcSEsXcMU7jVtP0jqbfEfajichI"],"required_present":[]}},"tags":["broad-quality","secret-family:oauth-token","variation:02"],"secret_fixture":{"family":"oauth-token","role":"must-detect"}}, + {"id":"broad-secret-oauth-token-preserve-02","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad oauth-token variation.","text":"endpoint=https://192.0.2.10/2 ; Public operational identifier: Bearer","known_identities":[],"targets":[{"id":"value","kind":"secret","start":63,"end":69,"value":"Bearer","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-oauth-token-preserve-02","recipe":"oauth-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bearer"]},"customers":{"required_absent":[],"required_present":["Bearer"]},"all":{"required_absent":[],"required_present":["Bearer"]}},"tags":["broad-quality","secret-family:oauth-token","variation:02"],"secret_fixture":{"family":"oauth-token","role":"preserve"}}, + {"id":"broad-secret-oauth-token-must-detect-03","language":"en","script":"Latin","shape":"markdown","risk":"critical","reason":"Locked broad oauth-token variation.","text":"**Rotating this exposed value: oat2_0qmrwm9kkIdzPqD-7HGLxHMeOA2Qpl_HINU-IaSEoXJ-6cuA9Sau**","known_identities":[],"targets":[{"id":"value","kind":"secret","start":31,"end":88,"value":"oat2_0qmrwm9kkIdzPqD-7HGLxHMeOA2Qpl_HINU-IaSEoXJ-6cuA9Sau","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-oauth-token-must-detect-03","recipe":"oauth-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["oat2_0qmrwm9kkIdzPqD-7HGLxHMeOA2Qpl_HINU-IaSEoXJ-6cuA9Sau"]},"customers":{"required_absent":["oat2_0qmrwm9kkIdzPqD-7HGLxHMeOA2Qpl_HINU-IaSEoXJ-6cuA9Sau"],"required_present":[]},"all":{"required_absent":["oat2_0qmrwm9kkIdzPqD-7HGLxHMeOA2Qpl_HINU-IaSEoXJ-6cuA9Sau"],"required_present":[]}},"tags":["broad-quality","secret-family:oauth-token","variation:03"],"secret_fixture":{"family":"oauth-token","role":"must-detect"}}, + {"id":"broad-secret-oauth-token-preserve-03","language":"en","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad oauth-token variation.","text":"**Schema field label: Bearer**","known_identities":[],"targets":[{"id":"value","kind":"secret","start":22,"end":28,"value":"Bearer","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-oauth-token-preserve-03","recipe":"oauth-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bearer"]},"customers":{"required_absent":[],"required_present":["Bearer"]},"all":{"required_absent":[],"required_present":["Bearer"]}},"tags":["broad-quality","secret-family:oauth-token","variation:03"],"secret_fixture":{"family":"oauth-token","role":"preserve"}}, + {"id":"broad-secret-oauth-token-must-detect-04","language":"en","script":"Latin","shape":"html","risk":"critical","reason":"Locked broad oauth-token variation.","text":"\u003cp\u003eQuoted credential follows: oat2_UOQYK812al6V56V4fNzvDgPNHgz1BdUxJGnxp-ZH2Kp0rNTIkffE\u003c/p\u003e","known_identities":[],"targets":[{"id":"value","kind":"secret","start":30,"end":87,"value":"oat2_UOQYK812al6V56V4fNzvDgPNHgz1BdUxJGnxp-ZH2Kp0rNTIkffE","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-oauth-token-must-detect-04","recipe":"oauth-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["oat2_UOQYK812al6V56V4fNzvDgPNHgz1BdUxJGnxp-ZH2Kp0rNTIkffE"]},"customers":{"required_absent":["oat2_UOQYK812al6V56V4fNzvDgPNHgz1BdUxJGnxp-ZH2Kp0rNTIkffE"],"required_present":[]},"all":{"required_absent":["oat2_UOQYK812al6V56V4fNzvDgPNHgz1BdUxJGnxp-ZH2Kp0rNTIkffE"],"required_present":[]}},"tags":["broad-quality","secret-family:oauth-token","variation:04"],"secret_fixture":{"family":"oauth-token","role":"must-detect"}}, + {"id":"broad-secret-oauth-token-preserve-04","language":"en","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad oauth-token variation.","text":"\u003cp\u003eNon-confidential protocol token: Bearer\u003c/p\u003e","known_identities":[],"targets":[{"id":"value","kind":"secret","start":36,"end":42,"value":"Bearer","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-oauth-token-preserve-04","recipe":"oauth-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bearer"]},"customers":{"required_absent":[],"required_present":["Bearer"]},"all":{"required_absent":[],"required_present":["Bearer"]}},"tags":["broad-quality","secret-family:oauth-token","variation:04"],"secret_fixture":{"family":"oauth-token","role":"preserve"}}, + {"id":"broad-secret-oauth-token-must-detect-05","language":"en","script":"Latin","shape":"quoted-reply","risk":"critical","reason":"Locked broad oauth-token variation.","text":"\u003e Configuration secret: oat2_lG4ucE_smM8g4nGCvFZus75eyb2SiD4BkzCvuJBZY-_VGt4YyU3H","known_identities":[],"targets":[{"id":"value","kind":"secret","start":24,"end":81,"value":"oat2_lG4ucE_smM8g4nGCvFZus75eyb2SiD4BkzCvuJBZY-_VGt4YyU3H","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-oauth-token-must-detect-05","recipe":"oauth-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["oat2_lG4ucE_smM8g4nGCvFZus75eyb2SiD4BkzCvuJBZY-_VGt4YyU3H"]},"customers":{"required_absent":["oat2_lG4ucE_smM8g4nGCvFZus75eyb2SiD4BkzCvuJBZY-_VGt4YyU3H"],"required_present":[]},"all":{"required_absent":["oat2_lG4ucE_smM8g4nGCvFZus75eyb2SiD4BkzCvuJBZY-_VGt4YyU3H"],"required_present":[]}},"tags":["broad-quality","secret-family:oauth-token","variation:05"],"secret_fixture":{"family":"oauth-token","role":"must-detect"}}, + {"id":"broad-secret-oauth-token-preserve-05","language":"en","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad oauth-token variation.","text":"\u003e Release metadata: Bearer","known_identities":[],"targets":[{"id":"value","kind":"secret","start":20,"end":26,"value":"Bearer","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-oauth-token-preserve-05","recipe":"oauth-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bearer"]},"customers":{"required_absent":[],"required_present":["Bearer"]},"all":{"required_absent":[],"required_present":["Bearer"]}},"tags":["broad-quality","secret-family:oauth-token","variation:05"],"secret_fixture":{"family":"oauth-token","role":"preserve"}}, + {"id":"broad-secret-oauth-token-must-detect-06","language":"en","script":"Latin","shape":"log","risk":"critical","reason":"Locked broad oauth-token variation.","text":"level=warn sample=6 message=\"Stack trace captured credential \" value=oat2_RpyWGjy7GQUJHmlopdIfVFEKX1PryWygB9KTV2dXequZsUDYhi--","known_identities":[],"targets":[{"id":"value","kind":"secret","start":69,"end":126,"value":"oat2_RpyWGjy7GQUJHmlopdIfVFEKX1PryWygB9KTV2dXequZsUDYhi--","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-oauth-token-must-detect-06","recipe":"oauth-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["oat2_RpyWGjy7GQUJHmlopdIfVFEKX1PryWygB9KTV2dXequZsUDYhi--"]},"customers":{"required_absent":["oat2_RpyWGjy7GQUJHmlopdIfVFEKX1PryWygB9KTV2dXequZsUDYhi--"],"required_present":[]},"all":{"required_absent":["oat2_RpyWGjy7GQUJHmlopdIfVFEKX1PryWygB9KTV2dXequZsUDYhi--"],"required_present":[]}},"tags":["broad-quality","secret-family:oauth-token","variation:06"],"secret_fixture":{"family":"oauth-token","role":"must-detect"}}, + {"id":"broad-secret-oauth-token-preserve-06","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad oauth-token variation.","text":"level=warn sample=6 message=\"Public verification material: \" value=Bearer","known_identities":[],"targets":[{"id":"value","kind":"secret","start":67,"end":73,"value":"Bearer","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-oauth-token-preserve-06","recipe":"oauth-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bearer"]},"customers":{"required_absent":[],"required_present":["Bearer"]},"all":{"required_absent":[],"required_present":["Bearer"]}},"tags":["broad-quality","secret-family:oauth-token","variation:06"],"secret_fixture":{"family":"oauth-token","role":"preserve"}}, + {"id":"broad-secret-oauth-token-must-detect-07","language":"en","script":"Latin","shape":"stack-trace","risk":"critical","reason":"Locked broad oauth-token variation.","text":"Trace[7]: Wrapped message credential: oat2_lV9knamNBLnFyIemKJ470lG06EMZIoPJGlKN5CE05RRtbyqt3hPc","known_identities":[],"targets":[{"id":"value","kind":"secret","start":38,"end":95,"value":"oat2_lV9knamNBLnFyIemKJ470lG06EMZIoPJGlKN5CE05RRtbyqt3hPc","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-oauth-token-must-detect-07","recipe":"oauth-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["oat2_lV9knamNBLnFyIemKJ470lG06EMZIoPJGlKN5CE05RRtbyqt3hPc"]},"customers":{"required_absent":["oat2_lV9knamNBLnFyIemKJ470lG06EMZIoPJGlKN5CE05RRtbyqt3hPc"],"required_present":[]},"all":{"required_absent":["oat2_lV9knamNBLnFyIemKJ470lG06EMZIoPJGlKN5CE05RRtbyqt3hPc"],"required_present":[]}},"tags":["broad-quality","secret-family:oauth-token","variation:07"],"secret_fixture":{"family":"oauth-token","role":"must-detect"}}, + {"id":"broad-secret-oauth-token-preserve-07","language":"en","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad oauth-token variation.","text":"Trace[7]: Troubleshooting reference: Bearer","known_identities":[],"targets":[{"id":"value","kind":"secret","start":37,"end":43,"value":"Bearer","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-oauth-token-preserve-07","recipe":"oauth-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bearer"]},"customers":{"required_absent":[],"required_present":["Bearer"]},"all":{"required_absent":[],"required_present":["Bearer"]}},"tags":["broad-quality","secret-family:oauth-token","variation:07"],"secret_fixture":{"family":"oauth-token","role":"preserve"}}, + {"id":"broad-secret-password-must-detect-00","language":"en","script":"Latin","shape":"code","risk":"critical","reason":"Locked broad password variation.","text":"fixture_0 := `Credential copied from a support reply: R7!zm1p6RTnRTRgi0#q2`","known_identities":[],"targets":[{"id":"value","kind":"secret","start":54,"end":74,"value":"R7!zm1p6RTnRTRgi0#q2","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-password-must-detect-00","recipe":"password","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["R7!zm1p6RTnRTRgi0#q2"]},"customers":{"required_absent":["R7!zm1p6RTnRTRgi0#q2"],"required_present":[]},"all":{"required_absent":["R7!zm1p6RTnRTRgi0#q2"],"required_present":[]}},"tags":["broad-quality","secret-family:password","variation:00"],"secret_fixture":{"family":"password","role":"must-detect"}}, + {"id":"broad-secret-password-preserve-00","language":"en","script":"Latin","shape":"code","risk":"preservation","reason":"Locked broad password variation.","text":"fixture_0 := `Public configuration vocabulary: password_hash_algorithm`","known_identities":[],"targets":[{"id":"value","kind":"secret","start":47,"end":70,"value":"password_hash_algorithm","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-password-preserve-00","recipe":"password","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["password_hash_algorithm"]},"customers":{"required_absent":[],"required_present":["password_hash_algorithm"]},"all":{"required_absent":[],"required_present":["password_hash_algorithm"]}},"tags":["broad-quality","secret-family:password","variation:00"],"secret_fixture":{"family":"password","role":"preserve"}}, + {"id":"broad-secret-password-must-detect-01","language":"en","script":"Latin","shape":"signature","risk":"critical","reason":"Locked broad password variation.","text":"--\nAuthorization header value: R7!HRBJbFpNztqnUT#q2","known_identities":[],"targets":[{"id":"value","kind":"secret","start":31,"end":51,"value":"R7!HRBJbFpNztqnUT#q2","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-password-must-detect-01","recipe":"password","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["R7!HRBJbFpNztqnUT#q2"]},"customers":{"required_absent":["R7!HRBJbFpNztqnUT#q2"],"required_present":[]},"all":{"required_absent":["R7!HRBJbFpNztqnUT#q2"],"required_present":[]}},"tags":["broad-quality","secret-family:password","variation:01"],"secret_fixture":{"family":"password","role":"must-detect"}}, + {"id":"broad-secret-password-preserve-01","language":"en","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad password variation.","text":"--\nDocumentation syntax: password_hash_algorithm","known_identities":[],"targets":[{"id":"value","kind":"secret","start":25,"end":48,"value":"password_hash_algorithm","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-password-preserve-01","recipe":"password","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["password_hash_algorithm"]},"customers":{"required_absent":[],"required_present":["password_hash_algorithm"]},"all":{"required_absent":[],"required_present":["password_hash_algorithm"]}},"tags":["broad-quality","secret-family:password","variation:01"],"secret_fixture":{"family":"password","role":"preserve"}}, + {"id":"broad-secret-password-must-detect-02","language":"en","script":"Latin","shape":"long-thread","risk":"critical","reason":"Locked broad password variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Log field auth_value=R7!ziVAI4TQvDnDda#q2","known_identities":[],"targets":[{"id":"value","kind":"secret","start":501,"end":521,"value":"R7!ziVAI4TQvDnDda#q2","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-password-must-detect-02","recipe":"password","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["R7!ziVAI4TQvDnDda#q2"]},"customers":{"required_absent":["R7!ziVAI4TQvDnDda#q2"],"required_present":[]},"all":{"required_absent":["R7!ziVAI4TQvDnDda#q2"],"required_present":[]}},"tags":["broad-quality","secret-family:password","variation:02"],"secret_fixture":{"family":"password","role":"must-detect"}}, + {"id":"broad-secret-password-preserve-02","language":"en","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad password variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Public operational identifier: password_hash_algorithm","known_identities":[],"targets":[{"id":"value","kind":"secret","start":511,"end":534,"value":"password_hash_algorithm","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-password-preserve-02","recipe":"password","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["password_hash_algorithm"]},"customers":{"required_absent":[],"required_present":["password_hash_algorithm"]},"all":{"required_absent":[],"required_present":["password_hash_algorithm"]}},"tags":["broad-quality","secret-family:password","variation:02"],"secret_fixture":{"family":"password","role":"preserve"}}, + {"id":"broad-secret-password-must-detect-03","language":"en","script":"Latin","shape":"command-payload","risk":"critical","reason":"Locked broad password variation.","text":"--sample=3 --message=\"Rotating this exposed value: \" --value=R7!aK8TwPOAbzlB4l#q2","known_identities":[],"targets":[{"id":"value","kind":"secret","start":61,"end":81,"value":"R7!aK8TwPOAbzlB4l#q2","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-password-must-detect-03","recipe":"password","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["R7!aK8TwPOAbzlB4l#q2"]},"customers":{"required_absent":["R7!aK8TwPOAbzlB4l#q2"],"required_present":[]},"all":{"required_absent":["R7!aK8TwPOAbzlB4l#q2"],"required_present":[]}},"tags":["broad-quality","secret-family:password","variation:03"],"secret_fixture":{"family":"password","role":"must-detect"}}, + {"id":"broad-secret-password-preserve-03","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad password variation.","text":"--sample=3 --message=\"Schema field label: \" --value=password_hash_algorithm","known_identities":[],"targets":[{"id":"value","kind":"secret","start":52,"end":75,"value":"password_hash_algorithm","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-password-preserve-03","recipe":"password","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["password_hash_algorithm"]},"customers":{"required_absent":[],"required_present":["password_hash_algorithm"]},"all":{"required_absent":[],"required_present":["password_hash_algorithm"]}},"tags":["broad-quality","secret-family:password","variation:03"],"secret_fixture":{"family":"password","role":"preserve"}}, + {"id":"broad-secret-password-must-detect-04","language":"en","script":"Latin","shape":"prose","risk":"critical","reason":"Locked broad password variation.","text":"Quoted credential follows: R7!bfguWGSXffQVgS#q2","known_identities":[],"targets":[{"id":"value","kind":"secret","start":27,"end":47,"value":"R7!bfguWGSXffQVgS#q2","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-password-must-detect-04","recipe":"password","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["R7!bfguWGSXffQVgS#q2"]},"customers":{"required_absent":["R7!bfguWGSXffQVgS#q2"],"required_present":[]},"all":{"required_absent":["R7!bfguWGSXffQVgS#q2"],"required_present":[]}},"tags":["broad-quality","secret-family:password","variation:04"],"secret_fixture":{"family":"password","role":"must-detect"}}, + {"id":"broad-secret-password-preserve-04","language":"en","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad password variation.","text":"Non-confidential protocol token: password_hash_algorithm","known_identities":[],"targets":[{"id":"value","kind":"secret","start":33,"end":56,"value":"password_hash_algorithm","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-password-preserve-04","recipe":"password","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["password_hash_algorithm"]},"customers":{"required_absent":[],"required_present":["password_hash_algorithm"]},"all":{"required_absent":[],"required_present":["password_hash_algorithm"]}},"tags":["broad-quality","secret-family:password","variation:04"],"secret_fixture":{"family":"password","role":"preserve"}}, + {"id":"broad-secret-password-must-detect-05","language":"en","script":"Latin","shape":"json","risk":"critical","reason":"Locked broad password variation.","text":"{\"message_5\":\"Configuration secret: R7!ZG3fdmzkH2VFeo#q2\"}","known_identities":[],"targets":[{"id":"value","kind":"secret","start":36,"end":56,"value":"R7!ZG3fdmzkH2VFeo#q2","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-password-must-detect-05","recipe":"password","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["R7!ZG3fdmzkH2VFeo#q2"]},"customers":{"required_absent":["R7!ZG3fdmzkH2VFeo#q2"],"required_present":[]},"all":{"required_absent":["R7!ZG3fdmzkH2VFeo#q2"],"required_present":[]}},"tags":["broad-quality","secret-family:password","variation:05"],"secret_fixture":{"family":"password","role":"must-detect"}}, + {"id":"broad-secret-password-preserve-05","language":"en","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad password variation.","text":"{\"message_5\":\"Release metadata: password_hash_algorithm\"}","known_identities":[],"targets":[{"id":"value","kind":"secret","start":32,"end":55,"value":"password_hash_algorithm","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-password-preserve-05","recipe":"password","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["password_hash_algorithm"]},"customers":{"required_absent":[],"required_present":["password_hash_algorithm"]},"all":{"required_absent":[],"required_present":["password_hash_algorithm"]}},"tags":["broad-quality","secret-family:password","variation:05"],"secret_fixture":{"family":"password","role":"preserve"}}, + {"id":"broad-secret-password-must-detect-06","language":"en","script":"Latin","shape":"yaml","risk":"critical","reason":"Locked broad password variation.","text":"message_6: Stack trace captured credential R7!q6pS3EhkBn2F89#q2","known_identities":[],"targets":[{"id":"value","kind":"secret","start":43,"end":63,"value":"R7!q6pS3EhkBn2F89#q2","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-password-must-detect-06","recipe":"password","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["R7!q6pS3EhkBn2F89#q2"]},"customers":{"required_absent":["R7!q6pS3EhkBn2F89#q2"],"required_present":[]},"all":{"required_absent":["R7!q6pS3EhkBn2F89#q2"],"required_present":[]}},"tags":["broad-quality","secret-family:password","variation:06"],"secret_fixture":{"family":"password","role":"must-detect"}}, + {"id":"broad-secret-password-preserve-06","language":"en","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad password variation.","text":"message_6: Public verification material: password_hash_algorithm","known_identities":[],"targets":[{"id":"value","kind":"secret","start":41,"end":64,"value":"password_hash_algorithm","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-password-preserve-06","recipe":"password","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["password_hash_algorithm"]},"customers":{"required_absent":[],"required_present":["password_hash_algorithm"]},"all":{"required_absent":[],"required_present":["password_hash_algorithm"]}},"tags":["broad-quality","secret-family:password","variation:06"],"secret_fixture":{"family":"password","role":"preserve"}}, + {"id":"broad-secret-password-must-detect-07","language":"en","script":"Latin","shape":"shell","risk":"critical","reason":"Locked broad password variation.","text":"MESSAGE_7='Wrapped message credential: R7!cSZWZU9CtuVJyR#q2'","known_identities":[],"targets":[{"id":"value","kind":"secret","start":39,"end":59,"value":"R7!cSZWZU9CtuVJyR#q2","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-password-must-detect-07","recipe":"password","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["R7!cSZWZU9CtuVJyR#q2"]},"customers":{"required_absent":["R7!cSZWZU9CtuVJyR#q2"],"required_present":[]},"all":{"required_absent":["R7!cSZWZU9CtuVJyR#q2"],"required_present":[]}},"tags":["broad-quality","secret-family:password","variation:07"],"secret_fixture":{"family":"password","role":"must-detect"}}, + {"id":"broad-secret-password-preserve-07","language":"en","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad password variation.","text":"MESSAGE_7='Troubleshooting reference: password_hash_algorithm'","known_identities":[],"targets":[{"id":"value","kind":"secret","start":38,"end":61,"value":"password_hash_algorithm","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-password-preserve-07","recipe":"password","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["password_hash_algorithm"]},"customers":{"required_absent":[],"required_present":["password_hash_algorithm"]},"all":{"required_absent":[],"required_present":["password_hash_algorithm"]}},"tags":["broad-quality","secret-family:password","variation:07"],"secret_fixture":{"family":"password","role":"preserve"}}, + {"id":"broad-secret-jwt-must-detect-00","language":"en","script":"Latin","shape":"url","risk":"critical","reason":"Locked broad jwt variation.","text":"endpoint=https://192.0.2.10/0 ; Credential copied from a support reply: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.t3nxK_bJWs7ufwyuAZF1fqmvfP1RzZQ-4PkHqkzFx4P","known_identities":[],"targets":[{"id":"value","kind":"secret","start":72,"end":215,"value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.t3nxK_bJWs7ufwyuAZF1fqmvfP1RzZQ-4PkHqkzFx4P","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-jwt-must-detect-00","recipe":"jwt","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.t3nxK_bJWs7ufwyuAZF1fqmvfP1RzZQ-4PkHqkzFx4P"]},"customers":{"required_absent":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.t3nxK_bJWs7ufwyuAZF1fqmvfP1RzZQ-4PkHqkzFx4P"],"required_present":[]},"all":{"required_absent":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.t3nxK_bJWs7ufwyuAZF1fqmvfP1RzZQ-4PkHqkzFx4P"],"required_present":[]}},"tags":["broad-quality","secret-family:jwt","variation:00"],"secret_fixture":{"family":"jwt","role":"must-detect"}}, + {"id":"broad-secret-jwt-preserve-00","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad jwt variation.","text":"endpoint=https://192.0.2.10/0 ; Public configuration vocabulary: header.payload.signature","known_identities":[],"targets":[{"id":"value","kind":"secret","start":65,"end":89,"value":"header.payload.signature","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-jwt-preserve-00","recipe":"jwt","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["header.payload.signature"]},"customers":{"required_absent":[],"required_present":["header.payload.signature"]},"all":{"required_absent":[],"required_present":["header.payload.signature"]}},"tags":["broad-quality","secret-family:jwt","variation:00"],"secret_fixture":{"family":"jwt","role":"preserve"}}, + {"id":"broad-secret-jwt-must-detect-01","language":"en","script":"Latin","shape":"markdown","risk":"critical","reason":"Locked broad jwt variation.","text":"**Authorization header value: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.GibYxrjo2wQOgKswIwwuOcABpzyFmrHtIYJFpyHJzyE**","known_identities":[],"targets":[{"id":"value","kind":"secret","start":30,"end":173,"value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.GibYxrjo2wQOgKswIwwuOcABpzyFmrHtIYJFpyHJzyE","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-jwt-must-detect-01","recipe":"jwt","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.GibYxrjo2wQOgKswIwwuOcABpzyFmrHtIYJFpyHJzyE"]},"customers":{"required_absent":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.GibYxrjo2wQOgKswIwwuOcABpzyFmrHtIYJFpyHJzyE"],"required_present":[]},"all":{"required_absent":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.GibYxrjo2wQOgKswIwwuOcABpzyFmrHtIYJFpyHJzyE"],"required_present":[]}},"tags":["broad-quality","secret-family:jwt","variation:01"],"secret_fixture":{"family":"jwt","role":"must-detect"}}, + {"id":"broad-secret-jwt-preserve-01","language":"en","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad jwt variation.","text":"**Documentation syntax: header.payload.signature**","known_identities":[],"targets":[{"id":"value","kind":"secret","start":24,"end":48,"value":"header.payload.signature","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-jwt-preserve-01","recipe":"jwt","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["header.payload.signature"]},"customers":{"required_absent":[],"required_present":["header.payload.signature"]},"all":{"required_absent":[],"required_present":["header.payload.signature"]}},"tags":["broad-quality","secret-family:jwt","variation:01"],"secret_fixture":{"family":"jwt","role":"preserve"}}, + {"id":"broad-secret-jwt-must-detect-02","language":"en","script":"Latin","shape":"html","risk":"critical","reason":"Locked broad jwt variation.","text":"\u003cp\u003eLog field auth_value=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.NuiKG6VM51a_jbOREdXnf27k_exsv1vah5ZIt7d0s7S\u003c/p\u003e","known_identities":[],"targets":[{"id":"value","kind":"secret","start":24,"end":167,"value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.NuiKG6VM51a_jbOREdXnf27k_exsv1vah5ZIt7d0s7S","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-jwt-must-detect-02","recipe":"jwt","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.NuiKG6VM51a_jbOREdXnf27k_exsv1vah5ZIt7d0s7S"]},"customers":{"required_absent":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.NuiKG6VM51a_jbOREdXnf27k_exsv1vah5ZIt7d0s7S"],"required_present":[]},"all":{"required_absent":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.NuiKG6VM51a_jbOREdXnf27k_exsv1vah5ZIt7d0s7S"],"required_present":[]}},"tags":["broad-quality","secret-family:jwt","variation:02"],"secret_fixture":{"family":"jwt","role":"must-detect"}}, + {"id":"broad-secret-jwt-preserve-02","language":"en","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad jwt variation.","text":"\u003cp\u003ePublic operational identifier: header.payload.signature\u003c/p\u003e","known_identities":[],"targets":[{"id":"value","kind":"secret","start":34,"end":58,"value":"header.payload.signature","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-jwt-preserve-02","recipe":"jwt","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["header.payload.signature"]},"customers":{"required_absent":[],"required_present":["header.payload.signature"]},"all":{"required_absent":[],"required_present":["header.payload.signature"]}},"tags":["broad-quality","secret-family:jwt","variation:02"],"secret_fixture":{"family":"jwt","role":"preserve"}}, + {"id":"broad-secret-jwt-must-detect-03","language":"en","script":"Latin","shape":"quoted-reply","risk":"critical","reason":"Locked broad jwt variation.","text":"\u003e Rotating this exposed value: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.gdtE6OStDC0pZr-GrW5qKGkGhxb8LfKWAFbwk0MhjPj","known_identities":[],"targets":[{"id":"value","kind":"secret","start":31,"end":174,"value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.gdtE6OStDC0pZr-GrW5qKGkGhxb8LfKWAFbwk0MhjPj","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-jwt-must-detect-03","recipe":"jwt","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.gdtE6OStDC0pZr-GrW5qKGkGhxb8LfKWAFbwk0MhjPj"]},"customers":{"required_absent":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.gdtE6OStDC0pZr-GrW5qKGkGhxb8LfKWAFbwk0MhjPj"],"required_present":[]},"all":{"required_absent":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.gdtE6OStDC0pZr-GrW5qKGkGhxb8LfKWAFbwk0MhjPj"],"required_present":[]}},"tags":["broad-quality","secret-family:jwt","variation:03"],"secret_fixture":{"family":"jwt","role":"must-detect"}}, + {"id":"broad-secret-jwt-preserve-03","language":"en","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad jwt variation.","text":"\u003e Schema field label: header.payload.signature","known_identities":[],"targets":[{"id":"value","kind":"secret","start":22,"end":46,"value":"header.payload.signature","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-jwt-preserve-03","recipe":"jwt","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["header.payload.signature"]},"customers":{"required_absent":[],"required_present":["header.payload.signature"]},"all":{"required_absent":[],"required_present":["header.payload.signature"]}},"tags":["broad-quality","secret-family:jwt","variation:03"],"secret_fixture":{"family":"jwt","role":"preserve"}}, + {"id":"broad-secret-jwt-must-detect-04","language":"en","script":"Latin","shape":"log","risk":"critical","reason":"Locked broad jwt variation.","text":"level=warn sample=4 message=\"Quoted credential follows: \" value=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.nA_SECP1iFm0dupuKuAFYVjgt_l6bXPdDqCPs9MyHlg","known_identities":[],"targets":[{"id":"value","kind":"secret","start":64,"end":207,"value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.nA_SECP1iFm0dupuKuAFYVjgt_l6bXPdDqCPs9MyHlg","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-jwt-must-detect-04","recipe":"jwt","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.nA_SECP1iFm0dupuKuAFYVjgt_l6bXPdDqCPs9MyHlg"]},"customers":{"required_absent":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.nA_SECP1iFm0dupuKuAFYVjgt_l6bXPdDqCPs9MyHlg"],"required_present":[]},"all":{"required_absent":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.nA_SECP1iFm0dupuKuAFYVjgt_l6bXPdDqCPs9MyHlg"],"required_present":[]}},"tags":["broad-quality","secret-family:jwt","variation:04"],"secret_fixture":{"family":"jwt","role":"must-detect"}}, + {"id":"broad-secret-jwt-preserve-04","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad jwt variation.","text":"level=warn sample=4 message=\"Non-confidential protocol token: \" value=header.payload.signature","known_identities":[],"targets":[{"id":"value","kind":"secret","start":70,"end":94,"value":"header.payload.signature","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-jwt-preserve-04","recipe":"jwt","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["header.payload.signature"]},"customers":{"required_absent":[],"required_present":["header.payload.signature"]},"all":{"required_absent":[],"required_present":["header.payload.signature"]}},"tags":["broad-quality","secret-family:jwt","variation:04"],"secret_fixture":{"family":"jwt","role":"preserve"}}, + {"id":"broad-secret-jwt-must-detect-05","language":"en","script":"Latin","shape":"stack-trace","risk":"critical","reason":"Locked broad jwt variation.","text":"Trace[5]: Configuration secret: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.MtidwEprXkTKfpjZY1NXm157h5nn_tC18dhdY9hC0Wp","known_identities":[],"targets":[{"id":"value","kind":"secret","start":32,"end":175,"value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.MtidwEprXkTKfpjZY1NXm157h5nn_tC18dhdY9hC0Wp","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-jwt-must-detect-05","recipe":"jwt","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.MtidwEprXkTKfpjZY1NXm157h5nn_tC18dhdY9hC0Wp"]},"customers":{"required_absent":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.MtidwEprXkTKfpjZY1NXm157h5nn_tC18dhdY9hC0Wp"],"required_present":[]},"all":{"required_absent":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.MtidwEprXkTKfpjZY1NXm157h5nn_tC18dhdY9hC0Wp"],"required_present":[]}},"tags":["broad-quality","secret-family:jwt","variation:05"],"secret_fixture":{"family":"jwt","role":"must-detect"}}, + {"id":"broad-secret-jwt-preserve-05","language":"en","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad jwt variation.","text":"Trace[5]: Release metadata: header.payload.signature","known_identities":[],"targets":[{"id":"value","kind":"secret","start":28,"end":52,"value":"header.payload.signature","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-jwt-preserve-05","recipe":"jwt","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["header.payload.signature"]},"customers":{"required_absent":[],"required_present":["header.payload.signature"]},"all":{"required_absent":[],"required_present":["header.payload.signature"]}},"tags":["broad-quality","secret-family:jwt","variation:05"],"secret_fixture":{"family":"jwt","role":"preserve"}}, + {"id":"broad-secret-jwt-must-detect-06","language":"en","script":"Latin","shape":"code","risk":"critical","reason":"Locked broad jwt variation.","text":"fixture_6 := `Stack trace captured credential eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.Nj2GjLCUrMkwcIT0I_O5tH4KepBDsxa7pTJkNqQ2k7K`","known_identities":[],"targets":[{"id":"value","kind":"secret","start":46,"end":189,"value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.Nj2GjLCUrMkwcIT0I_O5tH4KepBDsxa7pTJkNqQ2k7K","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-jwt-must-detect-06","recipe":"jwt","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.Nj2GjLCUrMkwcIT0I_O5tH4KepBDsxa7pTJkNqQ2k7K"]},"customers":{"required_absent":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.Nj2GjLCUrMkwcIT0I_O5tH4KepBDsxa7pTJkNqQ2k7K"],"required_present":[]},"all":{"required_absent":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.Nj2GjLCUrMkwcIT0I_O5tH4KepBDsxa7pTJkNqQ2k7K"],"required_present":[]}},"tags":["broad-quality","secret-family:jwt","variation:06"],"secret_fixture":{"family":"jwt","role":"must-detect"}}, + {"id":"broad-secret-jwt-preserve-06","language":"en","script":"Latin","shape":"code","risk":"preservation","reason":"Locked broad jwt variation.","text":"fixture_6 := `Public verification material: header.payload.signature`","known_identities":[],"targets":[{"id":"value","kind":"secret","start":44,"end":68,"value":"header.payload.signature","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-jwt-preserve-06","recipe":"jwt","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["header.payload.signature"]},"customers":{"required_absent":[],"required_present":["header.payload.signature"]},"all":{"required_absent":[],"required_present":["header.payload.signature"]}},"tags":["broad-quality","secret-family:jwt","variation:06"],"secret_fixture":{"family":"jwt","role":"preserve"}}, + {"id":"broad-secret-jwt-must-detect-07","language":"en","script":"Latin","shape":"signature","risk":"critical","reason":"Locked broad jwt variation.","text":"--\nWrapped message credential: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.riwLbg02LXMUp8MllazvkGyVbv4lhHHbVRNIIJvgZXf","known_identities":[],"targets":[{"id":"value","kind":"secret","start":31,"end":174,"value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.riwLbg02LXMUp8MllazvkGyVbv4lhHHbVRNIIJvgZXf","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-jwt-must-detect-07","recipe":"jwt","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.riwLbg02LXMUp8MllazvkGyVbv4lhHHbVRNIIJvgZXf"]},"customers":{"required_absent":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.riwLbg02LXMUp8MllazvkGyVbv4lhHHbVRNIIJvgZXf"],"required_present":[]},"all":{"required_absent":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.riwLbg02LXMUp8MllazvkGyVbv4lhHHbVRNIIJvgZXf"],"required_present":[]}},"tags":["broad-quality","secret-family:jwt","variation:07"],"secret_fixture":{"family":"jwt","role":"must-detect"}}, + {"id":"broad-secret-jwt-preserve-07","language":"en","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad jwt variation.","text":"--\nTroubleshooting reference: header.payload.signature","known_identities":[],"targets":[{"id":"value","kind":"secret","start":30,"end":54,"value":"header.payload.signature","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-jwt-preserve-07","recipe":"jwt","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["header.payload.signature"]},"customers":{"required_absent":[],"required_present":["header.payload.signature"]},"all":{"required_absent":[],"required_present":["header.payload.signature"]}},"tags":["broad-quality","secret-family:jwt","variation:07"],"secret_fixture":{"family":"jwt","role":"preserve"}}, + {"id":"broad-secret-one-time-code-must-detect-00","language":"en","script":"Latin","shape":"long-thread","risk":"critical","reason":"Locked broad one-time-code variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Credential copied from a support reply: 20800754","known_identities":[],"targets":[{"id":"value","kind":"secret","start":520,"end":528,"value":"20800754","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-one-time-code-must-detect-00","recipe":"one-time-code","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["20800754"]},"customers":{"required_absent":["20800754"],"required_present":[]},"all":{"required_absent":["20800754"],"required_present":[]}},"tags":["broad-quality","secret-family:one-time-code","variation:00"],"secret_fixture":{"family":"one-time-code","role":"must-detect"}}, + {"id":"broad-secret-one-time-code-preserve-00","language":"en","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad one-time-code variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Public configuration vocabulary: 61125448","known_identities":[],"targets":[{"id":"value","kind":"secret","start":513,"end":521,"value":"61125448","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-one-time-code-preserve-00","recipe":"one-time-code","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["61125448"]},"customers":{"required_absent":[],"required_present":["61125448"]},"all":{"required_absent":[],"required_present":["61125448"]}},"tags":["broad-quality","secret-family:one-time-code","variation:00"],"secret_fixture":{"family":"one-time-code","role":"preserve"}}, + {"id":"broad-secret-one-time-code-must-detect-01","language":"en","script":"Latin","shape":"command-payload","risk":"critical","reason":"Locked broad one-time-code variation.","text":"--sample=1 --message=\"Authorization header value: \" --value=16216825","known_identities":[],"targets":[{"id":"value","kind":"secret","start":60,"end":68,"value":"16216825","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-one-time-code-must-detect-01","recipe":"one-time-code","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["16216825"]},"customers":{"required_absent":["16216825"],"required_present":[]},"all":{"required_absent":["16216825"],"required_present":[]}},"tags":["broad-quality","secret-family:one-time-code","variation:01"],"secret_fixture":{"family":"one-time-code","role":"must-detect"}}, + {"id":"broad-secret-one-time-code-preserve-01","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad one-time-code variation.","text":"--sample=1 --message=\"Documentation syntax: \" --value=53095807","known_identities":[],"targets":[{"id":"value","kind":"secret","start":54,"end":62,"value":"53095807","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-one-time-code-preserve-01","recipe":"one-time-code","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["53095807"]},"customers":{"required_absent":[],"required_present":["53095807"]},"all":{"required_absent":[],"required_present":["53095807"]}},"tags":["broad-quality","secret-family:one-time-code","variation:01"],"secret_fixture":{"family":"one-time-code","role":"preserve"}}, + {"id":"broad-secret-one-time-code-must-detect-02","language":"en","script":"Latin","shape":"prose","risk":"critical","reason":"Locked broad one-time-code variation.","text":"Log field auth_value=24207188","known_identities":[],"targets":[{"id":"value","kind":"secret","start":21,"end":29,"value":"24207188","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-one-time-code-must-detect-02","recipe":"one-time-code","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["24207188"]},"customers":{"required_absent":["24207188"],"required_present":[]},"all":{"required_absent":["24207188"],"required_present":[]}},"tags":["broad-quality","secret-family:one-time-code","variation:02"],"secret_fixture":{"family":"one-time-code","role":"must-detect"}}, + {"id":"broad-secret-one-time-code-preserve-02","language":"en","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad one-time-code variation.","text":"Public operational identifier: 99150081","known_identities":[],"targets":[{"id":"value","kind":"secret","start":31,"end":39,"value":"99150081","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-one-time-code-preserve-02","recipe":"one-time-code","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["99150081"]},"customers":{"required_absent":[],"required_present":["99150081"]},"all":{"required_absent":[],"required_present":["99150081"]}},"tags":["broad-quality","secret-family:one-time-code","variation:02"],"secret_fixture":{"family":"one-time-code","role":"preserve"}}, + {"id":"broad-secret-one-time-code-must-detect-03","language":"en","script":"Latin","shape":"json","risk":"critical","reason":"Locked broad one-time-code variation.","text":"{\"message_3\":\"Rotating this exposed value: 40956884\"}","known_identities":[],"targets":[{"id":"value","kind":"secret","start":43,"end":51,"value":"40956884","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-one-time-code-must-detect-03","recipe":"one-time-code","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["40956884"]},"customers":{"required_absent":["40956884"],"required_present":[]},"all":{"required_absent":["40956884"],"required_present":[]}},"tags":["broad-quality","secret-family:one-time-code","variation:03"],"secret_fixture":{"family":"one-time-code","role":"must-detect"}}, + {"id":"broad-secret-one-time-code-preserve-03","language":"en","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad one-time-code variation.","text":"{\"message_3\":\"Schema field label: 25047951\"}","known_identities":[],"targets":[{"id":"value","kind":"secret","start":34,"end":42,"value":"25047951","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-one-time-code-preserve-03","recipe":"one-time-code","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["25047951"]},"customers":{"required_absent":[],"required_present":["25047951"]},"all":{"required_absent":[],"required_present":["25047951"]}},"tags":["broad-quality","secret-family:one-time-code","variation:03"],"secret_fixture":{"family":"one-time-code","role":"preserve"}}, + {"id":"broad-secret-one-time-code-must-detect-04","language":"en","script":"Latin","shape":"yaml","risk":"critical","reason":"Locked broad one-time-code variation.","text":"message_4: Quoted credential follows: 90610471","known_identities":[],"targets":[{"id":"value","kind":"secret","start":38,"end":46,"value":"90610471","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-one-time-code-must-detect-04","recipe":"one-time-code","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["90610471"]},"customers":{"required_absent":["90610471"],"required_present":[]},"all":{"required_absent":["90610471"],"required_present":[]}},"tags":["broad-quality","secret-family:one-time-code","variation:04"],"secret_fixture":{"family":"one-time-code","role":"must-detect"}}, + {"id":"broad-secret-one-time-code-preserve-04","language":"en","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad one-time-code variation.","text":"message_4: Non-confidential protocol token: 23672977","known_identities":[],"targets":[{"id":"value","kind":"secret","start":44,"end":52,"value":"23672977","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-one-time-code-preserve-04","recipe":"one-time-code","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["23672977"]},"customers":{"required_absent":[],"required_present":["23672977"]},"all":{"required_absent":[],"required_present":["23672977"]}},"tags":["broad-quality","secret-family:one-time-code","variation:04"],"secret_fixture":{"family":"one-time-code","role":"preserve"}}, + {"id":"broad-secret-one-time-code-must-detect-05","language":"en","script":"Latin","shape":"shell","risk":"critical","reason":"Locked broad one-time-code variation.","text":"MESSAGE_5='Configuration secret: 03571441'","known_identities":[],"targets":[{"id":"value","kind":"secret","start":33,"end":41,"value":"03571441","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-one-time-code-must-detect-05","recipe":"one-time-code","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["03571441"]},"customers":{"required_absent":["03571441"],"required_present":[]},"all":{"required_absent":["03571441"],"required_present":[]}},"tags":["broad-quality","secret-family:one-time-code","variation:05"],"secret_fixture":{"family":"one-time-code","role":"must-detect"}}, + {"id":"broad-secret-one-time-code-preserve-05","language":"en","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad one-time-code variation.","text":"MESSAGE_5='Release metadata: 20059653'","known_identities":[],"targets":[{"id":"value","kind":"secret","start":29,"end":37,"value":"20059653","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-one-time-code-preserve-05","recipe":"one-time-code","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["20059653"]},"customers":{"required_absent":[],"required_present":["20059653"]},"all":{"required_absent":[],"required_present":["20059653"]}},"tags":["broad-quality","secret-family:one-time-code","variation:05"],"secret_fixture":{"family":"one-time-code","role":"preserve"}}, + {"id":"broad-secret-one-time-code-must-detect-06","language":"en","script":"Latin","shape":"url","risk":"critical","reason":"Locked broad one-time-code variation.","text":"endpoint=https://192.0.2.10/6 ; Stack trace captured credential 60474487","known_identities":[],"targets":[{"id":"value","kind":"secret","start":64,"end":72,"value":"60474487","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-one-time-code-must-detect-06","recipe":"one-time-code","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["60474487"]},"customers":{"required_absent":["60474487"],"required_present":[]},"all":{"required_absent":["60474487"],"required_present":[]}},"tags":["broad-quality","secret-family:one-time-code","variation:06"],"secret_fixture":{"family":"one-time-code","role":"must-detect"}}, + {"id":"broad-secret-one-time-code-preserve-06","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad one-time-code variation.","text":"endpoint=https://192.0.2.10/6 ; Public verification material: 33565657","known_identities":[],"targets":[{"id":"value","kind":"secret","start":62,"end":70,"value":"33565657","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-one-time-code-preserve-06","recipe":"one-time-code","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["33565657"]},"customers":{"required_absent":[],"required_present":["33565657"]},"all":{"required_absent":[],"required_present":["33565657"]}},"tags":["broad-quality","secret-family:one-time-code","variation:06"],"secret_fixture":{"family":"one-time-code","role":"preserve"}}, + {"id":"broad-secret-one-time-code-must-detect-07","language":"en","script":"Latin","shape":"markdown","risk":"critical","reason":"Locked broad one-time-code variation.","text":"**Wrapped message credential: 40089778**","known_identities":[],"targets":[{"id":"value","kind":"secret","start":30,"end":38,"value":"40089778","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-one-time-code-must-detect-07","recipe":"one-time-code","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["40089778"]},"customers":{"required_absent":["40089778"],"required_present":[]},"all":{"required_absent":["40089778"],"required_present":[]}},"tags":["broad-quality","secret-family:one-time-code","variation:07"],"secret_fixture":{"family":"one-time-code","role":"must-detect"}}, + {"id":"broad-secret-one-time-code-preserve-07","language":"en","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad one-time-code variation.","text":"**Troubleshooting reference: 86867006**","known_identities":[],"targets":[{"id":"value","kind":"secret","start":29,"end":37,"value":"86867006","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-one-time-code-preserve-07","recipe":"one-time-code","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["86867006"]},"customers":{"required_absent":[],"required_present":["86867006"]},"all":{"required_absent":[],"required_present":["86867006"]}},"tags":["broad-quality","secret-family:one-time-code","variation:07"],"secret_fixture":{"family":"one-time-code","role":"preserve"}}, + {"id":"broad-secret-private-key-must-detect-00","language":"en","script":"Latin","shape":"html","risk":"critical","reason":"Locked broad private-key variation.","text":"\u003cp\u003eCredential copied from a support reply: -----BEGIN SECRET-KEYX-----\nW41E7qdJye8XngdAb1HNTYPUVnpgZkx7332BF/t98LEy/EFtkPERo7iTyj4RbPly\nPu3g4VS8eUu5W7heKwawrmb/zH/oNtGPMXYTM2IaVoWKvzKqVTKwjvkrSLdedrag\no2NYUknPVQnGiJw77f98nVVp46NlMobsq0Vxy/FTkGZ08sYfbujet78mXSK8T/Pm\n5LDKk74hggIYua4k0kl8uf0SqQJm6QNOvVpF4BdPsfhc+3iTVTKndlnZnANSF7g4\n-----END SECRET-KEYX-----\u003c/p\u003e","known_identities":[],"targets":[{"id":"value","kind":"secret","start":43,"end":356,"value":"-----BEGIN SECRET-KEYX-----\nW41E7qdJye8XngdAb1HNTYPUVnpgZkx7332BF/t98LEy/EFtkPERo7iTyj4RbPly\nPu3g4VS8eUu5W7heKwawrmb/zH/oNtGPMXYTM2IaVoWKvzKqVTKwjvkrSLdedrag\no2NYUknPVQnGiJw77f98nVVp46NlMobsq0Vxy/FTkGZ08sYfbujet78mXSK8T/Pm\n5LDKk74hggIYua4k0kl8uf0SqQJm6QNOvVpF4BdPsfhc+3iTVTKndlnZnANSF7g4\n-----END SECRET-KEYX-----","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-private-key-must-detect-00","recipe":"private-key","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["-----BEGIN SECRET-KEYX-----\nW41E7qdJye8XngdAb1HNTYPUVnpgZkx7332BF/t98LEy/EFtkPERo7iTyj4RbPly\nPu3g4VS8eUu5W7heKwawrmb/zH/oNtGPMXYTM2IaVoWKvzKqVTKwjvkrSLdedrag\no2NYUknPVQnGiJw77f98nVVp46NlMobsq0Vxy/FTkGZ08sYfbujet78mXSK8T/Pm\n5LDKk74hggIYua4k0kl8uf0SqQJm6QNOvVpF4BdPsfhc+3iTVTKndlnZnANSF7g4\n-----END SECRET-KEYX-----"]},"customers":{"required_absent":["-----BEGIN SECRET-KEYX-----\nW41E7qdJye8XngdAb1HNTYPUVnpgZkx7332BF/t98LEy/EFtkPERo7iTyj4RbPly\nPu3g4VS8eUu5W7heKwawrmb/zH/oNtGPMXYTM2IaVoWKvzKqVTKwjvkrSLdedrag\no2NYUknPVQnGiJw77f98nVVp46NlMobsq0Vxy/FTkGZ08sYfbujet78mXSK8T/Pm\n5LDKk74hggIYua4k0kl8uf0SqQJm6QNOvVpF4BdPsfhc+3iTVTKndlnZnANSF7g4\n-----END SECRET-KEYX-----"],"required_present":[]},"all":{"required_absent":["-----BEGIN SECRET-KEYX-----\nW41E7qdJye8XngdAb1HNTYPUVnpgZkx7332BF/t98LEy/EFtkPERo7iTyj4RbPly\nPu3g4VS8eUu5W7heKwawrmb/zH/oNtGPMXYTM2IaVoWKvzKqVTKwjvkrSLdedrag\no2NYUknPVQnGiJw77f98nVVp46NlMobsq0Vxy/FTkGZ08sYfbujet78mXSK8T/Pm\n5LDKk74hggIYua4k0kl8uf0SqQJm6QNOvVpF4BdPsfhc+3iTVTKndlnZnANSF7g4\n-----END SECRET-KEYX-----"],"required_present":[]}},"tags":["broad-quality","secret-family:private-key","variation:00"],"secret_fixture":{"family":"private-key","role":"must-detect"}}, + {"id":"broad-secret-private-key-preserve-00","language":"en","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad private-key variation.","text":"\u003cp\u003ePublic configuration vocabulary: -----BEGIN PUBLIC KEY-----\n+VbdXKoICCrZ9J9bZVJneI36wLr+QT2/gEbaRUjHWqGmQTXkTb+yX2A5PGmpMn4C\nuVx9bJNBPoP2/CkupH1wl5+0S6UjpO41iCAxqFi4GX4GyDiHUfa4wRqxMtHMbRRy\n-----END PUBLIC KEY-----\u003c/p\u003e","known_identities":[],"targets":[{"id":"value","kind":"secret","start":36,"end":217,"value":"-----BEGIN PUBLIC KEY-----\n+VbdXKoICCrZ9J9bZVJneI36wLr+QT2/gEbaRUjHWqGmQTXkTb+yX2A5PGmpMn4C\nuVx9bJNBPoP2/CkupH1wl5+0S6UjpO41iCAxqFi4GX4GyDiHUfa4wRqxMtHMbRRy\n-----END PUBLIC KEY-----","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-private-key-preserve-00","recipe":"private-key","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["-----BEGIN PUBLIC KEY-----\n+VbdXKoICCrZ9J9bZVJneI36wLr+QT2/gEbaRUjHWqGmQTXkTb+yX2A5PGmpMn4C\nuVx9bJNBPoP2/CkupH1wl5+0S6UjpO41iCAxqFi4GX4GyDiHUfa4wRqxMtHMbRRy\n-----END PUBLIC KEY-----"]},"customers":{"required_absent":[],"required_present":["-----BEGIN PUBLIC KEY-----\n+VbdXKoICCrZ9J9bZVJneI36wLr+QT2/gEbaRUjHWqGmQTXkTb+yX2A5PGmpMn4C\nuVx9bJNBPoP2/CkupH1wl5+0S6UjpO41iCAxqFi4GX4GyDiHUfa4wRqxMtHMbRRy\n-----END PUBLIC KEY-----"]},"all":{"required_absent":[],"required_present":["-----BEGIN PUBLIC KEY-----\n+VbdXKoICCrZ9J9bZVJneI36wLr+QT2/gEbaRUjHWqGmQTXkTb+yX2A5PGmpMn4C\nuVx9bJNBPoP2/CkupH1wl5+0S6UjpO41iCAxqFi4GX4GyDiHUfa4wRqxMtHMbRRy\n-----END PUBLIC KEY-----"]}},"tags":["broad-quality","secret-family:private-key","variation:00"],"secret_fixture":{"family":"private-key","role":"preserve"}}, + {"id":"broad-secret-private-key-must-detect-01","language":"en","script":"Latin","shape":"quoted-reply","risk":"critical","reason":"Locked broad private-key variation.","text":"\u003e Authorization header value: -----BEGIN SECRET-KEYX-----\n9PING2mAR/TdE49VbmxFQ7J7DQXpiK9j8Ydm8ikBr9mQRemvP0IyHf1KeUpReySp\nCs+vh9NMf8lwB257YkFGBSbgstzx6dUpypSCSp4S8qCBmAj3OcrhIC9OqiUA9TjE\nTFSdew0RBAjNDk2xenVCenspqHnWCSdS99mRlkb1ySWOODfCPW/UvQYeu+qRMTnn\nWo/E/GCpHYsDkT6lON5xuP7hf88x+hLRFVYS2cKeZdSoVqSz/kaWDipRo7iAR6Gg\n-----END SECRET-KEYX-----","known_identities":[],"targets":[{"id":"value","kind":"secret","start":30,"end":343,"value":"-----BEGIN SECRET-KEYX-----\n9PING2mAR/TdE49VbmxFQ7J7DQXpiK9j8Ydm8ikBr9mQRemvP0IyHf1KeUpReySp\nCs+vh9NMf8lwB257YkFGBSbgstzx6dUpypSCSp4S8qCBmAj3OcrhIC9OqiUA9TjE\nTFSdew0RBAjNDk2xenVCenspqHnWCSdS99mRlkb1ySWOODfCPW/UvQYeu+qRMTnn\nWo/E/GCpHYsDkT6lON5xuP7hf88x+hLRFVYS2cKeZdSoVqSz/kaWDipRo7iAR6Gg\n-----END SECRET-KEYX-----","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-private-key-must-detect-01","recipe":"private-key","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["-----BEGIN SECRET-KEYX-----\n9PING2mAR/TdE49VbmxFQ7J7DQXpiK9j8Ydm8ikBr9mQRemvP0IyHf1KeUpReySp\nCs+vh9NMf8lwB257YkFGBSbgstzx6dUpypSCSp4S8qCBmAj3OcrhIC9OqiUA9TjE\nTFSdew0RBAjNDk2xenVCenspqHnWCSdS99mRlkb1ySWOODfCPW/UvQYeu+qRMTnn\nWo/E/GCpHYsDkT6lON5xuP7hf88x+hLRFVYS2cKeZdSoVqSz/kaWDipRo7iAR6Gg\n-----END SECRET-KEYX-----"]},"customers":{"required_absent":["-----BEGIN SECRET-KEYX-----\n9PING2mAR/TdE49VbmxFQ7J7DQXpiK9j8Ydm8ikBr9mQRemvP0IyHf1KeUpReySp\nCs+vh9NMf8lwB257YkFGBSbgstzx6dUpypSCSp4S8qCBmAj3OcrhIC9OqiUA9TjE\nTFSdew0RBAjNDk2xenVCenspqHnWCSdS99mRlkb1ySWOODfCPW/UvQYeu+qRMTnn\nWo/E/GCpHYsDkT6lON5xuP7hf88x+hLRFVYS2cKeZdSoVqSz/kaWDipRo7iAR6Gg\n-----END SECRET-KEYX-----"],"required_present":[]},"all":{"required_absent":["-----BEGIN SECRET-KEYX-----\n9PING2mAR/TdE49VbmxFQ7J7DQXpiK9j8Ydm8ikBr9mQRemvP0IyHf1KeUpReySp\nCs+vh9NMf8lwB257YkFGBSbgstzx6dUpypSCSp4S8qCBmAj3OcrhIC9OqiUA9TjE\nTFSdew0RBAjNDk2xenVCenspqHnWCSdS99mRlkb1ySWOODfCPW/UvQYeu+qRMTnn\nWo/E/GCpHYsDkT6lON5xuP7hf88x+hLRFVYS2cKeZdSoVqSz/kaWDipRo7iAR6Gg\n-----END SECRET-KEYX-----"],"required_present":[]}},"tags":["broad-quality","secret-family:private-key","variation:01"],"secret_fixture":{"family":"private-key","role":"must-detect"}}, + {"id":"broad-secret-private-key-preserve-01","language":"en","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad private-key variation.","text":"\u003e Documentation syntax: -----BEGIN PUBLIC KEY-----\n0izQYreNNSxybhYLOt5/J/FytF/eapWjuqtgTLpyx9EWi+zCQCmciDerbQVapQvK\nJ+gbcIpcjLdfjPiw4aHPYQXDmqlnEQ8filcxbh9Tql9x++YHEC2JW0Y50h2u8LHs\n-----END PUBLIC KEY-----","known_identities":[],"targets":[{"id":"value","kind":"secret","start":24,"end":205,"value":"-----BEGIN PUBLIC KEY-----\n0izQYreNNSxybhYLOt5/J/FytF/eapWjuqtgTLpyx9EWi+zCQCmciDerbQVapQvK\nJ+gbcIpcjLdfjPiw4aHPYQXDmqlnEQ8filcxbh9Tql9x++YHEC2JW0Y50h2u8LHs\n-----END PUBLIC KEY-----","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-private-key-preserve-01","recipe":"private-key","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["-----BEGIN PUBLIC KEY-----\n0izQYreNNSxybhYLOt5/J/FytF/eapWjuqtgTLpyx9EWi+zCQCmciDerbQVapQvK\nJ+gbcIpcjLdfjPiw4aHPYQXDmqlnEQ8filcxbh9Tql9x++YHEC2JW0Y50h2u8LHs\n-----END PUBLIC KEY-----"]},"customers":{"required_absent":[],"required_present":["-----BEGIN PUBLIC KEY-----\n0izQYreNNSxybhYLOt5/J/FytF/eapWjuqtgTLpyx9EWi+zCQCmciDerbQVapQvK\nJ+gbcIpcjLdfjPiw4aHPYQXDmqlnEQ8filcxbh9Tql9x++YHEC2JW0Y50h2u8LHs\n-----END PUBLIC KEY-----"]},"all":{"required_absent":[],"required_present":["-----BEGIN PUBLIC KEY-----\n0izQYreNNSxybhYLOt5/J/FytF/eapWjuqtgTLpyx9EWi+zCQCmciDerbQVapQvK\nJ+gbcIpcjLdfjPiw4aHPYQXDmqlnEQ8filcxbh9Tql9x++YHEC2JW0Y50h2u8LHs\n-----END PUBLIC KEY-----"]}},"tags":["broad-quality","secret-family:private-key","variation:01"],"secret_fixture":{"family":"private-key","role":"preserve"}}, + {"id":"broad-secret-private-key-must-detect-02","language":"en","script":"Latin","shape":"log","risk":"critical","reason":"Locked broad private-key variation.","text":"level=warn sample=2 message=\"Log field auth_value=\" value=-----BEGIN SECRET-KEYX-----\nViH1SOmvWMYOmQBpC33AT1kh+ytL2AdgimBl4o5o0oxeHvac1cu2eoLdD4M6h8kD\nYNgtM6WZrkVvYANqlIb3EA5VL+XD5gib/O7/GfX7PwjSUPjpandaAcOcaXVX0nKh\nOUZqDtAbeFNyeqMjiQPNVjyL58NcZwUok37b7002mrIT732/PruU8y100Je3wm8o\nUQZp9CXknZ5AgdE2tNLW3Z6E71XE4DIG4qv/C91wP2YtP08Wriz41Gyummq7vgu+\n-----END SECRET-KEYX-----","known_identities":[],"targets":[{"id":"value","kind":"secret","start":58,"end":371,"value":"-----BEGIN SECRET-KEYX-----\nViH1SOmvWMYOmQBpC33AT1kh+ytL2AdgimBl4o5o0oxeHvac1cu2eoLdD4M6h8kD\nYNgtM6WZrkVvYANqlIb3EA5VL+XD5gib/O7/GfX7PwjSUPjpandaAcOcaXVX0nKh\nOUZqDtAbeFNyeqMjiQPNVjyL58NcZwUok37b7002mrIT732/PruU8y100Je3wm8o\nUQZp9CXknZ5AgdE2tNLW3Z6E71XE4DIG4qv/C91wP2YtP08Wriz41Gyummq7vgu+\n-----END SECRET-KEYX-----","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-private-key-must-detect-02","recipe":"private-key","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["-----BEGIN SECRET-KEYX-----\nViH1SOmvWMYOmQBpC33AT1kh+ytL2AdgimBl4o5o0oxeHvac1cu2eoLdD4M6h8kD\nYNgtM6WZrkVvYANqlIb3EA5VL+XD5gib/O7/GfX7PwjSUPjpandaAcOcaXVX0nKh\nOUZqDtAbeFNyeqMjiQPNVjyL58NcZwUok37b7002mrIT732/PruU8y100Je3wm8o\nUQZp9CXknZ5AgdE2tNLW3Z6E71XE4DIG4qv/C91wP2YtP08Wriz41Gyummq7vgu+\n-----END SECRET-KEYX-----"]},"customers":{"required_absent":["-----BEGIN SECRET-KEYX-----\nViH1SOmvWMYOmQBpC33AT1kh+ytL2AdgimBl4o5o0oxeHvac1cu2eoLdD4M6h8kD\nYNgtM6WZrkVvYANqlIb3EA5VL+XD5gib/O7/GfX7PwjSUPjpandaAcOcaXVX0nKh\nOUZqDtAbeFNyeqMjiQPNVjyL58NcZwUok37b7002mrIT732/PruU8y100Je3wm8o\nUQZp9CXknZ5AgdE2tNLW3Z6E71XE4DIG4qv/C91wP2YtP08Wriz41Gyummq7vgu+\n-----END SECRET-KEYX-----"],"required_present":[]},"all":{"required_absent":["-----BEGIN SECRET-KEYX-----\nViH1SOmvWMYOmQBpC33AT1kh+ytL2AdgimBl4o5o0oxeHvac1cu2eoLdD4M6h8kD\nYNgtM6WZrkVvYANqlIb3EA5VL+XD5gib/O7/GfX7PwjSUPjpandaAcOcaXVX0nKh\nOUZqDtAbeFNyeqMjiQPNVjyL58NcZwUok37b7002mrIT732/PruU8y100Je3wm8o\nUQZp9CXknZ5AgdE2tNLW3Z6E71XE4DIG4qv/C91wP2YtP08Wriz41Gyummq7vgu+\n-----END SECRET-KEYX-----"],"required_present":[]}},"tags":["broad-quality","secret-family:private-key","variation:02"],"secret_fixture":{"family":"private-key","role":"must-detect"}}, + {"id":"broad-secret-private-key-preserve-02","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad private-key variation.","text":"level=warn sample=2 message=\"Public operational identifier: \" value=-----BEGIN PUBLIC KEY-----\ncYeRU12D//diRN55xzTdN7XTsZVs9DuxjkRWYBde08f3Ktnxgz1/iynsEDgOyEpZ\n5jkDEPR8odUCk0xawX3W0srlh4ialRlt8aCHvLPs1FYePxbGjDAk1V8huzFTvnpV\n-----END PUBLIC KEY-----","known_identities":[],"targets":[{"id":"value","kind":"secret","start":68,"end":249,"value":"-----BEGIN PUBLIC KEY-----\ncYeRU12D//diRN55xzTdN7XTsZVs9DuxjkRWYBde08f3Ktnxgz1/iynsEDgOyEpZ\n5jkDEPR8odUCk0xawX3W0srlh4ialRlt8aCHvLPs1FYePxbGjDAk1V8huzFTvnpV\n-----END PUBLIC KEY-----","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-private-key-preserve-02","recipe":"private-key","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["-----BEGIN PUBLIC KEY-----\ncYeRU12D//diRN55xzTdN7XTsZVs9DuxjkRWYBde08f3Ktnxgz1/iynsEDgOyEpZ\n5jkDEPR8odUCk0xawX3W0srlh4ialRlt8aCHvLPs1FYePxbGjDAk1V8huzFTvnpV\n-----END PUBLIC KEY-----"]},"customers":{"required_absent":[],"required_present":["-----BEGIN PUBLIC KEY-----\ncYeRU12D//diRN55xzTdN7XTsZVs9DuxjkRWYBde08f3Ktnxgz1/iynsEDgOyEpZ\n5jkDEPR8odUCk0xawX3W0srlh4ialRlt8aCHvLPs1FYePxbGjDAk1V8huzFTvnpV\n-----END PUBLIC KEY-----"]},"all":{"required_absent":[],"required_present":["-----BEGIN PUBLIC KEY-----\ncYeRU12D//diRN55xzTdN7XTsZVs9DuxjkRWYBde08f3Ktnxgz1/iynsEDgOyEpZ\n5jkDEPR8odUCk0xawX3W0srlh4ialRlt8aCHvLPs1FYePxbGjDAk1V8huzFTvnpV\n-----END PUBLIC KEY-----"]}},"tags":["broad-quality","secret-family:private-key","variation:02"],"secret_fixture":{"family":"private-key","role":"preserve"}}, + {"id":"broad-secret-private-key-must-detect-03","language":"en","script":"Latin","shape":"stack-trace","risk":"critical","reason":"Locked broad private-key variation.","text":"Trace[3]: Rotating this exposed value: -----BEGIN SECRET-KEYX-----\neMU8vWXXGzFlnFEzXcF+tTj8Fk0lvw3cllxLAI9weh/yIvejLp/kx11uK1TigFQ6\nl85hV1e8FFDT1c4hjHaY8HfI6TiCGUiRDqelL7Pfao+p/v+C34ch2a+g/kDZmrJJ\nfgHiL/F3oirW2UzBLV8FF/qE2Hnxb2eSaB4Kxo6XGSfIhu6KWmfU8UPmliR+E+ax\nv3KGHl2Wbk8BID/OgnUW7Ji3dNnAsqMX9/F2/DL5XUmOJ89jmlM0mVLKpBzZgv22\n-----END SECRET-KEYX-----","known_identities":[],"targets":[{"id":"value","kind":"secret","start":39,"end":352,"value":"-----BEGIN SECRET-KEYX-----\neMU8vWXXGzFlnFEzXcF+tTj8Fk0lvw3cllxLAI9weh/yIvejLp/kx11uK1TigFQ6\nl85hV1e8FFDT1c4hjHaY8HfI6TiCGUiRDqelL7Pfao+p/v+C34ch2a+g/kDZmrJJ\nfgHiL/F3oirW2UzBLV8FF/qE2Hnxb2eSaB4Kxo6XGSfIhu6KWmfU8UPmliR+E+ax\nv3KGHl2Wbk8BID/OgnUW7Ji3dNnAsqMX9/F2/DL5XUmOJ89jmlM0mVLKpBzZgv22\n-----END SECRET-KEYX-----","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-private-key-must-detect-03","recipe":"private-key","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["-----BEGIN SECRET-KEYX-----\neMU8vWXXGzFlnFEzXcF+tTj8Fk0lvw3cllxLAI9weh/yIvejLp/kx11uK1TigFQ6\nl85hV1e8FFDT1c4hjHaY8HfI6TiCGUiRDqelL7Pfao+p/v+C34ch2a+g/kDZmrJJ\nfgHiL/F3oirW2UzBLV8FF/qE2Hnxb2eSaB4Kxo6XGSfIhu6KWmfU8UPmliR+E+ax\nv3KGHl2Wbk8BID/OgnUW7Ji3dNnAsqMX9/F2/DL5XUmOJ89jmlM0mVLKpBzZgv22\n-----END SECRET-KEYX-----"]},"customers":{"required_absent":["-----BEGIN SECRET-KEYX-----\neMU8vWXXGzFlnFEzXcF+tTj8Fk0lvw3cllxLAI9weh/yIvejLp/kx11uK1TigFQ6\nl85hV1e8FFDT1c4hjHaY8HfI6TiCGUiRDqelL7Pfao+p/v+C34ch2a+g/kDZmrJJ\nfgHiL/F3oirW2UzBLV8FF/qE2Hnxb2eSaB4Kxo6XGSfIhu6KWmfU8UPmliR+E+ax\nv3KGHl2Wbk8BID/OgnUW7Ji3dNnAsqMX9/F2/DL5XUmOJ89jmlM0mVLKpBzZgv22\n-----END SECRET-KEYX-----"],"required_present":[]},"all":{"required_absent":["-----BEGIN SECRET-KEYX-----\neMU8vWXXGzFlnFEzXcF+tTj8Fk0lvw3cllxLAI9weh/yIvejLp/kx11uK1TigFQ6\nl85hV1e8FFDT1c4hjHaY8HfI6TiCGUiRDqelL7Pfao+p/v+C34ch2a+g/kDZmrJJ\nfgHiL/F3oirW2UzBLV8FF/qE2Hnxb2eSaB4Kxo6XGSfIhu6KWmfU8UPmliR+E+ax\nv3KGHl2Wbk8BID/OgnUW7Ji3dNnAsqMX9/F2/DL5XUmOJ89jmlM0mVLKpBzZgv22\n-----END SECRET-KEYX-----"],"required_present":[]}},"tags":["broad-quality","secret-family:private-key","variation:03"],"secret_fixture":{"family":"private-key","role":"must-detect"}}, + {"id":"broad-secret-private-key-preserve-03","language":"en","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad private-key variation.","text":"Trace[3]: Schema field label: -----BEGIN PUBLIC KEY-----\nmx+lzV989i92XgkNmMa3d+BFhGUHsHVIGv7rF1rDZ29QCKBJMLpQDdVc16TlHfq3\nnR7sqBdLjP0g0CgkHjk15g4qbli64blYzcu1eZOy4eOOF60JhvHJ/wm/o+Bf0AHJ\n-----END PUBLIC KEY-----","known_identities":[],"targets":[{"id":"value","kind":"secret","start":30,"end":211,"value":"-----BEGIN PUBLIC KEY-----\nmx+lzV989i92XgkNmMa3d+BFhGUHsHVIGv7rF1rDZ29QCKBJMLpQDdVc16TlHfq3\nnR7sqBdLjP0g0CgkHjk15g4qbli64blYzcu1eZOy4eOOF60JhvHJ/wm/o+Bf0AHJ\n-----END PUBLIC KEY-----","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-private-key-preserve-03","recipe":"private-key","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["-----BEGIN PUBLIC KEY-----\nmx+lzV989i92XgkNmMa3d+BFhGUHsHVIGv7rF1rDZ29QCKBJMLpQDdVc16TlHfq3\nnR7sqBdLjP0g0CgkHjk15g4qbli64blYzcu1eZOy4eOOF60JhvHJ/wm/o+Bf0AHJ\n-----END PUBLIC KEY-----"]},"customers":{"required_absent":[],"required_present":["-----BEGIN PUBLIC KEY-----\nmx+lzV989i92XgkNmMa3d+BFhGUHsHVIGv7rF1rDZ29QCKBJMLpQDdVc16TlHfq3\nnR7sqBdLjP0g0CgkHjk15g4qbli64blYzcu1eZOy4eOOF60JhvHJ/wm/o+Bf0AHJ\n-----END PUBLIC KEY-----"]},"all":{"required_absent":[],"required_present":["-----BEGIN PUBLIC KEY-----\nmx+lzV989i92XgkNmMa3d+BFhGUHsHVIGv7rF1rDZ29QCKBJMLpQDdVc16TlHfq3\nnR7sqBdLjP0g0CgkHjk15g4qbli64blYzcu1eZOy4eOOF60JhvHJ/wm/o+Bf0AHJ\n-----END PUBLIC KEY-----"]}},"tags":["broad-quality","secret-family:private-key","variation:03"],"secret_fixture":{"family":"private-key","role":"preserve"}}, + {"id":"broad-secret-private-key-must-detect-04","language":"en","script":"Latin","shape":"code","risk":"critical","reason":"Locked broad private-key variation.","text":"fixture_4 := `Quoted credential follows: -----BEGIN SECRET-KEYX-----\nziaONyn8hHic0llBayXXn/7Mlon8QWaQvOBPH+6pQyeqoJzaWNr6iB6/IHb5DrCh\n/rQYj1wRcyFJnwZ4mfLfemTc8+iRp55033X0rN5WQcbr5FUGJRbouJUf7iLZEw0b\nzVYKtADyuA1VU6j9Mys0SQdkYBx4HcstVsDW+jBLEBCgY+S0CjPTjrtK74bRtfYw\ni7CdzkXR9qQQhaadiNgsr2WQd52DIzumv4kY3GICLzf1MMTbVuq/ZCvBAVJDUt5t\n-----END SECRET-KEYX-----`","known_identities":[],"targets":[{"id":"value","kind":"secret","start":41,"end":354,"value":"-----BEGIN SECRET-KEYX-----\nziaONyn8hHic0llBayXXn/7Mlon8QWaQvOBPH+6pQyeqoJzaWNr6iB6/IHb5DrCh\n/rQYj1wRcyFJnwZ4mfLfemTc8+iRp55033X0rN5WQcbr5FUGJRbouJUf7iLZEw0b\nzVYKtADyuA1VU6j9Mys0SQdkYBx4HcstVsDW+jBLEBCgY+S0CjPTjrtK74bRtfYw\ni7CdzkXR9qQQhaadiNgsr2WQd52DIzumv4kY3GICLzf1MMTbVuq/ZCvBAVJDUt5t\n-----END SECRET-KEYX-----","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-private-key-must-detect-04","recipe":"private-key","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["-----BEGIN SECRET-KEYX-----\nziaONyn8hHic0llBayXXn/7Mlon8QWaQvOBPH+6pQyeqoJzaWNr6iB6/IHb5DrCh\n/rQYj1wRcyFJnwZ4mfLfemTc8+iRp55033X0rN5WQcbr5FUGJRbouJUf7iLZEw0b\nzVYKtADyuA1VU6j9Mys0SQdkYBx4HcstVsDW+jBLEBCgY+S0CjPTjrtK74bRtfYw\ni7CdzkXR9qQQhaadiNgsr2WQd52DIzumv4kY3GICLzf1MMTbVuq/ZCvBAVJDUt5t\n-----END SECRET-KEYX-----"]},"customers":{"required_absent":["-----BEGIN SECRET-KEYX-----\nziaONyn8hHic0llBayXXn/7Mlon8QWaQvOBPH+6pQyeqoJzaWNr6iB6/IHb5DrCh\n/rQYj1wRcyFJnwZ4mfLfemTc8+iRp55033X0rN5WQcbr5FUGJRbouJUf7iLZEw0b\nzVYKtADyuA1VU6j9Mys0SQdkYBx4HcstVsDW+jBLEBCgY+S0CjPTjrtK74bRtfYw\ni7CdzkXR9qQQhaadiNgsr2WQd52DIzumv4kY3GICLzf1MMTbVuq/ZCvBAVJDUt5t\n-----END SECRET-KEYX-----"],"required_present":[]},"all":{"required_absent":["-----BEGIN SECRET-KEYX-----\nziaONyn8hHic0llBayXXn/7Mlon8QWaQvOBPH+6pQyeqoJzaWNr6iB6/IHb5DrCh\n/rQYj1wRcyFJnwZ4mfLfemTc8+iRp55033X0rN5WQcbr5FUGJRbouJUf7iLZEw0b\nzVYKtADyuA1VU6j9Mys0SQdkYBx4HcstVsDW+jBLEBCgY+S0CjPTjrtK74bRtfYw\ni7CdzkXR9qQQhaadiNgsr2WQd52DIzumv4kY3GICLzf1MMTbVuq/ZCvBAVJDUt5t\n-----END SECRET-KEYX-----"],"required_present":[]}},"tags":["broad-quality","secret-family:private-key","variation:04"],"secret_fixture":{"family":"private-key","role":"must-detect"}}, + {"id":"broad-secret-private-key-preserve-04","language":"en","script":"Latin","shape":"code","risk":"preservation","reason":"Locked broad private-key variation.","text":"fixture_4 := `Non-confidential protocol token: -----BEGIN PUBLIC KEY-----\nvNSNcEUQnySaDsLt07jhyFfPefgvKDWdore4LDJO2zYoQFZ7IGiVlxUIYLlvSyJb\n6EmI2mDrwHV+obedTh4rmexKi1ajHgx7+fYQSepEzOJYG8U4lFVoiAjqsFIK4XFF\n-----END PUBLIC KEY-----`","known_identities":[],"targets":[{"id":"value","kind":"secret","start":47,"end":228,"value":"-----BEGIN PUBLIC KEY-----\nvNSNcEUQnySaDsLt07jhyFfPefgvKDWdore4LDJO2zYoQFZ7IGiVlxUIYLlvSyJb\n6EmI2mDrwHV+obedTh4rmexKi1ajHgx7+fYQSepEzOJYG8U4lFVoiAjqsFIK4XFF\n-----END PUBLIC KEY-----","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-private-key-preserve-04","recipe":"private-key","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["-----BEGIN PUBLIC KEY-----\nvNSNcEUQnySaDsLt07jhyFfPefgvKDWdore4LDJO2zYoQFZ7IGiVlxUIYLlvSyJb\n6EmI2mDrwHV+obedTh4rmexKi1ajHgx7+fYQSepEzOJYG8U4lFVoiAjqsFIK4XFF\n-----END PUBLIC KEY-----"]},"customers":{"required_absent":[],"required_present":["-----BEGIN PUBLIC KEY-----\nvNSNcEUQnySaDsLt07jhyFfPefgvKDWdore4LDJO2zYoQFZ7IGiVlxUIYLlvSyJb\n6EmI2mDrwHV+obedTh4rmexKi1ajHgx7+fYQSepEzOJYG8U4lFVoiAjqsFIK4XFF\n-----END PUBLIC KEY-----"]},"all":{"required_absent":[],"required_present":["-----BEGIN PUBLIC KEY-----\nvNSNcEUQnySaDsLt07jhyFfPefgvKDWdore4LDJO2zYoQFZ7IGiVlxUIYLlvSyJb\n6EmI2mDrwHV+obedTh4rmexKi1ajHgx7+fYQSepEzOJYG8U4lFVoiAjqsFIK4XFF\n-----END PUBLIC KEY-----"]}},"tags":["broad-quality","secret-family:private-key","variation:04"],"secret_fixture":{"family":"private-key","role":"preserve"}}, + {"id":"broad-secret-private-key-must-detect-05","language":"en","script":"Latin","shape":"signature","risk":"critical","reason":"Locked broad private-key variation.","text":"--\nConfiguration secret: -----BEGIN SECRET-KEYX-----\nbxmSBvucopZRXHIrU8ii5xPaK7iayzZgS9ZEKqHmh0pQFK3c/pZoeGonHJ/qPq0d\nSwCL5o0mcOyuvFR9UljQ791vNf4V73PNM0LKNC0aEhod8HDhoezGnGJwuLaxlLWW\nQ/O1mxetJdlpl8jT0TVM7JD26Vbr4EuQJSJvrsqPtetLG3eE5YG8naa8Rwx2KC2b\n5a27z5ccq4rmOReiM9OYJoUspKmKXS12PmFNED45UYNwVdzu4F1wXminXZ9wtOpm\n-----END SECRET-KEYX-----","known_identities":[],"targets":[{"id":"value","kind":"secret","start":25,"end":338,"value":"-----BEGIN SECRET-KEYX-----\nbxmSBvucopZRXHIrU8ii5xPaK7iayzZgS9ZEKqHmh0pQFK3c/pZoeGonHJ/qPq0d\nSwCL5o0mcOyuvFR9UljQ791vNf4V73PNM0LKNC0aEhod8HDhoezGnGJwuLaxlLWW\nQ/O1mxetJdlpl8jT0TVM7JD26Vbr4EuQJSJvrsqPtetLG3eE5YG8naa8Rwx2KC2b\n5a27z5ccq4rmOReiM9OYJoUspKmKXS12PmFNED45UYNwVdzu4F1wXminXZ9wtOpm\n-----END SECRET-KEYX-----","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-private-key-must-detect-05","recipe":"private-key","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["-----BEGIN SECRET-KEYX-----\nbxmSBvucopZRXHIrU8ii5xPaK7iayzZgS9ZEKqHmh0pQFK3c/pZoeGonHJ/qPq0d\nSwCL5o0mcOyuvFR9UljQ791vNf4V73PNM0LKNC0aEhod8HDhoezGnGJwuLaxlLWW\nQ/O1mxetJdlpl8jT0TVM7JD26Vbr4EuQJSJvrsqPtetLG3eE5YG8naa8Rwx2KC2b\n5a27z5ccq4rmOReiM9OYJoUspKmKXS12PmFNED45UYNwVdzu4F1wXminXZ9wtOpm\n-----END SECRET-KEYX-----"]},"customers":{"required_absent":["-----BEGIN SECRET-KEYX-----\nbxmSBvucopZRXHIrU8ii5xPaK7iayzZgS9ZEKqHmh0pQFK3c/pZoeGonHJ/qPq0d\nSwCL5o0mcOyuvFR9UljQ791vNf4V73PNM0LKNC0aEhod8HDhoezGnGJwuLaxlLWW\nQ/O1mxetJdlpl8jT0TVM7JD26Vbr4EuQJSJvrsqPtetLG3eE5YG8naa8Rwx2KC2b\n5a27z5ccq4rmOReiM9OYJoUspKmKXS12PmFNED45UYNwVdzu4F1wXminXZ9wtOpm\n-----END SECRET-KEYX-----"],"required_present":[]},"all":{"required_absent":["-----BEGIN SECRET-KEYX-----\nbxmSBvucopZRXHIrU8ii5xPaK7iayzZgS9ZEKqHmh0pQFK3c/pZoeGonHJ/qPq0d\nSwCL5o0mcOyuvFR9UljQ791vNf4V73PNM0LKNC0aEhod8HDhoezGnGJwuLaxlLWW\nQ/O1mxetJdlpl8jT0TVM7JD26Vbr4EuQJSJvrsqPtetLG3eE5YG8naa8Rwx2KC2b\n5a27z5ccq4rmOReiM9OYJoUspKmKXS12PmFNED45UYNwVdzu4F1wXminXZ9wtOpm\n-----END SECRET-KEYX-----"],"required_present":[]}},"tags":["broad-quality","secret-family:private-key","variation:05"],"secret_fixture":{"family":"private-key","role":"must-detect"}}, + {"id":"broad-secret-private-key-preserve-05","language":"en","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad private-key variation.","text":"--\nRelease metadata: -----BEGIN PUBLIC KEY-----\np37VjggO0YI1od+7lVjHZMbz09wKVW1Fp/ds3aZdjAcX3o0FVM4MU+kMAvtrtMGp\n34gtFfPoP+zHCeQqj8ExSAEmJKrt61iEEYMHWSXsBZk/vhaqPofZjFC4MXrUbsqN\n-----END PUBLIC KEY-----","known_identities":[],"targets":[{"id":"value","kind":"secret","start":21,"end":202,"value":"-----BEGIN PUBLIC KEY-----\np37VjggO0YI1od+7lVjHZMbz09wKVW1Fp/ds3aZdjAcX3o0FVM4MU+kMAvtrtMGp\n34gtFfPoP+zHCeQqj8ExSAEmJKrt61iEEYMHWSXsBZk/vhaqPofZjFC4MXrUbsqN\n-----END PUBLIC KEY-----","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-private-key-preserve-05","recipe":"private-key","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["-----BEGIN PUBLIC KEY-----\np37VjggO0YI1od+7lVjHZMbz09wKVW1Fp/ds3aZdjAcX3o0FVM4MU+kMAvtrtMGp\n34gtFfPoP+zHCeQqj8ExSAEmJKrt61iEEYMHWSXsBZk/vhaqPofZjFC4MXrUbsqN\n-----END PUBLIC KEY-----"]},"customers":{"required_absent":[],"required_present":["-----BEGIN PUBLIC KEY-----\np37VjggO0YI1od+7lVjHZMbz09wKVW1Fp/ds3aZdjAcX3o0FVM4MU+kMAvtrtMGp\n34gtFfPoP+zHCeQqj8ExSAEmJKrt61iEEYMHWSXsBZk/vhaqPofZjFC4MXrUbsqN\n-----END PUBLIC KEY-----"]},"all":{"required_absent":[],"required_present":["-----BEGIN PUBLIC KEY-----\np37VjggO0YI1od+7lVjHZMbz09wKVW1Fp/ds3aZdjAcX3o0FVM4MU+kMAvtrtMGp\n34gtFfPoP+zHCeQqj8ExSAEmJKrt61iEEYMHWSXsBZk/vhaqPofZjFC4MXrUbsqN\n-----END PUBLIC KEY-----"]}},"tags":["broad-quality","secret-family:private-key","variation:05"],"secret_fixture":{"family":"private-key","role":"preserve"}}, + {"id":"broad-secret-private-key-must-detect-06","language":"en","script":"Latin","shape":"long-thread","risk":"critical","reason":"Locked broad private-key variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Stack trace captured credential -----BEGIN SECRET-KEYX-----\nh18uKszWBGBEVb/btGo+mw/Fb1vkqWt7Ts0CTdi9hfT2ArfY5E7cXmaCQq/3Meve\nZg3d3VodyCyMPQPw88b2Fcq+NFlPd340wZbpwUbXbq8pP85NYOuhYzxg1Zrd4wE5\nuppIw5N4RlyqehfhCJIpwZB6TSqmTYKRhRUZLTDTTEtqibxUZJJ9e2mUY1u0psXx\nsyYHynkHnRf6hz2bJbzpCdmUve03qlETevPDbrBxWb9qKcfs8IXSPKpWoF/mDw6b\n-----END SECRET-KEYX-----","known_identities":[],"targets":[{"id":"value","kind":"secret","start":512,"end":825,"value":"-----BEGIN SECRET-KEYX-----\nh18uKszWBGBEVb/btGo+mw/Fb1vkqWt7Ts0CTdi9hfT2ArfY5E7cXmaCQq/3Meve\nZg3d3VodyCyMPQPw88b2Fcq+NFlPd340wZbpwUbXbq8pP85NYOuhYzxg1Zrd4wE5\nuppIw5N4RlyqehfhCJIpwZB6TSqmTYKRhRUZLTDTTEtqibxUZJJ9e2mUY1u0psXx\nsyYHynkHnRf6hz2bJbzpCdmUve03qlETevPDbrBxWb9qKcfs8IXSPKpWoF/mDw6b\n-----END SECRET-KEYX-----","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-private-key-must-detect-06","recipe":"private-key","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["-----BEGIN SECRET-KEYX-----\nh18uKszWBGBEVb/btGo+mw/Fb1vkqWt7Ts0CTdi9hfT2ArfY5E7cXmaCQq/3Meve\nZg3d3VodyCyMPQPw88b2Fcq+NFlPd340wZbpwUbXbq8pP85NYOuhYzxg1Zrd4wE5\nuppIw5N4RlyqehfhCJIpwZB6TSqmTYKRhRUZLTDTTEtqibxUZJJ9e2mUY1u0psXx\nsyYHynkHnRf6hz2bJbzpCdmUve03qlETevPDbrBxWb9qKcfs8IXSPKpWoF/mDw6b\n-----END SECRET-KEYX-----"]},"customers":{"required_absent":["-----BEGIN SECRET-KEYX-----\nh18uKszWBGBEVb/btGo+mw/Fb1vkqWt7Ts0CTdi9hfT2ArfY5E7cXmaCQq/3Meve\nZg3d3VodyCyMPQPw88b2Fcq+NFlPd340wZbpwUbXbq8pP85NYOuhYzxg1Zrd4wE5\nuppIw5N4RlyqehfhCJIpwZB6TSqmTYKRhRUZLTDTTEtqibxUZJJ9e2mUY1u0psXx\nsyYHynkHnRf6hz2bJbzpCdmUve03qlETevPDbrBxWb9qKcfs8IXSPKpWoF/mDw6b\n-----END SECRET-KEYX-----"],"required_present":[]},"all":{"required_absent":["-----BEGIN SECRET-KEYX-----\nh18uKszWBGBEVb/btGo+mw/Fb1vkqWt7Ts0CTdi9hfT2ArfY5E7cXmaCQq/3Meve\nZg3d3VodyCyMPQPw88b2Fcq+NFlPd340wZbpwUbXbq8pP85NYOuhYzxg1Zrd4wE5\nuppIw5N4RlyqehfhCJIpwZB6TSqmTYKRhRUZLTDTTEtqibxUZJJ9e2mUY1u0psXx\nsyYHynkHnRf6hz2bJbzpCdmUve03qlETevPDbrBxWb9qKcfs8IXSPKpWoF/mDw6b\n-----END SECRET-KEYX-----"],"required_present":[]}},"tags":["broad-quality","secret-family:private-key","variation:06"],"secret_fixture":{"family":"private-key","role":"must-detect"}}, + {"id":"broad-secret-private-key-preserve-06","language":"en","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad private-key variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Public verification material: -----BEGIN PUBLIC KEY-----\nRNSib8zZ6ciVeSSift2EK1mET03bShHxq3WZSiXq8Po9i9WOtMZI7T7SqwX+QlLe\nmGhU62DrwtjHdZdAruiaputQBtBikIEb/f0ADrGt8M84NCn1r50XJ+QbEZibSMps\n-----END PUBLIC KEY-----","known_identities":[],"targets":[{"id":"value","kind":"secret","start":510,"end":691,"value":"-----BEGIN PUBLIC KEY-----\nRNSib8zZ6ciVeSSift2EK1mET03bShHxq3WZSiXq8Po9i9WOtMZI7T7SqwX+QlLe\nmGhU62DrwtjHdZdAruiaputQBtBikIEb/f0ADrGt8M84NCn1r50XJ+QbEZibSMps\n-----END PUBLIC KEY-----","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-private-key-preserve-06","recipe":"private-key","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["-----BEGIN PUBLIC KEY-----\nRNSib8zZ6ciVeSSift2EK1mET03bShHxq3WZSiXq8Po9i9WOtMZI7T7SqwX+QlLe\nmGhU62DrwtjHdZdAruiaputQBtBikIEb/f0ADrGt8M84NCn1r50XJ+QbEZibSMps\n-----END PUBLIC KEY-----"]},"customers":{"required_absent":[],"required_present":["-----BEGIN PUBLIC KEY-----\nRNSib8zZ6ciVeSSift2EK1mET03bShHxq3WZSiXq8Po9i9WOtMZI7T7SqwX+QlLe\nmGhU62DrwtjHdZdAruiaputQBtBikIEb/f0ADrGt8M84NCn1r50XJ+QbEZibSMps\n-----END PUBLIC KEY-----"]},"all":{"required_absent":[],"required_present":["-----BEGIN PUBLIC KEY-----\nRNSib8zZ6ciVeSSift2EK1mET03bShHxq3WZSiXq8Po9i9WOtMZI7T7SqwX+QlLe\nmGhU62DrwtjHdZdAruiaputQBtBikIEb/f0ADrGt8M84NCn1r50XJ+QbEZibSMps\n-----END PUBLIC KEY-----"]}},"tags":["broad-quality","secret-family:private-key","variation:06"],"secret_fixture":{"family":"private-key","role":"preserve"}}, + {"id":"broad-secret-private-key-must-detect-07","language":"en","script":"Latin","shape":"command-payload","risk":"critical","reason":"Locked broad private-key variation.","text":"--sample=7 --message=\"Wrapped message credential: \" --value=-----BEGIN SECRET-KEYX-----\nTOGI9ty07Eeheqx+QoAe1MQhwEOnZabClLVUyidAtwl5LsVMEkpTGJHUJUMFB45o\n8DMlzthsroPUgGw5AodfwFqbyh1ExSKPHulnWzFbgVAxai27WOF2LqY0fzq9T9Tz\n/ruQrLyOEoB6wG2B3nWBh4XeLQ6NA1GIgRStD0VOc4CJd3yJw8OhwTPrA5eyXQVw\n/ljJ/XKampUGr/AG5p0Px3Sh3wHVhpfPvuSak2yvpSiuMZP57co3IS9iFKLTCOYa\n-----END SECRET-KEYX-----","known_identities":[],"targets":[{"id":"value","kind":"secret","start":60,"end":373,"value":"-----BEGIN SECRET-KEYX-----\nTOGI9ty07Eeheqx+QoAe1MQhwEOnZabClLVUyidAtwl5LsVMEkpTGJHUJUMFB45o\n8DMlzthsroPUgGw5AodfwFqbyh1ExSKPHulnWzFbgVAxai27WOF2LqY0fzq9T9Tz\n/ruQrLyOEoB6wG2B3nWBh4XeLQ6NA1GIgRStD0VOc4CJd3yJw8OhwTPrA5eyXQVw\n/ljJ/XKampUGr/AG5p0Px3Sh3wHVhpfPvuSak2yvpSiuMZP57co3IS9iFKLTCOYa\n-----END SECRET-KEYX-----","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-private-key-must-detect-07","recipe":"private-key","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["-----BEGIN SECRET-KEYX-----\nTOGI9ty07Eeheqx+QoAe1MQhwEOnZabClLVUyidAtwl5LsVMEkpTGJHUJUMFB45o\n8DMlzthsroPUgGw5AodfwFqbyh1ExSKPHulnWzFbgVAxai27WOF2LqY0fzq9T9Tz\n/ruQrLyOEoB6wG2B3nWBh4XeLQ6NA1GIgRStD0VOc4CJd3yJw8OhwTPrA5eyXQVw\n/ljJ/XKampUGr/AG5p0Px3Sh3wHVhpfPvuSak2yvpSiuMZP57co3IS9iFKLTCOYa\n-----END SECRET-KEYX-----"]},"customers":{"required_absent":["-----BEGIN SECRET-KEYX-----\nTOGI9ty07Eeheqx+QoAe1MQhwEOnZabClLVUyidAtwl5LsVMEkpTGJHUJUMFB45o\n8DMlzthsroPUgGw5AodfwFqbyh1ExSKPHulnWzFbgVAxai27WOF2LqY0fzq9T9Tz\n/ruQrLyOEoB6wG2B3nWBh4XeLQ6NA1GIgRStD0VOc4CJd3yJw8OhwTPrA5eyXQVw\n/ljJ/XKampUGr/AG5p0Px3Sh3wHVhpfPvuSak2yvpSiuMZP57co3IS9iFKLTCOYa\n-----END SECRET-KEYX-----"],"required_present":[]},"all":{"required_absent":["-----BEGIN SECRET-KEYX-----\nTOGI9ty07Eeheqx+QoAe1MQhwEOnZabClLVUyidAtwl5LsVMEkpTGJHUJUMFB45o\n8DMlzthsroPUgGw5AodfwFqbyh1ExSKPHulnWzFbgVAxai27WOF2LqY0fzq9T9Tz\n/ruQrLyOEoB6wG2B3nWBh4XeLQ6NA1GIgRStD0VOc4CJd3yJw8OhwTPrA5eyXQVw\n/ljJ/XKampUGr/AG5p0Px3Sh3wHVhpfPvuSak2yvpSiuMZP57co3IS9iFKLTCOYa\n-----END SECRET-KEYX-----"],"required_present":[]}},"tags":["broad-quality","secret-family:private-key","variation:07"],"secret_fixture":{"family":"private-key","role":"must-detect"}}, + {"id":"broad-secret-private-key-preserve-07","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad private-key variation.","text":"--sample=7 --message=\"Troubleshooting reference: \" --value=-----BEGIN PUBLIC KEY-----\nT/yxdW3oHjtT2FhWMVoqExFfJLFuRIDOc1ZRxbJMM3MvQRPwaRIt5vyP62i1BO8q\nYA+naURx/+cjldS4Omx6sz7dTY9njEvyc2Xnsr68o32H0RGnCDBe2TpEdXM5CePl\n-----END PUBLIC KEY-----","known_identities":[],"targets":[{"id":"value","kind":"secret","start":59,"end":240,"value":"-----BEGIN PUBLIC KEY-----\nT/yxdW3oHjtT2FhWMVoqExFfJLFuRIDOc1ZRxbJMM3MvQRPwaRIt5vyP62i1BO8q\nYA+naURx/+cjldS4Omx6sz7dTY9njEvyc2Xnsr68o32H0RGnCDBe2TpEdXM5CePl\n-----END PUBLIC KEY-----","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-private-key-preserve-07","recipe":"private-key","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["-----BEGIN PUBLIC KEY-----\nT/yxdW3oHjtT2FhWMVoqExFfJLFuRIDOc1ZRxbJMM3MvQRPwaRIt5vyP62i1BO8q\nYA+naURx/+cjldS4Omx6sz7dTY9njEvyc2Xnsr68o32H0RGnCDBe2TpEdXM5CePl\n-----END PUBLIC KEY-----"]},"customers":{"required_absent":[],"required_present":["-----BEGIN PUBLIC KEY-----\nT/yxdW3oHjtT2FhWMVoqExFfJLFuRIDOc1ZRxbJMM3MvQRPwaRIt5vyP62i1BO8q\nYA+naURx/+cjldS4Omx6sz7dTY9njEvyc2Xnsr68o32H0RGnCDBe2TpEdXM5CePl\n-----END PUBLIC KEY-----"]},"all":{"required_absent":[],"required_present":["-----BEGIN PUBLIC KEY-----\nT/yxdW3oHjtT2FhWMVoqExFfJLFuRIDOc1ZRxbJMM3MvQRPwaRIt5vyP62i1BO8q\nYA+naURx/+cjldS4Omx6sz7dTY9njEvyc2Xnsr68o32H0RGnCDBe2TpEdXM5CePl\n-----END PUBLIC KEY-----"]}},"tags":["broad-quality","secret-family:private-key","variation:07"],"secret_fixture":{"family":"private-key","role":"preserve"}}, + {"id":"broad-secret-database-connection-must-detect-00","language":"en","script":"Latin","shape":"prose","risk":"critical","reason":"Locked broad database-connection variation.","text":"Credential copied from a support reply: postgresql://svc_x9awj8se:P9!uC6ryXhf0drQiY3InH@192.0.2.42:5432/support","known_identities":[],"targets":[{"id":"value","kind":"secret","start":40,"end":111,"value":"postgresql://svc_x9awj8se:P9!uC6ryXhf0drQiY3InH@192.0.2.42:5432/support","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-database-connection-must-detect-00","recipe":"database-connection","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["postgresql://svc_x9awj8se:P9!uC6ryXhf0drQiY3InH@192.0.2.42:5432/support"]},"customers":{"required_absent":["postgresql://svc_x9awj8se:P9!uC6ryXhf0drQiY3InH@192.0.2.42:5432/support"],"required_present":[]},"all":{"required_absent":["postgresql://svc_x9awj8se:P9!uC6ryXhf0drQiY3InH@192.0.2.42:5432/support"],"required_present":[]}},"tags":["broad-quality","secret-family:database-connection","variation:00"],"secret_fixture":{"family":"database-connection","role":"must-detect"}}, + {"id":"broad-secret-database-connection-preserve-00","language":"en","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad database-connection variation.","text":"Public configuration vocabulary: postgresql://192.0.2.42:5432/support","known_identities":[],"targets":[{"id":"value","kind":"secret","start":33,"end":69,"value":"postgresql://192.0.2.42:5432/support","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-database-connection-preserve-00","recipe":"database-connection","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["postgresql://192.0.2.42:5432/support"]},"customers":{"required_absent":[],"required_present":["postgresql://192.0.2.42:5432/support"]},"all":{"required_absent":[],"required_present":["postgresql://192.0.2.42:5432/support"]}},"tags":["broad-quality","secret-family:database-connection","variation:00"],"secret_fixture":{"family":"database-connection","role":"preserve"}}, + {"id":"broad-secret-database-connection-must-detect-01","language":"en","script":"Latin","shape":"json","risk":"critical","reason":"Locked broad database-connection variation.","text":"{\"message_1\":\"Authorization header value: postgresql://svc_o4a61ivd:P9!1lVxFedAHE4GzMNwHE@192.0.2.42:5432/support\"}","known_identities":[],"targets":[{"id":"value","kind":"secret","start":42,"end":113,"value":"postgresql://svc_o4a61ivd:P9!1lVxFedAHE4GzMNwHE@192.0.2.42:5432/support","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-database-connection-must-detect-01","recipe":"database-connection","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["postgresql://svc_o4a61ivd:P9!1lVxFedAHE4GzMNwHE@192.0.2.42:5432/support"]},"customers":{"required_absent":["postgresql://svc_o4a61ivd:P9!1lVxFedAHE4GzMNwHE@192.0.2.42:5432/support"],"required_present":[]},"all":{"required_absent":["postgresql://svc_o4a61ivd:P9!1lVxFedAHE4GzMNwHE@192.0.2.42:5432/support"],"required_present":[]}},"tags":["broad-quality","secret-family:database-connection","variation:01"],"secret_fixture":{"family":"database-connection","role":"must-detect"}}, + {"id":"broad-secret-database-connection-preserve-01","language":"en","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad database-connection variation.","text":"{\"message_1\":\"Documentation syntax: postgresql://192.0.2.42:5432/support\"}","known_identities":[],"targets":[{"id":"value","kind":"secret","start":36,"end":72,"value":"postgresql://192.0.2.42:5432/support","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-database-connection-preserve-01","recipe":"database-connection","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["postgresql://192.0.2.42:5432/support"]},"customers":{"required_absent":[],"required_present":["postgresql://192.0.2.42:5432/support"]},"all":{"required_absent":[],"required_present":["postgresql://192.0.2.42:5432/support"]}},"tags":["broad-quality","secret-family:database-connection","variation:01"],"secret_fixture":{"family":"database-connection","role":"preserve"}}, + {"id":"broad-secret-database-connection-must-detect-02","language":"en","script":"Latin","shape":"yaml","risk":"critical","reason":"Locked broad database-connection variation.","text":"message_2: Log field auth_value=postgresql://svc_uzcie7p5:P9!Nof0sJO7ZevbIRpFfg@192.0.2.42:5432/support","known_identities":[],"targets":[{"id":"value","kind":"secret","start":32,"end":103,"value":"postgresql://svc_uzcie7p5:P9!Nof0sJO7ZevbIRpFfg@192.0.2.42:5432/support","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-database-connection-must-detect-02","recipe":"database-connection","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["postgresql://svc_uzcie7p5:P9!Nof0sJO7ZevbIRpFfg@192.0.2.42:5432/support"]},"customers":{"required_absent":["postgresql://svc_uzcie7p5:P9!Nof0sJO7ZevbIRpFfg@192.0.2.42:5432/support"],"required_present":[]},"all":{"required_absent":["postgresql://svc_uzcie7p5:P9!Nof0sJO7ZevbIRpFfg@192.0.2.42:5432/support"],"required_present":[]}},"tags":["broad-quality","secret-family:database-connection","variation:02"],"secret_fixture":{"family":"database-connection","role":"must-detect"}}, + {"id":"broad-secret-database-connection-preserve-02","language":"en","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad database-connection variation.","text":"message_2: Public operational identifier: postgresql://192.0.2.42:5432/support","known_identities":[],"targets":[{"id":"value","kind":"secret","start":42,"end":78,"value":"postgresql://192.0.2.42:5432/support","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-database-connection-preserve-02","recipe":"database-connection","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["postgresql://192.0.2.42:5432/support"]},"customers":{"required_absent":[],"required_present":["postgresql://192.0.2.42:5432/support"]},"all":{"required_absent":[],"required_present":["postgresql://192.0.2.42:5432/support"]}},"tags":["broad-quality","secret-family:database-connection","variation:02"],"secret_fixture":{"family":"database-connection","role":"preserve"}}, + {"id":"broad-secret-database-connection-must-detect-03","language":"en","script":"Latin","shape":"shell","risk":"critical","reason":"Locked broad database-connection variation.","text":"MESSAGE_3='Rotating this exposed value: postgresql://svc_hpmz22jx:P9!xvTRuGZV98f7aAHpAx@192.0.2.42:5432/support'","known_identities":[],"targets":[{"id":"value","kind":"secret","start":40,"end":111,"value":"postgresql://svc_hpmz22jx:P9!xvTRuGZV98f7aAHpAx@192.0.2.42:5432/support","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-database-connection-must-detect-03","recipe":"database-connection","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["postgresql://svc_hpmz22jx:P9!xvTRuGZV98f7aAHpAx@192.0.2.42:5432/support"]},"customers":{"required_absent":["postgresql://svc_hpmz22jx:P9!xvTRuGZV98f7aAHpAx@192.0.2.42:5432/support"],"required_present":[]},"all":{"required_absent":["postgresql://svc_hpmz22jx:P9!xvTRuGZV98f7aAHpAx@192.0.2.42:5432/support"],"required_present":[]}},"tags":["broad-quality","secret-family:database-connection","variation:03"],"secret_fixture":{"family":"database-connection","role":"must-detect"}}, + {"id":"broad-secret-database-connection-preserve-03","language":"en","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad database-connection variation.","text":"MESSAGE_3='Schema field label: postgresql://192.0.2.42:5432/support'","known_identities":[],"targets":[{"id":"value","kind":"secret","start":31,"end":67,"value":"postgresql://192.0.2.42:5432/support","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-database-connection-preserve-03","recipe":"database-connection","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["postgresql://192.0.2.42:5432/support"]},"customers":{"required_absent":[],"required_present":["postgresql://192.0.2.42:5432/support"]},"all":{"required_absent":[],"required_present":["postgresql://192.0.2.42:5432/support"]}},"tags":["broad-quality","secret-family:database-connection","variation:03"],"secret_fixture":{"family":"database-connection","role":"preserve"}}, + {"id":"broad-secret-database-connection-must-detect-04","language":"en","script":"Latin","shape":"url","risk":"critical","reason":"Locked broad database-connection variation.","text":"endpoint=https://192.0.2.10/4 ; Quoted credential follows: postgresql://svc_e5ik63ll:P9!njSBA1fFBcIc5442GM@192.0.2.42:5432/support","known_identities":[],"targets":[{"id":"value","kind":"secret","start":59,"end":130,"value":"postgresql://svc_e5ik63ll:P9!njSBA1fFBcIc5442GM@192.0.2.42:5432/support","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-database-connection-must-detect-04","recipe":"database-connection","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["postgresql://svc_e5ik63ll:P9!njSBA1fFBcIc5442GM@192.0.2.42:5432/support"]},"customers":{"required_absent":["postgresql://svc_e5ik63ll:P9!njSBA1fFBcIc5442GM@192.0.2.42:5432/support"],"required_present":[]},"all":{"required_absent":["postgresql://svc_e5ik63ll:P9!njSBA1fFBcIc5442GM@192.0.2.42:5432/support"],"required_present":[]}},"tags":["broad-quality","secret-family:database-connection","variation:04"],"secret_fixture":{"family":"database-connection","role":"must-detect"}}, + {"id":"broad-secret-database-connection-preserve-04","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad database-connection variation.","text":"endpoint=https://192.0.2.10/4 ; Non-confidential protocol token: postgresql://192.0.2.42:5432/support","known_identities":[],"targets":[{"id":"value","kind":"secret","start":65,"end":101,"value":"postgresql://192.0.2.42:5432/support","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-database-connection-preserve-04","recipe":"database-connection","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["postgresql://192.0.2.42:5432/support"]},"customers":{"required_absent":[],"required_present":["postgresql://192.0.2.42:5432/support"]},"all":{"required_absent":[],"required_present":["postgresql://192.0.2.42:5432/support"]}},"tags":["broad-quality","secret-family:database-connection","variation:04"],"secret_fixture":{"family":"database-connection","role":"preserve"}}, + {"id":"broad-secret-database-connection-must-detect-05","language":"en","script":"Latin","shape":"markdown","risk":"critical","reason":"Locked broad database-connection variation.","text":"**Configuration secret: postgresql://svc_13jh9yb6:P9!CQC2dIMnVYsfCTlzno@192.0.2.42:5432/support**","known_identities":[],"targets":[{"id":"value","kind":"secret","start":24,"end":95,"value":"postgresql://svc_13jh9yb6:P9!CQC2dIMnVYsfCTlzno@192.0.2.42:5432/support","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-database-connection-must-detect-05","recipe":"database-connection","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["postgresql://svc_13jh9yb6:P9!CQC2dIMnVYsfCTlzno@192.0.2.42:5432/support"]},"customers":{"required_absent":["postgresql://svc_13jh9yb6:P9!CQC2dIMnVYsfCTlzno@192.0.2.42:5432/support"],"required_present":[]},"all":{"required_absent":["postgresql://svc_13jh9yb6:P9!CQC2dIMnVYsfCTlzno@192.0.2.42:5432/support"],"required_present":[]}},"tags":["broad-quality","secret-family:database-connection","variation:05"],"secret_fixture":{"family":"database-connection","role":"must-detect"}}, + {"id":"broad-secret-database-connection-preserve-05","language":"en","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad database-connection variation.","text":"**Release metadata: postgresql://192.0.2.42:5432/support**","known_identities":[],"targets":[{"id":"value","kind":"secret","start":20,"end":56,"value":"postgresql://192.0.2.42:5432/support","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-database-connection-preserve-05","recipe":"database-connection","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["postgresql://192.0.2.42:5432/support"]},"customers":{"required_absent":[],"required_present":["postgresql://192.0.2.42:5432/support"]},"all":{"required_absent":[],"required_present":["postgresql://192.0.2.42:5432/support"]}},"tags":["broad-quality","secret-family:database-connection","variation:05"],"secret_fixture":{"family":"database-connection","role":"preserve"}}, + {"id":"broad-secret-database-connection-must-detect-06","language":"en","script":"Latin","shape":"html","risk":"critical","reason":"Locked broad database-connection variation.","text":"\u003cp\u003eStack trace captured credential postgresql://svc_7pari30w:P9!iv6AlTeN2vmPUfI5PP@192.0.2.42:5432/support\u003c/p\u003e","known_identities":[],"targets":[{"id":"value","kind":"secret","start":35,"end":106,"value":"postgresql://svc_7pari30w:P9!iv6AlTeN2vmPUfI5PP@192.0.2.42:5432/support","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-database-connection-must-detect-06","recipe":"database-connection","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["postgresql://svc_7pari30w:P9!iv6AlTeN2vmPUfI5PP@192.0.2.42:5432/support"]},"customers":{"required_absent":["postgresql://svc_7pari30w:P9!iv6AlTeN2vmPUfI5PP@192.0.2.42:5432/support"],"required_present":[]},"all":{"required_absent":["postgresql://svc_7pari30w:P9!iv6AlTeN2vmPUfI5PP@192.0.2.42:5432/support"],"required_present":[]}},"tags":["broad-quality","secret-family:database-connection","variation:06"],"secret_fixture":{"family":"database-connection","role":"must-detect"}}, + {"id":"broad-secret-database-connection-preserve-06","language":"en","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad database-connection variation.","text":"\u003cp\u003ePublic verification material: postgresql://192.0.2.42:5432/support\u003c/p\u003e","known_identities":[],"targets":[{"id":"value","kind":"secret","start":33,"end":69,"value":"postgresql://192.0.2.42:5432/support","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-database-connection-preserve-06","recipe":"database-connection","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["postgresql://192.0.2.42:5432/support"]},"customers":{"required_absent":[],"required_present":["postgresql://192.0.2.42:5432/support"]},"all":{"required_absent":[],"required_present":["postgresql://192.0.2.42:5432/support"]}},"tags":["broad-quality","secret-family:database-connection","variation:06"],"secret_fixture":{"family":"database-connection","role":"preserve"}}, + {"id":"broad-secret-database-connection-must-detect-07","language":"en","script":"Latin","shape":"quoted-reply","risk":"critical","reason":"Locked broad database-connection variation.","text":"\u003e Wrapped message credential: postgresql://svc_i7pxn5vy:P9!b0R7N9omcQNrBf5Thc@192.0.2.42:5432/support","known_identities":[],"targets":[{"id":"value","kind":"secret","start":30,"end":101,"value":"postgresql://svc_i7pxn5vy:P9!b0R7N9omcQNrBf5Thc@192.0.2.42:5432/support","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-database-connection-must-detect-07","recipe":"database-connection","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["postgresql://svc_i7pxn5vy:P9!b0R7N9omcQNrBf5Thc@192.0.2.42:5432/support"]},"customers":{"required_absent":["postgresql://svc_i7pxn5vy:P9!b0R7N9omcQNrBf5Thc@192.0.2.42:5432/support"],"required_present":[]},"all":{"required_absent":["postgresql://svc_i7pxn5vy:P9!b0R7N9omcQNrBf5Thc@192.0.2.42:5432/support"],"required_present":[]}},"tags":["broad-quality","secret-family:database-connection","variation:07"],"secret_fixture":{"family":"database-connection","role":"must-detect"}}, + {"id":"broad-secret-database-connection-preserve-07","language":"en","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad database-connection variation.","text":"\u003e Troubleshooting reference: postgresql://192.0.2.42:5432/support","known_identities":[],"targets":[{"id":"value","kind":"secret","start":29,"end":65,"value":"postgresql://192.0.2.42:5432/support","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-database-connection-preserve-07","recipe":"database-connection","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["postgresql://192.0.2.42:5432/support"]},"customers":{"required_absent":[],"required_present":["postgresql://192.0.2.42:5432/support"]},"all":{"required_absent":[],"required_present":["postgresql://192.0.2.42:5432/support"]}},"tags":["broad-quality","secret-family:database-connection","variation:07"],"secret_fixture":{"family":"database-connection","role":"preserve"}}, + {"id":"broad-secret-cookie-authorization-must-detect-00","language":"en","script":"Latin","shape":"log","risk":"critical","reason":"Locked broad cookie-authorization variation.","text":"level=warn sample=0 message=\"Credential copied from a support reply: \" value=session=GNmDXuliO6cl5ta46ZB9kCHvkM7RE0EVeGtqXDKubrrm4qzn","known_identities":[],"targets":[{"id":"value","kind":"secret","start":77,"end":133,"value":"session=GNmDXuliO6cl5ta46ZB9kCHvkM7RE0EVeGtqXDKubrrm4qzn","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cookie-authorization-must-detect-00","recipe":"cookie-authorization","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["session=GNmDXuliO6cl5ta46ZB9kCHvkM7RE0EVeGtqXDKubrrm4qzn"]},"customers":{"required_absent":["session=GNmDXuliO6cl5ta46ZB9kCHvkM7RE0EVeGtqXDKubrrm4qzn"],"required_present":[]},"all":{"required_absent":["session=GNmDXuliO6cl5ta46ZB9kCHvkM7RE0EVeGtqXDKubrrm4qzn"],"required_present":[]}},"tags":["broad-quality","secret-family:cookie-authorization","variation:00"],"secret_fixture":{"family":"cookie-authorization","role":"must-detect"}}, + {"id":"broad-secret-cookie-authorization-preserve-00","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad cookie-authorization variation.","text":"level=warn sample=0 message=\"Public configuration vocabulary: \" value=SameSite=Strict","known_identities":[],"targets":[{"id":"value","kind":"secret","start":70,"end":85,"value":"SameSite=Strict","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cookie-authorization-preserve-00","recipe":"cookie-authorization","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["SameSite=Strict"]},"customers":{"required_absent":[],"required_present":["SameSite=Strict"]},"all":{"required_absent":[],"required_present":["SameSite=Strict"]}},"tags":["broad-quality","secret-family:cookie-authorization","variation:00"],"secret_fixture":{"family":"cookie-authorization","role":"preserve"}}, + {"id":"broad-secret-cookie-authorization-must-detect-01","language":"en","script":"Latin","shape":"stack-trace","risk":"critical","reason":"Locked broad cookie-authorization variation.","text":"Trace[1]: Authorization header value: session=70UpED23zdT3VXDNixtgl1xJicbLge9hCZp3s7CEpjAMz6fm","known_identities":[],"targets":[{"id":"value","kind":"secret","start":38,"end":94,"value":"session=70UpED23zdT3VXDNixtgl1xJicbLge9hCZp3s7CEpjAMz6fm","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cookie-authorization-must-detect-01","recipe":"cookie-authorization","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["session=70UpED23zdT3VXDNixtgl1xJicbLge9hCZp3s7CEpjAMz6fm"]},"customers":{"required_absent":["session=70UpED23zdT3VXDNixtgl1xJicbLge9hCZp3s7CEpjAMz6fm"],"required_present":[]},"all":{"required_absent":["session=70UpED23zdT3VXDNixtgl1xJicbLge9hCZp3s7CEpjAMz6fm"],"required_present":[]}},"tags":["broad-quality","secret-family:cookie-authorization","variation:01"],"secret_fixture":{"family":"cookie-authorization","role":"must-detect"}}, + {"id":"broad-secret-cookie-authorization-preserve-01","language":"en","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad cookie-authorization variation.","text":"Trace[1]: Documentation syntax: SameSite=Strict","known_identities":[],"targets":[{"id":"value","kind":"secret","start":32,"end":47,"value":"SameSite=Strict","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cookie-authorization-preserve-01","recipe":"cookie-authorization","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["SameSite=Strict"]},"customers":{"required_absent":[],"required_present":["SameSite=Strict"]},"all":{"required_absent":[],"required_present":["SameSite=Strict"]}},"tags":["broad-quality","secret-family:cookie-authorization","variation:01"],"secret_fixture":{"family":"cookie-authorization","role":"preserve"}}, + {"id":"broad-secret-cookie-authorization-must-detect-02","language":"en","script":"Latin","shape":"code","risk":"critical","reason":"Locked broad cookie-authorization variation.","text":"fixture_2 := `Log field auth_value=session=goDeF6dOx8-vJJfioklnDVv86i_Y9hSK4kdO4VXytbmFRZS9`","known_identities":[],"targets":[{"id":"value","kind":"secret","start":35,"end":91,"value":"session=goDeF6dOx8-vJJfioklnDVv86i_Y9hSK4kdO4VXytbmFRZS9","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cookie-authorization-must-detect-02","recipe":"cookie-authorization","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["session=goDeF6dOx8-vJJfioklnDVv86i_Y9hSK4kdO4VXytbmFRZS9"]},"customers":{"required_absent":["session=goDeF6dOx8-vJJfioklnDVv86i_Y9hSK4kdO4VXytbmFRZS9"],"required_present":[]},"all":{"required_absent":["session=goDeF6dOx8-vJJfioklnDVv86i_Y9hSK4kdO4VXytbmFRZS9"],"required_present":[]}},"tags":["broad-quality","secret-family:cookie-authorization","variation:02"],"secret_fixture":{"family":"cookie-authorization","role":"must-detect"}}, + {"id":"broad-secret-cookie-authorization-preserve-02","language":"en","script":"Latin","shape":"code","risk":"preservation","reason":"Locked broad cookie-authorization variation.","text":"fixture_2 := `Public operational identifier: SameSite=Strict`","known_identities":[],"targets":[{"id":"value","kind":"secret","start":45,"end":60,"value":"SameSite=Strict","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cookie-authorization-preserve-02","recipe":"cookie-authorization","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["SameSite=Strict"]},"customers":{"required_absent":[],"required_present":["SameSite=Strict"]},"all":{"required_absent":[],"required_present":["SameSite=Strict"]}},"tags":["broad-quality","secret-family:cookie-authorization","variation:02"],"secret_fixture":{"family":"cookie-authorization","role":"preserve"}}, + {"id":"broad-secret-cookie-authorization-must-detect-03","language":"en","script":"Latin","shape":"signature","risk":"critical","reason":"Locked broad cookie-authorization variation.","text":"--\nRotating this exposed value: session=9ddY4Wx0mKq0Xj0mWAsD4Yj703mjdelQWDebpfe8ljHSzmgz","known_identities":[],"targets":[{"id":"value","kind":"secret","start":32,"end":88,"value":"session=9ddY4Wx0mKq0Xj0mWAsD4Yj703mjdelQWDebpfe8ljHSzmgz","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cookie-authorization-must-detect-03","recipe":"cookie-authorization","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["session=9ddY4Wx0mKq0Xj0mWAsD4Yj703mjdelQWDebpfe8ljHSzmgz"]},"customers":{"required_absent":["session=9ddY4Wx0mKq0Xj0mWAsD4Yj703mjdelQWDebpfe8ljHSzmgz"],"required_present":[]},"all":{"required_absent":["session=9ddY4Wx0mKq0Xj0mWAsD4Yj703mjdelQWDebpfe8ljHSzmgz"],"required_present":[]}},"tags":["broad-quality","secret-family:cookie-authorization","variation:03"],"secret_fixture":{"family":"cookie-authorization","role":"must-detect"}}, + {"id":"broad-secret-cookie-authorization-preserve-03","language":"en","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad cookie-authorization variation.","text":"--\nSchema field label: SameSite=Strict","known_identities":[],"targets":[{"id":"value","kind":"secret","start":23,"end":38,"value":"SameSite=Strict","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cookie-authorization-preserve-03","recipe":"cookie-authorization","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["SameSite=Strict"]},"customers":{"required_absent":[],"required_present":["SameSite=Strict"]},"all":{"required_absent":[],"required_present":["SameSite=Strict"]}},"tags":["broad-quality","secret-family:cookie-authorization","variation:03"],"secret_fixture":{"family":"cookie-authorization","role":"preserve"}}, + {"id":"broad-secret-cookie-authorization-must-detect-04","language":"en","script":"Latin","shape":"long-thread","risk":"critical","reason":"Locked broad cookie-authorization variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Quoted credential follows: session=C6jWJ0od1IluQDIkCqbEVg00m1NAaYKs4TQ-X7-BdoNsx3-h","known_identities":[],"targets":[{"id":"value","kind":"secret","start":507,"end":563,"value":"session=C6jWJ0od1IluQDIkCqbEVg00m1NAaYKs4TQ-X7-BdoNsx3-h","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cookie-authorization-must-detect-04","recipe":"cookie-authorization","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["session=C6jWJ0od1IluQDIkCqbEVg00m1NAaYKs4TQ-X7-BdoNsx3-h"]},"customers":{"required_absent":["session=C6jWJ0od1IluQDIkCqbEVg00m1NAaYKs4TQ-X7-BdoNsx3-h"],"required_present":[]},"all":{"required_absent":["session=C6jWJ0od1IluQDIkCqbEVg00m1NAaYKs4TQ-X7-BdoNsx3-h"],"required_present":[]}},"tags":["broad-quality","secret-family:cookie-authorization","variation:04"],"secret_fixture":{"family":"cookie-authorization","role":"must-detect"}}, + {"id":"broad-secret-cookie-authorization-preserve-04","language":"en","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad cookie-authorization variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Non-confidential protocol token: SameSite=Strict","known_identities":[],"targets":[{"id":"value","kind":"secret","start":513,"end":528,"value":"SameSite=Strict","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cookie-authorization-preserve-04","recipe":"cookie-authorization","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["SameSite=Strict"]},"customers":{"required_absent":[],"required_present":["SameSite=Strict"]},"all":{"required_absent":[],"required_present":["SameSite=Strict"]}},"tags":["broad-quality","secret-family:cookie-authorization","variation:04"],"secret_fixture":{"family":"cookie-authorization","role":"preserve"}}, + {"id":"broad-secret-cookie-authorization-must-detect-05","language":"en","script":"Latin","shape":"command-payload","risk":"critical","reason":"Locked broad cookie-authorization variation.","text":"--sample=5 --message=\"Configuration secret: \" --value=session=9obLxmOxyIYf1bf4KLQuT7TuV53B-1mzYZBsW3e1cly7h9nR","known_identities":[],"targets":[{"id":"value","kind":"secret","start":54,"end":110,"value":"session=9obLxmOxyIYf1bf4KLQuT7TuV53B-1mzYZBsW3e1cly7h9nR","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cookie-authorization-must-detect-05","recipe":"cookie-authorization","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["session=9obLxmOxyIYf1bf4KLQuT7TuV53B-1mzYZBsW3e1cly7h9nR"]},"customers":{"required_absent":["session=9obLxmOxyIYf1bf4KLQuT7TuV53B-1mzYZBsW3e1cly7h9nR"],"required_present":[]},"all":{"required_absent":["session=9obLxmOxyIYf1bf4KLQuT7TuV53B-1mzYZBsW3e1cly7h9nR"],"required_present":[]}},"tags":["broad-quality","secret-family:cookie-authorization","variation:05"],"secret_fixture":{"family":"cookie-authorization","role":"must-detect"}}, + {"id":"broad-secret-cookie-authorization-preserve-05","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad cookie-authorization variation.","text":"--sample=5 --message=\"Release metadata: \" --value=SameSite=Strict","known_identities":[],"targets":[{"id":"value","kind":"secret","start":50,"end":65,"value":"SameSite=Strict","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cookie-authorization-preserve-05","recipe":"cookie-authorization","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["SameSite=Strict"]},"customers":{"required_absent":[],"required_present":["SameSite=Strict"]},"all":{"required_absent":[],"required_present":["SameSite=Strict"]}},"tags":["broad-quality","secret-family:cookie-authorization","variation:05"],"secret_fixture":{"family":"cookie-authorization","role":"preserve"}}, + {"id":"broad-secret-cookie-authorization-must-detect-06","language":"en","script":"Latin","shape":"prose","risk":"critical","reason":"Locked broad cookie-authorization variation.","text":"Stack trace captured credential session=zRSJLb9-6st0DHMo8mx7jG-ESAr-V68KaDjZNP94kgA9pNLS","known_identities":[],"targets":[{"id":"value","kind":"secret","start":32,"end":88,"value":"session=zRSJLb9-6st0DHMo8mx7jG-ESAr-V68KaDjZNP94kgA9pNLS","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cookie-authorization-must-detect-06","recipe":"cookie-authorization","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["session=zRSJLb9-6st0DHMo8mx7jG-ESAr-V68KaDjZNP94kgA9pNLS"]},"customers":{"required_absent":["session=zRSJLb9-6st0DHMo8mx7jG-ESAr-V68KaDjZNP94kgA9pNLS"],"required_present":[]},"all":{"required_absent":["session=zRSJLb9-6st0DHMo8mx7jG-ESAr-V68KaDjZNP94kgA9pNLS"],"required_present":[]}},"tags":["broad-quality","secret-family:cookie-authorization","variation:06"],"secret_fixture":{"family":"cookie-authorization","role":"must-detect"}}, + {"id":"broad-secret-cookie-authorization-preserve-06","language":"en","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad cookie-authorization variation.","text":"Public verification material: SameSite=Strict","known_identities":[],"targets":[{"id":"value","kind":"secret","start":30,"end":45,"value":"SameSite=Strict","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cookie-authorization-preserve-06","recipe":"cookie-authorization","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["SameSite=Strict"]},"customers":{"required_absent":[],"required_present":["SameSite=Strict"]},"all":{"required_absent":[],"required_present":["SameSite=Strict"]}},"tags":["broad-quality","secret-family:cookie-authorization","variation:06"],"secret_fixture":{"family":"cookie-authorization","role":"preserve"}}, + {"id":"broad-secret-cookie-authorization-must-detect-07","language":"en","script":"Latin","shape":"json","risk":"critical","reason":"Locked broad cookie-authorization variation.","text":"{\"message_7\":\"Wrapped message credential: session=UVhFMpdujWgDiFhwFBNU4L7_qwtSS5uwlkoLkL75R56a4ZQa\"}","known_identities":[],"targets":[{"id":"value","kind":"secret","start":42,"end":98,"value":"session=UVhFMpdujWgDiFhwFBNU4L7_qwtSS5uwlkoLkL75R56a4ZQa","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cookie-authorization-must-detect-07","recipe":"cookie-authorization","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["session=UVhFMpdujWgDiFhwFBNU4L7_qwtSS5uwlkoLkL75R56a4ZQa"]},"customers":{"required_absent":["session=UVhFMpdujWgDiFhwFBNU4L7_qwtSS5uwlkoLkL75R56a4ZQa"],"required_present":[]},"all":{"required_absent":["session=UVhFMpdujWgDiFhwFBNU4L7_qwtSS5uwlkoLkL75R56a4ZQa"],"required_present":[]}},"tags":["broad-quality","secret-family:cookie-authorization","variation:07"],"secret_fixture":{"family":"cookie-authorization","role":"must-detect"}}, + {"id":"broad-secret-cookie-authorization-preserve-07","language":"en","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad cookie-authorization variation.","text":"{\"message_7\":\"Troubleshooting reference: SameSite=Strict\"}","known_identities":[],"targets":[{"id":"value","kind":"secret","start":41,"end":56,"value":"SameSite=Strict","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cookie-authorization-preserve-07","recipe":"cookie-authorization","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["SameSite=Strict"]},"customers":{"required_absent":[],"required_present":["SameSite=Strict"]},"all":{"required_absent":[],"required_present":["SameSite=Strict"]}},"tags":["broad-quality","secret-family:cookie-authorization","variation:07"],"secret_fixture":{"family":"cookie-authorization","role":"preserve"}}, + {"id":"broad-secret-webhook-secret-must-detect-00","language":"en","script":"Latin","shape":"yaml","risk":"critical","reason":"Locked broad webhook-secret variation.","text":"message_0: Credential copied from a support reply: whsig_H4jzdX2fBTIpXH8KPStEzHPdLlRqD5BgrERxxoND","known_identities":[],"targets":[{"id":"value","kind":"secret","start":51,"end":97,"value":"whsig_H4jzdX2fBTIpXH8KPStEzHPdLlRqD5BgrERxxoND","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-webhook-secret-must-detect-00","recipe":"webhook-secret","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["whsig_H4jzdX2fBTIpXH8KPStEzHPdLlRqD5BgrERxxoND"]},"customers":{"required_absent":["whsig_H4jzdX2fBTIpXH8KPStEzHPdLlRqD5BgrERxxoND"],"required_present":[]},"all":{"required_absent":["whsig_H4jzdX2fBTIpXH8KPStEzHPdLlRqD5BgrERxxoND"],"required_present":[]}},"tags":["broad-quality","secret-family:webhook-secret","variation:00"],"secret_fixture":{"family":"webhook-secret","role":"must-detect"}}, + {"id":"broad-secret-webhook-secret-preserve-00","language":"en","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad webhook-secret variation.","text":"message_0: Public configuration vocabulary: event.delivery.created","known_identities":[],"targets":[{"id":"value","kind":"secret","start":44,"end":66,"value":"event.delivery.created","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-webhook-secret-preserve-00","recipe":"webhook-secret","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["event.delivery.created"]},"customers":{"required_absent":[],"required_present":["event.delivery.created"]},"all":{"required_absent":[],"required_present":["event.delivery.created"]}},"tags":["broad-quality","secret-family:webhook-secret","variation:00"],"secret_fixture":{"family":"webhook-secret","role":"preserve"}}, + {"id":"broad-secret-webhook-secret-must-detect-01","language":"en","script":"Latin","shape":"shell","risk":"critical","reason":"Locked broad webhook-secret variation.","text":"MESSAGE_1='Authorization header value: whsig_AFp8z85OuNNozz6cAn910KNDE2C7Ws0y10QHjDt6'","known_identities":[],"targets":[{"id":"value","kind":"secret","start":39,"end":85,"value":"whsig_AFp8z85OuNNozz6cAn910KNDE2C7Ws0y10QHjDt6","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-webhook-secret-must-detect-01","recipe":"webhook-secret","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["whsig_AFp8z85OuNNozz6cAn910KNDE2C7Ws0y10QHjDt6"]},"customers":{"required_absent":["whsig_AFp8z85OuNNozz6cAn910KNDE2C7Ws0y10QHjDt6"],"required_present":[]},"all":{"required_absent":["whsig_AFp8z85OuNNozz6cAn910KNDE2C7Ws0y10QHjDt6"],"required_present":[]}},"tags":["broad-quality","secret-family:webhook-secret","variation:01"],"secret_fixture":{"family":"webhook-secret","role":"must-detect"}}, + {"id":"broad-secret-webhook-secret-preserve-01","language":"en","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad webhook-secret variation.","text":"MESSAGE_1='Documentation syntax: event.delivery.created'","known_identities":[],"targets":[{"id":"value","kind":"secret","start":33,"end":55,"value":"event.delivery.created","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-webhook-secret-preserve-01","recipe":"webhook-secret","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["event.delivery.created"]},"customers":{"required_absent":[],"required_present":["event.delivery.created"]},"all":{"required_absent":[],"required_present":["event.delivery.created"]}},"tags":["broad-quality","secret-family:webhook-secret","variation:01"],"secret_fixture":{"family":"webhook-secret","role":"preserve"}}, + {"id":"broad-secret-webhook-secret-must-detect-02","language":"en","script":"Latin","shape":"url","risk":"critical","reason":"Locked broad webhook-secret variation.","text":"endpoint=https://192.0.2.10/2 ; Log field auth_value=whsig_f4RxeBMWDT5m8xNffxBwSgKj5dvsq8kCGE4iR70b","known_identities":[],"targets":[{"id":"value","kind":"secret","start":53,"end":99,"value":"whsig_f4RxeBMWDT5m8xNffxBwSgKj5dvsq8kCGE4iR70b","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-webhook-secret-must-detect-02","recipe":"webhook-secret","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["whsig_f4RxeBMWDT5m8xNffxBwSgKj5dvsq8kCGE4iR70b"]},"customers":{"required_absent":["whsig_f4RxeBMWDT5m8xNffxBwSgKj5dvsq8kCGE4iR70b"],"required_present":[]},"all":{"required_absent":["whsig_f4RxeBMWDT5m8xNffxBwSgKj5dvsq8kCGE4iR70b"],"required_present":[]}},"tags":["broad-quality","secret-family:webhook-secret","variation:02"],"secret_fixture":{"family":"webhook-secret","role":"must-detect"}}, + {"id":"broad-secret-webhook-secret-preserve-02","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad webhook-secret variation.","text":"endpoint=https://192.0.2.10/2 ; Public operational identifier: event.delivery.created","known_identities":[],"targets":[{"id":"value","kind":"secret","start":63,"end":85,"value":"event.delivery.created","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-webhook-secret-preserve-02","recipe":"webhook-secret","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["event.delivery.created"]},"customers":{"required_absent":[],"required_present":["event.delivery.created"]},"all":{"required_absent":[],"required_present":["event.delivery.created"]}},"tags":["broad-quality","secret-family:webhook-secret","variation:02"],"secret_fixture":{"family":"webhook-secret","role":"preserve"}}, + {"id":"broad-secret-webhook-secret-must-detect-03","language":"en","script":"Latin","shape":"markdown","risk":"critical","reason":"Locked broad webhook-secret variation.","text":"**Rotating this exposed value: whsig_xYAQmcN5NgiAnWUzpQsnILPEY7kAzinTRIio8zgF**","known_identities":[],"targets":[{"id":"value","kind":"secret","start":31,"end":77,"value":"whsig_xYAQmcN5NgiAnWUzpQsnILPEY7kAzinTRIio8zgF","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-webhook-secret-must-detect-03","recipe":"webhook-secret","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["whsig_xYAQmcN5NgiAnWUzpQsnILPEY7kAzinTRIio8zgF"]},"customers":{"required_absent":["whsig_xYAQmcN5NgiAnWUzpQsnILPEY7kAzinTRIio8zgF"],"required_present":[]},"all":{"required_absent":["whsig_xYAQmcN5NgiAnWUzpQsnILPEY7kAzinTRIio8zgF"],"required_present":[]}},"tags":["broad-quality","secret-family:webhook-secret","variation:03"],"secret_fixture":{"family":"webhook-secret","role":"must-detect"}}, + {"id":"broad-secret-webhook-secret-preserve-03","language":"en","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad webhook-secret variation.","text":"**Schema field label: event.delivery.created**","known_identities":[],"targets":[{"id":"value","kind":"secret","start":22,"end":44,"value":"event.delivery.created","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-webhook-secret-preserve-03","recipe":"webhook-secret","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["event.delivery.created"]},"customers":{"required_absent":[],"required_present":["event.delivery.created"]},"all":{"required_absent":[],"required_present":["event.delivery.created"]}},"tags":["broad-quality","secret-family:webhook-secret","variation:03"],"secret_fixture":{"family":"webhook-secret","role":"preserve"}}, + {"id":"broad-secret-webhook-secret-must-detect-04","language":"en","script":"Latin","shape":"html","risk":"critical","reason":"Locked broad webhook-secret variation.","text":"\u003cp\u003eQuoted credential follows: whsig_Sa6uR9dBlhJ3JTrLob8yf2RLrGVeZcJzoYBG35dM\u003c/p\u003e","known_identities":[],"targets":[{"id":"value","kind":"secret","start":30,"end":76,"value":"whsig_Sa6uR9dBlhJ3JTrLob8yf2RLrGVeZcJzoYBG35dM","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-webhook-secret-must-detect-04","recipe":"webhook-secret","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["whsig_Sa6uR9dBlhJ3JTrLob8yf2RLrGVeZcJzoYBG35dM"]},"customers":{"required_absent":["whsig_Sa6uR9dBlhJ3JTrLob8yf2RLrGVeZcJzoYBG35dM"],"required_present":[]},"all":{"required_absent":["whsig_Sa6uR9dBlhJ3JTrLob8yf2RLrGVeZcJzoYBG35dM"],"required_present":[]}},"tags":["broad-quality","secret-family:webhook-secret","variation:04"],"secret_fixture":{"family":"webhook-secret","role":"must-detect"}}, + {"id":"broad-secret-webhook-secret-preserve-04","language":"en","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad webhook-secret variation.","text":"\u003cp\u003eNon-confidential protocol token: event.delivery.created\u003c/p\u003e","known_identities":[],"targets":[{"id":"value","kind":"secret","start":36,"end":58,"value":"event.delivery.created","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-webhook-secret-preserve-04","recipe":"webhook-secret","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["event.delivery.created"]},"customers":{"required_absent":[],"required_present":["event.delivery.created"]},"all":{"required_absent":[],"required_present":["event.delivery.created"]}},"tags":["broad-quality","secret-family:webhook-secret","variation:04"],"secret_fixture":{"family":"webhook-secret","role":"preserve"}}, + {"id":"broad-secret-webhook-secret-must-detect-05","language":"en","script":"Latin","shape":"quoted-reply","risk":"critical","reason":"Locked broad webhook-secret variation.","text":"\u003e Configuration secret: whsig_kq7MQmfWEWcZjk16EyQLkt2Oymr3MtvLOj5ewbOD","known_identities":[],"targets":[{"id":"value","kind":"secret","start":24,"end":70,"value":"whsig_kq7MQmfWEWcZjk16EyQLkt2Oymr3MtvLOj5ewbOD","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-webhook-secret-must-detect-05","recipe":"webhook-secret","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["whsig_kq7MQmfWEWcZjk16EyQLkt2Oymr3MtvLOj5ewbOD"]},"customers":{"required_absent":["whsig_kq7MQmfWEWcZjk16EyQLkt2Oymr3MtvLOj5ewbOD"],"required_present":[]},"all":{"required_absent":["whsig_kq7MQmfWEWcZjk16EyQLkt2Oymr3MtvLOj5ewbOD"],"required_present":[]}},"tags":["broad-quality","secret-family:webhook-secret","variation:05"],"secret_fixture":{"family":"webhook-secret","role":"must-detect"}}, + {"id":"broad-secret-webhook-secret-preserve-05","language":"en","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad webhook-secret variation.","text":"\u003e Release metadata: event.delivery.created","known_identities":[],"targets":[{"id":"value","kind":"secret","start":20,"end":42,"value":"event.delivery.created","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-webhook-secret-preserve-05","recipe":"webhook-secret","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["event.delivery.created"]},"customers":{"required_absent":[],"required_present":["event.delivery.created"]},"all":{"required_absent":[],"required_present":["event.delivery.created"]}},"tags":["broad-quality","secret-family:webhook-secret","variation:05"],"secret_fixture":{"family":"webhook-secret","role":"preserve"}}, + {"id":"broad-secret-webhook-secret-must-detect-06","language":"en","script":"Latin","shape":"log","risk":"critical","reason":"Locked broad webhook-secret variation.","text":"level=warn sample=6 message=\"Stack trace captured credential \" value=whsig_zw6qWp8I71rO5rzMi33XPYldo3dEjCmZREcQVRkn","known_identities":[],"targets":[{"id":"value","kind":"secret","start":69,"end":115,"value":"whsig_zw6qWp8I71rO5rzMi33XPYldo3dEjCmZREcQVRkn","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-webhook-secret-must-detect-06","recipe":"webhook-secret","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["whsig_zw6qWp8I71rO5rzMi33XPYldo3dEjCmZREcQVRkn"]},"customers":{"required_absent":["whsig_zw6qWp8I71rO5rzMi33XPYldo3dEjCmZREcQVRkn"],"required_present":[]},"all":{"required_absent":["whsig_zw6qWp8I71rO5rzMi33XPYldo3dEjCmZREcQVRkn"],"required_present":[]}},"tags":["broad-quality","secret-family:webhook-secret","variation:06"],"secret_fixture":{"family":"webhook-secret","role":"must-detect"}}, + {"id":"broad-secret-webhook-secret-preserve-06","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad webhook-secret variation.","text":"level=warn sample=6 message=\"Public verification material: \" value=event.delivery.created","known_identities":[],"targets":[{"id":"value","kind":"secret","start":67,"end":89,"value":"event.delivery.created","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-webhook-secret-preserve-06","recipe":"webhook-secret","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["event.delivery.created"]},"customers":{"required_absent":[],"required_present":["event.delivery.created"]},"all":{"required_absent":[],"required_present":["event.delivery.created"]}},"tags":["broad-quality","secret-family:webhook-secret","variation:06"],"secret_fixture":{"family":"webhook-secret","role":"preserve"}}, + {"id":"broad-secret-webhook-secret-must-detect-07","language":"en","script":"Latin","shape":"stack-trace","risk":"critical","reason":"Locked broad webhook-secret variation.","text":"Trace[7]: Wrapped message credential: whsig_fkGQX0jhQXKzsTBbrUiZB4pBszhW85xxKkFyv5iw","known_identities":[],"targets":[{"id":"value","kind":"secret","start":38,"end":84,"value":"whsig_fkGQX0jhQXKzsTBbrUiZB4pBszhW85xxKkFyv5iw","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-webhook-secret-must-detect-07","recipe":"webhook-secret","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["whsig_fkGQX0jhQXKzsTBbrUiZB4pBszhW85xxKkFyv5iw"]},"customers":{"required_absent":["whsig_fkGQX0jhQXKzsTBbrUiZB4pBszhW85xxKkFyv5iw"],"required_present":[]},"all":{"required_absent":["whsig_fkGQX0jhQXKzsTBbrUiZB4pBszhW85xxKkFyv5iw"],"required_present":[]}},"tags":["broad-quality","secret-family:webhook-secret","variation:07"],"secret_fixture":{"family":"webhook-secret","role":"must-detect"}}, + {"id":"broad-secret-webhook-secret-preserve-07","language":"en","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad webhook-secret variation.","text":"Trace[7]: Troubleshooting reference: event.delivery.created","known_identities":[],"targets":[{"id":"value","kind":"secret","start":37,"end":59,"value":"event.delivery.created","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-webhook-secret-preserve-07","recipe":"webhook-secret","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["event.delivery.created"]},"customers":{"required_absent":[],"required_present":["event.delivery.created"]},"all":{"required_absent":[],"required_present":["event.delivery.created"]}},"tags":["broad-quality","secret-family:webhook-secret","variation:07"],"secret_fixture":{"family":"webhook-secret","role":"preserve"}}, + {"id":"broad-secret-cloud-credential-must-detect-00","language":"en","script":"Latin","shape":"code","risk":"critical","reason":"Locked broad cloud-credential variation.","text":"fixture_0 := `Credential copied from a support reply: CLDXUQ98ZO5LQC7SMWQD`","known_identities":[],"targets":[{"id":"value","kind":"secret","start":54,"end":74,"value":"CLDXUQ98ZO5LQC7SMWQD","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cloud-credential-must-detect-00","recipe":"cloud-credential","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CLDXUQ98ZO5LQC7SMWQD"]},"customers":{"required_absent":["CLDXUQ98ZO5LQC7SMWQD"],"required_present":[]},"all":{"required_absent":["CLDXUQ98ZO5LQC7SMWQD"],"required_present":[]}},"tags":["broad-quality","secret-family:cloud-credential","variation:00"],"secret_fixture":{"family":"cloud-credential","role":"must-detect"}}, + {"id":"broad-secret-cloud-credential-preserve-00","language":"en","script":"Latin","shape":"code","risk":"preservation","reason":"Locked broad cloud-credential variation.","text":"fixture_0 := `Public configuration vocabulary: 341196342754`","known_identities":[],"targets":[{"id":"value","kind":"secret","start":47,"end":59,"value":"341196342754","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cloud-credential-preserve-00","recipe":"cloud-credential","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["341196342754"]},"customers":{"required_absent":[],"required_present":["341196342754"]},"all":{"required_absent":[],"required_present":["341196342754"]}},"tags":["broad-quality","secret-family:cloud-credential","variation:00"],"secret_fixture":{"family":"cloud-credential","role":"preserve"}}, + {"id":"broad-secret-cloud-credential-must-detect-01","language":"en","script":"Latin","shape":"signature","risk":"critical","reason":"Locked broad cloud-credential variation.","text":"--\nAuthorization header value: CLDXCW3NJPNBM3FNLPEW","known_identities":[],"targets":[{"id":"value","kind":"secret","start":31,"end":51,"value":"CLDXCW3NJPNBM3FNLPEW","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cloud-credential-must-detect-01","recipe":"cloud-credential","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CLDXCW3NJPNBM3FNLPEW"]},"customers":{"required_absent":["CLDXCW3NJPNBM3FNLPEW"],"required_present":[]},"all":{"required_absent":["CLDXCW3NJPNBM3FNLPEW"],"required_present":[]}},"tags":["broad-quality","secret-family:cloud-credential","variation:01"],"secret_fixture":{"family":"cloud-credential","role":"must-detect"}}, + {"id":"broad-secret-cloud-credential-preserve-01","language":"en","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad cloud-credential variation.","text":"--\nDocumentation syntax: 997192730562","known_identities":[],"targets":[{"id":"value","kind":"secret","start":25,"end":37,"value":"997192730562","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cloud-credential-preserve-01","recipe":"cloud-credential","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["997192730562"]},"customers":{"required_absent":[],"required_present":["997192730562"]},"all":{"required_absent":[],"required_present":["997192730562"]}},"tags":["broad-quality","secret-family:cloud-credential","variation:01"],"secret_fixture":{"family":"cloud-credential","role":"preserve"}}, + {"id":"broad-secret-cloud-credential-must-detect-02","language":"en","script":"Latin","shape":"long-thread","risk":"critical","reason":"Locked broad cloud-credential variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Log field auth_value=CLDX1TEIA7TT86KQFB2P","known_identities":[],"targets":[{"id":"value","kind":"secret","start":501,"end":521,"value":"CLDX1TEIA7TT86KQFB2P","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cloud-credential-must-detect-02","recipe":"cloud-credential","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CLDX1TEIA7TT86KQFB2P"]},"customers":{"required_absent":["CLDX1TEIA7TT86KQFB2P"],"required_present":[]},"all":{"required_absent":["CLDX1TEIA7TT86KQFB2P"],"required_present":[]}},"tags":["broad-quality","secret-family:cloud-credential","variation:02"],"secret_fixture":{"family":"cloud-credential","role":"must-detect"}}, + {"id":"broad-secret-cloud-credential-preserve-02","language":"en","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad cloud-credential variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Public operational identifier: 522233693123","known_identities":[],"targets":[{"id":"value","kind":"secret","start":511,"end":523,"value":"522233693123","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cloud-credential-preserve-02","recipe":"cloud-credential","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["522233693123"]},"customers":{"required_absent":[],"required_present":["522233693123"]},"all":{"required_absent":[],"required_present":["522233693123"]}},"tags":["broad-quality","secret-family:cloud-credential","variation:02"],"secret_fixture":{"family":"cloud-credential","role":"preserve"}}, + {"id":"broad-secret-cloud-credential-must-detect-03","language":"en","script":"Latin","shape":"command-payload","risk":"critical","reason":"Locked broad cloud-credential variation.","text":"--sample=3 --message=\"Rotating this exposed value: \" --value=CLDXGJ4RJOJJAA4FRG56","known_identities":[],"targets":[{"id":"value","kind":"secret","start":61,"end":81,"value":"CLDXGJ4RJOJJAA4FRG56","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cloud-credential-must-detect-03","recipe":"cloud-credential","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CLDXGJ4RJOJJAA4FRG56"]},"customers":{"required_absent":["CLDXGJ4RJOJJAA4FRG56"],"required_present":[]},"all":{"required_absent":["CLDXGJ4RJOJJAA4FRG56"],"required_present":[]}},"tags":["broad-quality","secret-family:cloud-credential","variation:03"],"secret_fixture":{"family":"cloud-credential","role":"must-detect"}}, + {"id":"broad-secret-cloud-credential-preserve-03","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad cloud-credential variation.","text":"--sample=3 --message=\"Schema field label: \" --value=332379951281","known_identities":[],"targets":[{"id":"value","kind":"secret","start":52,"end":64,"value":"332379951281","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cloud-credential-preserve-03","recipe":"cloud-credential","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["332379951281"]},"customers":{"required_absent":[],"required_present":["332379951281"]},"all":{"required_absent":[],"required_present":["332379951281"]}},"tags":["broad-quality","secret-family:cloud-credential","variation:03"],"secret_fixture":{"family":"cloud-credential","role":"preserve"}}, + {"id":"broad-secret-cloud-credential-must-detect-04","language":"en","script":"Latin","shape":"prose","risk":"critical","reason":"Locked broad cloud-credential variation.","text":"Quoted credential follows: CLDX4UAKIQHI1HJFBHS1","known_identities":[],"targets":[{"id":"value","kind":"secret","start":27,"end":47,"value":"CLDX4UAKIQHI1HJFBHS1","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cloud-credential-must-detect-04","recipe":"cloud-credential","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CLDX4UAKIQHI1HJFBHS1"]},"customers":{"required_absent":["CLDX4UAKIQHI1HJFBHS1"],"required_present":[]},"all":{"required_absent":["CLDX4UAKIQHI1HJFBHS1"],"required_present":[]}},"tags":["broad-quality","secret-family:cloud-credential","variation:04"],"secret_fixture":{"family":"cloud-credential","role":"must-detect"}}, + {"id":"broad-secret-cloud-credential-preserve-04","language":"en","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad cloud-credential variation.","text":"Non-confidential protocol token: 744724784199","known_identities":[],"targets":[{"id":"value","kind":"secret","start":33,"end":45,"value":"744724784199","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cloud-credential-preserve-04","recipe":"cloud-credential","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["744724784199"]},"customers":{"required_absent":[],"required_present":["744724784199"]},"all":{"required_absent":[],"required_present":["744724784199"]}},"tags":["broad-quality","secret-family:cloud-credential","variation:04"],"secret_fixture":{"family":"cloud-credential","role":"preserve"}}, + {"id":"broad-secret-cloud-credential-must-detect-05","language":"en","script":"Latin","shape":"json","risk":"critical","reason":"Locked broad cloud-credential variation.","text":"{\"message_5\":\"Configuration secret: CLDX79A822QY40ZA2E4M\"}","known_identities":[],"targets":[{"id":"value","kind":"secret","start":36,"end":56,"value":"CLDX79A822QY40ZA2E4M","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cloud-credential-must-detect-05","recipe":"cloud-credential","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CLDX79A822QY40ZA2E4M"]},"customers":{"required_absent":["CLDX79A822QY40ZA2E4M"],"required_present":[]},"all":{"required_absent":["CLDX79A822QY40ZA2E4M"],"required_present":[]}},"tags":["broad-quality","secret-family:cloud-credential","variation:05"],"secret_fixture":{"family":"cloud-credential","role":"must-detect"}}, + {"id":"broad-secret-cloud-credential-preserve-05","language":"en","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad cloud-credential variation.","text":"{\"message_5\":\"Release metadata: 635853326056\"}","known_identities":[],"targets":[{"id":"value","kind":"secret","start":32,"end":44,"value":"635853326056","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cloud-credential-preserve-05","recipe":"cloud-credential","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["635853326056"]},"customers":{"required_absent":[],"required_present":["635853326056"]},"all":{"required_absent":[],"required_present":["635853326056"]}},"tags":["broad-quality","secret-family:cloud-credential","variation:05"],"secret_fixture":{"family":"cloud-credential","role":"preserve"}}, + {"id":"broad-secret-cloud-credential-must-detect-06","language":"en","script":"Latin","shape":"yaml","risk":"critical","reason":"Locked broad cloud-credential variation.","text":"message_6: Stack trace captured credential CLDXEDLCZNII5TL6PUJC","known_identities":[],"targets":[{"id":"value","kind":"secret","start":43,"end":63,"value":"CLDXEDLCZNII5TL6PUJC","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cloud-credential-must-detect-06","recipe":"cloud-credential","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CLDXEDLCZNII5TL6PUJC"]},"customers":{"required_absent":["CLDXEDLCZNII5TL6PUJC"],"required_present":[]},"all":{"required_absent":["CLDXEDLCZNII5TL6PUJC"],"required_present":[]}},"tags":["broad-quality","secret-family:cloud-credential","variation:06"],"secret_fixture":{"family":"cloud-credential","role":"must-detect"}}, + {"id":"broad-secret-cloud-credential-preserve-06","language":"en","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad cloud-credential variation.","text":"message_6: Public verification material: 501905216311","known_identities":[],"targets":[{"id":"value","kind":"secret","start":41,"end":53,"value":"501905216311","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cloud-credential-preserve-06","recipe":"cloud-credential","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["501905216311"]},"customers":{"required_absent":[],"required_present":["501905216311"]},"all":{"required_absent":[],"required_present":["501905216311"]}},"tags":["broad-quality","secret-family:cloud-credential","variation:06"],"secret_fixture":{"family":"cloud-credential","role":"preserve"}}, + {"id":"broad-secret-cloud-credential-must-detect-07","language":"en","script":"Latin","shape":"shell","risk":"critical","reason":"Locked broad cloud-credential variation.","text":"MESSAGE_7='Wrapped message credential: CLDXGAOGIN26P4H7JM8E'","known_identities":[],"targets":[{"id":"value","kind":"secret","start":39,"end":59,"value":"CLDXGAOGIN26P4H7JM8E","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cloud-credential-must-detect-07","recipe":"cloud-credential","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CLDXGAOGIN26P4H7JM8E"]},"customers":{"required_absent":["CLDXGAOGIN26P4H7JM8E"],"required_present":[]},"all":{"required_absent":["CLDXGAOGIN26P4H7JM8E"],"required_present":[]}},"tags":["broad-quality","secret-family:cloud-credential","variation:07"],"secret_fixture":{"family":"cloud-credential","role":"must-detect"}}, + {"id":"broad-secret-cloud-credential-preserve-07","language":"en","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad cloud-credential variation.","text":"MESSAGE_7='Troubleshooting reference: 950155987954'","known_identities":[],"targets":[{"id":"value","kind":"secret","start":38,"end":50,"value":"950155987954","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cloud-credential-preserve-07","recipe":"cloud-credential","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["950155987954"]},"customers":{"required_absent":[],"required_present":["950155987954"]},"all":{"required_absent":[],"required_present":["950155987954"]}},"tags":["broad-quality","secret-family:cloud-credential","variation:07"],"secret_fixture":{"family":"cloud-credential","role":"preserve"}}, + {"id":"broad-secret-source-control-token-must-detect-00","language":"en","script":"Latin","shape":"url","risk":"critical","reason":"Locked broad source-control-token variation.","text":"endpoint=https://192.0.2.10/0 ; Credential copied from a support reply: scm_zNclz7ABNBFGXDrvBSTgolaSYZGgFzGyWWna","known_identities":[],"targets":[{"id":"value","kind":"secret","start":72,"end":112,"value":"scm_zNclz7ABNBFGXDrvBSTgolaSYZGgFzGyWWna","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-source-control-token-must-detect-00","recipe":"source-control-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["scm_zNclz7ABNBFGXDrvBSTgolaSYZGgFzGyWWna"]},"customers":{"required_absent":["scm_zNclz7ABNBFGXDrvBSTgolaSYZGgFzGyWWna"],"required_present":[]},"all":{"required_absent":["scm_zNclz7ABNBFGXDrvBSTgolaSYZGgFzGyWWna"],"required_present":[]}},"tags":["broad-quality","secret-family:source-control-token","variation:00"],"secret_fixture":{"family":"source-control-token","role":"must-detect"}}, + {"id":"broad-secret-source-control-token-preserve-00","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad source-control-token variation.","text":"endpoint=https://192.0.2.10/0 ; Public configuration vocabulary: e3bf73e5fbecd66b12ef9e0fe1ab0ecebd65f00a","known_identities":[],"targets":[{"id":"value","kind":"secret","start":65,"end":105,"value":"e3bf73e5fbecd66b12ef9e0fe1ab0ecebd65f00a","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-source-control-token-preserve-00","recipe":"source-control-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["e3bf73e5fbecd66b12ef9e0fe1ab0ecebd65f00a"]},"customers":{"required_absent":[],"required_present":["e3bf73e5fbecd66b12ef9e0fe1ab0ecebd65f00a"]},"all":{"required_absent":[],"required_present":["e3bf73e5fbecd66b12ef9e0fe1ab0ecebd65f00a"]}},"tags":["broad-quality","secret-family:source-control-token","variation:00"],"secret_fixture":{"family":"source-control-token","role":"preserve"}}, + {"id":"broad-secret-source-control-token-must-detect-01","language":"en","script":"Latin","shape":"markdown","risk":"critical","reason":"Locked broad source-control-token variation.","text":"**Authorization header value: scm_jTKpMIr2J82ZRSkVdzybx70cYzM2pdGr4D9e**","known_identities":[],"targets":[{"id":"value","kind":"secret","start":30,"end":70,"value":"scm_jTKpMIr2J82ZRSkVdzybx70cYzM2pdGr4D9e","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-source-control-token-must-detect-01","recipe":"source-control-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["scm_jTKpMIr2J82ZRSkVdzybx70cYzM2pdGr4D9e"]},"customers":{"required_absent":["scm_jTKpMIr2J82ZRSkVdzybx70cYzM2pdGr4D9e"],"required_present":[]},"all":{"required_absent":["scm_jTKpMIr2J82ZRSkVdzybx70cYzM2pdGr4D9e"],"required_present":[]}},"tags":["broad-quality","secret-family:source-control-token","variation:01"],"secret_fixture":{"family":"source-control-token","role":"must-detect"}}, + {"id":"broad-secret-source-control-token-preserve-01","language":"en","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad source-control-token variation.","text":"**Documentation syntax: f2cb9cb8deefa1ea00bc4a7edbddf4a65bc4faea**","known_identities":[],"targets":[{"id":"value","kind":"secret","start":24,"end":64,"value":"f2cb9cb8deefa1ea00bc4a7edbddf4a65bc4faea","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-source-control-token-preserve-01","recipe":"source-control-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["f2cb9cb8deefa1ea00bc4a7edbddf4a65bc4faea"]},"customers":{"required_absent":[],"required_present":["f2cb9cb8deefa1ea00bc4a7edbddf4a65bc4faea"]},"all":{"required_absent":[],"required_present":["f2cb9cb8deefa1ea00bc4a7edbddf4a65bc4faea"]}},"tags":["broad-quality","secret-family:source-control-token","variation:01"],"secret_fixture":{"family":"source-control-token","role":"preserve"}}, + {"id":"broad-secret-source-control-token-must-detect-02","language":"en","script":"Latin","shape":"html","risk":"critical","reason":"Locked broad source-control-token variation.","text":"\u003cp\u003eLog field auth_value=scm_K8F6N2CBDHE85rO3RDs2a6qB1rLswilXcvrT\u003c/p\u003e","known_identities":[],"targets":[{"id":"value","kind":"secret","start":24,"end":64,"value":"scm_K8F6N2CBDHE85rO3RDs2a6qB1rLswilXcvrT","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-source-control-token-must-detect-02","recipe":"source-control-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["scm_K8F6N2CBDHE85rO3RDs2a6qB1rLswilXcvrT"]},"customers":{"required_absent":["scm_K8F6N2CBDHE85rO3RDs2a6qB1rLswilXcvrT"],"required_present":[]},"all":{"required_absent":["scm_K8F6N2CBDHE85rO3RDs2a6qB1rLswilXcvrT"],"required_present":[]}},"tags":["broad-quality","secret-family:source-control-token","variation:02"],"secret_fixture":{"family":"source-control-token","role":"must-detect"}}, + {"id":"broad-secret-source-control-token-preserve-02","language":"en","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad source-control-token variation.","text":"\u003cp\u003ePublic operational identifier: a04b3df4ed71ca6ab0f45ee1e23b24ca2ef7e71b\u003c/p\u003e","known_identities":[],"targets":[{"id":"value","kind":"secret","start":34,"end":74,"value":"a04b3df4ed71ca6ab0f45ee1e23b24ca2ef7e71b","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-source-control-token-preserve-02","recipe":"source-control-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["a04b3df4ed71ca6ab0f45ee1e23b24ca2ef7e71b"]},"customers":{"required_absent":[],"required_present":["a04b3df4ed71ca6ab0f45ee1e23b24ca2ef7e71b"]},"all":{"required_absent":[],"required_present":["a04b3df4ed71ca6ab0f45ee1e23b24ca2ef7e71b"]}},"tags":["broad-quality","secret-family:source-control-token","variation:02"],"secret_fixture":{"family":"source-control-token","role":"preserve"}}, + {"id":"broad-secret-source-control-token-must-detect-03","language":"en","script":"Latin","shape":"quoted-reply","risk":"critical","reason":"Locked broad source-control-token variation.","text":"\u003e Rotating this exposed value: scm_n1MJYEl5H4Ca99FfdJdBxq7uJWnTUShR5fdV","known_identities":[],"targets":[{"id":"value","kind":"secret","start":31,"end":71,"value":"scm_n1MJYEl5H4Ca99FfdJdBxq7uJWnTUShR5fdV","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-source-control-token-must-detect-03","recipe":"source-control-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["scm_n1MJYEl5H4Ca99FfdJdBxq7uJWnTUShR5fdV"]},"customers":{"required_absent":["scm_n1MJYEl5H4Ca99FfdJdBxq7uJWnTUShR5fdV"],"required_present":[]},"all":{"required_absent":["scm_n1MJYEl5H4Ca99FfdJdBxq7uJWnTUShR5fdV"],"required_present":[]}},"tags":["broad-quality","secret-family:source-control-token","variation:03"],"secret_fixture":{"family":"source-control-token","role":"must-detect"}}, + {"id":"broad-secret-source-control-token-preserve-03","language":"en","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad source-control-token variation.","text":"\u003e Schema field label: f2fbcbba6d17f31baabb2d12cd6c1ada1a87a87e","known_identities":[],"targets":[{"id":"value","kind":"secret","start":22,"end":62,"value":"f2fbcbba6d17f31baabb2d12cd6c1ada1a87a87e","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-source-control-token-preserve-03","recipe":"source-control-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["f2fbcbba6d17f31baabb2d12cd6c1ada1a87a87e"]},"customers":{"required_absent":[],"required_present":["f2fbcbba6d17f31baabb2d12cd6c1ada1a87a87e"]},"all":{"required_absent":[],"required_present":["f2fbcbba6d17f31baabb2d12cd6c1ada1a87a87e"]}},"tags":["broad-quality","secret-family:source-control-token","variation:03"],"secret_fixture":{"family":"source-control-token","role":"preserve"}}, + {"id":"broad-secret-source-control-token-must-detect-04","language":"en","script":"Latin","shape":"log","risk":"critical","reason":"Locked broad source-control-token variation.","text":"level=warn sample=4 message=\"Quoted credential follows: \" value=scm_deZux3MqdzMMQovI6bKVjEXoIIP6VFHjOapN","known_identities":[],"targets":[{"id":"value","kind":"secret","start":64,"end":104,"value":"scm_deZux3MqdzMMQovI6bKVjEXoIIP6VFHjOapN","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-source-control-token-must-detect-04","recipe":"source-control-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["scm_deZux3MqdzMMQovI6bKVjEXoIIP6VFHjOapN"]},"customers":{"required_absent":["scm_deZux3MqdzMMQovI6bKVjEXoIIP6VFHjOapN"],"required_present":[]},"all":{"required_absent":["scm_deZux3MqdzMMQovI6bKVjEXoIIP6VFHjOapN"],"required_present":[]}},"tags":["broad-quality","secret-family:source-control-token","variation:04"],"secret_fixture":{"family":"source-control-token","role":"must-detect"}}, + {"id":"broad-secret-source-control-token-preserve-04","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad source-control-token variation.","text":"level=warn sample=4 message=\"Non-confidential protocol token: \" value=dc1b65ec5c8ab01cada96c8dcdaa09af3f7eb4bc","known_identities":[],"targets":[{"id":"value","kind":"secret","start":70,"end":110,"value":"dc1b65ec5c8ab01cada96c8dcdaa09af3f7eb4bc","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-source-control-token-preserve-04","recipe":"source-control-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["dc1b65ec5c8ab01cada96c8dcdaa09af3f7eb4bc"]},"customers":{"required_absent":[],"required_present":["dc1b65ec5c8ab01cada96c8dcdaa09af3f7eb4bc"]},"all":{"required_absent":[],"required_present":["dc1b65ec5c8ab01cada96c8dcdaa09af3f7eb4bc"]}},"tags":["broad-quality","secret-family:source-control-token","variation:04"],"secret_fixture":{"family":"source-control-token","role":"preserve"}}, + {"id":"broad-secret-source-control-token-must-detect-05","language":"en","script":"Latin","shape":"stack-trace","risk":"critical","reason":"Locked broad source-control-token variation.","text":"Trace[5]: Configuration secret: scm_3KrL8Em4RXDGoAbcEkhI7vjJtVqwNSC6TiVd","known_identities":[],"targets":[{"id":"value","kind":"secret","start":32,"end":72,"value":"scm_3KrL8Em4RXDGoAbcEkhI7vjJtVqwNSC6TiVd","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-source-control-token-must-detect-05","recipe":"source-control-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["scm_3KrL8Em4RXDGoAbcEkhI7vjJtVqwNSC6TiVd"]},"customers":{"required_absent":["scm_3KrL8Em4RXDGoAbcEkhI7vjJtVqwNSC6TiVd"],"required_present":[]},"all":{"required_absent":["scm_3KrL8Em4RXDGoAbcEkhI7vjJtVqwNSC6TiVd"],"required_present":[]}},"tags":["broad-quality","secret-family:source-control-token","variation:05"],"secret_fixture":{"family":"source-control-token","role":"must-detect"}}, + {"id":"broad-secret-source-control-token-preserve-05","language":"en","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad source-control-token variation.","text":"Trace[5]: Release metadata: a79ad8f9cbdcb92b7ac33aa4a4cb14c2fc68d95c","known_identities":[],"targets":[{"id":"value","kind":"secret","start":28,"end":68,"value":"a79ad8f9cbdcb92b7ac33aa4a4cb14c2fc68d95c","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-source-control-token-preserve-05","recipe":"source-control-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["a79ad8f9cbdcb92b7ac33aa4a4cb14c2fc68d95c"]},"customers":{"required_absent":[],"required_present":["a79ad8f9cbdcb92b7ac33aa4a4cb14c2fc68d95c"]},"all":{"required_absent":[],"required_present":["a79ad8f9cbdcb92b7ac33aa4a4cb14c2fc68d95c"]}},"tags":["broad-quality","secret-family:source-control-token","variation:05"],"secret_fixture":{"family":"source-control-token","role":"preserve"}}, + {"id":"broad-secret-source-control-token-must-detect-06","language":"en","script":"Latin","shape":"code","risk":"critical","reason":"Locked broad source-control-token variation.","text":"fixture_6 := `Stack trace captured credential scm_SWlfM4RcF7vY6naRnpjJGJkCEXlkC0pMx51P`","known_identities":[],"targets":[{"id":"value","kind":"secret","start":46,"end":86,"value":"scm_SWlfM4RcF7vY6naRnpjJGJkCEXlkC0pMx51P","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-source-control-token-must-detect-06","recipe":"source-control-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["scm_SWlfM4RcF7vY6naRnpjJGJkCEXlkC0pMx51P"]},"customers":{"required_absent":["scm_SWlfM4RcF7vY6naRnpjJGJkCEXlkC0pMx51P"],"required_present":[]},"all":{"required_absent":["scm_SWlfM4RcF7vY6naRnpjJGJkCEXlkC0pMx51P"],"required_present":[]}},"tags":["broad-quality","secret-family:source-control-token","variation:06"],"secret_fixture":{"family":"source-control-token","role":"must-detect"}}, + {"id":"broad-secret-source-control-token-preserve-06","language":"en","script":"Latin","shape":"code","risk":"preservation","reason":"Locked broad source-control-token variation.","text":"fixture_6 := `Public verification material: a81e7decec33a88cb7f51db7fb5ca3f27ecdc38b`","known_identities":[],"targets":[{"id":"value","kind":"secret","start":44,"end":84,"value":"a81e7decec33a88cb7f51db7fb5ca3f27ecdc38b","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-source-control-token-preserve-06","recipe":"source-control-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["a81e7decec33a88cb7f51db7fb5ca3f27ecdc38b"]},"customers":{"required_absent":[],"required_present":["a81e7decec33a88cb7f51db7fb5ca3f27ecdc38b"]},"all":{"required_absent":[],"required_present":["a81e7decec33a88cb7f51db7fb5ca3f27ecdc38b"]}},"tags":["broad-quality","secret-family:source-control-token","variation:06"],"secret_fixture":{"family":"source-control-token","role":"preserve"}}, + {"id":"broad-secret-source-control-token-must-detect-07","language":"en","script":"Latin","shape":"signature","risk":"critical","reason":"Locked broad source-control-token variation.","text":"--\nWrapped message credential: scm_x9sVvK9wowDqlHIfQlcxuYY7RbXdSRseEKbn","known_identities":[],"targets":[{"id":"value","kind":"secret","start":31,"end":71,"value":"scm_x9sVvK9wowDqlHIfQlcxuYY7RbXdSRseEKbn","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-source-control-token-must-detect-07","recipe":"source-control-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["scm_x9sVvK9wowDqlHIfQlcxuYY7RbXdSRseEKbn"]},"customers":{"required_absent":["scm_x9sVvK9wowDqlHIfQlcxuYY7RbXdSRseEKbn"],"required_present":[]},"all":{"required_absent":["scm_x9sVvK9wowDqlHIfQlcxuYY7RbXdSRseEKbn"],"required_present":[]}},"tags":["broad-quality","secret-family:source-control-token","variation:07"],"secret_fixture":{"family":"source-control-token","role":"must-detect"}}, + {"id":"broad-secret-source-control-token-preserve-07","language":"en","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad source-control-token variation.","text":"--\nTroubleshooting reference: b76f96dd2bb3e20f33cbeabdc99e5af86b0bb2af","known_identities":[],"targets":[{"id":"value","kind":"secret","start":30,"end":70,"value":"b76f96dd2bb3e20f33cbeabdc99e5af86b0bb2af","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-source-control-token-preserve-07","recipe":"source-control-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["b76f96dd2bb3e20f33cbeabdc99e5af86b0bb2af"]},"customers":{"required_absent":[],"required_present":["b76f96dd2bb3e20f33cbeabdc99e5af86b0bb2af"]},"all":{"required_absent":[],"required_present":["b76f96dd2bb3e20f33cbeabdc99e5af86b0bb2af"]}},"tags":["broad-quality","secret-family:source-control-token","variation:07"],"secret_fixture":{"family":"source-control-token","role":"preserve"}}, + {"id":"broad-secret-payment-credential-must-detect-00","language":"en","script":"Latin","shape":"long-thread","risk":"critical","reason":"Locked broad payment-credential variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Credential copied from a support reply: paylive_77LVl0OwfXdkjXf91lzO6oyh3ipJraPu","known_identities":[],"targets":[{"id":"value","kind":"secret","start":520,"end":560,"value":"paylive_77LVl0OwfXdkjXf91lzO6oyh3ipJraPu","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-payment-credential-must-detect-00","recipe":"payment-credential","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["paylive_77LVl0OwfXdkjXf91lzO6oyh3ipJraPu"]},"customers":{"required_absent":["paylive_77LVl0OwfXdkjXf91lzO6oyh3ipJraPu"],"required_present":[]},"all":{"required_absent":["paylive_77LVl0OwfXdkjXf91lzO6oyh3ipJraPu"],"required_present":[]}},"tags":["broad-quality","secret-family:payment-credential","variation:00"],"secret_fixture":{"family":"payment-credential","role":"must-detect"}}, + {"id":"broad-secret-payment-credential-preserve-00","language":"en","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad payment-credential variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Public configuration vocabulary: pk_live_PKA2aGFBU8CVIf697LldwsDEPMCHkMOJ","known_identities":[],"targets":[{"id":"value","kind":"secret","start":513,"end":553,"value":"pk_live_PKA2aGFBU8CVIf697LldwsDEPMCHkMOJ","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-payment-credential-preserve-00","recipe":"payment-credential","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["pk_live_PKA2aGFBU8CVIf697LldwsDEPMCHkMOJ"]},"customers":{"required_absent":[],"required_present":["pk_live_PKA2aGFBU8CVIf697LldwsDEPMCHkMOJ"]},"all":{"required_absent":[],"required_present":["pk_live_PKA2aGFBU8CVIf697LldwsDEPMCHkMOJ"]}},"tags":["broad-quality","secret-family:payment-credential","variation:00"],"secret_fixture":{"family":"payment-credential","role":"preserve"}}, + {"id":"broad-secret-payment-credential-must-detect-01","language":"en","script":"Latin","shape":"command-payload","risk":"critical","reason":"Locked broad payment-credential variation.","text":"--sample=1 --message=\"Authorization header value: \" --value=paylive_UNK6hhu4PLTtREEWEHO53aJPGG7Lh4Z8","known_identities":[],"targets":[{"id":"value","kind":"secret","start":60,"end":100,"value":"paylive_UNK6hhu4PLTtREEWEHO53aJPGG7Lh4Z8","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-payment-credential-must-detect-01","recipe":"payment-credential","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["paylive_UNK6hhu4PLTtREEWEHO53aJPGG7Lh4Z8"]},"customers":{"required_absent":["paylive_UNK6hhu4PLTtREEWEHO53aJPGG7Lh4Z8"],"required_present":[]},"all":{"required_absent":["paylive_UNK6hhu4PLTtREEWEHO53aJPGG7Lh4Z8"],"required_present":[]}},"tags":["broad-quality","secret-family:payment-credential","variation:01"],"secret_fixture":{"family":"payment-credential","role":"must-detect"}}, + {"id":"broad-secret-payment-credential-preserve-01","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad payment-credential variation.","text":"--sample=1 --message=\"Documentation syntax: \" --value=pk_live_47F81nLzuPKg2Szf3vMdxf6DygHZ4cvD","known_identities":[],"targets":[{"id":"value","kind":"secret","start":54,"end":94,"value":"pk_live_47F81nLzuPKg2Szf3vMdxf6DygHZ4cvD","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-payment-credential-preserve-01","recipe":"payment-credential","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["pk_live_47F81nLzuPKg2Szf3vMdxf6DygHZ4cvD"]},"customers":{"required_absent":[],"required_present":["pk_live_47F81nLzuPKg2Szf3vMdxf6DygHZ4cvD"]},"all":{"required_absent":[],"required_present":["pk_live_47F81nLzuPKg2Szf3vMdxf6DygHZ4cvD"]}},"tags":["broad-quality","secret-family:payment-credential","variation:01"],"secret_fixture":{"family":"payment-credential","role":"preserve"}}, + {"id":"broad-secret-payment-credential-must-detect-02","language":"en","script":"Latin","shape":"prose","risk":"critical","reason":"Locked broad payment-credential variation.","text":"Log field auth_value=paylive_eBvjZHv4m0jmVt7o4bqfO9yocjInAckw","known_identities":[],"targets":[{"id":"value","kind":"secret","start":21,"end":61,"value":"paylive_eBvjZHv4m0jmVt7o4bqfO9yocjInAckw","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-payment-credential-must-detect-02","recipe":"payment-credential","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["paylive_eBvjZHv4m0jmVt7o4bqfO9yocjInAckw"]},"customers":{"required_absent":["paylive_eBvjZHv4m0jmVt7o4bqfO9yocjInAckw"],"required_present":[]},"all":{"required_absent":["paylive_eBvjZHv4m0jmVt7o4bqfO9yocjInAckw"],"required_present":[]}},"tags":["broad-quality","secret-family:payment-credential","variation:02"],"secret_fixture":{"family":"payment-credential","role":"must-detect"}}, + {"id":"broad-secret-payment-credential-preserve-02","language":"en","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad payment-credential variation.","text":"Public operational identifier: pk_live_meUkNvgDp8CiBIU9c0b9pRZGKBeDAdON","known_identities":[],"targets":[{"id":"value","kind":"secret","start":31,"end":71,"value":"pk_live_meUkNvgDp8CiBIU9c0b9pRZGKBeDAdON","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-payment-credential-preserve-02","recipe":"payment-credential","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["pk_live_meUkNvgDp8CiBIU9c0b9pRZGKBeDAdON"]},"customers":{"required_absent":[],"required_present":["pk_live_meUkNvgDp8CiBIU9c0b9pRZGKBeDAdON"]},"all":{"required_absent":[],"required_present":["pk_live_meUkNvgDp8CiBIU9c0b9pRZGKBeDAdON"]}},"tags":["broad-quality","secret-family:payment-credential","variation:02"],"secret_fixture":{"family":"payment-credential","role":"preserve"}}, + {"id":"broad-secret-payment-credential-must-detect-03","language":"en","script":"Latin","shape":"json","risk":"critical","reason":"Locked broad payment-credential variation.","text":"{\"message_3\":\"Rotating this exposed value: paylive_r3Ssn4zynw63PV0iK7KDZBtKOIvCtr9i\"}","known_identities":[],"targets":[{"id":"value","kind":"secret","start":43,"end":83,"value":"paylive_r3Ssn4zynw63PV0iK7KDZBtKOIvCtr9i","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-payment-credential-must-detect-03","recipe":"payment-credential","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["paylive_r3Ssn4zynw63PV0iK7KDZBtKOIvCtr9i"]},"customers":{"required_absent":["paylive_r3Ssn4zynw63PV0iK7KDZBtKOIvCtr9i"],"required_present":[]},"all":{"required_absent":["paylive_r3Ssn4zynw63PV0iK7KDZBtKOIvCtr9i"],"required_present":[]}},"tags":["broad-quality","secret-family:payment-credential","variation:03"],"secret_fixture":{"family":"payment-credential","role":"must-detect"}}, + {"id":"broad-secret-payment-credential-preserve-03","language":"en","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad payment-credential variation.","text":"{\"message_3\":\"Schema field label: pk_live_755YgqNC5sqdxQ822ffrgZQfFjSAecDA\"}","known_identities":[],"targets":[{"id":"value","kind":"secret","start":34,"end":74,"value":"pk_live_755YgqNC5sqdxQ822ffrgZQfFjSAecDA","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-payment-credential-preserve-03","recipe":"payment-credential","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["pk_live_755YgqNC5sqdxQ822ffrgZQfFjSAecDA"]},"customers":{"required_absent":[],"required_present":["pk_live_755YgqNC5sqdxQ822ffrgZQfFjSAecDA"]},"all":{"required_absent":[],"required_present":["pk_live_755YgqNC5sqdxQ822ffrgZQfFjSAecDA"]}},"tags":["broad-quality","secret-family:payment-credential","variation:03"],"secret_fixture":{"family":"payment-credential","role":"preserve"}}, + {"id":"broad-secret-payment-credential-must-detect-04","language":"en","script":"Latin","shape":"yaml","risk":"critical","reason":"Locked broad payment-credential variation.","text":"message_4: Quoted credential follows: paylive_LiWecu9GOqJqVbb44jslWp1fDbn4tSBn","known_identities":[],"targets":[{"id":"value","kind":"secret","start":38,"end":78,"value":"paylive_LiWecu9GOqJqVbb44jslWp1fDbn4tSBn","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-payment-credential-must-detect-04","recipe":"payment-credential","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["paylive_LiWecu9GOqJqVbb44jslWp1fDbn4tSBn"]},"customers":{"required_absent":["paylive_LiWecu9GOqJqVbb44jslWp1fDbn4tSBn"],"required_present":[]},"all":{"required_absent":["paylive_LiWecu9GOqJqVbb44jslWp1fDbn4tSBn"],"required_present":[]}},"tags":["broad-quality","secret-family:payment-credential","variation:04"],"secret_fixture":{"family":"payment-credential","role":"must-detect"}}, + {"id":"broad-secret-payment-credential-preserve-04","language":"en","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad payment-credential variation.","text":"message_4: Non-confidential protocol token: pk_live_LYgipxicakgYf0hkfHy7HBsDO0pdEugZ","known_identities":[],"targets":[{"id":"value","kind":"secret","start":44,"end":84,"value":"pk_live_LYgipxicakgYf0hkfHy7HBsDO0pdEugZ","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-payment-credential-preserve-04","recipe":"payment-credential","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["pk_live_LYgipxicakgYf0hkfHy7HBsDO0pdEugZ"]},"customers":{"required_absent":[],"required_present":["pk_live_LYgipxicakgYf0hkfHy7HBsDO0pdEugZ"]},"all":{"required_absent":[],"required_present":["pk_live_LYgipxicakgYf0hkfHy7HBsDO0pdEugZ"]}},"tags":["broad-quality","secret-family:payment-credential","variation:04"],"secret_fixture":{"family":"payment-credential","role":"preserve"}}, + {"id":"broad-secret-payment-credential-must-detect-05","language":"en","script":"Latin","shape":"shell","risk":"critical","reason":"Locked broad payment-credential variation.","text":"MESSAGE_5='Configuration secret: paylive_EDqPcwPCU2FBK35mjlnp4Em2DppSCnk9'","known_identities":[],"targets":[{"id":"value","kind":"secret","start":33,"end":73,"value":"paylive_EDqPcwPCU2FBK35mjlnp4Em2DppSCnk9","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-payment-credential-must-detect-05","recipe":"payment-credential","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["paylive_EDqPcwPCU2FBK35mjlnp4Em2DppSCnk9"]},"customers":{"required_absent":["paylive_EDqPcwPCU2FBK35mjlnp4Em2DppSCnk9"],"required_present":[]},"all":{"required_absent":["paylive_EDqPcwPCU2FBK35mjlnp4Em2DppSCnk9"],"required_present":[]}},"tags":["broad-quality","secret-family:payment-credential","variation:05"],"secret_fixture":{"family":"payment-credential","role":"must-detect"}}, + {"id":"broad-secret-payment-credential-preserve-05","language":"en","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad payment-credential variation.","text":"MESSAGE_5='Release metadata: pk_live_zm2mfC1OZFq1EKYzmK1jnFKU4lNP2n6F'","known_identities":[],"targets":[{"id":"value","kind":"secret","start":29,"end":69,"value":"pk_live_zm2mfC1OZFq1EKYzmK1jnFKU4lNP2n6F","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-payment-credential-preserve-05","recipe":"payment-credential","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["pk_live_zm2mfC1OZFq1EKYzmK1jnFKU4lNP2n6F"]},"customers":{"required_absent":[],"required_present":["pk_live_zm2mfC1OZFq1EKYzmK1jnFKU4lNP2n6F"]},"all":{"required_absent":[],"required_present":["pk_live_zm2mfC1OZFq1EKYzmK1jnFKU4lNP2n6F"]}},"tags":["broad-quality","secret-family:payment-credential","variation:05"],"secret_fixture":{"family":"payment-credential","role":"preserve"}}, + {"id":"broad-secret-payment-credential-must-detect-06","language":"en","script":"Latin","shape":"url","risk":"critical","reason":"Locked broad payment-credential variation.","text":"endpoint=https://192.0.2.10/6 ; Stack trace captured credential paylive_eABCSmj0rrP7DUH7ZqAbS6tCF3P4FzOa","known_identities":[],"targets":[{"id":"value","kind":"secret","start":64,"end":104,"value":"paylive_eABCSmj0rrP7DUH7ZqAbS6tCF3P4FzOa","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-payment-credential-must-detect-06","recipe":"payment-credential","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["paylive_eABCSmj0rrP7DUH7ZqAbS6tCF3P4FzOa"]},"customers":{"required_absent":["paylive_eABCSmj0rrP7DUH7ZqAbS6tCF3P4FzOa"],"required_present":[]},"all":{"required_absent":["paylive_eABCSmj0rrP7DUH7ZqAbS6tCF3P4FzOa"],"required_present":[]}},"tags":["broad-quality","secret-family:payment-credential","variation:06"],"secret_fixture":{"family":"payment-credential","role":"must-detect"}}, + {"id":"broad-secret-payment-credential-preserve-06","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad payment-credential variation.","text":"endpoint=https://192.0.2.10/6 ; Public verification material: pk_live_2uhEUeE7zRvsGI2VWYiqbEoHNz1FfHvw","known_identities":[],"targets":[{"id":"value","kind":"secret","start":62,"end":102,"value":"pk_live_2uhEUeE7zRvsGI2VWYiqbEoHNz1FfHvw","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-payment-credential-preserve-06","recipe":"payment-credential","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["pk_live_2uhEUeE7zRvsGI2VWYiqbEoHNz1FfHvw"]},"customers":{"required_absent":[],"required_present":["pk_live_2uhEUeE7zRvsGI2VWYiqbEoHNz1FfHvw"]},"all":{"required_absent":[],"required_present":["pk_live_2uhEUeE7zRvsGI2VWYiqbEoHNz1FfHvw"]}},"tags":["broad-quality","secret-family:payment-credential","variation:06"],"secret_fixture":{"family":"payment-credential","role":"preserve"}}, + {"id":"broad-secret-payment-credential-must-detect-07","language":"en","script":"Latin","shape":"markdown","risk":"critical","reason":"Locked broad payment-credential variation.","text":"**Wrapped message credential: paylive_EGiA0xMaTH6ROn3xfPKwP8xTzKVHXusV**","known_identities":[],"targets":[{"id":"value","kind":"secret","start":30,"end":70,"value":"paylive_EGiA0xMaTH6ROn3xfPKwP8xTzKVHXusV","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-payment-credential-must-detect-07","recipe":"payment-credential","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["paylive_EGiA0xMaTH6ROn3xfPKwP8xTzKVHXusV"]},"customers":{"required_absent":["paylive_EGiA0xMaTH6ROn3xfPKwP8xTzKVHXusV"],"required_present":[]},"all":{"required_absent":["paylive_EGiA0xMaTH6ROn3xfPKwP8xTzKVHXusV"],"required_present":[]}},"tags":["broad-quality","secret-family:payment-credential","variation:07"],"secret_fixture":{"family":"payment-credential","role":"must-detect"}}, + {"id":"broad-secret-payment-credential-preserve-07","language":"en","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad payment-credential variation.","text":"**Troubleshooting reference: pk_live_83t0xgyoJ4PMtuD1aX7qCqGfZzGhaQL8**","known_identities":[],"targets":[{"id":"value","kind":"secret","start":29,"end":69,"value":"pk_live_83t0xgyoJ4PMtuD1aX7qCqGfZzGhaQL8","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-payment-credential-preserve-07","recipe":"payment-credential","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["pk_live_83t0xgyoJ4PMtuD1aX7qCqGfZzGhaQL8"]},"customers":{"required_absent":[],"required_present":["pk_live_83t0xgyoJ4PMtuD1aX7qCqGfZzGhaQL8"]},"all":{"required_absent":[],"required_present":["pk_live_83t0xgyoJ4PMtuD1aX7qCqGfZzGhaQL8"]}},"tags":["broad-quality","secret-family:payment-credential","variation:07"],"secret_fixture":{"family":"payment-credential","role":"preserve"}}, + {"id":"broad-secret-observability-token-must-detect-00","language":"en","script":"Latin","shape":"html","risk":"critical","reason":"Locked broad observability-token variation.","text":"\u003cp\u003eCredential copied from a support reply: obsap_467dfd20dbc1adef94d51a706b6fe937\u003c/p\u003e","known_identities":[],"targets":[{"id":"value","kind":"secret","start":43,"end":81,"value":"obsap_467dfd20dbc1adef94d51a706b6fe937","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-observability-token-must-detect-00","recipe":"observability-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["obsap_467dfd20dbc1adef94d51a706b6fe937"]},"customers":{"required_absent":["obsap_467dfd20dbc1adef94d51a706b6fe937"],"required_present":[]},"all":{"required_absent":["obsap_467dfd20dbc1adef94d51a706b6fe937"],"required_present":[]}},"tags":["broad-quality","secret-family:observability-token","variation:00"],"secret_fixture":{"family":"observability-token","role":"must-detect"}}, + {"id":"broad-secret-observability-token-preserve-00","language":"en","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad observability-token variation.","text":"\u003cp\u003ePublic configuration vocabulary: eefbf6b91b5fcd6c89b08d90b74c5ca8\u003c/p\u003e","known_identities":[],"targets":[{"id":"value","kind":"secret","start":36,"end":68,"value":"eefbf6b91b5fcd6c89b08d90b74c5ca8","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-observability-token-preserve-00","recipe":"observability-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["eefbf6b91b5fcd6c89b08d90b74c5ca8"]},"customers":{"required_absent":[],"required_present":["eefbf6b91b5fcd6c89b08d90b74c5ca8"]},"all":{"required_absent":[],"required_present":["eefbf6b91b5fcd6c89b08d90b74c5ca8"]}},"tags":["broad-quality","secret-family:observability-token","variation:00"],"secret_fixture":{"family":"observability-token","role":"preserve"}}, + {"id":"broad-secret-observability-token-must-detect-01","language":"en","script":"Latin","shape":"quoted-reply","risk":"critical","reason":"Locked broad observability-token variation.","text":"\u003e Authorization header value: obsap_7cecd20ca6eb2e9821f07fdca28c3269","known_identities":[],"targets":[{"id":"value","kind":"secret","start":30,"end":68,"value":"obsap_7cecd20ca6eb2e9821f07fdca28c3269","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-observability-token-must-detect-01","recipe":"observability-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["obsap_7cecd20ca6eb2e9821f07fdca28c3269"]},"customers":{"required_absent":["obsap_7cecd20ca6eb2e9821f07fdca28c3269"],"required_present":[]},"all":{"required_absent":["obsap_7cecd20ca6eb2e9821f07fdca28c3269"],"required_present":[]}},"tags":["broad-quality","secret-family:observability-token","variation:01"],"secret_fixture":{"family":"observability-token","role":"must-detect"}}, + {"id":"broad-secret-observability-token-preserve-01","language":"en","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad observability-token variation.","text":"\u003e Documentation syntax: e9fe45c64a12cccc79d80ee8d88e5cdd","known_identities":[],"targets":[{"id":"value","kind":"secret","start":24,"end":56,"value":"e9fe45c64a12cccc79d80ee8d88e5cdd","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-observability-token-preserve-01","recipe":"observability-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["e9fe45c64a12cccc79d80ee8d88e5cdd"]},"customers":{"required_absent":[],"required_present":["e9fe45c64a12cccc79d80ee8d88e5cdd"]},"all":{"required_absent":[],"required_present":["e9fe45c64a12cccc79d80ee8d88e5cdd"]}},"tags":["broad-quality","secret-family:observability-token","variation:01"],"secret_fixture":{"family":"observability-token","role":"preserve"}}, + {"id":"broad-secret-observability-token-must-detect-02","language":"en","script":"Latin","shape":"log","risk":"critical","reason":"Locked broad observability-token variation.","text":"level=warn sample=2 message=\"Log field auth_value=\" value=obsap_d41b620bcaa4e3bf63bedcc2d7913561","known_identities":[],"targets":[{"id":"value","kind":"secret","start":58,"end":96,"value":"obsap_d41b620bcaa4e3bf63bedcc2d7913561","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-observability-token-must-detect-02","recipe":"observability-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["obsap_d41b620bcaa4e3bf63bedcc2d7913561"]},"customers":{"required_absent":["obsap_d41b620bcaa4e3bf63bedcc2d7913561"],"required_present":[]},"all":{"required_absent":["obsap_d41b620bcaa4e3bf63bedcc2d7913561"],"required_present":[]}},"tags":["broad-quality","secret-family:observability-token","variation:02"],"secret_fixture":{"family":"observability-token","role":"must-detect"}}, + {"id":"broad-secret-observability-token-preserve-02","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad observability-token variation.","text":"level=warn sample=2 message=\"Public operational identifier: \" value=fa8ab0e35b97eecbd1b33fbefadb6ef1","known_identities":[],"targets":[{"id":"value","kind":"secret","start":68,"end":100,"value":"fa8ab0e35b97eecbd1b33fbefadb6ef1","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-observability-token-preserve-02","recipe":"observability-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["fa8ab0e35b97eecbd1b33fbefadb6ef1"]},"customers":{"required_absent":[],"required_present":["fa8ab0e35b97eecbd1b33fbefadb6ef1"]},"all":{"required_absent":[],"required_present":["fa8ab0e35b97eecbd1b33fbefadb6ef1"]}},"tags":["broad-quality","secret-family:observability-token","variation:02"],"secret_fixture":{"family":"observability-token","role":"preserve"}}, + {"id":"broad-secret-observability-token-must-detect-03","language":"en","script":"Latin","shape":"stack-trace","risk":"critical","reason":"Locked broad observability-token variation.","text":"Trace[3]: Rotating this exposed value: obsap_8ad9061d382acb4ad876e933a3b13f0c","known_identities":[],"targets":[{"id":"value","kind":"secret","start":39,"end":77,"value":"obsap_8ad9061d382acb4ad876e933a3b13f0c","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-observability-token-must-detect-03","recipe":"observability-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["obsap_8ad9061d382acb4ad876e933a3b13f0c"]},"customers":{"required_absent":["obsap_8ad9061d382acb4ad876e933a3b13f0c"],"required_present":[]},"all":{"required_absent":["obsap_8ad9061d382acb4ad876e933a3b13f0c"],"required_present":[]}},"tags":["broad-quality","secret-family:observability-token","variation:03"],"secret_fixture":{"family":"observability-token","role":"must-detect"}}, + {"id":"broad-secret-observability-token-preserve-03","language":"en","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad observability-token variation.","text":"Trace[3]: Schema field label: ecefd0c5aa76b94a07a84b36df1e26c9","known_identities":[],"targets":[{"id":"value","kind":"secret","start":30,"end":62,"value":"ecefd0c5aa76b94a07a84b36df1e26c9","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-observability-token-preserve-03","recipe":"observability-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["ecefd0c5aa76b94a07a84b36df1e26c9"]},"customers":{"required_absent":[],"required_present":["ecefd0c5aa76b94a07a84b36df1e26c9"]},"all":{"required_absent":[],"required_present":["ecefd0c5aa76b94a07a84b36df1e26c9"]}},"tags":["broad-quality","secret-family:observability-token","variation:03"],"secret_fixture":{"family":"observability-token","role":"preserve"}}, + {"id":"broad-secret-observability-token-must-detect-04","language":"en","script":"Latin","shape":"code","risk":"critical","reason":"Locked broad observability-token variation.","text":"fixture_4 := `Quoted credential follows: obsap_19494d979ffed3a989323819bcfcb2c8`","known_identities":[],"targets":[{"id":"value","kind":"secret","start":41,"end":79,"value":"obsap_19494d979ffed3a989323819bcfcb2c8","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-observability-token-must-detect-04","recipe":"observability-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["obsap_19494d979ffed3a989323819bcfcb2c8"]},"customers":{"required_absent":["obsap_19494d979ffed3a989323819bcfcb2c8"],"required_present":[]},"all":{"required_absent":["obsap_19494d979ffed3a989323819bcfcb2c8"],"required_present":[]}},"tags":["broad-quality","secret-family:observability-token","variation:04"],"secret_fixture":{"family":"observability-token","role":"must-detect"}}, + {"id":"broad-secret-observability-token-preserve-04","language":"en","script":"Latin","shape":"code","risk":"preservation","reason":"Locked broad observability-token variation.","text":"fixture_4 := `Non-confidential protocol token: a0bb66e76ebbdf6f1bfc3ba3c38dadaf`","known_identities":[],"targets":[{"id":"value","kind":"secret","start":47,"end":79,"value":"a0bb66e76ebbdf6f1bfc3ba3c38dadaf","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-observability-token-preserve-04","recipe":"observability-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["a0bb66e76ebbdf6f1bfc3ba3c38dadaf"]},"customers":{"required_absent":[],"required_present":["a0bb66e76ebbdf6f1bfc3ba3c38dadaf"]},"all":{"required_absent":[],"required_present":["a0bb66e76ebbdf6f1bfc3ba3c38dadaf"]}},"tags":["broad-quality","secret-family:observability-token","variation:04"],"secret_fixture":{"family":"observability-token","role":"preserve"}}, + {"id":"broad-secret-observability-token-must-detect-05","language":"en","script":"Latin","shape":"signature","risk":"critical","reason":"Locked broad observability-token variation.","text":"--\nConfiguration secret: obsap_eb3d03d87632a4ff2493c0015ddb39e1","known_identities":[],"targets":[{"id":"value","kind":"secret","start":25,"end":63,"value":"obsap_eb3d03d87632a4ff2493c0015ddb39e1","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-observability-token-must-detect-05","recipe":"observability-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["obsap_eb3d03d87632a4ff2493c0015ddb39e1"]},"customers":{"required_absent":["obsap_eb3d03d87632a4ff2493c0015ddb39e1"],"required_present":[]},"all":{"required_absent":["obsap_eb3d03d87632a4ff2493c0015ddb39e1"],"required_present":[]}},"tags":["broad-quality","secret-family:observability-token","variation:05"],"secret_fixture":{"family":"observability-token","role":"must-detect"}}, + {"id":"broad-secret-observability-token-preserve-05","language":"en","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad observability-token variation.","text":"--\nRelease metadata: e30b45d9afd1c87fbec51bf0cf4f18bb","known_identities":[],"targets":[{"id":"value","kind":"secret","start":21,"end":53,"value":"e30b45d9afd1c87fbec51bf0cf4f18bb","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-observability-token-preserve-05","recipe":"observability-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["e30b45d9afd1c87fbec51bf0cf4f18bb"]},"customers":{"required_absent":[],"required_present":["e30b45d9afd1c87fbec51bf0cf4f18bb"]},"all":{"required_absent":[],"required_present":["e30b45d9afd1c87fbec51bf0cf4f18bb"]}},"tags":["broad-quality","secret-family:observability-token","variation:05"],"secret_fixture":{"family":"observability-token","role":"preserve"}}, + {"id":"broad-secret-observability-token-must-detect-06","language":"en","script":"Latin","shape":"long-thread","risk":"critical","reason":"Locked broad observability-token variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Stack trace captured credential obsap_2138547ffffc51a3c09b8ac55980739a","known_identities":[],"targets":[{"id":"value","kind":"secret","start":512,"end":550,"value":"obsap_2138547ffffc51a3c09b8ac55980739a","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-observability-token-must-detect-06","recipe":"observability-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["obsap_2138547ffffc51a3c09b8ac55980739a"]},"customers":{"required_absent":["obsap_2138547ffffc51a3c09b8ac55980739a"],"required_present":[]},"all":{"required_absent":["obsap_2138547ffffc51a3c09b8ac55980739a"],"required_present":[]}},"tags":["broad-quality","secret-family:observability-token","variation:06"],"secret_fixture":{"family":"observability-token","role":"must-detect"}}, + {"id":"broad-secret-observability-token-preserve-06","language":"en","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad observability-token variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Public verification material: a18e28da7ab4dcca58ac5abcf4bcb5fa","known_identities":[],"targets":[{"id":"value","kind":"secret","start":510,"end":542,"value":"a18e28da7ab4dcca58ac5abcf4bcb5fa","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-observability-token-preserve-06","recipe":"observability-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["a18e28da7ab4dcca58ac5abcf4bcb5fa"]},"customers":{"required_absent":[],"required_present":["a18e28da7ab4dcca58ac5abcf4bcb5fa"]},"all":{"required_absent":[],"required_present":["a18e28da7ab4dcca58ac5abcf4bcb5fa"]}},"tags":["broad-quality","secret-family:observability-token","variation:06"],"secret_fixture":{"family":"observability-token","role":"preserve"}}, + {"id":"broad-secret-observability-token-must-detect-07","language":"en","script":"Latin","shape":"command-payload","risk":"critical","reason":"Locked broad observability-token variation.","text":"--sample=7 --message=\"Wrapped message credential: \" --value=obsap_24e8796d4eecfdb2b42f553e5491e7d0","known_identities":[],"targets":[{"id":"value","kind":"secret","start":60,"end":98,"value":"obsap_24e8796d4eecfdb2b42f553e5491e7d0","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-observability-token-must-detect-07","recipe":"observability-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["obsap_24e8796d4eecfdb2b42f553e5491e7d0"]},"customers":{"required_absent":["obsap_24e8796d4eecfdb2b42f553e5491e7d0"],"required_present":[]},"all":{"required_absent":["obsap_24e8796d4eecfdb2b42f553e5491e7d0"],"required_present":[]}},"tags":["broad-quality","secret-family:observability-token","variation:07"],"secret_fixture":{"family":"observability-token","role":"must-detect"}}, + {"id":"broad-secret-observability-token-preserve-07","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad observability-token variation.","text":"--sample=7 --message=\"Troubleshooting reference: \" --value=c84d46e1ba62f5ba1abf7ed5f6da41ae","known_identities":[],"targets":[{"id":"value","kind":"secret","start":59,"end":91,"value":"c84d46e1ba62f5ba1abf7ed5f6da41ae","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-observability-token-preserve-07","recipe":"observability-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["c84d46e1ba62f5ba1abf7ed5f6da41ae"]},"customers":{"required_absent":[],"required_present":["c84d46e1ba62f5ba1abf7ed5f6da41ae"]},"all":{"required_absent":[],"required_present":["c84d46e1ba62f5ba1abf7ed5f6da41ae"]}},"tags":["broad-quality","secret-family:observability-token","variation:07"],"secret_fixture":{"family":"observability-token","role":"preserve"}} + ] +} diff --git a/internal/pii/testdata/privacy-filter/v1/command-output-payloads.json b/internal/pii/testdata/privacy-filter/v1/command-output-payloads.json index 9e59fab..126253b 100644 --- a/internal/pii/testdata/privacy-filter/v1/command-output-payloads.json +++ b/internal/pii/testdata/privacy-filter/v1/command-output-payloads.json @@ -3,13 +3,13 @@ "partition": "command-output-payloads", "cases": [ { - "id": "command-secret-all-boundaries", + "id": "command-boundary-table-must-detect", "language": "en", "script": "Latin", "shape": "command-payload", "risk": "critical", - "reason": "A synthetic secret must be absent from every command, output, MCP, error, and diagnostic boundary.", - "text": "{\"ticket\":\"TICKET-EXAMPLE-42\",\"message\":\"secret=not-a-real-example-command-secret-73af\"}", + "reason": "The independently exercised table boundary has a locked must-detect expectation.", + "text": "{\"ticket\":\"TICKET-EXAMPLE-42\",\"message\":\"value=cmdtok_MTA6JwObqiOlkeBgF5UUvDriWxEGlxYC6MyS-6Fx\"}", "known_identities": [], "targets": [ { @@ -26,12 +26,19 @@ } }, { - "id": "secret", + "id": "secret-shape", "kind": "secret", - "start": 48, - "end": 86, - "value": "not-a-real-example-command-secret-73af", + "start": 47, + "end": 94, + "value": "cmdtok_MTA6JwObqiOlkeBgF5UUvDriWxEGlxYC6MyS-6Fx", "match": "covering", + "synthetic": { + "generator": "hs-privacy-structural", + "version": 1, + "seed": "smoke-boundary-table-must-detect", + "recipe": "command-secret", + "purpose": "must-detect" + }, "actions": { "off": "preserve", "customers": "redact", @@ -44,12 +51,12 @@ "required_absent": [], "required_present": [ "TICKET-EXAMPLE-42", - "not-a-real-example-command-secret-73af" + "cmdtok_MTA6JwObqiOlkeBgF5UUvDriWxEGlxYC6MyS-6Fx" ] }, "customers": { "required_absent": [ - "not-a-real-example-command-secret-73af" + "cmdtok_MTA6JwObqiOlkeBgF5UUvDriWxEGlxYC6MyS-6Fx" ], "required_present": [ "TICKET-EXAMPLE-42" @@ -57,7 +64,7 @@ }, "all": { "required_absent": [ - "not-a-real-example-command-secret-73af" + "cmdtok_MTA6JwObqiOlkeBgF5UUvDriWxEGlxYC6MyS-6Fx" ], "required_present": [ "TICKET-EXAMPLE-42" @@ -67,18 +74,1856 @@ "tags": [ "command-output", "boundary:table", + "synthetic-generator:v1" + ] + }, + { + "id": "command-boundary-table-preserve", + "language": "en", + "script": "Latin", + "shape": "command-payload", + "risk": "preservation", + "reason": "The independently exercised table boundary has a locked preserve expectation.", + "text": "{\"ticket\":\"TICKET-EXAMPLE-42\",\"message\":\"value=f15d7ff93d97a12ab8b64a96e98e63e58af4ddfb50d4ddb7dfee04a30e05d9eb\"}", + "known_identities": [], + "targets": [ + { + "id": "ticket", + "kind": "account_number", + "start": 11, + "end": 28, + "value": "TICKET-EXAMPLE-42", + "match": "exact", + "actions": { + "off": "preserve", + "customers": "preserve", + "all": "preserve" + } + }, + { + "id": "secret-shape", + "kind": "secret", + "start": 47, + "end": 111, + "value": "f15d7ff93d97a12ab8b64a96e98e63e58af4ddfb50d4ddb7dfee04a30e05d9eb", + "match": "exact", + "synthetic": { + "generator": "hs-privacy-structural", + "version": 1, + "seed": "smoke-boundary-table-preserve", + "recipe": "checksum", + "purpose": "preserve" + }, + "actions": { + "off": "preserve", + "customers": "preserve", + "all": "preserve" + } + } + ], + "outputs": { + "off": { + "required_absent": [], + "required_present": [ + "TICKET-EXAMPLE-42", + "f15d7ff93d97a12ab8b64a96e98e63e58af4ddfb50d4ddb7dfee04a30e05d9eb" + ] + }, + "customers": { + "required_absent": [], + "required_present": [ + "TICKET-EXAMPLE-42", + "f15d7ff93d97a12ab8b64a96e98e63e58af4ddfb50d4ddb7dfee04a30e05d9eb" + ] + }, + "all": { + "required_absent": [], + "required_present": [ + "TICKET-EXAMPLE-42", + "f15d7ff93d97a12ab8b64a96e98e63e58af4ddfb50d4ddb7dfee04a30e05d9eb" + ] + } + }, + "tags": [ + "command-output", + "boundary:table", + "synthetic-generator:v1" + ] + }, + { + "id": "command-boundary-json-must-detect", + "language": "en", + "script": "Latin", + "shape": "command-payload", + "risk": "critical", + "reason": "The independently exercised json boundary has a locked must-detect expectation.", + "text": "{\"ticket\":\"TICKET-EXAMPLE-42\",\"message\":\"value=cmdtok_f6Drl9XXcJsJTw9_rE77SLi_BI4cHbCwKbqMcfQ3\"}", + "known_identities": [], + "targets": [ + { + "id": "ticket", + "kind": "account_number", + "start": 11, + "end": 28, + "value": "TICKET-EXAMPLE-42", + "match": "exact", + "actions": { + "off": "preserve", + "customers": "preserve", + "all": "preserve" + } + }, + { + "id": "secret-shape", + "kind": "secret", + "start": 47, + "end": 94, + "value": "cmdtok_f6Drl9XXcJsJTw9_rE77SLi_BI4cHbCwKbqMcfQ3", + "match": "covering", + "synthetic": { + "generator": "hs-privacy-structural", + "version": 1, + "seed": "smoke-boundary-json-must-detect", + "recipe": "command-secret", + "purpose": "must-detect" + }, + "actions": { + "off": "preserve", + "customers": "redact", + "all": "redact" + } + } + ], + "outputs": { + "off": { + "required_absent": [], + "required_present": [ + "TICKET-EXAMPLE-42", + "cmdtok_f6Drl9XXcJsJTw9_rE77SLi_BI4cHbCwKbqMcfQ3" + ] + }, + "customers": { + "required_absent": [ + "cmdtok_f6Drl9XXcJsJTw9_rE77SLi_BI4cHbCwKbqMcfQ3" + ], + "required_present": [ + "TICKET-EXAMPLE-42" + ] + }, + "all": { + "required_absent": [ + "cmdtok_f6Drl9XXcJsJTw9_rE77SLi_BI4cHbCwKbqMcfQ3" + ], + "required_present": [ + "TICKET-EXAMPLE-42" + ] + } + }, + "tags": [ + "command-output", + "boundary:json", + "synthetic-generator:v1" + ] + }, + { + "id": "command-boundary-json-preserve", + "language": "en", + "script": "Latin", + "shape": "command-payload", + "risk": "preservation", + "reason": "The independently exercised json boundary has a locked preserve expectation.", + "text": "{\"ticket\":\"TICKET-EXAMPLE-42\",\"message\":\"value=ab5beaf4fc9ec5ef76a51c6da16fb5a1ace4cf6a62a07a95a51d31a8ef91e06c\"}", + "known_identities": [], + "targets": [ + { + "id": "ticket", + "kind": "account_number", + "start": 11, + "end": 28, + "value": "TICKET-EXAMPLE-42", + "match": "exact", + "actions": { + "off": "preserve", + "customers": "preserve", + "all": "preserve" + } + }, + { + "id": "secret-shape", + "kind": "secret", + "start": 47, + "end": 111, + "value": "ab5beaf4fc9ec5ef76a51c6da16fb5a1ace4cf6a62a07a95a51d31a8ef91e06c", + "match": "exact", + "synthetic": { + "generator": "hs-privacy-structural", + "version": 1, + "seed": "smoke-boundary-json-preserve", + "recipe": "checksum", + "purpose": "preserve" + }, + "actions": { + "off": "preserve", + "customers": "preserve", + "all": "preserve" + } + } + ], + "outputs": { + "off": { + "required_absent": [], + "required_present": [ + "TICKET-EXAMPLE-42", + "ab5beaf4fc9ec5ef76a51c6da16fb5a1ace4cf6a62a07a95a51d31a8ef91e06c" + ] + }, + "customers": { + "required_absent": [], + "required_present": [ + "TICKET-EXAMPLE-42", + "ab5beaf4fc9ec5ef76a51c6da16fb5a1ace4cf6a62a07a95a51d31a8ef91e06c" + ] + }, + "all": { + "required_absent": [], + "required_present": [ + "TICKET-EXAMPLE-42", + "ab5beaf4fc9ec5ef76a51c6da16fb5a1ace4cf6a62a07a95a51d31a8ef91e06c" + ] + } + }, + "tags": [ + "command-output", "boundary:json", + "synthetic-generator:v1" + ] + }, + { + "id": "command-boundary-json-full-must-detect", + "language": "en", + "script": "Latin", + "shape": "command-payload", + "risk": "critical", + "reason": "The independently exercised json-full boundary has a locked must-detect expectation.", + "text": "{\"ticket\":\"TICKET-EXAMPLE-42\",\"message\":\"value=cmdtok_FJUleK4XANHScQE5nqOhV5JXCuHfiTlbscylI2CV\"}", + "known_identities": [], + "targets": [ + { + "id": "ticket", + "kind": "account_number", + "start": 11, + "end": 28, + "value": "TICKET-EXAMPLE-42", + "match": "exact", + "actions": { + "off": "preserve", + "customers": "preserve", + "all": "preserve" + } + }, + { + "id": "secret-shape", + "kind": "secret", + "start": 47, + "end": 94, + "value": "cmdtok_FJUleK4XANHScQE5nqOhV5JXCuHfiTlbscylI2CV", + "match": "covering", + "synthetic": { + "generator": "hs-privacy-structural", + "version": 1, + "seed": "smoke-boundary-json-full-must-detect", + "recipe": "command-secret", + "purpose": "must-detect" + }, + "actions": { + "off": "preserve", + "customers": "redact", + "all": "redact" + } + } + ], + "outputs": { + "off": { + "required_absent": [], + "required_present": [ + "TICKET-EXAMPLE-42", + "cmdtok_FJUleK4XANHScQE5nqOhV5JXCuHfiTlbscylI2CV" + ] + }, + "customers": { + "required_absent": [ + "cmdtok_FJUleK4XANHScQE5nqOhV5JXCuHfiTlbscylI2CV" + ], + "required_present": [ + "TICKET-EXAMPLE-42" + ] + }, + "all": { + "required_absent": [ + "cmdtok_FJUleK4XANHScQE5nqOhV5JXCuHfiTlbscylI2CV" + ], + "required_present": [ + "TICKET-EXAMPLE-42" + ] + } + }, + "tags": [ + "command-output", "boundary:json-full", + "synthetic-generator:v1" + ] + }, + { + "id": "command-boundary-json-full-preserve", + "language": "en", + "script": "Latin", + "shape": "command-payload", + "risk": "preservation", + "reason": "The independently exercised json-full boundary has a locked preserve expectation.", + "text": "{\"ticket\":\"TICKET-EXAMPLE-42\",\"message\":\"value=e9eb3ff25f05b7cc7bd11e8ed73aa9d9aa5ffbec04e63d7afc8dd2c9ceaecc7e\"}", + "known_identities": [], + "targets": [ + { + "id": "ticket", + "kind": "account_number", + "start": 11, + "end": 28, + "value": "TICKET-EXAMPLE-42", + "match": "exact", + "actions": { + "off": "preserve", + "customers": "preserve", + "all": "preserve" + } + }, + { + "id": "secret-shape", + "kind": "secret", + "start": 47, + "end": 111, + "value": "e9eb3ff25f05b7cc7bd11e8ed73aa9d9aa5ffbec04e63d7afc8dd2c9ceaecc7e", + "match": "exact", + "synthetic": { + "generator": "hs-privacy-structural", + "version": 1, + "seed": "smoke-boundary-json-full-preserve", + "recipe": "checksum", + "purpose": "preserve" + }, + "actions": { + "off": "preserve", + "customers": "preserve", + "all": "preserve" + } + } + ], + "outputs": { + "off": { + "required_absent": [], + "required_present": [ + "TICKET-EXAMPLE-42", + "e9eb3ff25f05b7cc7bd11e8ed73aa9d9aa5ffbec04e63d7afc8dd2c9ceaecc7e" + ] + }, + "customers": { + "required_absent": [], + "required_present": [ + "TICKET-EXAMPLE-42", + "e9eb3ff25f05b7cc7bd11e8ed73aa9d9aa5ffbec04e63d7afc8dd2c9ceaecc7e" + ] + }, + "all": { + "required_absent": [], + "required_present": [ + "TICKET-EXAMPLE-42", + "e9eb3ff25f05b7cc7bd11e8ed73aa9d9aa5ffbec04e63d7afc8dd2c9ceaecc7e" + ] + } + }, + "tags": [ + "command-output", + "boundary:json-full", + "synthetic-generator:v1" + ] + }, + { + "id": "command-boundary-csv-must-detect", + "language": "en", + "script": "Latin", + "shape": "command-payload", + "risk": "critical", + "reason": "The independently exercised csv boundary has a locked must-detect expectation.", + "text": "{\"ticket\":\"TICKET-EXAMPLE-42\",\"message\":\"value=cmdtok_m9XikpVtl8DwyX5sIEzqexw5hQAmeiT0sX_duLss\"}", + "known_identities": [], + "targets": [ + { + "id": "ticket", + "kind": "account_number", + "start": 11, + "end": 28, + "value": "TICKET-EXAMPLE-42", + "match": "exact", + "actions": { + "off": "preserve", + "customers": "preserve", + "all": "preserve" + } + }, + { + "id": "secret-shape", + "kind": "secret", + "start": 47, + "end": 94, + "value": "cmdtok_m9XikpVtl8DwyX5sIEzqexw5hQAmeiT0sX_duLss", + "match": "covering", + "synthetic": { + "generator": "hs-privacy-structural", + "version": 1, + "seed": "smoke-boundary-csv-must-detect", + "recipe": "command-secret", + "purpose": "must-detect" + }, + "actions": { + "off": "preserve", + "customers": "redact", + "all": "redact" + } + } + ], + "outputs": { + "off": { + "required_absent": [], + "required_present": [ + "TICKET-EXAMPLE-42", + "cmdtok_m9XikpVtl8DwyX5sIEzqexw5hQAmeiT0sX_duLss" + ] + }, + "customers": { + "required_absent": [ + "cmdtok_m9XikpVtl8DwyX5sIEzqexw5hQAmeiT0sX_duLss" + ], + "required_present": [ + "TICKET-EXAMPLE-42" + ] + }, + "all": { + "required_absent": [ + "cmdtok_m9XikpVtl8DwyX5sIEzqexw5hQAmeiT0sX_duLss" + ], + "required_present": [ + "TICKET-EXAMPLE-42" + ] + } + }, + "tags": [ + "command-output", + "boundary:csv", + "synthetic-generator:v1" + ] + }, + { + "id": "command-boundary-csv-preserve", + "language": "en", + "script": "Latin", + "shape": "command-payload", + "risk": "preservation", + "reason": "The independently exercised csv boundary has a locked preserve expectation.", + "text": "{\"ticket\":\"TICKET-EXAMPLE-42\",\"message\":\"value=b35ccfa69f49b9cde1bfda37acbc30ec9bdbdf0e84ca3d8bd1eed2c39a00d36e\"}", + "known_identities": [], + "targets": [ + { + "id": "ticket", + "kind": "account_number", + "start": 11, + "end": 28, + "value": "TICKET-EXAMPLE-42", + "match": "exact", + "actions": { + "off": "preserve", + "customers": "preserve", + "all": "preserve" + } + }, + { + "id": "secret-shape", + "kind": "secret", + "start": 47, + "end": 111, + "value": "b35ccfa69f49b9cde1bfda37acbc30ec9bdbdf0e84ca3d8bd1eed2c39a00d36e", + "match": "exact", + "synthetic": { + "generator": "hs-privacy-structural", + "version": 1, + "seed": "smoke-boundary-csv-preserve", + "recipe": "checksum", + "purpose": "preserve" + }, + "actions": { + "off": "preserve", + "customers": "preserve", + "all": "preserve" + } + } + ], + "outputs": { + "off": { + "required_absent": [], + "required_present": [ + "TICKET-EXAMPLE-42", + "b35ccfa69f49b9cde1bfda37acbc30ec9bdbdf0e84ca3d8bd1eed2c39a00d36e" + ] + }, + "customers": { + "required_absent": [], + "required_present": [ + "TICKET-EXAMPLE-42", + "b35ccfa69f49b9cde1bfda37acbc30ec9bdbdf0e84ca3d8bd1eed2c39a00d36e" + ] + }, + "all": { + "required_absent": [], + "required_present": [ + "TICKET-EXAMPLE-42", + "b35ccfa69f49b9cde1bfda37acbc30ec9bdbdf0e84ca3d8bd1eed2c39a00d36e" + ] + } + }, + "tags": [ + "command-output", "boundary:csv", + "synthetic-generator:v1" + ] + }, + { + "id": "command-boundary-source-must-detect", + "language": "en", + "script": "Latin", + "shape": "command-payload", + "risk": "critical", + "reason": "The independently exercised source boundary has a locked must-detect expectation.", + "text": "{\"ticket\":\"TICKET-EXAMPLE-42\",\"message\":\"value=cmdtok_oMkeLgZivkNKSRcOcoansVxLYf03gkPeG3fU5LR6\"}", + "known_identities": [], + "targets": [ + { + "id": "ticket", + "kind": "account_number", + "start": 11, + "end": 28, + "value": "TICKET-EXAMPLE-42", + "match": "exact", + "actions": { + "off": "preserve", + "customers": "preserve", + "all": "preserve" + } + }, + { + "id": "secret-shape", + "kind": "secret", + "start": 47, + "end": 94, + "value": "cmdtok_oMkeLgZivkNKSRcOcoansVxLYf03gkPeG3fU5LR6", + "match": "covering", + "synthetic": { + "generator": "hs-privacy-structural", + "version": 1, + "seed": "smoke-boundary-source-must-detect", + "recipe": "command-secret", + "purpose": "must-detect" + }, + "actions": { + "off": "preserve", + "customers": "redact", + "all": "redact" + } + } + ], + "outputs": { + "off": { + "required_absent": [], + "required_present": [ + "TICKET-EXAMPLE-42", + "cmdtok_oMkeLgZivkNKSRcOcoansVxLYf03gkPeG3fU5LR6" + ] + }, + "customers": { + "required_absent": [ + "cmdtok_oMkeLgZivkNKSRcOcoansVxLYf03gkPeG3fU5LR6" + ], + "required_present": [ + "TICKET-EXAMPLE-42" + ] + }, + "all": { + "required_absent": [ + "cmdtok_oMkeLgZivkNKSRcOcoansVxLYf03gkPeG3fU5LR6" + ], + "required_present": [ + "TICKET-EXAMPLE-42" + ] + } + }, + "tags": [ + "command-output", + "boundary:source", + "synthetic-generator:v1" + ] + }, + { + "id": "command-boundary-source-preserve", + "language": "en", + "script": "Latin", + "shape": "command-payload", + "risk": "preservation", + "reason": "The independently exercised source boundary has a locked preserve expectation.", + "text": "{\"ticket\":\"TICKET-EXAMPLE-42\",\"message\":\"value=c1ed78fa6ce2f02ea0c0bedba8fdc2f61a58dfae24f45f3fd5ca6aa08d35f69a\"}", + "known_identities": [], + "targets": [ + { + "id": "ticket", + "kind": "account_number", + "start": 11, + "end": 28, + "value": "TICKET-EXAMPLE-42", + "match": "exact", + "actions": { + "off": "preserve", + "customers": "preserve", + "all": "preserve" + } + }, + { + "id": "secret-shape", + "kind": "secret", + "start": 47, + "end": 111, + "value": "c1ed78fa6ce2f02ea0c0bedba8fdc2f61a58dfae24f45f3fd5ca6aa08d35f69a", + "match": "exact", + "synthetic": { + "generator": "hs-privacy-structural", + "version": 1, + "seed": "smoke-boundary-source-preserve", + "recipe": "checksum", + "purpose": "preserve" + }, + "actions": { + "off": "preserve", + "customers": "preserve", + "all": "preserve" + } + } + ], + "outputs": { + "off": { + "required_absent": [], + "required_present": [ + "TICKET-EXAMPLE-42", + "c1ed78fa6ce2f02ea0c0bedba8fdc2f61a58dfae24f45f3fd5ca6aa08d35f69a" + ] + }, + "customers": { + "required_absent": [], + "required_present": [ + "TICKET-EXAMPLE-42", + "c1ed78fa6ce2f02ea0c0bedba8fdc2f61a58dfae24f45f3fd5ca6aa08d35f69a" + ] + }, + "all": { + "required_absent": [], + "required_present": [ + "TICKET-EXAMPLE-42", + "c1ed78fa6ce2f02ea0c0bedba8fdc2f61a58dfae24f45f3fd5ca6aa08d35f69a" + ] + } + }, + "tags": [ + "command-output", "boundary:source", + "synthetic-generator:v1" + ] + }, + { + "id": "command-boundary-rfc822-must-detect", + "language": "en", + "script": "Latin", + "shape": "command-payload", + "risk": "critical", + "reason": "The independently exercised rfc822 boundary has a locked must-detect expectation.", + "text": "{\"ticket\":\"TICKET-EXAMPLE-42\",\"message\":\"value=cmdtok_sKWZkDByWqx06mkLdhuGlHQwL-IotGKpecbAYITi\"}", + "known_identities": [], + "targets": [ + { + "id": "ticket", + "kind": "account_number", + "start": 11, + "end": 28, + "value": "TICKET-EXAMPLE-42", + "match": "exact", + "actions": { + "off": "preserve", + "customers": "preserve", + "all": "preserve" + } + }, + { + "id": "secret-shape", + "kind": "secret", + "start": 47, + "end": 94, + "value": "cmdtok_sKWZkDByWqx06mkLdhuGlHQwL-IotGKpecbAYITi", + "match": "covering", + "synthetic": { + "generator": "hs-privacy-structural", + "version": 1, + "seed": "smoke-boundary-rfc822-must-detect", + "recipe": "command-secret", + "purpose": "must-detect" + }, + "actions": { + "off": "preserve", + "customers": "redact", + "all": "redact" + } + } + ], + "outputs": { + "off": { + "required_absent": [], + "required_present": [ + "TICKET-EXAMPLE-42", + "cmdtok_sKWZkDByWqx06mkLdhuGlHQwL-IotGKpecbAYITi" + ] + }, + "customers": { + "required_absent": [ + "cmdtok_sKWZkDByWqx06mkLdhuGlHQwL-IotGKpecbAYITi" + ], + "required_present": [ + "TICKET-EXAMPLE-42" + ] + }, + "all": { + "required_absent": [ + "cmdtok_sKWZkDByWqx06mkLdhuGlHQwL-IotGKpecbAYITi" + ], + "required_present": [ + "TICKET-EXAMPLE-42" + ] + } + }, + "tags": [ + "command-output", + "boundary:rfc822", + "synthetic-generator:v1" + ] + }, + { + "id": "command-boundary-rfc822-preserve", + "language": "en", + "script": "Latin", + "shape": "command-payload", + "risk": "preservation", + "reason": "The independently exercised rfc822 boundary has a locked preserve expectation.", + "text": "{\"ticket\":\"TICKET-EXAMPLE-42\",\"message\":\"value=d92fd0ba0e9ca4bcd7ff2b45c7cd3ef81acee96fd3b2eb10cddb9fb8ade0a5ba\"}", + "known_identities": [], + "targets": [ + { + "id": "ticket", + "kind": "account_number", + "start": 11, + "end": 28, + "value": "TICKET-EXAMPLE-42", + "match": "exact", + "actions": { + "off": "preserve", + "customers": "preserve", + "all": "preserve" + } + }, + { + "id": "secret-shape", + "kind": "secret", + "start": 47, + "end": 111, + "value": "d92fd0ba0e9ca4bcd7ff2b45c7cd3ef81acee96fd3b2eb10cddb9fb8ade0a5ba", + "match": "exact", + "synthetic": { + "generator": "hs-privacy-structural", + "version": 1, + "seed": "smoke-boundary-rfc822-preserve", + "recipe": "checksum", + "purpose": "preserve" + }, + "actions": { + "off": "preserve", + "customers": "preserve", + "all": "preserve" + } + } + ], + "outputs": { + "off": { + "required_absent": [], + "required_present": [ + "TICKET-EXAMPLE-42", + "d92fd0ba0e9ca4bcd7ff2b45c7cd3ef81acee96fd3b2eb10cddb9fb8ade0a5ba" + ] + }, + "customers": { + "required_absent": [], + "required_present": [ + "TICKET-EXAMPLE-42", + "d92fd0ba0e9ca4bcd7ff2b45c7cd3ef81acee96fd3b2eb10cddb9fb8ade0a5ba" + ] + }, + "all": { + "required_absent": [], + "required_present": [ + "TICKET-EXAMPLE-42", + "d92fd0ba0e9ca4bcd7ff2b45c7cd3ef81acee96fd3b2eb10cddb9fb8ade0a5ba" + ] + } + }, + "tags": [ + "command-output", "boundary:rfc822", + "synthetic-generator:v1" + ] + }, + { + "id": "command-boundary-mcp-must-detect", + "language": "en", + "script": "Latin", + "shape": "command-payload", + "risk": "critical", + "reason": "The independently exercised mcp boundary has a locked must-detect expectation.", + "text": "{\"ticket\":\"TICKET-EXAMPLE-42\",\"message\":\"value=cmdtok_df0HkyNaCmPBJZ-W1-fVDwHj171EOIAqv8ozMRkO\"}", + "known_identities": [], + "targets": [ + { + "id": "ticket", + "kind": "account_number", + "start": 11, + "end": 28, + "value": "TICKET-EXAMPLE-42", + "match": "exact", + "actions": { + "off": "preserve", + "customers": "preserve", + "all": "preserve" + } + }, + { + "id": "secret-shape", + "kind": "secret", + "start": 47, + "end": 94, + "value": "cmdtok_df0HkyNaCmPBJZ-W1-fVDwHj171EOIAqv8ozMRkO", + "match": "covering", + "synthetic": { + "generator": "hs-privacy-structural", + "version": 1, + "seed": "smoke-boundary-mcp-must-detect", + "recipe": "command-secret", + "purpose": "must-detect" + }, + "actions": { + "off": "preserve", + "customers": "redact", + "all": "redact" + } + } + ], + "outputs": { + "off": { + "required_absent": [], + "required_present": [ + "TICKET-EXAMPLE-42", + "cmdtok_df0HkyNaCmPBJZ-W1-fVDwHj171EOIAqv8ozMRkO" + ] + }, + "customers": { + "required_absent": [ + "cmdtok_df0HkyNaCmPBJZ-W1-fVDwHj171EOIAqv8ozMRkO" + ], + "required_present": [ + "TICKET-EXAMPLE-42" + ] + }, + "all": { + "required_absent": [ + "cmdtok_df0HkyNaCmPBJZ-W1-fVDwHj171EOIAqv8ozMRkO" + ], + "required_present": [ + "TICKET-EXAMPLE-42" + ] + } + }, + "tags": [ + "command-output", + "boundary:mcp", + "synthetic-generator:v1" + ] + }, + { + "id": "command-boundary-mcp-preserve", + "language": "en", + "script": "Latin", + "shape": "command-payload", + "risk": "preservation", + "reason": "The independently exercised mcp boundary has a locked preserve expectation.", + "text": "{\"ticket\":\"TICKET-EXAMPLE-42\",\"message\":\"value=e67f07adccf0c64e80beaf64c80cabef6a92e08f3ecb4addb7fbefb14a3fa17d\"}", + "known_identities": [], + "targets": [ + { + "id": "ticket", + "kind": "account_number", + "start": 11, + "end": 28, + "value": "TICKET-EXAMPLE-42", + "match": "exact", + "actions": { + "off": "preserve", + "customers": "preserve", + "all": "preserve" + } + }, + { + "id": "secret-shape", + "kind": "secret", + "start": 47, + "end": 111, + "value": "e67f07adccf0c64e80beaf64c80cabef6a92e08f3ecb4addb7fbefb14a3fa17d", + "match": "exact", + "synthetic": { + "generator": "hs-privacy-structural", + "version": 1, + "seed": "smoke-boundary-mcp-preserve", + "recipe": "checksum", + "purpose": "preserve" + }, + "actions": { + "off": "preserve", + "customers": "preserve", + "all": "preserve" + } + } + ], + "outputs": { + "off": { + "required_absent": [], + "required_present": [ + "TICKET-EXAMPLE-42", + "e67f07adccf0c64e80beaf64c80cabef6a92e08f3ecb4addb7fbefb14a3fa17d" + ] + }, + "customers": { + "required_absent": [], + "required_present": [ + "TICKET-EXAMPLE-42", + "e67f07adccf0c64e80beaf64c80cabef6a92e08f3ecb4addb7fbefb14a3fa17d" + ] + }, + "all": { + "required_absent": [], + "required_present": [ + "TICKET-EXAMPLE-42", + "e67f07adccf0c64e80beaf64c80cabef6a92e08f3ecb4addb7fbefb14a3fa17d" + ] + } + }, + "tags": [ + "command-output", "boundary:mcp", + "synthetic-generator:v1" + ] + }, + { + "id": "command-boundary-argv-must-detect", + "language": "en", + "script": "Latin", + "shape": "command-payload", + "risk": "critical", + "reason": "The independently exercised argv boundary has a locked must-detect expectation.", + "text": "{\"ticket\":\"TICKET-EXAMPLE-42\",\"message\":\"value=cmdtok_9p0bj46dn8HNMoc1Q4smlEz1ktyr4tdeclo-aa0h\"}", + "known_identities": [], + "targets": [ + { + "id": "ticket", + "kind": "account_number", + "start": 11, + "end": 28, + "value": "TICKET-EXAMPLE-42", + "match": "exact", + "actions": { + "off": "preserve", + "customers": "preserve", + "all": "preserve" + } + }, + { + "id": "secret-shape", + "kind": "secret", + "start": 47, + "end": 94, + "value": "cmdtok_9p0bj46dn8HNMoc1Q4smlEz1ktyr4tdeclo-aa0h", + "match": "covering", + "synthetic": { + "generator": "hs-privacy-structural", + "version": 1, + "seed": "smoke-boundary-argv-must-detect", + "recipe": "command-secret", + "purpose": "must-detect" + }, + "actions": { + "off": "preserve", + "customers": "redact", + "all": "redact" + } + } + ], + "outputs": { + "off": { + "required_absent": [], + "required_present": [ + "TICKET-EXAMPLE-42", + "cmdtok_9p0bj46dn8HNMoc1Q4smlEz1ktyr4tdeclo-aa0h" + ] + }, + "customers": { + "required_absent": [ + "cmdtok_9p0bj46dn8HNMoc1Q4smlEz1ktyr4tdeclo-aa0h" + ], + "required_present": [ + "TICKET-EXAMPLE-42" + ] + }, + "all": { + "required_absent": [ + "cmdtok_9p0bj46dn8HNMoc1Q4smlEz1ktyr4tdeclo-aa0h" + ], + "required_present": [ + "TICKET-EXAMPLE-42" + ] + } + }, + "tags": [ + "command-output", + "boundary:argv", + "synthetic-generator:v1" + ] + }, + { + "id": "command-boundary-argv-preserve", + "language": "en", + "script": "Latin", + "shape": "command-payload", + "risk": "preservation", + "reason": "The independently exercised argv boundary has a locked preserve expectation.", + "text": "{\"ticket\":\"TICKET-EXAMPLE-42\",\"message\":\"value=b46a23a10e03c4cc9cbdfd7aac6cbba68c7ce6ee1cf2fbbfd94fc6ab0efef72a\"}", + "known_identities": [], + "targets": [ + { + "id": "ticket", + "kind": "account_number", + "start": 11, + "end": 28, + "value": "TICKET-EXAMPLE-42", + "match": "exact", + "actions": { + "off": "preserve", + "customers": "preserve", + "all": "preserve" + } + }, + { + "id": "secret-shape", + "kind": "secret", + "start": 47, + "end": 111, + "value": "b46a23a10e03c4cc9cbdfd7aac6cbba68c7ce6ee1cf2fbbfd94fc6ab0efef72a", + "match": "exact", + "synthetic": { + "generator": "hs-privacy-structural", + "version": 1, + "seed": "smoke-boundary-argv-preserve", + "recipe": "checksum", + "purpose": "preserve" + }, + "actions": { + "off": "preserve", + "customers": "preserve", + "all": "preserve" + } + } + ], + "outputs": { + "off": { + "required_absent": [], + "required_present": [ + "TICKET-EXAMPLE-42", + "b46a23a10e03c4cc9cbdfd7aac6cbba68c7ce6ee1cf2fbbfd94fc6ab0efef72a" + ] + }, + "customers": { + "required_absent": [], + "required_present": [ + "TICKET-EXAMPLE-42", + "b46a23a10e03c4cc9cbdfd7aac6cbba68c7ce6ee1cf2fbbfd94fc6ab0efef72a" + ] + }, + "all": { + "required_absent": [], + "required_present": [ + "TICKET-EXAMPLE-42", + "b46a23a10e03c4cc9cbdfd7aac6cbba68c7ce6ee1cf2fbbfd94fc6ab0efef72a" + ] + } + }, + "tags": [ + "command-output", "boundary:argv", + "synthetic-generator:v1" + ] + }, + { + "id": "command-boundary-stdout-must-detect", + "language": "en", + "script": "Latin", + "shape": "command-payload", + "risk": "critical", + "reason": "The independently exercised stdout boundary has a locked must-detect expectation.", + "text": "{\"ticket\":\"TICKET-EXAMPLE-42\",\"message\":\"value=cmdtok_slHuITh147N9hjGZjhnGuFnxC8oLCtT5ySe1ieto\"}", + "known_identities": [], + "targets": [ + { + "id": "ticket", + "kind": "account_number", + "start": 11, + "end": 28, + "value": "TICKET-EXAMPLE-42", + "match": "exact", + "actions": { + "off": "preserve", + "customers": "preserve", + "all": "preserve" + } + }, + { + "id": "secret-shape", + "kind": "secret", + "start": 47, + "end": 94, + "value": "cmdtok_slHuITh147N9hjGZjhnGuFnxC8oLCtT5ySe1ieto", + "match": "covering", + "synthetic": { + "generator": "hs-privacy-structural", + "version": 1, + "seed": "smoke-boundary-stdout-must-detect", + "recipe": "command-secret", + "purpose": "must-detect" + }, + "actions": { + "off": "preserve", + "customers": "redact", + "all": "redact" + } + } + ], + "outputs": { + "off": { + "required_absent": [], + "required_present": [ + "TICKET-EXAMPLE-42", + "cmdtok_slHuITh147N9hjGZjhnGuFnxC8oLCtT5ySe1ieto" + ] + }, + "customers": { + "required_absent": [ + "cmdtok_slHuITh147N9hjGZjhnGuFnxC8oLCtT5ySe1ieto" + ], + "required_present": [ + "TICKET-EXAMPLE-42" + ] + }, + "all": { + "required_absent": [ + "cmdtok_slHuITh147N9hjGZjhnGuFnxC8oLCtT5ySe1ieto" + ], + "required_present": [ + "TICKET-EXAMPLE-42" + ] + } + }, + "tags": [ + "command-output", + "boundary:stdout", + "synthetic-generator:v1" + ] + }, + { + "id": "command-boundary-stdout-preserve", + "language": "en", + "script": "Latin", + "shape": "command-payload", + "risk": "preservation", + "reason": "The independently exercised stdout boundary has a locked preserve expectation.", + "text": "{\"ticket\":\"TICKET-EXAMPLE-42\",\"message\":\"value=baca62fabfedf9bfd4ad2c24b81c6ae8fde8f28bf4ec5bd4b84c39ff6cd9b3cb\"}", + "known_identities": [], + "targets": [ + { + "id": "ticket", + "kind": "account_number", + "start": 11, + "end": 28, + "value": "TICKET-EXAMPLE-42", + "match": "exact", + "actions": { + "off": "preserve", + "customers": "preserve", + "all": "preserve" + } + }, + { + "id": "secret-shape", + "kind": "secret", + "start": 47, + "end": 111, + "value": "baca62fabfedf9bfd4ad2c24b81c6ae8fde8f28bf4ec5bd4b84c39ff6cd9b3cb", + "match": "exact", + "synthetic": { + "generator": "hs-privacy-structural", + "version": 1, + "seed": "smoke-boundary-stdout-preserve", + "recipe": "checksum", + "purpose": "preserve" + }, + "actions": { + "off": "preserve", + "customers": "preserve", + "all": "preserve" + } + } + ], + "outputs": { + "off": { + "required_absent": [], + "required_present": [ + "TICKET-EXAMPLE-42", + "baca62fabfedf9bfd4ad2c24b81c6ae8fde8f28bf4ec5bd4b84c39ff6cd9b3cb" + ] + }, + "customers": { + "required_absent": [], + "required_present": [ + "TICKET-EXAMPLE-42", + "baca62fabfedf9bfd4ad2c24b81c6ae8fde8f28bf4ec5bd4b84c39ff6cd9b3cb" + ] + }, + "all": { + "required_absent": [], + "required_present": [ + "TICKET-EXAMPLE-42", + "baca62fabfedf9bfd4ad2c24b81c6ae8fde8f28bf4ec5bd4b84c39ff6cd9b3cb" + ] + } + }, + "tags": [ + "command-output", "boundary:stdout", + "synthetic-generator:v1" + ] + }, + { + "id": "command-boundary-stderr-must-detect", + "language": "en", + "script": "Latin", + "shape": "command-payload", + "risk": "critical", + "reason": "The independently exercised stderr boundary has a locked must-detect expectation.", + "text": "{\"ticket\":\"TICKET-EXAMPLE-42\",\"message\":\"value=cmdtok_DPlGsGBfr5gZpAce7n1OProwR1hvm27x2rE1loWf\"}", + "known_identities": [], + "targets": [ + { + "id": "ticket", + "kind": "account_number", + "start": 11, + "end": 28, + "value": "TICKET-EXAMPLE-42", + "match": "exact", + "actions": { + "off": "preserve", + "customers": "preserve", + "all": "preserve" + } + }, + { + "id": "secret-shape", + "kind": "secret", + "start": 47, + "end": 94, + "value": "cmdtok_DPlGsGBfr5gZpAce7n1OProwR1hvm27x2rE1loWf", + "match": "covering", + "synthetic": { + "generator": "hs-privacy-structural", + "version": 1, + "seed": "smoke-boundary-stderr-must-detect", + "recipe": "command-secret", + "purpose": "must-detect" + }, + "actions": { + "off": "preserve", + "customers": "redact", + "all": "redact" + } + } + ], + "outputs": { + "off": { + "required_absent": [], + "required_present": [ + "TICKET-EXAMPLE-42", + "cmdtok_DPlGsGBfr5gZpAce7n1OProwR1hvm27x2rE1loWf" + ] + }, + "customers": { + "required_absent": [ + "cmdtok_DPlGsGBfr5gZpAce7n1OProwR1hvm27x2rE1loWf" + ], + "required_present": [ + "TICKET-EXAMPLE-42" + ] + }, + "all": { + "required_absent": [ + "cmdtok_DPlGsGBfr5gZpAce7n1OProwR1hvm27x2rE1loWf" + ], + "required_present": [ + "TICKET-EXAMPLE-42" + ] + } + }, + "tags": [ + "command-output", + "boundary:stderr", + "synthetic-generator:v1" + ] + }, + { + "id": "command-boundary-stderr-preserve", + "language": "en", + "script": "Latin", + "shape": "command-payload", + "risk": "preservation", + "reason": "The independently exercised stderr boundary has a locked preserve expectation.", + "text": "{\"ticket\":\"TICKET-EXAMPLE-42\",\"message\":\"value=b76b6ded2a0aa61e97c3caf1cccf11c85eb3d2bd28aa3fddde0b26bb7b08fc6b\"}", + "known_identities": [], + "targets": [ + { + "id": "ticket", + "kind": "account_number", + "start": 11, + "end": 28, + "value": "TICKET-EXAMPLE-42", + "match": "exact", + "actions": { + "off": "preserve", + "customers": "preserve", + "all": "preserve" + } + }, + { + "id": "secret-shape", + "kind": "secret", + "start": 47, + "end": 111, + "value": "b76b6ded2a0aa61e97c3caf1cccf11c85eb3d2bd28aa3fddde0b26bb7b08fc6b", + "match": "exact", + "synthetic": { + "generator": "hs-privacy-structural", + "version": 1, + "seed": "smoke-boundary-stderr-preserve", + "recipe": "checksum", + "purpose": "preserve" + }, + "actions": { + "off": "preserve", + "customers": "preserve", + "all": "preserve" + } + } + ], + "outputs": { + "off": { + "required_absent": [], + "required_present": [ + "TICKET-EXAMPLE-42", + "b76b6ded2a0aa61e97c3caf1cccf11c85eb3d2bd28aa3fddde0b26bb7b08fc6b" + ] + }, + "customers": { + "required_absent": [], + "required_present": [ + "TICKET-EXAMPLE-42", + "b76b6ded2a0aa61e97c3caf1cccf11c85eb3d2bd28aa3fddde0b26bb7b08fc6b" + ] + }, + "all": { + "required_absent": [], + "required_present": [ + "TICKET-EXAMPLE-42", + "b76b6ded2a0aa61e97c3caf1cccf11c85eb3d2bd28aa3fddde0b26bb7b08fc6b" + ] + } + }, + "tags": [ + "command-output", "boundary:stderr", + "synthetic-generator:v1" + ] + }, + { + "id": "command-boundary-error-must-detect", + "language": "en", + "script": "Latin", + "shape": "command-payload", + "risk": "critical", + "reason": "The independently exercised error boundary has a locked must-detect expectation.", + "text": "{\"ticket\":\"TICKET-EXAMPLE-42\",\"message\":\"value=cmdtok_wH6HYdTvSBWKO727lEr6yzh5W9jswjUoOzPkP_c3\"}", + "known_identities": [], + "targets": [ + { + "id": "ticket", + "kind": "account_number", + "start": 11, + "end": 28, + "value": "TICKET-EXAMPLE-42", + "match": "exact", + "actions": { + "off": "preserve", + "customers": "preserve", + "all": "preserve" + } + }, + { + "id": "secret-shape", + "kind": "secret", + "start": 47, + "end": 94, + "value": "cmdtok_wH6HYdTvSBWKO727lEr6yzh5W9jswjUoOzPkP_c3", + "match": "covering", + "synthetic": { + "generator": "hs-privacy-structural", + "version": 1, + "seed": "smoke-boundary-error-must-detect", + "recipe": "command-secret", + "purpose": "must-detect" + }, + "actions": { + "off": "preserve", + "customers": "redact", + "all": "redact" + } + } + ], + "outputs": { + "off": { + "required_absent": [], + "required_present": [ + "TICKET-EXAMPLE-42", + "cmdtok_wH6HYdTvSBWKO727lEr6yzh5W9jswjUoOzPkP_c3" + ] + }, + "customers": { + "required_absent": [ + "cmdtok_wH6HYdTvSBWKO727lEr6yzh5W9jswjUoOzPkP_c3" + ], + "required_present": [ + "TICKET-EXAMPLE-42" + ] + }, + "all": { + "required_absent": [ + "cmdtok_wH6HYdTvSBWKO727lEr6yzh5W9jswjUoOzPkP_c3" + ], + "required_present": [ + "TICKET-EXAMPLE-42" + ] + } + }, + "tags": [ + "command-output", + "boundary:error", + "synthetic-generator:v1" + ] + }, + { + "id": "command-boundary-error-preserve", + "language": "en", + "script": "Latin", + "shape": "command-payload", + "risk": "preservation", + "reason": "The independently exercised error boundary has a locked preserve expectation.", + "text": "{\"ticket\":\"TICKET-EXAMPLE-42\",\"message\":\"value=cf0c5ed10c2ce93fd0e03b64edea93ae8fe2c7cfd7e0ed32f74b3bca4d28e7ab\"}", + "known_identities": [], + "targets": [ + { + "id": "ticket", + "kind": "account_number", + "start": 11, + "end": 28, + "value": "TICKET-EXAMPLE-42", + "match": "exact", + "actions": { + "off": "preserve", + "customers": "preserve", + "all": "preserve" + } + }, + { + "id": "secret-shape", + "kind": "secret", + "start": 47, + "end": 111, + "value": "cf0c5ed10c2ce93fd0e03b64edea93ae8fe2c7cfd7e0ed32f74b3bca4d28e7ab", + "match": "exact", + "synthetic": { + "generator": "hs-privacy-structural", + "version": 1, + "seed": "smoke-boundary-error-preserve", + "recipe": "checksum", + "purpose": "preserve" + }, + "actions": { + "off": "preserve", + "customers": "preserve", + "all": "preserve" + } + } + ], + "outputs": { + "off": { + "required_absent": [], + "required_present": [ + "TICKET-EXAMPLE-42", + "cf0c5ed10c2ce93fd0e03b64edea93ae8fe2c7cfd7e0ed32f74b3bca4d28e7ab" + ] + }, + "customers": { + "required_absent": [], + "required_present": [ + "TICKET-EXAMPLE-42", + "cf0c5ed10c2ce93fd0e03b64edea93ae8fe2c7cfd7e0ed32f74b3bca4d28e7ab" + ] + }, + "all": { + "required_absent": [], + "required_present": [ + "TICKET-EXAMPLE-42", + "cf0c5ed10c2ce93fd0e03b64edea93ae8fe2c7cfd7e0ed32f74b3bca4d28e7ab" + ] + } + }, + "tags": [ + "command-output", "boundary:error", + "synthetic-generator:v1" + ] + }, + { + "id": "command-boundary-panic-must-detect", + "language": "en", + "script": "Latin", + "shape": "command-payload", + "risk": "critical", + "reason": "The independently exercised panic boundary has a locked must-detect expectation.", + "text": "{\"ticket\":\"TICKET-EXAMPLE-42\",\"message\":\"value=cmdtok_8UkEtRMroR1gtsKuPGB4bC3bSHVHRN9nBOasdnm6\"}", + "known_identities": [], + "targets": [ + { + "id": "ticket", + "kind": "account_number", + "start": 11, + "end": 28, + "value": "TICKET-EXAMPLE-42", + "match": "exact", + "actions": { + "off": "preserve", + "customers": "preserve", + "all": "preserve" + } + }, + { + "id": "secret-shape", + "kind": "secret", + "start": 47, + "end": 94, + "value": "cmdtok_8UkEtRMroR1gtsKuPGB4bC3bSHVHRN9nBOasdnm6", + "match": "covering", + "synthetic": { + "generator": "hs-privacy-structural", + "version": 1, + "seed": "smoke-boundary-panic-must-detect", + "recipe": "command-secret", + "purpose": "must-detect" + }, + "actions": { + "off": "preserve", + "customers": "redact", + "all": "redact" + } + } + ], + "outputs": { + "off": { + "required_absent": [], + "required_present": [ + "TICKET-EXAMPLE-42", + "cmdtok_8UkEtRMroR1gtsKuPGB4bC3bSHVHRN9nBOasdnm6" + ] + }, + "customers": { + "required_absent": [ + "cmdtok_8UkEtRMroR1gtsKuPGB4bC3bSHVHRN9nBOasdnm6" + ], + "required_present": [ + "TICKET-EXAMPLE-42" + ] + }, + "all": { + "required_absent": [ + "cmdtok_8UkEtRMroR1gtsKuPGB4bC3bSHVHRN9nBOasdnm6" + ], + "required_present": [ + "TICKET-EXAMPLE-42" + ] + } + }, + "tags": [ + "command-output", + "boundary:panic", + "synthetic-generator:v1" + ] + }, + { + "id": "command-boundary-panic-preserve", + "language": "en", + "script": "Latin", + "shape": "command-payload", + "risk": "preservation", + "reason": "The independently exercised panic boundary has a locked preserve expectation.", + "text": "{\"ticket\":\"TICKET-EXAMPLE-42\",\"message\":\"value=d97abce20c85ca2ec7e10cb8fa4ba7bf3b55f02f69b2ad6beb9e6fa4eb7ae76f\"}", + "known_identities": [], + "targets": [ + { + "id": "ticket", + "kind": "account_number", + "start": 11, + "end": 28, + "value": "TICKET-EXAMPLE-42", + "match": "exact", + "actions": { + "off": "preserve", + "customers": "preserve", + "all": "preserve" + } + }, + { + "id": "secret-shape", + "kind": "secret", + "start": 47, + "end": 111, + "value": "d97abce20c85ca2ec7e10cb8fa4ba7bf3b55f02f69b2ad6beb9e6fa4eb7ae76f", + "match": "exact", + "synthetic": { + "generator": "hs-privacy-structural", + "version": 1, + "seed": "smoke-boundary-panic-preserve", + "recipe": "checksum", + "purpose": "preserve" + }, + "actions": { + "off": "preserve", + "customers": "preserve", + "all": "preserve" + } + } + ], + "outputs": { + "off": { + "required_absent": [], + "required_present": [ + "TICKET-EXAMPLE-42", + "d97abce20c85ca2ec7e10cb8fa4ba7bf3b55f02f69b2ad6beb9e6fa4eb7ae76f" + ] + }, + "customers": { + "required_absent": [], + "required_present": [ + "TICKET-EXAMPLE-42", + "d97abce20c85ca2ec7e10cb8fa4ba7bf3b55f02f69b2ad6beb9e6fa4eb7ae76f" + ] + }, + "all": { + "required_absent": [], + "required_present": [ + "TICKET-EXAMPLE-42", + "d97abce20c85ca2ec7e10cb8fa4ba7bf3b55f02f69b2ad6beb9e6fa4eb7ae76f" + ] + } + }, + "tags": [ + "command-output", "boundary:panic", - "boundary:diagnostic" + "synthetic-generator:v1" + ] + }, + { + "id": "command-boundary-diagnostic-must-detect", + "language": "en", + "script": "Latin", + "shape": "command-payload", + "risk": "critical", + "reason": "The independently exercised diagnostic boundary has a locked must-detect expectation.", + "text": "{\"ticket\":\"TICKET-EXAMPLE-42\",\"message\":\"value=cmdtok_gxDbwA_qIWBxIi34Oildxozhx5lI3lRCug17brDV\"}", + "known_identities": [], + "targets": [ + { + "id": "ticket", + "kind": "account_number", + "start": 11, + "end": 28, + "value": "TICKET-EXAMPLE-42", + "match": "exact", + "actions": { + "off": "preserve", + "customers": "preserve", + "all": "preserve" + } + }, + { + "id": "secret-shape", + "kind": "secret", + "start": 47, + "end": 94, + "value": "cmdtok_gxDbwA_qIWBxIi34Oildxozhx5lI3lRCug17brDV", + "match": "covering", + "synthetic": { + "generator": "hs-privacy-structural", + "version": 1, + "seed": "smoke-boundary-diagnostic-must-detect", + "recipe": "command-secret", + "purpose": "must-detect" + }, + "actions": { + "off": "preserve", + "customers": "redact", + "all": "redact" + } + } + ], + "outputs": { + "off": { + "required_absent": [], + "required_present": [ + "TICKET-EXAMPLE-42", + "cmdtok_gxDbwA_qIWBxIi34Oildxozhx5lI3lRCug17brDV" + ] + }, + "customers": { + "required_absent": [ + "cmdtok_gxDbwA_qIWBxIi34Oildxozhx5lI3lRCug17brDV" + ], + "required_present": [ + "TICKET-EXAMPLE-42" + ] + }, + "all": { + "required_absent": [ + "cmdtok_gxDbwA_qIWBxIi34Oildxozhx5lI3lRCug17brDV" + ], + "required_present": [ + "TICKET-EXAMPLE-42" + ] + } + }, + "tags": [ + "command-output", + "boundary:diagnostic", + "synthetic-generator:v1" + ] + }, + { + "id": "command-boundary-diagnostic-preserve", + "language": "en", + "script": "Latin", + "shape": "command-payload", + "risk": "preservation", + "reason": "The independently exercised diagnostic boundary has a locked preserve expectation.", + "text": "{\"ticket\":\"TICKET-EXAMPLE-42\",\"message\":\"value=ba7a1ca2ee66a59ef4d04b61d91b9eed5c2fe2aab8b4efd6f0fd87a6fad3decf\"}", + "known_identities": [], + "targets": [ + { + "id": "ticket", + "kind": "account_number", + "start": 11, + "end": 28, + "value": "TICKET-EXAMPLE-42", + "match": "exact", + "actions": { + "off": "preserve", + "customers": "preserve", + "all": "preserve" + } + }, + { + "id": "secret-shape", + "kind": "secret", + "start": 47, + "end": 111, + "value": "ba7a1ca2ee66a59ef4d04b61d91b9eed5c2fe2aab8b4efd6f0fd87a6fad3decf", + "match": "exact", + "synthetic": { + "generator": "hs-privacy-structural", + "version": 1, + "seed": "smoke-boundary-diagnostic-preserve", + "recipe": "checksum", + "purpose": "preserve" + }, + "actions": { + "off": "preserve", + "customers": "preserve", + "all": "preserve" + } + } + ], + "outputs": { + "off": { + "required_absent": [], + "required_present": [ + "TICKET-EXAMPLE-42", + "ba7a1ca2ee66a59ef4d04b61d91b9eed5c2fe2aab8b4efd6f0fd87a6fad3decf" + ] + }, + "customers": { + "required_absent": [], + "required_present": [ + "TICKET-EXAMPLE-42", + "ba7a1ca2ee66a59ef4d04b61d91b9eed5c2fe2aab8b4efd6f0fd87a6fad3decf" + ] + }, + "all": { + "required_absent": [], + "required_present": [ + "TICKET-EXAMPLE-42", + "ba7a1ca2ee66a59ef4d04b61d91b9eed5c2fe2aab8b4efd6f0fd87a6fad3decf" + ] + } + }, + "tags": [ + "command-output", + "boundary:diagnostic", + "synthetic-generator:v1" ] }, { diff --git a/internal/pii/testdata/privacy-filter/v1/preservation.json b/internal/pii/testdata/privacy-filter/v1/preservation.json index e07085e..90c8a7f 100644 --- a/internal/pii/testdata/privacy-filter/v1/preservation.json +++ b/internal/pii/testdata/privacy-filter/v1/preservation.json @@ -9,7 +9,7 @@ "shape": "log", "risk": "high", "reason": "The private email must be removed while the public checksum remains unchanged.", - "text": "artifact_sha256=aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa notify=fixture.person@example.invalid", + "text": "artifact_sha256=bd1c62ab9a30bbeda6e13b8ca70e8dfd5d49b50fbfcb6be4dd7e89f08b58be7d notify=fixture.person@example.invalid", "known_identities": [], "targets": [ { @@ -17,8 +17,15 @@ "kind": "secret", "start": 16, "end": 80, - "value": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "value": "bd1c62ab9a30bbeda6e13b8ca70e8dfd5d49b50fbfcb6be4dd7e89f08b58be7d", "match": "exact", + "synthetic": { + "generator": "hs-privacy-structural", + "version": 1, + "seed": "smoke-checksum-preserve", + "recipe": "checksum", + "purpose": "preserve" + }, "actions": { "off": "preserve", "customers": "preserve", @@ -43,7 +50,7 @@ "off": { "required_absent": [], "required_present": [ - "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "bd1c62ab9a30bbeda6e13b8ca70e8dfd5d49b50fbfcb6be4dd7e89f08b58be7d", "fixture.person@example.invalid" ] }, @@ -52,7 +59,7 @@ "fixture.person@example.invalid" ], "required_present": [ - "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" + "bd1c62ab9a30bbeda6e13b8ca70e8dfd5d49b50fbfcb6be4dd7e89f08b58be7d" ] }, "all": { @@ -60,7 +67,7 @@ "fixture.person@example.invalid" ], "required_present": [ - "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" + "bd1c62ab9a30bbeda6e13b8ca70e8dfd5d49b50fbfcb6be4dd7e89f08b58be7d" ] } }, @@ -87,6 +94,13 @@ "end": 43, "value": "[REDACTED_SECRET]", "match": "exact", + "synthetic": { + "generator": "hs-privacy-structural", + "version": 1, + "seed": "smoke-redacted-marker-preserve", + "recipe": "redacted-marker", + "purpose": "preserve" + }, "actions": { "off": "preserve", "customers": "preserve", @@ -216,6 +230,55 @@ "preservation", "company" ] + }, + { + "id": "preservation-signature-public-organization", + "language": "en", + "script": "Latin", + "shape": "signature", + "risk": "preservation", + "reason": "A public organization in a signature must remain unchanged.", + "text": "--\nAtlas Labs Support\nDocumentation: https://docs.example.invalid", + "known_identities": [], + "targets": [ + { + "id": "public-organization", + "kind": "person", + "start": 3, + "end": 13, + "value": "Atlas Labs", + "match": "exact", + "actions": { + "off": "preserve", + "customers": "preserve", + "all": "preserve" + } + } + ], + "outputs": { + "off": { + "required_absent": [], + "required_present": [ + "Atlas Labs" + ] + }, + "customers": { + "required_absent": [], + "required_present": [ + "Atlas Labs" + ] + }, + "all": { + "required_absent": [], + "required_present": [ + "Atlas Labs" + ] + } + }, + "tags": [ + "preservation", + "format:signature" + ] } ] } diff --git a/internal/pii/testdata/privacy-filter/v1/report-schema.json b/internal/pii/testdata/privacy-filter/v1/report-schema.json index a9d9396..1839775 100644 --- a/internal/pii/testdata/privacy-filter/v1/report-schema.json +++ b/internal/pii/testdata/privacy-filter/v1/report-schema.json @@ -5,7 +5,7 @@ "type": "object", "additionalProperties": false, "required": [ - "schema", "git_commit", "corpus_sha256", "policy_sha256", "budget_sha256", + "schema", "git_commit", "corpus_sha256", "broad_corpus_sha256", "policy_sha256", "budget_sha256", "identity_sha256", "report_schema_sha256", "backend", "model_revision", "variant", "artifact_sha256", "runtime_version", "container_image", "platform", "hardware_profile", "runner_name", "evidence_authority", "authoritative", "artifacts", "cases_evaluated", @@ -15,6 +15,7 @@ "schema": {"const": 2}, "git_commit": {"type": "string", "minLength": 1}, "corpus_sha256": {"$ref": "#/$defs/sha256"}, + "broad_corpus_sha256": {"$ref": "#/$defs/sha256"}, "policy_sha256": {"$ref": "#/$defs/sha256"}, "budget_sha256": {"$ref": "#/$defs/sha256"}, "identity_sha256": {"$ref": "#/$defs/sha256"}, diff --git a/internal/pii/testdata/privacy-filter/v1/schema.json b/internal/pii/testdata/privacy-filter/v1/schema.json index 5548792..3833088 100644 --- a/internal/pii/testdata/privacy-filter/v1/schema.json +++ b/internal/pii/testdata/privacy-filter/v1/schema.json @@ -117,9 +117,22 @@ "value": {"type": "string", "minLength": 1}, "match": {"enum": ["exact", "covering"]}, "identity_id": {"type": "string", "pattern": "^[a-z0-9][a-z0-9-]*$"}, + "synthetic": {"$ref": "#/$defs/syntheticProvenance"}, "actions": {"$ref": "#/$defs/modeActions"} } }, + "syntheticProvenance": { + "type": "object", + "additionalProperties": false, + "required": ["generator", "version", "seed", "recipe", "purpose"], + "properties": { + "generator": {"const": "hs-privacy-structural"}, + "version": {"const": 1}, + "seed": {"type": "string", "pattern": "^[a-z0-9][a-z0-9-]*$"}, + "recipe": {"type": "string", "minLength": 1}, + "purpose": {"enum": ["must-detect", "preserve"]} + } + }, "modeActions": { "type": "object", "additionalProperties": false, diff --git a/internal/pii/testdata/privacy-filter/v1/secrets.json b/internal/pii/testdata/privacy-filter/v1/secrets.json index fb72215..9236f57 100644 --- a/internal/pii/testdata/privacy-filter/v1/secrets.json +++ b/internal/pii/testdata/privacy-filter/v1/secrets.json @@ -8,17 +8,24 @@ "script": "Latin", "shape": "prose", "risk": "critical", - "reason": "A synthetic api-key value must be detected and removed in every redacting mode.", - "text": "Use sk-test-EXAMPLE-7A9B2C4D6E8F as the synthetic API key for the fixture only.", + "reason": "Offline-generated api-key must-detect contract fixture.", + "text": "The integration credential is ak_R98BSELEDLCY2YDRHC5UGA8A3MMRZ57B", "known_identities": [], "targets": [ { "id": "secret-value", "kind": "secret", - "start": 4, - "end": 32, - "value": "sk-test-EXAMPLE-7A9B2C4D6E8F", + "start": 30, + "end": 65, + "value": "ak_R98BSELEDLCY2YDRHC5UGA8A3MMRZ57B", "match": "covering", + "synthetic": { + "generator": "hs-privacy-structural", + "version": 1, + "seed": "smoke-api-key-must-detect", + "recipe": "api-key", + "purpose": "must-detect" + }, "actions": { "off": "preserve", "customers": "redact", @@ -30,26 +37,26 @@ "off": { "required_absent": [], "required_present": [ - "sk-test-EXAMPLE-7A9B2C4D6E8F" + "ak_R98BSELEDLCY2YDRHC5UGA8A3MMRZ57B" ] }, "customers": { "required_absent": [ - "sk-test-EXAMPLE-7A9B2C4D6E8F" + "ak_R98BSELEDLCY2YDRHC5UGA8A3MMRZ57B" ], "required_present": [] }, "all": { "required_absent": [ - "sk-test-EXAMPLE-7A9B2C4D6E8F" + "ak_R98BSELEDLCY2YDRHC5UGA8A3MMRZ57B" ], "required_present": [] } }, "tags": [ "secret", - "must-detect", - "secret-family:api-key" + "secret-family:api-key", + "synthetic-generator:v1" ], "secret_fixture": { "family": "api-key", @@ -62,17 +69,24 @@ "script": "Latin", "shape": "prose", "risk": "preservation", - "reason": "The declared api-key documentation placeholder is a near miss that must remain readable.", - "text": "Documentation uses [EXAMPLE_API_KEY] as a non-secret placeholder.", + "reason": "Offline-generated api-key preserve contract fixture.", + "text": "The configuration field is api_key_name", "known_identities": [], "targets": [ { - "id": "placeholder", + "id": "secret-value", "kind": "secret", - "start": 19, - "end": 36, - "value": "[EXAMPLE_API_KEY]", + "start": 27, + "end": 39, + "value": "api_key_name", "match": "exact", + "synthetic": { + "generator": "hs-privacy-structural", + "version": 1, + "seed": "smoke-api-key-preserve", + "recipe": "api-key", + "purpose": "preserve" + }, "actions": { "off": "preserve", "customers": "preserve", @@ -84,26 +98,26 @@ "off": { "required_absent": [], "required_present": [ - "[EXAMPLE_API_KEY]" + "api_key_name" ] }, "customers": { "required_absent": [], "required_present": [ - "[EXAMPLE_API_KEY]" + "api_key_name" ] }, "all": { "required_absent": [], "required_present": [ - "[EXAMPLE_API_KEY]" + "api_key_name" ] } }, "tags": [ "secret", - "preservation", - "secret-family:api-key" + "secret-family:api-key", + "synthetic-generator:v1" ], "secret_fixture": { "family": "api-key", @@ -116,17 +130,24 @@ "script": "Latin", "shape": "json", "risk": "critical", - "reason": "A synthetic access-token value must be detected and removed in every redacting mode.", - "text": "{\"access_token\":\"tok_EXAMPLE_access_not-a-real_73c1\",\"environment\":\"fixture\"}", + "reason": "Offline-generated access-token must-detect contract fixture.", + "text": "{\"message_0\":\"The response included access_token_KgdG40W6gULdyJIT3wSGqJ0y6ZmBuJYrCgK3wxF2\"}", "known_identities": [], "targets": [ { "id": "secret-value", "kind": "secret", - "start": 17, - "end": 51, - "value": "tok_EXAMPLE_access_not-a-real_73c1", + "start": 36, + "end": 89, + "value": "access_token_KgdG40W6gULdyJIT3wSGqJ0y6ZmBuJYrCgK3wxF2", "match": "covering", + "synthetic": { + "generator": "hs-privacy-structural", + "version": 1, + "seed": "smoke-access-token-must-detect", + "recipe": "access-token", + "purpose": "must-detect" + }, "actions": { "off": "preserve", "customers": "redact", @@ -138,26 +159,26 @@ "off": { "required_absent": [], "required_present": [ - "tok_EXAMPLE_access_not-a-real_73c1" + "access_token_KgdG40W6gULdyJIT3wSGqJ0y6ZmBuJYrCgK3wxF2" ] }, "customers": { "required_absent": [ - "tok_EXAMPLE_access_not-a-real_73c1" + "access_token_KgdG40W6gULdyJIT3wSGqJ0y6ZmBuJYrCgK3wxF2" ], "required_present": [] }, "all": { "required_absent": [ - "tok_EXAMPLE_access_not-a-real_73c1" + "access_token_KgdG40W6gULdyJIT3wSGqJ0y6ZmBuJYrCgK3wxF2" ], "required_present": [] } }, "tags": [ "secret", - "must-detect", - "secret-family:access-token" + "secret-family:access-token", + "synthetic-generator:v1" ], "secret_fixture": { "family": "access-token", @@ -170,17 +191,24 @@ "script": "Latin", "shape": "json", "risk": "preservation", - "reason": "The declared access-token documentation placeholder is a near miss that must remain readable.", - "text": "{\"field_name\":\"ACCESS_TOKEN_EXAMPLE\",\"value\":\"placeholder\"}", + "reason": "Offline-generated access-token preserve contract fixture.", + "text": "{\"message_0\":\"The schema property is access_token\"}", "known_identities": [], "targets": [ { - "id": "placeholder", + "id": "secret-value", "kind": "secret", - "start": 15, - "end": 35, - "value": "ACCESS_TOKEN_EXAMPLE", + "start": 37, + "end": 49, + "value": "access_token", "match": "exact", + "synthetic": { + "generator": "hs-privacy-structural", + "version": 1, + "seed": "smoke-access-token-preserve", + "recipe": "access-token", + "purpose": "preserve" + }, "actions": { "off": "preserve", "customers": "preserve", @@ -192,26 +220,26 @@ "off": { "required_absent": [], "required_present": [ - "ACCESS_TOKEN_EXAMPLE" + "access_token" ] }, "customers": { "required_absent": [], "required_present": [ - "ACCESS_TOKEN_EXAMPLE" + "access_token" ] }, "all": { "required_absent": [], "required_present": [ - "ACCESS_TOKEN_EXAMPLE" + "access_token" ] } }, "tags": [ "secret", - "preservation", - "secret-family:access-token" + "secret-family:access-token", + "synthetic-generator:v1" ], "secret_fixture": { "family": "access-token", @@ -224,17 +252,24 @@ "script": "Latin", "shape": "yaml", "risk": "critical", - "reason": "A synthetic oauth-token value must be detected and removed in every redacting mode.", - "text": "oauth_refresh_token: oauth-EXAMPLE-refresh-not-a-real-91d2\nmode: fixture", + "reason": "Offline-generated oauth-token must-detect contract fixture.", + "text": "message_0: The authorization value is oat2_LurAWlUCNVD15a3I8ET0ivurK7Ozj1jEA-m48v_MZGoOsogqc7i0", "known_identities": [], "targets": [ { "id": "secret-value", "kind": "secret", - "start": 21, - "end": 58, - "value": "oauth-EXAMPLE-refresh-not-a-real-91d2", + "start": 38, + "end": 95, + "value": "oat2_LurAWlUCNVD15a3I8ET0ivurK7Ozj1jEA-m48v_MZGoOsogqc7i0", "match": "covering", + "synthetic": { + "generator": "hs-privacy-structural", + "version": 1, + "seed": "smoke-oauth-token-must-detect", + "recipe": "oauth-token", + "purpose": "must-detect" + }, "actions": { "off": "preserve", "customers": "redact", @@ -246,26 +281,26 @@ "off": { "required_absent": [], "required_present": [ - "oauth-EXAMPLE-refresh-not-a-real-91d2" + "oat2_LurAWlUCNVD15a3I8ET0ivurK7Ozj1jEA-m48v_MZGoOsogqc7i0" ] }, "customers": { "required_absent": [ - "oauth-EXAMPLE-refresh-not-a-real-91d2" + "oat2_LurAWlUCNVD15a3I8ET0ivurK7Ozj1jEA-m48v_MZGoOsogqc7i0" ], "required_present": [] }, "all": { "required_absent": [ - "oauth-EXAMPLE-refresh-not-a-real-91d2" + "oat2_LurAWlUCNVD15a3I8ET0ivurK7Ozj1jEA-m48v_MZGoOsogqc7i0" ], "required_present": [] } }, "tags": [ "secret", - "must-detect", - "secret-family:oauth-token" + "secret-family:oauth-token", + "synthetic-generator:v1" ], "secret_fixture": { "family": "oauth-token", @@ -278,17 +313,24 @@ "script": "Latin", "shape": "yaml", "risk": "preservation", - "reason": "The declared oauth-token documentation placeholder is a near miss that must remain readable.", - "text": "oauth_profile: oauth_example_version\nmode: documentation", + "reason": "Offline-generated oauth-token preserve contract fixture.", + "text": "message_0: The authorization scheme is Bearer", "known_identities": [], "targets": [ { - "id": "placeholder", + "id": "secret-value", "kind": "secret", - "start": 15, - "end": 36, - "value": "oauth_example_version", + "start": 39, + "end": 45, + "value": "Bearer", "match": "exact", + "synthetic": { + "generator": "hs-privacy-structural", + "version": 1, + "seed": "smoke-oauth-token-preserve", + "recipe": "oauth-token", + "purpose": "preserve" + }, "actions": { "off": "preserve", "customers": "preserve", @@ -300,26 +342,26 @@ "off": { "required_absent": [], "required_present": [ - "oauth_example_version" + "Bearer" ] }, "customers": { "required_absent": [], "required_present": [ - "oauth_example_version" + "Bearer" ] }, "all": { "required_absent": [], "required_present": [ - "oauth_example_version" + "Bearer" ] } }, "tags": [ "secret", - "preservation", - "secret-family:oauth-token" + "secret-family:oauth-token", + "synthetic-generator:v1" ], "secret_fixture": { "family": "oauth-token", @@ -332,17 +374,24 @@ "script": "Latin", "shape": "shell", "risk": "critical", - "reason": "A synthetic password value must be detected and removed in every redacting mode.", - "text": "DB_PASSWORD='not-a-real-example-password-K7m9'\nrun_fixture=true", + "reason": "Offline-generated password must-detect contract fixture.", + "text": "MESSAGE_0='The copied password is R7!1My5qfEf3PnD3s#q2'", "known_identities": [], "targets": [ { "id": "secret-value", "kind": "secret", - "start": 13, - "end": 45, - "value": "not-a-real-example-password-K7m9", + "start": 34, + "end": 54, + "value": "R7!1My5qfEf3PnD3s#q2", "match": "covering", + "synthetic": { + "generator": "hs-privacy-structural", + "version": 1, + "seed": "smoke-password-must-detect", + "recipe": "password", + "purpose": "must-detect" + }, "actions": { "off": "preserve", "customers": "redact", @@ -354,26 +403,26 @@ "off": { "required_absent": [], "required_present": [ - "not-a-real-example-password-K7m9" + "R7!1My5qfEf3PnD3s#q2" ] }, "customers": { "required_absent": [ - "not-a-real-example-password-K7m9" + "R7!1My5qfEf3PnD3s#q2" ], "required_present": [] }, "all": { "required_absent": [ - "not-a-real-example-password-K7m9" + "R7!1My5qfEf3PnD3s#q2" ], "required_present": [] } }, "tags": [ "secret", - "must-detect", - "secret-family:password" + "secret-family:password", + "synthetic-generator:v1" ], "secret_fixture": { "family": "password", @@ -386,17 +435,24 @@ "script": "Latin", "shape": "shell", "risk": "preservation", - "reason": "The declared password documentation placeholder is a near miss that must remain readable.", - "text": "export PASSWORD_FIELD=PASSWORD_EXAMPLE", + "reason": "Offline-generated password preserve contract fixture.", + "text": "MESSAGE_0='The documented setting is password_hash_algorithm'", "known_identities": [], "targets": [ { - "id": "placeholder", + "id": "secret-value", "kind": "secret", - "start": 22, - "end": 38, - "value": "PASSWORD_EXAMPLE", + "start": 37, + "end": 60, + "value": "password_hash_algorithm", "match": "exact", + "synthetic": { + "generator": "hs-privacy-structural", + "version": 1, + "seed": "smoke-password-preserve", + "recipe": "password", + "purpose": "preserve" + }, "actions": { "off": "preserve", "customers": "preserve", @@ -408,26 +464,26 @@ "off": { "required_absent": [], "required_present": [ - "PASSWORD_EXAMPLE" + "password_hash_algorithm" ] }, "customers": { "required_absent": [], "required_present": [ - "PASSWORD_EXAMPLE" + "password_hash_algorithm" ] }, "all": { "required_absent": [], "required_present": [ - "PASSWORD_EXAMPLE" + "password_hash_algorithm" ] } }, "tags": [ "secret", - "preservation", - "secret-family:password" + "secret-family:password", + "synthetic-generator:v1" ], "secret_fixture": { "family": "password", @@ -440,17 +496,24 @@ "script": "Latin", "shape": "log", "risk": "critical", - "reason": "A synthetic jwt value must be detected and removed in every redacting mode.", - "text": "fixture auth failure bearer=eyJhbGciOiJub25lIn0.EXAMPLE-not-a-real-payload.invalid-signature", + "reason": "Offline-generated jwt must-detect contract fixture.", + "text": "level=warn sample=0 message=\"The authentication token was \" value=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.xH4s6wx_QBE48aJcxTCDixWmuYtBDm6ExlUEssyquX3", "known_identities": [], "targets": [ { "id": "secret-value", "kind": "secret", - "start": 28, - "end": 92, - "value": "eyJhbGciOiJub25lIn0.EXAMPLE-not-a-real-payload.invalid-signature", + "start": 66, + "end": 209, + "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.xH4s6wx_QBE48aJcxTCDixWmuYtBDm6ExlUEssyquX3", "match": "covering", + "synthetic": { + "generator": "hs-privacy-structural", + "version": 1, + "seed": "smoke-jwt-must-detect", + "recipe": "jwt", + "purpose": "must-detect" + }, "actions": { "off": "preserve", "customers": "redact", @@ -462,26 +525,26 @@ "off": { "required_absent": [], "required_present": [ - "eyJhbGciOiJub25lIn0.EXAMPLE-not-a-real-payload.invalid-signature" + "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.xH4s6wx_QBE48aJcxTCDixWmuYtBDm6ExlUEssyquX3" ] }, "customers": { "required_absent": [ - "eyJhbGciOiJub25lIn0.EXAMPLE-not-a-real-payload.invalid-signature" + "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.xH4s6wx_QBE48aJcxTCDixWmuYtBDm6ExlUEssyquX3" ], "required_present": [] }, "all": { "required_absent": [ - "eyJhbGciOiJub25lIn0.EXAMPLE-not-a-real-payload.invalid-signature" + "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.xH4s6wx_QBE48aJcxTCDixWmuYtBDm6ExlUEssyquX3" ], "required_present": [] } }, "tags": [ "secret", - "must-detect", - "secret-family:jwt" + "secret-family:jwt", + "synthetic-generator:v1" ], "secret_fixture": { "family": "jwt", @@ -494,17 +557,24 @@ "script": "Latin", "shape": "log", "risk": "preservation", - "reason": "The declared jwt documentation placeholder is a near miss that must remain readable.", - "text": "The log template prints token=JWT_EXAMPLE_PLACEHOLDER.", + "reason": "Offline-generated jwt preserve contract fixture.", + "text": "level=warn sample=0 message=\"The token grammar is \" value=header.payload.signature", "known_identities": [], "targets": [ { - "id": "placeholder", + "id": "secret-value", "kind": "secret", - "start": 30, - "end": 53, - "value": "JWT_EXAMPLE_PLACEHOLDER", + "start": 58, + "end": 82, + "value": "header.payload.signature", "match": "exact", + "synthetic": { + "generator": "hs-privacy-structural", + "version": 1, + "seed": "smoke-jwt-preserve", + "recipe": "jwt", + "purpose": "preserve" + }, "actions": { "off": "preserve", "customers": "preserve", @@ -516,26 +586,26 @@ "off": { "required_absent": [], "required_present": [ - "JWT_EXAMPLE_PLACEHOLDER" + "header.payload.signature" ] }, "customers": { "required_absent": [], "required_present": [ - "JWT_EXAMPLE_PLACEHOLDER" + "header.payload.signature" ] }, "all": { "required_absent": [], "required_present": [ - "JWT_EXAMPLE_PLACEHOLDER" + "header.payload.signature" ] } }, "tags": [ "secret", - "preservation", - "secret-family:jwt" + "secret-family:jwt", + "synthetic-generator:v1" ], "secret_fixture": { "family": "jwt", @@ -548,17 +618,24 @@ "script": "Latin", "shape": "prose", "risk": "critical", - "reason": "A synthetic one-time-code value must be detected and removed in every redacting mode.", - "text": "The temporary one-time code is EXAMPLE-482915 and is not functional.", + "reason": "Offline-generated one-time-code must-detect contract fixture.", + "text": "The recovery code is 79112190", "known_identities": [], "targets": [ { "id": "secret-value", "kind": "secret", - "start": 31, - "end": 45, - "value": "EXAMPLE-482915", + "start": 21, + "end": 29, + "value": "79112190", "match": "covering", + "synthetic": { + "generator": "hs-privacy-structural", + "version": 1, + "seed": "smoke-one-time-code-must-detect", + "recipe": "one-time-code", + "purpose": "must-detect" + }, "actions": { "off": "preserve", "customers": "redact", @@ -570,26 +647,26 @@ "off": { "required_absent": [], "required_present": [ - "EXAMPLE-482915" + "79112190" ] }, "customers": { "required_absent": [ - "EXAMPLE-482915" + "79112190" ], "required_present": [] }, "all": { "required_absent": [ - "EXAMPLE-482915" + "79112190" ], "required_present": [] } }, "tags": [ "secret", - "must-detect", - "secret-family:one-time-code" + "secret-family:one-time-code", + "synthetic-generator:v1" ], "secret_fixture": { "family": "one-time-code", @@ -602,17 +679,24 @@ "script": "Latin", "shape": "prose", "risk": "preservation", - "reason": "The declared one-time-code documentation placeholder is a near miss that must remain readable.", - "text": "Replace OTP_EXAMPLE with a synthetic code in the tutorial.", + "reason": "Offline-generated one-time-code preserve contract fixture.", + "text": "The public build number is 93628397", "known_identities": [], "targets": [ { - "id": "placeholder", + "id": "secret-value", "kind": "secret", - "start": 8, - "end": 19, - "value": "OTP_EXAMPLE", + "start": 27, + "end": 35, + "value": "93628397", "match": "exact", + "synthetic": { + "generator": "hs-privacy-structural", + "version": 1, + "seed": "smoke-one-time-code-preserve", + "recipe": "one-time-code", + "purpose": "preserve" + }, "actions": { "off": "preserve", "customers": "preserve", @@ -624,26 +708,26 @@ "off": { "required_absent": [], "required_present": [ - "OTP_EXAMPLE" + "93628397" ] }, "customers": { "required_absent": [], "required_present": [ - "OTP_EXAMPLE" + "93628397" ] }, "all": { "required_absent": [], "required_present": [ - "OTP_EXAMPLE" + "93628397" ] } }, "tags": [ "secret", - "preservation", - "secret-family:one-time-code" + "secret-family:one-time-code", + "synthetic-generator:v1" ], "secret_fixture": { "family": "one-time-code", @@ -656,17 +740,24 @@ "script": "Latin", "shape": "code", "risk": "critical", - "reason": "A synthetic private-key value must be detected and removed in every redacting mode.", - "text": "A synthetic key block was pasted:\n-----BEGIN SECRET-KEYX-----\nNOT-A-REAL-EXAMPLE-KEY\n-----END SECRET-KEYX-----\nEnd fixture.", + "reason": "Offline-generated private-key must-detect contract fixture.", + "text": "fixture_0 := `The pasted credential block follows:\n-----BEGIN SECRET-KEYX-----\nBtqMK4+wNHHZzs8QFciGEUo8oESx68LGgto4gm8JaFpoDEPQvMIfDVUusLnz6Fcr\nsPltY6HGdADsL+gRNduBKr1vJKW52xwxSy2Uu4rB/Q3pkmiGV8wVDdHzW3ya3f2m\n7G0scsdcbUUj7XrV6f2IO6IaZAsiGya4F5x1qiI7q37B5edieoIDMWJJtIvL0Bkc\n57XxAcib4YQ9GDqVT4Ea019nKuncG3Px4Mhine5OvEbW4E+ZJh0i/lmAp9CL7Jhg\n-----END SECRET-KEYX-----`", "known_identities": [], "targets": [ { "id": "secret-value", "kind": "secret", - "start": 34, - "end": 110, - "value": "-----BEGIN SECRET-KEYX-----\nNOT-A-REAL-EXAMPLE-KEY\n-----END SECRET-KEYX-----", + "start": 51, + "end": 364, + "value": "-----BEGIN SECRET-KEYX-----\nBtqMK4+wNHHZzs8QFciGEUo8oESx68LGgto4gm8JaFpoDEPQvMIfDVUusLnz6Fcr\nsPltY6HGdADsL+gRNduBKr1vJKW52xwxSy2Uu4rB/Q3pkmiGV8wVDdHzW3ya3f2m\n7G0scsdcbUUj7XrV6f2IO6IaZAsiGya4F5x1qiI7q37B5edieoIDMWJJtIvL0Bkc\n57XxAcib4YQ9GDqVT4Ea019nKuncG3Px4Mhine5OvEbW4E+ZJh0i/lmAp9CL7Jhg\n-----END SECRET-KEYX-----", "match": "covering", + "synthetic": { + "generator": "hs-privacy-structural", + "version": 1, + "seed": "smoke-private-key-must-detect", + "recipe": "private-key", + "purpose": "must-detect" + }, "actions": { "off": "preserve", "customers": "redact", @@ -678,26 +769,26 @@ "off": { "required_absent": [], "required_present": [ - "-----BEGIN SECRET-KEYX-----\nNOT-A-REAL-EXAMPLE-KEY\n-----END SECRET-KEYX-----" + "-----BEGIN SECRET-KEYX-----\nBtqMK4+wNHHZzs8QFciGEUo8oESx68LGgto4gm8JaFpoDEPQvMIfDVUusLnz6Fcr\nsPltY6HGdADsL+gRNduBKr1vJKW52xwxSy2Uu4rB/Q3pkmiGV8wVDdHzW3ya3f2m\n7G0scsdcbUUj7XrV6f2IO6IaZAsiGya4F5x1qiI7q37B5edieoIDMWJJtIvL0Bkc\n57XxAcib4YQ9GDqVT4Ea019nKuncG3Px4Mhine5OvEbW4E+ZJh0i/lmAp9CL7Jhg\n-----END SECRET-KEYX-----" ] }, "customers": { "required_absent": [ - "-----BEGIN SECRET-KEYX-----\nNOT-A-REAL-EXAMPLE-KEY\n-----END SECRET-KEYX-----" + "-----BEGIN SECRET-KEYX-----\nBtqMK4+wNHHZzs8QFciGEUo8oESx68LGgto4gm8JaFpoDEPQvMIfDVUusLnz6Fcr\nsPltY6HGdADsL+gRNduBKr1vJKW52xwxSy2Uu4rB/Q3pkmiGV8wVDdHzW3ya3f2m\n7G0scsdcbUUj7XrV6f2IO6IaZAsiGya4F5x1qiI7q37B5edieoIDMWJJtIvL0Bkc\n57XxAcib4YQ9GDqVT4Ea019nKuncG3Px4Mhine5OvEbW4E+ZJh0i/lmAp9CL7Jhg\n-----END SECRET-KEYX-----" ], "required_present": [] }, "all": { "required_absent": [ - "-----BEGIN SECRET-KEYX-----\nNOT-A-REAL-EXAMPLE-KEY\n-----END SECRET-KEYX-----" + "-----BEGIN SECRET-KEYX-----\nBtqMK4+wNHHZzs8QFciGEUo8oESx68LGgto4gm8JaFpoDEPQvMIfDVUusLnz6Fcr\nsPltY6HGdADsL+gRNduBKr1vJKW52xwxSy2Uu4rB/Q3pkmiGV8wVDdHzW3ya3f2m\n7G0scsdcbUUj7XrV6f2IO6IaZAsiGya4F5x1qiI7q37B5edieoIDMWJJtIvL0Bkc\n57XxAcib4YQ9GDqVT4Ea019nKuncG3Px4Mhine5OvEbW4E+ZJh0i/lmAp9CL7Jhg\n-----END SECRET-KEYX-----" ], "required_present": [] } }, "tags": [ "secret", - "must-detect", - "secret-family:private-key" + "secret-family:private-key", + "synthetic-generator:v1" ], "secret_fixture": { "family": "private-key", @@ -710,17 +801,24 @@ "script": "Latin", "shape": "code", "risk": "preservation", - "reason": "The declared private-key documentation placeholder is a near miss that must remain readable.", - "text": "The parser documentation mentions -----BEGIN EXAMPLE KEY PLACEHOLDER----- literally.", + "reason": "Offline-generated private-key preserve contract fixture.", + "text": "fixture_0 := `The published verification material follows:\n-----BEGIN PUBLIC KEY-----\nKWJe7MoWPoFXn3WP94+8byLO7uHe9Ih9XT5YDDy5VO3eWtdAG26JK8dOnvN0l8cA\n1ZPitTDvm4ie3Mc6zSDVEVDKNjkDeOq5VUWlbmUpewpH1cJSbztDubHvXUYoKlAT\n-----END PUBLIC KEY-----`", "known_identities": [], "targets": [ { - "id": "placeholder", + "id": "secret-value", "kind": "secret", - "start": 34, - "end": 73, - "value": "-----BEGIN EXAMPLE KEY PLACEHOLDER-----", + "start": 59, + "end": 240, + "value": "-----BEGIN PUBLIC KEY-----\nKWJe7MoWPoFXn3WP94+8byLO7uHe9Ih9XT5YDDy5VO3eWtdAG26JK8dOnvN0l8cA\n1ZPitTDvm4ie3Mc6zSDVEVDKNjkDeOq5VUWlbmUpewpH1cJSbztDubHvXUYoKlAT\n-----END PUBLIC KEY-----", "match": "exact", + "synthetic": { + "generator": "hs-privacy-structural", + "version": 1, + "seed": "smoke-private-key-preserve", + "recipe": "private-key", + "purpose": "preserve" + }, "actions": { "off": "preserve", "customers": "preserve", @@ -732,26 +830,26 @@ "off": { "required_absent": [], "required_present": [ - "-----BEGIN EXAMPLE KEY PLACEHOLDER-----" + "-----BEGIN PUBLIC KEY-----\nKWJe7MoWPoFXn3WP94+8byLO7uHe9Ih9XT5YDDy5VO3eWtdAG26JK8dOnvN0l8cA\n1ZPitTDvm4ie3Mc6zSDVEVDKNjkDeOq5VUWlbmUpewpH1cJSbztDubHvXUYoKlAT\n-----END PUBLIC KEY-----" ] }, "customers": { "required_absent": [], "required_present": [ - "-----BEGIN EXAMPLE KEY PLACEHOLDER-----" + "-----BEGIN PUBLIC KEY-----\nKWJe7MoWPoFXn3WP94+8byLO7uHe9Ih9XT5YDDy5VO3eWtdAG26JK8dOnvN0l8cA\n1ZPitTDvm4ie3Mc6zSDVEVDKNjkDeOq5VUWlbmUpewpH1cJSbztDubHvXUYoKlAT\n-----END PUBLIC KEY-----" ] }, "all": { "required_absent": [], "required_present": [ - "-----BEGIN EXAMPLE KEY PLACEHOLDER-----" + "-----BEGIN PUBLIC KEY-----\nKWJe7MoWPoFXn3WP94+8byLO7uHe9Ih9XT5YDDy5VO3eWtdAG26JK8dOnvN0l8cA\n1ZPitTDvm4ie3Mc6zSDVEVDKNjkDeOq5VUWlbmUpewpH1cJSbztDubHvXUYoKlAT\n-----END PUBLIC KEY-----" ] } }, "tags": [ "secret", - "preservation", - "secret-family:private-key" + "secret-family:private-key", + "synthetic-generator:v1" ], "secret_fixture": { "family": "private-key", @@ -764,17 +862,24 @@ "script": "Latin", "shape": "url", "risk": "critical", - "reason": "A synthetic database-connection value must be detected and removed in every redacting mode.", - "text": "The failing connection string is postgres://fixture:not-a-real-example-password@db.example.invalid/support", + "reason": "Offline-generated database-connection must-detect contract fixture.", + "text": "endpoint=https://192.0.2.10/0 ; The service connection is postgresql://svc_vyzo3lcg:P9!xTwpCu95QsuXl2QKw6@192.0.2.42:5432/support", "known_identities": [], "targets": [ { "id": "secret-value", "kind": "secret", - "start": 33, - "end": 106, - "value": "postgres://fixture:not-a-real-example-password@db.example.invalid/support", + "start": 58, + "end": 129, + "value": "postgresql://svc_vyzo3lcg:P9!xTwpCu95QsuXl2QKw6@192.0.2.42:5432/support", "match": "covering", + "synthetic": { + "generator": "hs-privacy-structural", + "version": 1, + "seed": "smoke-database-connection-must-detect", + "recipe": "database-connection", + "purpose": "must-detect" + }, "actions": { "off": "preserve", "customers": "redact", @@ -786,26 +891,26 @@ "off": { "required_absent": [], "required_present": [ - "postgres://fixture:not-a-real-example-password@db.example.invalid/support" + "postgresql://svc_vyzo3lcg:P9!xTwpCu95QsuXl2QKw6@192.0.2.42:5432/support" ] }, "customers": { "required_absent": [ - "postgres://fixture:not-a-real-example-password@db.example.invalid/support" + "postgresql://svc_vyzo3lcg:P9!xTwpCu95QsuXl2QKw6@192.0.2.42:5432/support" ], "required_present": [] }, "all": { "required_absent": [ - "postgres://fixture:not-a-real-example-password@db.example.invalid/support" + "postgresql://svc_vyzo3lcg:P9!xTwpCu95QsuXl2QKw6@192.0.2.42:5432/support" ], "required_present": [] } }, "tags": [ "secret", - "must-detect", - "secret-family:database-connection" + "secret-family:database-connection", + "synthetic-generator:v1" ], "secret_fixture": { "family": "database-connection", @@ -818,17 +923,24 @@ "script": "Latin", "shape": "url", "risk": "preservation", - "reason": "The declared database-connection documentation placeholder is a near miss that must remain readable.", - "text": "The connection-string template is postgres://USER:PASSWORD_EXAMPLE@HOST.invalid/DB", + "reason": "Offline-generated database-connection preserve contract fixture.", + "text": "endpoint=https://192.0.2.10/0 ; The public service endpoint is postgresql://192.0.2.42:5432/support", "known_identities": [], "targets": [ { - "id": "placeholder", + "id": "secret-value", "kind": "secret", - "start": 34, - "end": 82, - "value": "postgres://USER:PASSWORD_EXAMPLE@HOST.invalid/DB", + "start": 63, + "end": 99, + "value": "postgresql://192.0.2.42:5432/support", "match": "exact", + "synthetic": { + "generator": "hs-privacy-structural", + "version": 1, + "seed": "smoke-database-connection-preserve", + "recipe": "database-connection", + "purpose": "preserve" + }, "actions": { "off": "preserve", "customers": "preserve", @@ -840,26 +952,26 @@ "off": { "required_absent": [], "required_present": [ - "postgres://USER:PASSWORD_EXAMPLE@HOST.invalid/DB" + "postgresql://192.0.2.42:5432/support" ] }, "customers": { "required_absent": [], "required_present": [ - "postgres://USER:PASSWORD_EXAMPLE@HOST.invalid/DB" + "postgresql://192.0.2.42:5432/support" ] }, "all": { "required_absent": [], "required_present": [ - "postgres://USER:PASSWORD_EXAMPLE@HOST.invalid/DB" + "postgresql://192.0.2.42:5432/support" ] } }, "tags": [ "secret", - "preservation", - "secret-family:database-connection" + "secret-family:database-connection", + "synthetic-generator:v1" ], "secret_fixture": { "family": "database-connection", @@ -872,17 +984,24 @@ "script": "Latin", "shape": "quoted-reply", "risk": "critical", - "reason": "A synthetic cookie-authorization value must be detected and removed in every redacting mode.", - "text": "> Authorization failed\n> Cookie: session=EXAMPLE-not-a-real-cookie-73af\nReply below.", + "reason": "Offline-generated cookie-authorization must-detect contract fixture.", + "text": "\u003e The copied cookie was session=N7zYphrOD-7umvT6fD7fSiczY28PjSnihX-ICLa2twvyTCCW", "known_identities": [], "targets": [ { "id": "secret-value", "kind": "secret", - "start": 33, - "end": 71, - "value": "session=EXAMPLE-not-a-real-cookie-73af", + "start": 24, + "end": 80, + "value": "session=N7zYphrOD-7umvT6fD7fSiczY28PjSnihX-ICLa2twvyTCCW", "match": "covering", + "synthetic": { + "generator": "hs-privacy-structural", + "version": 1, + "seed": "smoke-cookie-authorization-must-detect", + "recipe": "cookie-authorization", + "purpose": "must-detect" + }, "actions": { "off": "preserve", "customers": "redact", @@ -894,26 +1013,26 @@ "off": { "required_absent": [], "required_present": [ - "session=EXAMPLE-not-a-real-cookie-73af" + "session=N7zYphrOD-7umvT6fD7fSiczY28PjSnihX-ICLa2twvyTCCW" ] }, "customers": { "required_absent": [ - "session=EXAMPLE-not-a-real-cookie-73af" + "session=N7zYphrOD-7umvT6fD7fSiczY28PjSnihX-ICLa2twvyTCCW" ], "required_present": [] }, "all": { "required_absent": [ - "session=EXAMPLE-not-a-real-cookie-73af" + "session=N7zYphrOD-7umvT6fD7fSiczY28PjSnihX-ICLa2twvyTCCW" ], "required_present": [] } }, "tags": [ "secret", - "must-detect", - "secret-family:cookie-authorization" + "secret-family:cookie-authorization", + "synthetic-generator:v1" ], "secret_fixture": { "family": "cookie-authorization", @@ -926,17 +1045,24 @@ "script": "Latin", "shape": "quoted-reply", "risk": "preservation", - "reason": "The declared cookie-authorization documentation placeholder is a near miss that must remain readable.", - "text": "The documentation header is `Cookie: SESSION_EXAMPLE_PLACEHOLDER`.", + "reason": "Offline-generated cookie-authorization preserve contract fixture.", + "text": "\u003e The cookie policy attribute is SameSite=Strict", "known_identities": [], "targets": [ { - "id": "placeholder", + "id": "secret-value", "kind": "secret", - "start": 29, - "end": 64, - "value": "Cookie: SESSION_EXAMPLE_PLACEHOLDER", + "start": 33, + "end": 48, + "value": "SameSite=Strict", "match": "exact", + "synthetic": { + "generator": "hs-privacy-structural", + "version": 1, + "seed": "smoke-cookie-authorization-preserve", + "recipe": "cookie-authorization", + "purpose": "preserve" + }, "actions": { "off": "preserve", "customers": "preserve", @@ -948,26 +1074,26 @@ "off": { "required_absent": [], "required_present": [ - "Cookie: SESSION_EXAMPLE_PLACEHOLDER" + "SameSite=Strict" ] }, "customers": { "required_absent": [], "required_present": [ - "Cookie: SESSION_EXAMPLE_PLACEHOLDER" + "SameSite=Strict" ] }, "all": { "required_absent": [], "required_present": [ - "Cookie: SESSION_EXAMPLE_PLACEHOLDER" + "SameSite=Strict" ] } }, "tags": [ "secret", - "preservation", - "secret-family:cookie-authorization" + "secret-family:cookie-authorization", + "synthetic-generator:v1" ], "secret_fixture": { "family": "cookie-authorization", @@ -980,17 +1106,24 @@ "script": "Latin", "shape": "html", "risk": "critical", - "reason": "A synthetic webhook-secret value must be detected and removed in every redacting mode.", - "text": "

Webhook signing secret: whsig_EXAMPLE_not-a-real-webhook_8e2f

", + "reason": "Offline-generated webhook-secret must-detect contract fixture.", + "text": "\u003cp\u003eThe webhook signing value is whsig_MQFOHu3wSwj76H6PALRcOgyeNHUtjdtY9kHIWffl\u003c/p\u003e", "known_identities": [], "targets": [ { "id": "secret-value", "kind": "secret", - "start": 33, - "end": 70, - "value": "whsig_EXAMPLE_not-a-real-webhook_8e2f", + "start": 32, + "end": 78, + "value": "whsig_MQFOHu3wSwj76H6PALRcOgyeNHUtjdtY9kHIWffl", "match": "covering", + "synthetic": { + "generator": "hs-privacy-structural", + "version": 1, + "seed": "smoke-webhook-secret-must-detect", + "recipe": "webhook-secret", + "purpose": "must-detect" + }, "actions": { "off": "preserve", "customers": "redact", @@ -1002,26 +1135,26 @@ "off": { "required_absent": [], "required_present": [ - "whsig_EXAMPLE_not-a-real-webhook_8e2f" + "whsig_MQFOHu3wSwj76H6PALRcOgyeNHUtjdtY9kHIWffl" ] }, "customers": { "required_absent": [ - "whsig_EXAMPLE_not-a-real-webhook_8e2f" + "whsig_MQFOHu3wSwj76H6PALRcOgyeNHUtjdtY9kHIWffl" ], "required_present": [] }, "all": { "required_absent": [ - "whsig_EXAMPLE_not-a-real-webhook_8e2f" + "whsig_MQFOHu3wSwj76H6PALRcOgyeNHUtjdtY9kHIWffl" ], "required_present": [] } }, "tags": [ "secret", - "must-detect", - "secret-family:webhook-secret" + "secret-family:webhook-secret", + "synthetic-generator:v1" ], "secret_fixture": { "family": "webhook-secret", @@ -1034,17 +1167,24 @@ "script": "Latin", "shape": "html", "risk": "preservation", - "reason": "The declared webhook-secret documentation placeholder is a near miss that must remain readable.", - "text": "whsig_EXAMPLE_PLACEHOLDER is a documentation literal.", + "reason": "Offline-generated webhook-secret preserve contract fixture.", + "text": "\u003cp\u003eThe webhook event name is event.delivery.created\u003c/p\u003e", "known_identities": [], "targets": [ { - "id": "placeholder", + "id": "secret-value", "kind": "secret", - "start": 6, - "end": 31, - "value": "whsig_EXAMPLE_PLACEHOLDER", + "start": 29, + "end": 51, + "value": "event.delivery.created", "match": "exact", + "synthetic": { + "generator": "hs-privacy-structural", + "version": 1, + "seed": "smoke-webhook-secret-preserve", + "recipe": "webhook-secret", + "purpose": "preserve" + }, "actions": { "off": "preserve", "customers": "preserve", @@ -1056,26 +1196,26 @@ "off": { "required_absent": [], "required_present": [ - "whsig_EXAMPLE_PLACEHOLDER" + "event.delivery.created" ] }, "customers": { "required_absent": [], "required_present": [ - "whsig_EXAMPLE_PLACEHOLDER" + "event.delivery.created" ] }, "all": { "required_absent": [], "required_present": [ - "whsig_EXAMPLE_PLACEHOLDER" + "event.delivery.created" ] } }, "tags": [ "secret", - "preservation", - "secret-family:webhook-secret" + "secret-family:webhook-secret", + "synthetic-generator:v1" ], "secret_fixture": { "family": "webhook-secret", @@ -1088,17 +1228,24 @@ "script": "Latin", "shape": "stack-trace", "risk": "critical", - "reason": "A synthetic cloud-credential value must be detected and removed in every redacting mode.", - "text": "ConfigError: cloud access key CLDXEXAMPLE000000000\n at fixture.connect (fixture.go:42)", + "reason": "Offline-generated cloud-credential must-detect contract fixture.", + "text": "Trace[0]: The cloud access identifier is CLDXOQ8OZTZF4HMMSNK0", "known_identities": [], "targets": [ { "id": "secret-value", "kind": "secret", - "start": 30, - "end": 50, - "value": "CLDXEXAMPLE000000000", + "start": 41, + "end": 61, + "value": "CLDXOQ8OZTZF4HMMSNK0", "match": "covering", + "synthetic": { + "generator": "hs-privacy-structural", + "version": 1, + "seed": "smoke-cloud-credential-must-detect", + "recipe": "cloud-credential", + "purpose": "must-detect" + }, "actions": { "off": "preserve", "customers": "redact", @@ -1110,26 +1257,26 @@ "off": { "required_absent": [], "required_present": [ - "CLDXEXAMPLE000000000" + "CLDXOQ8OZTZF4HMMSNK0" ] }, "customers": { "required_absent": [ - "CLDXEXAMPLE000000000" + "CLDXOQ8OZTZF4HMMSNK0" ], "required_present": [] }, "all": { "required_absent": [ - "CLDXEXAMPLE000000000" + "CLDXOQ8OZTZF4HMMSNK0" ], "required_present": [] } }, "tags": [ "secret", - "must-detect", - "secret-family:cloud-credential" + "secret-family:cloud-credential", + "synthetic-generator:v1" ], "secret_fixture": { "family": "cloud-credential", @@ -1142,17 +1289,24 @@ "script": "Latin", "shape": "stack-trace", "risk": "preservation", - "reason": "The declared cloud-credential documentation placeholder is a near miss that must remain readable.", - "text": "The scanner rule uses CLDXEXAMPLEPLACEHOLDER as an inert example.", + "reason": "Offline-generated cloud-credential preserve contract fixture.", + "text": "Trace[0]: The public cloud account number is 945296374239", "known_identities": [], "targets": [ { - "id": "placeholder", + "id": "secret-value", "kind": "secret", - "start": 22, - "end": 44, - "value": "CLDXEXAMPLEPLACEHOLDER", + "start": 45, + "end": 57, + "value": "945296374239", "match": "exact", + "synthetic": { + "generator": "hs-privacy-structural", + "version": 1, + "seed": "smoke-cloud-credential-preserve", + "recipe": "cloud-credential", + "purpose": "preserve" + }, "actions": { "off": "preserve", "customers": "preserve", @@ -1164,26 +1318,26 @@ "off": { "required_absent": [], "required_present": [ - "CLDXEXAMPLEPLACEHOLDER" + "945296374239" ] }, "customers": { "required_absent": [], "required_present": [ - "CLDXEXAMPLEPLACEHOLDER" + "945296374239" ] }, "all": { "required_absent": [], "required_present": [ - "CLDXEXAMPLEPLACEHOLDER" + "945296374239" ] } }, "tags": [ "secret", - "preservation", - "secret-family:cloud-credential" + "secret-family:cloud-credential", + "synthetic-generator:v1" ], "secret_fixture": { "family": "cloud-credential", @@ -1196,17 +1350,24 @@ "script": "Latin", "shape": "markdown", "risk": "critical", - "reason": "A synthetic source-control-token value must be detected and removed in every redacting mode.", - "text": "The pasted token was split in Markdown: **scm_EXAMPLEnotarealsourcecontroltoken73af**", + "reason": "Offline-generated source-control-token must-detect contract fixture.", + "text": "**The repository token is scm_BUDRfbz1QdqXUsH9k9aI09hidbPwDebER7IY**", "known_identities": [], "targets": [ { "id": "secret-value", "kind": "secret", - "start": 42, - "end": 83, - "value": "scm_EXAMPLEnotarealsourcecontroltoken73af", + "start": 26, + "end": 66, + "value": "scm_BUDRfbz1QdqXUsH9k9aI09hidbPwDebER7IY", "match": "covering", + "synthetic": { + "generator": "hs-privacy-structural", + "version": 1, + "seed": "smoke-source-control-token-must-detect", + "recipe": "source-control-token", + "purpose": "must-detect" + }, "actions": { "off": "preserve", "customers": "redact", @@ -1218,26 +1379,26 @@ "off": { "required_absent": [], "required_present": [ - "scm_EXAMPLEnotarealsourcecontroltoken73af" + "scm_BUDRfbz1QdqXUsH9k9aI09hidbPwDebER7IY" ] }, "customers": { "required_absent": [ - "scm_EXAMPLEnotarealsourcecontroltoken73af" + "scm_BUDRfbz1QdqXUsH9k9aI09hidbPwDebER7IY" ], "required_present": [] }, "all": { "required_absent": [ - "scm_EXAMPLEnotarealsourcecontroltoken73af" + "scm_BUDRfbz1QdqXUsH9k9aI09hidbPwDebER7IY" ], "required_present": [] } }, "tags": [ "secret", - "must-detect", - "secret-family:source-control-token" + "secret-family:source-control-token", + "synthetic-generator:v1" ], "secret_fixture": { "family": "source-control-token", @@ -1250,17 +1411,24 @@ "script": "Latin", "shape": "markdown", "risk": "preservation", - "reason": "The declared source-control-token documentation placeholder is a near miss that must remain readable.", - "text": "Use `scm_EXAMPLE_PLACEHOLDER` in documentation, never a real token.", + "reason": "Offline-generated source-control-token preserve contract fixture.", + "text": "**The public commit identifier is ffef28dfdab5ccaa68d66f9de69b10c2abeaf14e**", "known_identities": [], "targets": [ { - "id": "placeholder", + "id": "secret-value", "kind": "secret", - "start": 5, - "end": 28, - "value": "scm_EXAMPLE_PLACEHOLDER", + "start": 34, + "end": 74, + "value": "ffef28dfdab5ccaa68d66f9de69b10c2abeaf14e", "match": "exact", + "synthetic": { + "generator": "hs-privacy-structural", + "version": 1, + "seed": "smoke-source-control-token-preserve", + "recipe": "source-control-token", + "purpose": "preserve" + }, "actions": { "off": "preserve", "customers": "preserve", @@ -1272,26 +1440,26 @@ "off": { "required_absent": [], "required_present": [ - "scm_EXAMPLE_PLACEHOLDER" + "ffef28dfdab5ccaa68d66f9de69b10c2abeaf14e" ] }, "customers": { "required_absent": [], "required_present": [ - "scm_EXAMPLE_PLACEHOLDER" + "ffef28dfdab5ccaa68d66f9de69b10c2abeaf14e" ] }, "all": { "required_absent": [], "required_present": [ - "scm_EXAMPLE_PLACEHOLDER" + "ffef28dfdab5ccaa68d66f9de69b10c2abeaf14e" ] } }, "tags": [ "secret", - "preservation", - "secret-family:source-control-token" + "secret-family:source-control-token", + "synthetic-generator:v1" ], "secret_fixture": { "family": "source-control-token", @@ -1304,17 +1472,24 @@ "script": "Latin", "shape": "json", "risk": "critical", - "reason": "A synthetic payment-credential value must be detected and removed in every redacting mode.", - "text": "{\"payment_secret\":\"rk_test_EXAMPLE_not-a-real-payment-key_91c\",\"live\":false}", + "reason": "Offline-generated payment-credential must-detect contract fixture.", + "text": "{\"message_0\":\"The payment credential is paylive_Y3pwldRBmdd7wQSx9GRKFhtWKtd8EX84\"}", "known_identities": [], "targets": [ { "id": "secret-value", "kind": "secret", - "start": 19, - "end": 61, - "value": "rk_test_EXAMPLE_not-a-real-payment-key_91c", + "start": 40, + "end": 80, + "value": "paylive_Y3pwldRBmdd7wQSx9GRKFhtWKtd8EX84", "match": "covering", + "synthetic": { + "generator": "hs-privacy-structural", + "version": 1, + "seed": "smoke-payment-credential-must-detect", + "recipe": "payment-credential", + "purpose": "must-detect" + }, "actions": { "off": "preserve", "customers": "redact", @@ -1326,26 +1501,26 @@ "off": { "required_absent": [], "required_present": [ - "rk_test_EXAMPLE_not-a-real-payment-key_91c" + "paylive_Y3pwldRBmdd7wQSx9GRKFhtWKtd8EX84" ] }, "customers": { "required_absent": [ - "rk_test_EXAMPLE_not-a-real-payment-key_91c" + "paylive_Y3pwldRBmdd7wQSx9GRKFhtWKtd8EX84" ], "required_present": [] }, "all": { "required_absent": [ - "rk_test_EXAMPLE_not-a-real-payment-key_91c" + "paylive_Y3pwldRBmdd7wQSx9GRKFhtWKtd8EX84" ], "required_present": [] } }, "tags": [ "secret", - "must-detect", - "secret-family:payment-credential" + "secret-family:payment-credential", + "synthetic-generator:v1" ], "secret_fixture": { "family": "payment-credential", @@ -1358,17 +1533,24 @@ "script": "Latin", "shape": "json", "risk": "preservation", - "reason": "The declared payment-credential documentation placeholder is a near miss that must remain readable.", - "text": "{\"example_key\":\"rk_test_EXAMPLE_PLACEHOLDER\"}", + "reason": "Offline-generated payment-credential preserve contract fixture.", + "text": "{\"message_0\":\"The publishable client identifier is pk_live_BQ1KB0cBxOF7tKnS0mygfdtFpBL7jtXE\"}", "known_identities": [], "targets": [ { - "id": "placeholder", + "id": "secret-value", "kind": "secret", - "start": 16, - "end": 43, - "value": "rk_test_EXAMPLE_PLACEHOLDER", + "start": 51, + "end": 91, + "value": "pk_live_BQ1KB0cBxOF7tKnS0mygfdtFpBL7jtXE", "match": "exact", + "synthetic": { + "generator": "hs-privacy-structural", + "version": 1, + "seed": "smoke-payment-credential-preserve", + "recipe": "payment-credential", + "purpose": "preserve" + }, "actions": { "off": "preserve", "customers": "preserve", @@ -1380,26 +1562,26 @@ "off": { "required_absent": [], "required_present": [ - "rk_test_EXAMPLE_PLACEHOLDER" + "pk_live_BQ1KB0cBxOF7tKnS0mygfdtFpBL7jtXE" ] }, "customers": { "required_absent": [], "required_present": [ - "rk_test_EXAMPLE_PLACEHOLDER" + "pk_live_BQ1KB0cBxOF7tKnS0mygfdtFpBL7jtXE" ] }, "all": { "required_absent": [], "required_present": [ - "rk_test_EXAMPLE_PLACEHOLDER" + "pk_live_BQ1KB0cBxOF7tKnS0mygfdtFpBL7jtXE" ] } }, "tags": [ "secret", - "preservation", - "secret-family:payment-credential" + "secret-family:payment-credential", + "synthetic-generator:v1" ], "secret_fixture": { "family": "payment-credential", @@ -1412,17 +1594,24 @@ "script": "Latin", "shape": "yaml", "risk": "critical", - "reason": "A synthetic observability-token value must be detected and removed in every redacting mode.", - "text": "observability_api_key: obsap_EXAMPLE_not-a-real-observability-key_42d\nsite: example.invalid", + "reason": "Offline-generated observability-token must-detect contract fixture.", + "text": "message_0: The telemetry credential is obsap_d098e410bb0bd0200b03528f76af2854", "known_identities": [], "targets": [ { "id": "secret-value", "kind": "secret", - "start": 23, - "end": 69, - "value": "obsap_EXAMPLE_not-a-real-observability-key_42d", + "start": 39, + "end": 77, + "value": "obsap_d098e410bb0bd0200b03528f76af2854", "match": "covering", + "synthetic": { + "generator": "hs-privacy-structural", + "version": 1, + "seed": "smoke-observability-token-must-detect", + "recipe": "observability-token", + "purpose": "must-detect" + }, "actions": { "off": "preserve", "customers": "redact", @@ -1434,26 +1623,26 @@ "off": { "required_absent": [], "required_present": [ - "obsap_EXAMPLE_not-a-real-observability-key_42d" + "obsap_d098e410bb0bd0200b03528f76af2854" ] }, "customers": { "required_absent": [ - "obsap_EXAMPLE_not-a-real-observability-key_42d" + "obsap_d098e410bb0bd0200b03528f76af2854" ], "required_present": [] }, "all": { "required_absent": [ - "obsap_EXAMPLE_not-a-real-observability-key_42d" + "obsap_d098e410bb0bd0200b03528f76af2854" ], "required_present": [] } }, "tags": [ "secret", - "must-detect", - "secret-family:observability-token" + "secret-family:observability-token", + "synthetic-generator:v1" ], "secret_fixture": { "family": "observability-token", @@ -1466,17 +1655,24 @@ "script": "Latin", "shape": "yaml", "risk": "preservation", - "reason": "The declared observability-token documentation placeholder is a near miss that must remain readable.", - "text": "config_field: OBSERVABILITY_TOKEN_EXAMPLE", + "reason": "Offline-generated observability-token preserve contract fixture.", + "text": "message_0: The public trace identifier is a84c45af7b93cb5beab0fa15b27f1ba9", "known_identities": [], "targets": [ { - "id": "placeholder", + "id": "secret-value", "kind": "secret", - "start": 14, - "end": 41, - "value": "OBSERVABILITY_TOKEN_EXAMPLE", + "start": 42, + "end": 74, + "value": "a84c45af7b93cb5beab0fa15b27f1ba9", "match": "exact", + "synthetic": { + "generator": "hs-privacy-structural", + "version": 1, + "seed": "smoke-observability-token-preserve", + "recipe": "observability-token", + "purpose": "preserve" + }, "actions": { "off": "preserve", "customers": "preserve", @@ -1488,26 +1684,26 @@ "off": { "required_absent": [], "required_present": [ - "OBSERVABILITY_TOKEN_EXAMPLE" + "a84c45af7b93cb5beab0fa15b27f1ba9" ] }, "customers": { "required_absent": [], "required_present": [ - "OBSERVABILITY_TOKEN_EXAMPLE" + "a84c45af7b93cb5beab0fa15b27f1ba9" ] }, "all": { "required_absent": [], "required_present": [ - "OBSERVABILITY_TOKEN_EXAMPLE" + "a84c45af7b93cb5beab0fa15b27f1ba9" ] } }, "tags": [ "secret", - "preservation", - "secret-family:observability-token" + "secret-family:observability-token", + "synthetic-generator:v1" ], "secret_fixture": { "family": "observability-token", From 5aff6b6a5ea7817db429de85f656071ece52125d Mon Sep 17 00:00:00 2001 From: Ross Morsali Date: Fri, 17 Jul 2026 17:29:35 +0200 Subject: [PATCH 25/34] test: freeze executable Privacy Filter performance contract --- .../workflows/privacy-filter-evaluation.yml | 8 + DEVELOPMENT.md | 49 +++- build/privacy-filter/README.md | 6 + docs/openai-privacy-filter-evaluation.md | 2 +- docs/openai-privacy-filter-migration-plan.md | 2 +- internal/pii/evaluation/baseline.go | 76 +++++ .../pii/evaluation/cmd/performancegen/main.go | 20 ++ .../pii/evaluation/docker_contract_test.go | 3 +- internal/pii/evaluation/hardware.go | 138 +++++++++ internal/pii/evaluation/metrics.go | 150 +++++----- internal/pii/evaluation/metrics_test.go | 1 + internal/pii/evaluation/performance.go | 275 ++++++++++++++---- internal/pii/evaluation/performance_test.go | 153 ++++++++++ internal/pii/ner/g0_baseline_test.go | 18 +- .../v1/performance/approved-baseline.json | 13 + .../v1/performance/budgets.json | 7 +- .../v1/performance/hardware-identities.json | 78 +++++ .../v1/performance/workloads.json | 148 +++++++++- .../privacy-filter/v1/report-schema.json | 4 +- 19 files changed, 991 insertions(+), 160 deletions(-) create mode 100644 internal/pii/evaluation/baseline.go create mode 100644 internal/pii/evaluation/cmd/performancegen/main.go create mode 100644 internal/pii/evaluation/hardware.go create mode 100644 internal/pii/evaluation/performance_test.go create mode 100644 internal/pii/testdata/privacy-filter/v1/performance/approved-baseline.json create mode 100644 internal/pii/testdata/privacy-filter/v1/performance/hardware-identities.json diff --git a/.github/workflows/privacy-filter-evaluation.yml b/.github/workflows/privacy-filter-evaluation.yml index eb80b96..17e68bf 100644 --- a/.github/workflows/privacy-filter-evaluation.yml +++ b/.github/workflows/privacy-filter-evaluation.yml @@ -7,6 +7,10 @@ on: - "internal/pii/**" - "scripts/pii-model-sources.json" - "scripts/privacy-filter-*.sh" + - "go.mod" + - "go.sum" + - "patches/onnxruntime-purego/go.mod" + - "patches/onnxruntime-purego/go.sum" - ".github/workflows/privacy-filter-evaluation.yml" push: paths: @@ -14,6 +18,10 @@ on: - "internal/pii/**" - "scripts/pii-model-sources.json" - "scripts/privacy-filter-*.sh" + - "go.mod" + - "go.sum" + - "patches/onnxruntime-purego/go.mod" + - "patches/onnxruntime-purego/go.sum" - ".github/workflows/privacy-filter-evaluation.yml" schedule: - cron: "17 4 * * 1" diff --git a/DEVELOPMENT.md b/DEVELOPMENT.md index 3237a63..b5536c9 100644 --- a/DEVELOPMENT.md +++ b/DEVELOPMENT.md @@ -199,13 +199,30 @@ HS_PII_MODEL_SMOKE_DIR=/path/to/extracted/bundle \ The model-tag workflow runs that smoke on every advertised Linux and macOS target. Normal unit jobs skip it when `HS_PII_MODEL_SMOKE_DIR` is absent. -The Privacy Filter G0 contract is frozen under -`internal/pii/testdata/privacy-filter/v1/`. Its strict typed loader rejects -unknown fields, duplicate IDs, invalid UTF-8 byte spans, contradictory mode -expectations, incomplete policy coverage, and secret families without both a -must-detect and preservation fixture. Normal `go test ./...` validates the -corpus, deterministic metric evaluator, identity compatibility snapshot, and -performance budgets without model weights or network access. +The Privacy Filter G0 smoke contract is frozen under +`internal/pii/testdata/privacy-filter/v1/`; the separately versioned broad +quality corpus is under `internal/pii/testdata/privacy-filter/broad/v1/`. +Their strict typed loaders reject unknown fields, duplicate IDs, invalid UTF-8 +byte spans, contradictory mode expectations, incomplete policy coverage, +unprovenanced generated credentials, and secret families without both +must-detect and preservation variations. The broad loader enforces one target +per case and at least 100 independent cases for every percentage-gated kind and +language direction. Percentage gates remain `not-run` if those denominators are +absent. + +Regenerate deterministic fixtures and byte-exact performance workload +identities with: + +```bash +go run ./internal/pii/evaluation/cmd/corpusgen -repo-root . +go run ./internal/pii/evaluation/cmd/performancegen -repo-root . +``` + +Normal `go test ./...` verifies that checked output is byte-for-byte +reproducible. It also executes the corpus and report JSON schemas, validates the +complete sliced metric contract, independently scans credential-shaped fixture +material for provenance, and rejects semantic weakening of workload sizes, +metrics, statistics, profile applicability, or payload hashes. The current DistilBERT-plus-regex baseline is generated by the dedicated Privacy Filter evaluation workflow. It hash-verifies the existing immutable @@ -217,9 +234,21 @@ disables inference networking, and uploads an aggregate synthetic-only report: ``` A local invocation always records `evidence_authority=local-sanity` and -`authoritative=false`. Only the GitHub Actions Docker job may emit the -authoritative G0 baseline. Privacy Filter weights, Python, and candidate model -integration are intentionally absent from Phase 0. +`authoritative=false`. Only the GitHub Actions Docker job may attempt the +authoritative G0 baseline, and a failed or `not-run` gate makes both the Go +command and an independent workflow JSON check fail. The failed report is still +uploaded for diagnosis. + +G0 is currently `not-run`: `performance/hardware-identities.json` explicitly +records H0/H1/H2 as unprovisioned because their actual runner names, CPU models, +machine fields, and fingerprints have not been supplied. Do not invent those +values. Once the stable hosts are provisioned, record their concrete identities +and reviewed fingerprints, run Docker CI, and replace the source-controlled +`performance/approved-baseline.json` not-run marker with the reviewed report +identity. A 90-day Actions artifact alone is not an approval anchor. + +Privacy Filter weights, Python, and candidate model integration remain absent +from Phase 0. Command tests call `setRootArgs`, which automatically moves annotated fixture values into the protected stdin envelope before Cobra parses argv. A regression diff --git a/build/privacy-filter/README.md b/build/privacy-filter/README.md index 24f31db..25072d3 100644 --- a/build/privacy-filter/README.md +++ b/build/privacy-filter/README.md @@ -8,5 +8,11 @@ contains Go dependencies but no model weights. The baseline script verifies the existing immutable DistilBERT bundle, mounts it read-only, disables container networking for inference, and writes only aggregate synthetic-corpus evidence. +The image evaluates both the fast smoke corpus and the locked broad-quality +corpus. An authoritative invocation exits non-zero unless its report contains a +passing G0 result. G0 intentionally remains `not-run` while the checked +H0/H1/H2 hardware identity contract is marked unprovisioned; failed attempts +still leave an aggregate report for CI artifact upload. + The pinned Python reference/oracle image belongs to G2 and is intentionally not part of Phase 0. diff --git a/docs/openai-privacy-filter-evaluation.md b/docs/openai-privacy-filter-evaluation.md index b9a2e2e..f81786e 100644 --- a/docs/openai-privacy-filter-evaluation.md +++ b/docs/openai-privacy-filter-evaluation.md @@ -1,6 +1,6 @@ # OpenAI Privacy Filter Evaluation for hs-cli -- Status: investigation complete; Phase 0 contract implemented; model integration not started +- Status: investigation complete; Phase 0/G0 machinery implemented; authoritative G0 evidence not-run; model integration not started - Research date: 16 July 2026 - Decision owner: hs-cli maintainers - Recommended decision: run a pinned, local evaluation and native-runtime spike; do not replace the production detector until the quality and performance gates in this document pass. diff --git a/docs/openai-privacy-filter-migration-plan.md b/docs/openai-privacy-filter-migration-plan.md index 9ad8c7d..a471336 100644 --- a/docs/openai-privacy-filter-migration-plan.md +++ b/docs/openai-privacy-filter-migration-plan.md @@ -1,6 +1,6 @@ # OpenAI Privacy Filter Single-Detector Migration Plan -- Status: approved direction; Phase 0 contract implemented; adapter work not started +- Status: approved direction; Phase 0/G0 machinery implemented; authoritative G0 evidence not-run pending stable H0/H1/H2 identities and Docker CI; adapter work not started - Plan date: 17 July 2026 - Decision owner: hs-cli maintainers - Companion research: [OpenAI Privacy Filter evaluation](openai-privacy-filter-evaluation.md) diff --git a/internal/pii/evaluation/baseline.go b/internal/pii/evaluation/baseline.go new file mode 100644 index 0000000..f9589c9 --- /dev/null +++ b/internal/pii/evaluation/baseline.go @@ -0,0 +1,76 @@ +package evaluation + +import ( + "encoding/hex" + "fmt" + "os" +) + +const BaselineAnchorSchemaVersion = 1 + +type BaselineAnchor struct { + Schema int `json:"schema"` + Status string `json:"status"` + Reason string `json:"reason"` + GitCommit string `json:"git_commit"` + WorkflowRunURL string `json:"workflow_run_url"` + ReportSHA256 string `json:"report_sha256"` + ContainerImage string `json:"container_image"` + SmokeCorpusSHA256 string `json:"smoke_corpus_sha256"` + BroadCorpusSHA256 string `json:"broad_corpus_sha256"` + BudgetSHA256 string `json:"budget_sha256"` + HardwareSHA256 string `json:"hardware_sha256"` +} + +func LoadBaselineAnchor(path string) (*BaselineAnchor, error) { + raw, err := os.ReadFile(path) + if err != nil { + return nil, fmt.Errorf("read baseline anchor: %w", err) + } + var anchor BaselineAnchor + if err := decodeStrict(raw, &anchor); err != nil { + return nil, fmt.Errorf("decode baseline anchor: %w", err) + } + if err := anchor.Validate(); err != nil { + return nil, err + } + return &anchor, nil +} + +func (anchor BaselineAnchor) Validate() error { + if anchor.Schema != BaselineAnchorSchemaVersion { + return fmt.Errorf("baseline anchor requires schema %d", BaselineAnchorSchemaVersion) + } + if anchor.Status == "not-run" { + if anchor.Reason != "awaiting-authoritative-docker-ci-and-stable-host-provisioning" { + return fmt.Errorf("not-run baseline anchor has an unexpected reason") + } + if anchor.GitCommit != "" || anchor.WorkflowRunURL != "" || anchor.ReportSHA256 != "" || anchor.ContainerImage != "" || + anchor.SmokeCorpusSHA256 != "" || anchor.BroadCorpusSHA256 != "" || anchor.BudgetSHA256 != "" || anchor.HardwareSHA256 != "" { + return fmt.Errorf("not-run baseline anchor must not contain invented evidence identities") + } + return nil + } + if anchor.Status != "approved" || anchor.Reason != "reviewed-authoritative-g0-baseline" { + return fmt.Errorf("baseline anchor has unsupported status or reason") + } + for name, value := range map[string]string{ + "git_commit": anchor.GitCommit, "workflow_run_url": anchor.WorkflowRunURL, "container_image": anchor.ContainerImage, + } { + if value == "" { + return fmt.Errorf("approved baseline anchor is missing %s", name) + } + } + for name, value := range map[string]string{ + "report": anchor.ReportSHA256, "smoke corpus": anchor.SmokeCorpusSHA256, "broad corpus": anchor.BroadCorpusSHA256, + "budget": anchor.BudgetSHA256, "hardware": anchor.HardwareSHA256, + } { + if len(value) != sha256HexLength { + return fmt.Errorf("approved baseline anchor %s identity is not SHA-256", name) + } + if _, err := hex.DecodeString(value); err != nil { + return fmt.Errorf("approved baseline anchor %s identity is not SHA-256", name) + } + } + return nil +} diff --git a/internal/pii/evaluation/cmd/performancegen/main.go b/internal/pii/evaluation/cmd/performancegen/main.go new file mode 100644 index 0000000..ef3ff36 --- /dev/null +++ b/internal/pii/evaluation/cmd/performancegen/main.go @@ -0,0 +1,20 @@ +package main + +import ( + "flag" + "fmt" + "os" + "path/filepath" + + "github.com/operator-kit/hs-cli/internal/pii/evaluation" +) + +func main() { + repoRoot := flag.String("repo-root", ".", "repository root containing internal/pii/testdata") + flag.Parse() + path := filepath.Join(*repoRoot, "internal", "pii", "testdata", "privacy-filter", "v1", "performance", "workloads.json") + if err := evaluation.WritePerformanceWorkloads(path); err != nil { + fmt.Fprintln(os.Stderr, err) + os.Exit(1) + } +} diff --git a/internal/pii/evaluation/docker_contract_test.go b/internal/pii/evaluation/docker_contract_test.go index f8a5eff..5132ed3 100644 --- a/internal/pii/evaluation/docker_contract_test.go +++ b/internal/pii/evaluation/docker_contract_test.go @@ -30,7 +30,8 @@ func TestG0DockerBaselineKeepsWeightsReadOnlyAndInferenceOffline(t *testing.T) { workflow := readContractFile(t, filepath.Join(repoRoot, ".github", "workflows", "privacy-filter-evaluation.yml")) for _, required := range []string{ "needs: hermetic", "HS_PII_G0_EVIDENCE_AUTHORITY: docker-ci", "HS_PII_G0_AUTHORITATIVE: \"true\"", - "distilbert-baseline.json", + "distilbert-baseline.json", "any(.gates[]; .gate == \"G0\" and .state == \"pass\")", + "if: always()", "go.mod", "go.sum", "patches/onnxruntime-purego/go.mod", } { if !strings.Contains(workflow, required) { t.Fatalf("G0 evaluation workflow is missing required ordering/evidence control %q", required) diff --git a/internal/pii/evaluation/hardware.go b/internal/pii/evaluation/hardware.go new file mode 100644 index 0000000..b074df6 --- /dev/null +++ b/internal/pii/evaluation/hardware.go @@ -0,0 +1,138 @@ +package evaluation + +import ( + "crypto/sha256" + "encoding/hex" + "encoding/json" + "fmt" + "os" + "slices" +) + +const HardwareIdentitySchemaVersion = 1 + +type HardwareIdentityDocument struct { + Schema int `json:"schema"` + Status string `json:"status"` + Profiles []ConcreteHardwareIdentity `json:"profiles"` +} + +type ConcreteHardwareIdentity struct { + ID string `json:"id"` + RunnerLabel string `json:"runner_label"` + RunnerName string `json:"runner_name"` + CPUModel string `json:"cpu_model"` + Architecture string `json:"architecture"` + InstructionSets []string `json:"instruction_sets"` + PhysicalCores int `json:"physical_cores"` + LogicalCores int `json:"logical_cores"` + Virtualization string `json:"virtualization"` + RAMBytes int64 `json:"ram_bytes"` + SwapBytes int64 `json:"swap_bytes"` + NUMA string `json:"numa"` + Storage string `json:"storage"` + BenchmarkWorkspace string `json:"benchmark_workspace"` + OS string `json:"os"` + Kernel string `json:"kernel"` + PowerGovernor string `json:"power_governor"` + ThermalState string `json:"thermal_state"` + ContainerVCPUs int `json:"container_vcpus"` + ContainerMemoryBytes int64 `json:"container_memory_bytes"` + ContainerSwapBytes int64 `json:"container_swap_bytes"` + FingerprintSHA256 string `json:"fingerprint_sha256"` +} + +func LoadHardwareIdentityContract(path string, budgets *BudgetsDocument) (*HardwareIdentityDocument, bool, error) { + if budgets == nil { + return nil, false, fmt.Errorf("hardware identity contract requires performance budgets") + } + raw, err := os.ReadFile(path) + if err != nil { + return nil, false, fmt.Errorf("read hardware identity contract: %w", err) + } + var document HardwareIdentityDocument + if err := decodeStrict(raw, &document); err != nil { + return nil, false, fmt.Errorf("decode hardware identity contract: %w", err) + } + ready, err := validateHardwareIdentityContract(&document, budgets) + if err != nil { + return nil, false, err + } + return &document, ready, nil +} + +func validateHardwareIdentityContract(document *HardwareIdentityDocument, budgets *BudgetsDocument) (bool, error) { + if document.Schema != HardwareIdentitySchemaVersion { + return false, fmt.Errorf("hardware identity contract requires schema %d", HardwareIdentitySchemaVersion) + } + if document.Status != "unprovisioned" && document.Status != "ready" { + return false, fmt.Errorf("hardware identity contract has unsupported status %q", document.Status) + } + if len(document.Profiles) != len(budgets.HardwareProfiles) { + return false, fmt.Errorf("hardware identity contract must describe every budget profile") + } + for index, identity := range document.Profiles { + profile := budgets.HardwareProfiles[index] + if identity.ID != profile.ID || identity.RunnerLabel != profile.RunnerLabels[len(profile.RunnerLabels)-1] { + return false, fmt.Errorf("hardware identity %d does not match budget profile %q", index, profile.ID) + } + if document.Status == "unprovisioned" { + if !hardwareIdentityIsEmpty(identity) { + return false, fmt.Errorf("unprovisioned hardware identity %q contains invented machine evidence", identity.ID) + } + continue + } + if err := validateReadyHardwareIdentity(identity, profile); err != nil { + return false, err + } + } + return document.Status == "ready", nil +} + +func hardwareIdentityIsEmpty(identity ConcreteHardwareIdentity) bool { + return identity.RunnerName == "" && identity.CPUModel == "" && identity.Architecture == "" && + len(identity.InstructionSets) == 0 && identity.PhysicalCores == 0 && identity.LogicalCores == 0 && + identity.Virtualization == "" && identity.RAMBytes == 0 && identity.SwapBytes == 0 && identity.NUMA == "" && + identity.Storage == "" && identity.BenchmarkWorkspace == "" && identity.OS == "" && identity.Kernel == "" && + identity.PowerGovernor == "" && identity.ThermalState == "" && identity.ContainerVCPUs == 0 && + identity.ContainerMemoryBytes == 0 && identity.ContainerSwapBytes == 0 && identity.FingerprintSHA256 == "" +} + +func validateReadyHardwareIdentity(identity ConcreteHardwareIdentity, profile HardwareProfile) error { + for name, value := range map[string]string{ + "runner_name": identity.RunnerName, "cpu_model": identity.CPUModel, "architecture": identity.Architecture, + "virtualization": identity.Virtualization, "numa": identity.NUMA, "storage": identity.Storage, + "benchmark_workspace": identity.BenchmarkWorkspace, "os": identity.OS, "kernel": identity.Kernel, + "power_governor": identity.PowerGovernor, "thermal_state": identity.ThermalState, + } { + if value == "" { + return fmt.Errorf("ready hardware identity %q is missing %s", identity.ID, name) + } + } + if len(identity.InstructionSets) == 0 || !slices.IsSorted(identity.InstructionSets) { + return fmt.Errorf("ready hardware identity %q requires sorted instruction sets", identity.ID) + } + if identity.PhysicalCores <= 0 || identity.LogicalCores < identity.PhysicalCores || identity.RAMBytes <= 0 || + identity.ContainerVCPUs != profile.VCPUs || identity.ContainerMemoryBytes != profile.MemoryBytes || + identity.ContainerSwapBytes != profile.SwapBytes || identity.Storage != profile.Storage { + return fmt.Errorf("ready hardware identity %q contradicts its frozen resource profile", identity.ID) + } + expected, err := hardwareFingerprint(identity) + if err != nil { + return err + } + if identity.FingerprintSHA256 != expected { + return fmt.Errorf("ready hardware identity %q fingerprint does not match its concrete machine fields", identity.ID) + } + return nil +} + +func hardwareFingerprint(identity ConcreteHardwareIdentity) (string, error) { + identity.FingerprintSHA256 = "" + raw, err := json.Marshal(identity) + if err != nil { + return "", fmt.Errorf("encode hardware identity fingerprint: %w", err) + } + hash := sha256.Sum256(raw) + return hex.EncodeToString(hash[:]), nil +} diff --git a/internal/pii/evaluation/metrics.go b/internal/pii/evaluation/metrics.go index 16cd476..f4dee85 100644 --- a/internal/pii/evaluation/metrics.go +++ b/internal/pii/evaluation/metrics.go @@ -21,25 +21,27 @@ const ( ) type EvidenceMetadata struct { - GitCommit string - Backend string - ModelRevision string - Variant string - ArtifactSHA256 string - RuntimeVersion string - ContainerImage string - Platform string - HardwareProfile string - RunnerName string - CorpusSHA256 string - BroadCorpusSHA256 string - PolicySHA256 string - BudgetSHA256 string - IdentitySHA256 string - ReportSchemaSHA256 string - Artifacts []ArtifactIdentity - EvidenceAuthority EvidenceAuthority - Authoritative bool + GitCommit string + Backend string + ModelRevision string + Variant string + ArtifactSHA256 string + RuntimeVersion string + ContainerImage string + Platform string + HardwareProfile string + RunnerName string + CorpusSHA256 string + BroadCorpusSHA256 string + PolicySHA256 string + BudgetSHA256 string + IdentitySHA256 string + ReportSchemaSHA256 string + HardwareContractSHA256 string + HardwareContractReady bool + Artifacts []ArtifactIdentity + EvidenceAuthority EvidenceAuthority + Authoritative bool } type ArtifactIdentity struct { @@ -69,32 +71,34 @@ const ( ) type Report struct { - Schema int `json:"schema"` - GitCommit string `json:"git_commit"` - CorpusSHA256 string `json:"corpus_sha256"` - BroadCorpusSHA256 string `json:"broad_corpus_sha256"` - PolicySHA256 string `json:"policy_sha256"` - BudgetSHA256 string `json:"budget_sha256"` - IdentitySHA256 string `json:"identity_sha256"` - ReportSchemaSHA256 string `json:"report_schema_sha256"` - Backend string `json:"backend"` - ModelRevision string `json:"model_revision"` - Variant string `json:"variant"` - ArtifactSHA256 string `json:"artifact_sha256"` - RuntimeVersion string `json:"runtime_version"` - ContainerImage string `json:"container_image"` - Platform string `json:"platform"` - HardwareProfile string `json:"hardware_profile"` - RunnerName string `json:"runner_name"` - EvidenceAuthority EvidenceAuthority `json:"evidence_authority"` - Authoritative bool `json:"authoritative"` - Artifacts []ArtifactIdentity `json:"artifacts"` - CasesEvaluated int `json:"cases_evaluated"` - Detector DetectorMetrics `json:"detector"` - FinalOutput []OutputMetrics `json:"final_output"` - FinalOutputSlices []OutputMetricSlice `json:"final_output_slices"` - CaseResults []CaseResult `json:"case_results"` - Gates []GateResult `json:"gates"` + Schema int `json:"schema"` + GitCommit string `json:"git_commit"` + CorpusSHA256 string `json:"corpus_sha256"` + BroadCorpusSHA256 string `json:"broad_corpus_sha256"` + PolicySHA256 string `json:"policy_sha256"` + BudgetSHA256 string `json:"budget_sha256"` + IdentitySHA256 string `json:"identity_sha256"` + ReportSchemaSHA256 string `json:"report_schema_sha256"` + HardwareContractSHA256 string `json:"hardware_contract_sha256"` + HardwareContractReady bool `json:"hardware_contract_ready"` + Backend string `json:"backend"` + ModelRevision string `json:"model_revision"` + Variant string `json:"variant"` + ArtifactSHA256 string `json:"artifact_sha256"` + RuntimeVersion string `json:"runtime_version"` + ContainerImage string `json:"container_image"` + Platform string `json:"platform"` + HardwareProfile string `json:"hardware_profile"` + RunnerName string `json:"runner_name"` + EvidenceAuthority EvidenceAuthority `json:"evidence_authority"` + Authoritative bool `json:"authoritative"` + Artifacts []ArtifactIdentity `json:"artifacts"` + CasesEvaluated int `json:"cases_evaluated"` + Detector DetectorMetrics `json:"detector"` + FinalOutput []OutputMetrics `json:"final_output"` + FinalOutputSlices []OutputMetricSlice `json:"final_output_slices"` + CaseResults []CaseResult `json:"case_results"` + Gates []GateResult `json:"gates"` } type DetectorMetrics struct { @@ -361,27 +365,29 @@ func Evaluate(corpus *Corpus, observations []CaseObservation, metadata EvidenceM finalizeOutputMetrics(*outputTotals[ModeAll]), } report := &Report{ - Schema: ReportSchemaVersion, - GitCommit: metadata.GitCommit, - CorpusSHA256: metadata.CorpusSHA256, - BroadCorpusSHA256: metadata.BroadCorpusSHA256, - PolicySHA256: metadata.PolicySHA256, - BudgetSHA256: metadata.BudgetSHA256, - IdentitySHA256: metadata.IdentitySHA256, - ReportSchemaSHA256: metadata.ReportSchemaSHA256, - Backend: metadata.Backend, - ModelRevision: metadata.ModelRevision, - Variant: metadata.Variant, - ArtifactSHA256: metadata.ArtifactSHA256, - RuntimeVersion: metadata.RuntimeVersion, - ContainerImage: metadata.ContainerImage, - Platform: metadata.Platform, - HardwareProfile: metadata.HardwareProfile, - RunnerName: metadata.RunnerName, - EvidenceAuthority: metadata.EvidenceAuthority, - Authoritative: metadata.Authoritative, - Artifacts: artifacts, - CasesEvaluated: len(corpus.Cases), + Schema: ReportSchemaVersion, + GitCommit: metadata.GitCommit, + CorpusSHA256: metadata.CorpusSHA256, + BroadCorpusSHA256: metadata.BroadCorpusSHA256, + PolicySHA256: metadata.PolicySHA256, + BudgetSHA256: metadata.BudgetSHA256, + IdentitySHA256: metadata.IdentitySHA256, + ReportSchemaSHA256: metadata.ReportSchemaSHA256, + HardwareContractSHA256: metadata.HardwareContractSHA256, + HardwareContractReady: metadata.HardwareContractReady, + Backend: metadata.Backend, + ModelRevision: metadata.ModelRevision, + Variant: metadata.Variant, + ArtifactSHA256: metadata.ArtifactSHA256, + RuntimeVersion: metadata.RuntimeVersion, + ContainerImage: metadata.ContainerImage, + Platform: metadata.Platform, + HardwareProfile: metadata.HardwareProfile, + RunnerName: metadata.RunnerName, + EvidenceAuthority: metadata.EvidenceAuthority, + Authoritative: metadata.Authoritative, + Artifacts: artifacts, + CasesEvaluated: len(corpus.Cases), Detector: DetectorMetrics{ Exact: exactTotal.metrics(), Covering: coveringTotal.metrics(), @@ -410,7 +416,8 @@ func validateEvidenceMetadata(metadata EvidenceMetadata) error { "container image": metadata.ContainerImage, "platform": metadata.Platform, "hardware profile": metadata.HardwareProfile, "runner name": metadata.RunnerName, "corpus sha256": metadata.CorpusSHA256, "broad corpus sha256": metadata.BroadCorpusSHA256, "policy sha256": metadata.PolicySHA256, "budget sha256": metadata.BudgetSHA256, "identity sha256": metadata.IdentitySHA256, - "report schema sha256": metadata.ReportSchemaSHA256, + "report schema sha256": metadata.ReportSchemaSHA256, + "hardware contract sha256": metadata.HardwareContractSHA256, } { if value == "" { return fmt.Errorf("evaluate privacy corpus: evidence metadata is missing %s", name) @@ -426,6 +433,7 @@ func validateEvidenceMetadata(metadata EvidenceMetadata) error { for name, value := range map[string]string{ "artifact": metadata.ArtifactSHA256, "corpus": metadata.CorpusSHA256, "broad corpus": metadata.BroadCorpusSHA256, "policy": metadata.PolicySHA256, "budget": metadata.BudgetSHA256, "identity": metadata.IdentitySHA256, "report schema": metadata.ReportSchemaSHA256, + "hardware contract": metadata.HardwareContractSHA256, } { if len(value) != sha256HexLength { return fmt.Errorf("evaluate privacy corpus: authoritative %s identity is not SHA-256", name) @@ -841,7 +849,7 @@ func evaluateGates(metadata EvidenceMetadata, finalOutput []OutputMetrics) []Gat for gate := 0; gate <= 10; gate++ { state := GateNotRun reason := "phase-not-evaluated" - if gate == 0 && metadata.Authoritative && metadata.EvidenceAuthority == AuthorityDockerCI { + if gate == 0 && metadata.Authoritative && metadata.EvidenceAuthority == AuthorityDockerCI && metadata.HardwareContractReady { state = GatePass reason = "authoritative-policy-freeze-evidence-complete" seenOff := false @@ -859,7 +867,11 @@ func evaluateGates(metadata EvidenceMetadata, finalOutput []OutputMetrics) []Gat reason = "mode-off-evidence-missing" } } else if gate == 0 { - reason = "authoritative-docker-evidence-not-run" + if metadata.Authoritative && metadata.EvidenceAuthority == AuthorityDockerCI && !metadata.HardwareContractReady { + reason = "stable-hardware-identities-not-frozen" + } else { + reason = "authoritative-docker-evidence-not-run" + } } gates = append(gates, GateResult{Gate: fmt.Sprintf("G%d", gate), State: state, Reason: reason}) } diff --git a/internal/pii/evaluation/metrics_test.go b/internal/pii/evaluation/metrics_test.go index 6dbc7b0..bd07688 100644 --- a/internal/pii/evaluation/metrics_test.go +++ b/internal/pii/evaluation/metrics_test.go @@ -248,6 +248,7 @@ func testMetadata() EvidenceMetadata { Variant: "int8", ArtifactSHA256: hash, RuntimeVersion: "fixture-runtime", ContainerImage: "fixture-image", Platform: "linux-amd64", HardwareProfile: "local", RunnerName: "fixture-runner", CorpusSHA256: hash, BroadCorpusSHA256: hash, PolicySHA256: hash, BudgetSHA256: hash, IdentitySHA256: hash, ReportSchemaSHA256: hash, + HardwareContractSHA256: hash, HardwareContractReady: true, Artifacts: []ArtifactIdentity{{Name: "fixture-component", SHA256: hash, SizeBytes: 1}}, EvidenceAuthority: AuthorityLocal, Authoritative: false, } diff --git a/internal/pii/evaluation/performance.go b/internal/pii/evaluation/performance.go index c653a1a..beae77a 100644 --- a/internal/pii/evaluation/performance.go +++ b/internal/pii/evaluation/performance.go @@ -1,34 +1,70 @@ package evaluation import ( + "crypto/sha256" + "encoding/hex" + "encoding/json" "fmt" "os" + "slices" "strings" ) +func GeneratePerformanceWorkloadsDocument() (*WorkloadsDocument, error) { + workloads := expectedPerformanceWorkloads() + for index := range workloads { + hash, err := performancePayloadSHA256(workloads[index]) + if err != nil { + return nil, err + } + workloads[index].PayloadSHA256 = hash + } + return &WorkloadsDocument{Schema: CorpusSchemaVersion, Workloads: workloads}, nil +} + +func WritePerformanceWorkloads(path string) error { + document, err := GeneratePerformanceWorkloadsDocument() + if err != nil { + return err + } + raw, err := json.MarshalIndent(document, "", " ") + if err != nil { + return fmt.Errorf("encode performance workloads: %w", err) + } + if err := os.WriteFile(path, append(raw, '\n'), 0o644); err != nil { + return fmt.Errorf("write performance workloads: %w", err) + } + return nil +} + type WorkloadsDocument struct { Schema int `json:"schema"` Workloads []PerformanceWorkload `json:"workloads"` } type PerformanceWorkload struct { - ID string `json:"id"` - Description string `json:"description"` - TargetBytes int `json:"target_bytes"` - WarmupSamples int `json:"warmup_samples"` - MeasuredSamples int `json:"measured_samples"` - FreshProcesses int `json:"fresh_processes"` - Concurrency int `json:"concurrency"` - Requests int `json:"requests"` - RequiredMetrics []string `json:"required_metrics"` + ID string `json:"id"` + Description string `json:"description"` + TargetBytes int `json:"target_bytes"` + WarmupSamples int `json:"warmup_samples"` + MeasuredSamples int `json:"measured_samples"` + FreshProcesses int `json:"fresh_processes"` + Concurrency int `json:"concurrency"` + Requests int `json:"requests"` + RequiredMetrics []string `json:"required_metrics"` + Generator string `json:"generator"` + GeneratorVersion int `json:"generator_version"` + GeneratorSeed string `json:"generator_seed"` + PayloadSHA256 string `json:"payload_sha256"` } type BudgetsDocument struct { - Schema int `json:"schema"` - EvidenceAuthority string `json:"evidence_authority"` - Sampling SamplingPolicy `json:"sampling"` - HardwareProfiles []HardwareProfile `json:"hardware_profiles"` - Limits []PerformanceLimit `json:"limits"` + Schema int `json:"schema"` + EvidenceAuthority string `json:"evidence_authority"` + Sampling SamplingPolicy `json:"sampling"` + HardwareProfiles []HardwareProfile `json:"hardware_profiles"` + Limits []PerformanceLimit `json:"limits"` + HardwareIdentityFile string `json:"hardware_identity_file"` } type SamplingPolicy struct { @@ -57,6 +93,130 @@ type PerformanceLimit struct { Profiles []string `json:"profiles"` } +const ( + PerformancePayloadGenerator = "hs-privacy-performance-payload" + PerformancePayloadVersion = 1 +) + +var standardPerformanceMetrics = []string{ + "load_time", "first_inference", "warm_p50", "warm_p95", "warm_p99", "cpu_time", "wall_time", + "throughput", "rss", "page_faults", "disk_bytes", "detector_constructions", +} + +func expectedPerformanceWorkloads() []PerformanceWorkload { + workloads := []PerformanceWorkload{ + {ID: "subject", Description: "Synthetic support subject exactly 256 UTF-8 bytes.", TargetBytes: 256, WarmupSamples: 10, MeasuredSamples: 100, FreshProcesses: 20, Concurrency: 1, Requests: 1}, + {ID: "message", Description: "Synthetic 2 KiB support message with mixed typed privacy targets.", TargetBytes: 2048, WarmupSamples: 10, MeasuredSamples: 100, FreshProcesses: 20, Concurrency: 1, Requests: 1}, + {ID: "thread", Description: "Synthetic 20 KiB multi-message thread exercising window boundaries.", TargetBytes: 20480, WarmupSamples: 10, MeasuredSamples: 100, FreshProcesses: 20, Concurrency: 1, Requests: 1}, + {ID: "export", Description: "Synthetic 100 KiB conversation export.", TargetBytes: 102400, WarmupSamples: 5, MeasuredSamples: 100, FreshProcesses: 20, Concurrency: 1, Requests: 1}, + {ID: "adversarial-long", Description: "Dense 128 KiB synthetic Unicode input with awkward token and byte boundaries.", TargetBytes: 131072, WarmupSamples: 5, MeasuredSamples: 100, FreshProcesses: 20, Concurrency: 1, Requests: 1}, + {ID: "mcp-longevity", Description: "One hundred warm 2 KiB synthetic requests after explicit warm-up.", TargetBytes: 2048, WarmupSamples: 10, MeasuredSamples: 100, FreshProcesses: 20, Concurrency: 1, Requests: 100}, + {ID: "mcp-burst", Description: "Four concurrent 2 KiB synthetic requests measuring queueing and deadlock safety.", TargetBytes: 2048, WarmupSamples: 10, MeasuredSamples: 100, FreshProcesses: 20, Concurrency: 4, Requests: 4}, + } + for index := range workloads { + workloads[index].RequiredMetrics = append([]string(nil), standardPerformanceMetrics...) + workloads[index].Generator = PerformancePayloadGenerator + workloads[index].GeneratorVersion = PerformancePayloadVersion + workloads[index].GeneratorSeed = "performance-" + workloads[index].ID + "-v1" + } + workloads[3].RequiredMetrics = append(workloads[3].RequiredMetrics, "truncations") + workloads[4].RequiredMetrics = append(workloads[4].RequiredMetrics, "truncations", "fail_closed") + workloads[5].RequiredMetrics = append(workloads[5].RequiredMetrics, "rss_growth", "goroutines") + workloads[6].RequiredMetrics = append(workloads[6].RequiredMetrics, "deadlocks", "race_failures") + return workloads +} + +func expectedPerformanceLimits() []PerformanceLimit { + allProfiles := []string{"H0", "H1", "H2"} + return []PerformanceLimit{ + {ID: "detector-readiness-reference", Workload: "all", Statistic: "p95", Maximum: 5000, Unit: "milliseconds", Profiles: []string{"H1", "H2"}}, + {ID: "detector-readiness-slowest", Workload: "all", Statistic: "p95", Maximum: 8000, Unit: "milliseconds", Profiles: []string{"H0"}}, + {ID: "warm-subject", Workload: "subject", Statistic: "p95", Maximum: 250, Unit: "milliseconds", Profiles: append([]string(nil), allProfiles...)}, + {ID: "warm-message", Workload: "message", Statistic: "p95", Maximum: 750, Unit: "milliseconds", Profiles: append([]string(nil), allProfiles...)}, + {ID: "warm-thread", Workload: "thread", Statistic: "p95", Maximum: 4000, Unit: "milliseconds", Profiles: append([]string(nil), allProfiles...)}, + {ID: "warm-export", Workload: "export", Statistic: "p95", Maximum: 20000, Unit: "milliseconds", Profiles: append([]string(nil), allProfiles...)}, + {ID: "peak-rss", Workload: "all", Statistic: "maximum", Maximum: 2 * 1024 * 1024 * 1024, Unit: "bytes", Profiles: append([]string(nil), allProfiles...)}, + {ID: "steady-rss", Workload: "mcp-longevity", Statistic: "post-warm", Maximum: 1536 * 1024 * 1024, Unit: "bytes", Profiles: append([]string(nil), allProfiles...)}, + {ID: "rss-growth-percent", Workload: "mcp-longevity", Statistic: "maximum", Maximum: 5, Unit: "percent", Profiles: append([]string(nil), allProfiles...)}, + {ID: "rss-growth-bytes", Workload: "mcp-longevity", Statistic: "maximum", Maximum: 64 * 1024 * 1024, Unit: "bytes", Profiles: append([]string(nil), allProfiles...)}, + {ID: "installed-bundle", Workload: "all", Statistic: "maximum", Maximum: 1280 * 1024 * 1024, Unit: "bytes", Profiles: append([]string(nil), allProfiles...)}, + {ID: "compressed-download", Workload: "all", Statistic: "maximum", Maximum: 1181116006, Unit: "bytes", Profiles: append([]string(nil), allProfiles...)}, + {ID: "detector-construction", Workload: "all", Statistic: "maximum", Maximum: 1, Unit: "count", Profiles: append([]string(nil), allProfiles...)}, + {ID: "mode-off-construction", Workload: "all", Statistic: "maximum", Maximum: 0, Unit: "count", Profiles: append([]string(nil), allProfiles...)}, + {ID: "mcp-burst-factor", Workload: "mcp-burst", Statistic: "single-request-p95-multiple", Maximum: 5, Unit: "factor", Profiles: append([]string(nil), allProfiles...)}, + } +} + +func expectedHardwareProfiles() []HardwareProfile { + metadata := []string{ + "runner_name", "cpu_model", "architecture", "instruction_sets", "physical_cores", "logical_cores", + "virtualization", "ram_limit", "swap_policy", "numa", "storage", "benchmark_workspace", "os", "kernel", "power_governor", "thermal_state", + "onnx_runtime", "go_version", "python_version", "thread_settings", "container_limits", "git_commit", "corpus_sha256", + "budget_sha256", "model_sha256", + } + return []HardwareProfile{ + {ID: "H0", RunnerLabels: []string{"self-hosted", "linux", "x64", "privacy-filter-h0"}, VCPUs: 2, MemoryBytes: 4 * 1024 * 1024 * 1024, SwapBytes: 0, CPUOnly: true, Storage: "ssd", RequiredMetadata: append([]string(nil), metadata...)}, + {ID: "H1", RunnerLabels: []string{"self-hosted", "linux", "x64", "privacy-filter-h1"}, VCPUs: 4, MemoryBytes: 8 * 1024 * 1024 * 1024, SwapBytes: 0, CPUOnly: true, Storage: "ssd", RequiredMetadata: append([]string(nil), metadata...)}, + {ID: "H2", RunnerLabels: []string{"self-hosted", "linux", "x64", "privacy-filter-h2"}, VCPUs: 8, MemoryBytes: 16 * 1024 * 1024 * 1024, SwapBytes: 0, CPUOnly: true, Storage: "ssd", RequiredMetadata: append([]string(nil), metadata...)}, + } +} + +// GeneratePerformancePayload constructs the exact bytes identified by a +// workload. It is deliberately independent of detector implementation. +func GeneratePerformancePayload(workload PerformanceWorkload) ([]byte, error) { + if workload.Generator != PerformancePayloadGenerator || workload.GeneratorVersion != PerformancePayloadVersion || + !idPattern.MatchString(workload.GeneratorSeed) || workload.TargetBytes <= 0 { + return nil, fmt.Errorf("performance workload %q has an unsupported payload generator contract", workload.ID) + } + provenance := SyntheticProvenance{ + Generator: SyntheticSecretGenerator, Version: SyntheticSecretVersion, + Seed: workload.GeneratorSeed, Recipe: "command-secret", Purpose: "must-detect", + } + credential, err := GenerateSyntheticValue(provenance) + if err != nil { + return nil, err + } + patterns := map[string]string{ + "subject": "Support request from Rowan Vale about account CUST-2048 and credential " + credential + ". ", + "message": "Customer Rowan Vale wrote from rowan.vale@example.invalid about 742 Evergreen Road. Generated credential=" + credential + ". Public release 2026-07-17. ", + "thread": "[message] Customer Rowan Vale; email=rowan.vale@example.invalid; private date=1984-03-12; account=CUST-2048; credential=" + credential + "; [/message]\n", + "export": `{"customer":"Rowan Vale","email":"rowan.vale@example.invalid","account":"CUST-2048","credential":"` + credential + `","public_release":"2026-07-17"}` + "\n", + "adversarial-long": "مستخدم Rowan Vale 顧客 さくら 고객 आरव café e\u0301 👩🏽‍💻 credential=" + credential + " boundary\u200dtext\n", + "mcp-longevity": `{"tool":"inbox_search","query":"Rowan Vale ` + credential + `","email":"rowan.vale@example.invalid"}` + "\n", + "mcp-burst": `{"request":"concurrent","customer":"Rowan Vale","credential":"` + credential + `"}` + "\n", + } + pattern, exists := patterns[workload.ID] + if !exists { + return nil, fmt.Errorf("performance workload %q has no deterministic payload recipe", workload.ID) + } + header := fmt.Sprintf("HS-PRIVACY-WORKLOAD/%s/v%d\n", workload.ID, workload.GeneratorVersion) + payload := make([]byte, 0, workload.TargetBytes) + payload = append(payload, header...) + for len(payload)+len(pattern) <= workload.TargetBytes { + payload = append(payload, pattern...) + } + for _, character := range pattern { + encoded := []byte(string(character)) + if len(payload)+len(encoded) > workload.TargetBytes { + break + } + payload = append(payload, encoded...) + } + for len(payload) < workload.TargetBytes { + payload = append(payload, 'x') + } + return payload, nil +} + +func performancePayloadSHA256(workload PerformanceWorkload) (string, error) { + payload, err := GeneratePerformancePayload(workload) + if err != nil { + return "", err + } + hash := sha256.Sum256(payload) + return hex.EncodeToString(hash[:]), nil +} + func LoadPerformanceContract(workloadsPath, budgetsPath string) (*WorkloadsDocument, *BudgetsDocument, error) { workloadsRaw, err := os.ReadFile(workloadsPath) if err != nil { @@ -87,14 +247,18 @@ func validatePerformanceContract(workloads *WorkloadsDocument, budgets *BudgetsD if budgets.EvidenceAuthority != "docker-ci" { return fmt.Errorf("performance budgets must name docker-ci as evidence authority") } + if budgets.HardwareIdentityFile != "hardware-identities.json" { + return fmt.Errorf("performance budgets must pin hardware-identities.json") + } if budgets.Sampling.MinimumFreshProcesses < 20 || budgets.Sampling.MinimumWarmSamples < 100 || budgets.Sampling.DiagnosticReruns != 1 { return fmt.Errorf("performance sampling is below the frozen minimum") } - if len(workloads.Workloads) != 7 { - return fmt.Errorf("performance contract requires exactly seven workloads") + expectedWorkloads := expectedPerformanceWorkloads() + if len(workloads.Workloads) != len(expectedWorkloads) { + return fmt.Errorf("performance contract requires exactly %d workloads", len(expectedWorkloads)) } workloadIDs := make(map[string]struct{}, len(workloads.Workloads)) - for _, workload := range workloads.Workloads { + for index, workload := range workloads.Workloads { if !idPattern.MatchString(workload.ID) || workload.Description == "" || workload.TargetBytes <= 0 { return fmt.Errorf("performance workload %q has invalid metadata", workload.ID) } @@ -102,34 +266,46 @@ func validatePerformanceContract(workloads *WorkloadsDocument, budgets *BudgetsD return fmt.Errorf("duplicate performance workload %q", workload.ID) } workloadIDs[workload.ID] = struct{}{} - if workload.WarmupSamples < 1 || workload.MeasuredSamples < budgets.Sampling.MinimumWarmSamples || - workload.FreshProcesses < budgets.Sampling.MinimumFreshProcesses || workload.Concurrency < 1 || workload.Requests < 1 { - return fmt.Errorf("performance workload %q is below the frozen sampling minimum", workload.ID) - } - if len(workload.RequiredMetrics) == 0 { - return fmt.Errorf("performance workload %q has no required metrics", workload.ID) - } if err := validateUniqueStrings("performance workload "+workload.ID, "required_metrics", workload.RequiredMetrics); err != nil { return err } - } - for _, required := range []string{"subject", "message", "thread", "export", "adversarial-long", "mcp-longevity", "mcp-burst"} { - if _, exists := workloadIDs[required]; !exists { - return fmt.Errorf("performance contract is missing workload %q", required) + expected := expectedWorkloads[index] + if workload.ID != expected.ID || workload.Description != expected.Description || workload.TargetBytes != expected.TargetBytes || + workload.WarmupSamples != expected.WarmupSamples || workload.MeasuredSamples != expected.MeasuredSamples || + workload.FreshProcesses != expected.FreshProcesses || workload.Concurrency != expected.Concurrency || + workload.Requests != expected.Requests || !slices.Equal(workload.RequiredMetrics, expected.RequiredMetrics) || + workload.Generator != expected.Generator || workload.GeneratorVersion != expected.GeneratorVersion || + workload.GeneratorSeed != expected.GeneratorSeed { + return fmt.Errorf("performance workload %q differs from the exact frozen workload contract", workload.ID) + } + payloadHash, err := performancePayloadSHA256(workload) + if err != nil { + return fmt.Errorf("generate performance workload %q: %w", workload.ID, err) + } + if workload.PayloadSHA256 != payloadHash { + return fmt.Errorf("performance workload %q payload hash differs from generated bytes", workload.ID) } } - if len(budgets.HardwareProfiles) != 3 { + expectedProfiles := expectedHardwareProfiles() + if len(budgets.HardwareProfiles) != len(expectedProfiles) { return fmt.Errorf("performance contract requires H0, H1, and H2 hardware profiles") } profiles := make(map[string]HardwareProfile, len(budgets.HardwareProfiles)) - for _, profile := range budgets.HardwareProfiles { + for index, profile := range budgets.HardwareProfiles { if profile.ID != "H0" && profile.ID != "H1" && profile.ID != "H2" { return fmt.Errorf("unsupported hardware profile %q", profile.ID) } if _, exists := profiles[profile.ID]; exists { return fmt.Errorf("duplicate hardware profile %q", profile.ID) } + expected := expectedProfiles[index] + if profile.ID != expected.ID || !slices.Equal(profile.RunnerLabels, expected.RunnerLabels) || + profile.VCPUs != expected.VCPUs || profile.MemoryBytes != expected.MemoryBytes || profile.SwapBytes != expected.SwapBytes || + profile.CPUOnly != expected.CPUOnly || profile.Storage != expected.Storage || + !slices.Equal(profile.RequiredMetadata, expected.RequiredMetadata) { + return fmt.Errorf("hardware profile %q differs from the exact frozen profile", profile.ID) + } if profile.VCPUs <= 0 || profile.MemoryBytes <= 0 || !profile.CPUOnly || profile.Storage != "ssd" { return fmt.Errorf("hardware profile %q has invalid resources", profile.ID) } @@ -147,8 +323,8 @@ func validatePerformanceContract(workloads *WorkloadsDocument, budgets *BudgetsD } for _, required := range []string{ "runner_name", "cpu_model", "architecture", "instruction_sets", "physical_cores", "logical_cores", - "virtualization", "ram_limit", "swap_policy", "numa", "storage", "os", "kernel", "power_governor", - "onnx_runtime", "go_version", "python_version", "thread_settings", "git_commit", "corpus_sha256", + "virtualization", "ram_limit", "swap_policy", "numa", "storage", "benchmark_workspace", "os", "kernel", "power_governor", "thermal_state", + "onnx_runtime", "go_version", "python_version", "thread_settings", "container_limits", "git_commit", "corpus_sha256", "budget_sha256", "model_sha256", } { if !contains(profile.RequiredMetadata, required) { @@ -163,40 +339,19 @@ func validatePerformanceContract(workloads *WorkloadsDocument, budgets *BudgetsD return fmt.Errorf("hardware profiles do not match the frozen H0/H1/H2 resources") } - requiredLimits := map[string]struct { - maximum int64 - unit string - }{ - "detector-readiness-reference": {5000, "milliseconds"}, - "detector-readiness-slowest": {8000, "milliseconds"}, - "warm-subject": {250, "milliseconds"}, - "warm-message": {750, "milliseconds"}, - "warm-thread": {4000, "milliseconds"}, - "warm-export": {20000, "milliseconds"}, - "peak-rss": {2 * 1024 * 1024 * 1024, "bytes"}, - "steady-rss": {1536 * 1024 * 1024, "bytes"}, - "rss-growth-percent": {5, "percent"}, - "rss-growth-bytes": {64 * 1024 * 1024, "bytes"}, - "installed-bundle": {1280 * 1024 * 1024, "bytes"}, - "compressed-download": {1181116006, "bytes"}, - "detector-construction": {1, "count"}, - "mode-off-construction": {0, "count"}, - "mcp-burst-factor": {5, "factor"}, - } - if len(budgets.Limits) != len(requiredLimits) { - return fmt.Errorf("performance contract expected %d frozen limits", len(requiredLimits)) + expectedLimits := expectedPerformanceLimits() + if len(budgets.Limits) != len(expectedLimits) { + return fmt.Errorf("performance contract expected %d frozen limits", len(expectedLimits)) } seenLimits := make(map[string]struct{}, len(budgets.Limits)) - for _, limit := range budgets.Limits { - expected, exists := requiredLimits[limit.ID] - if !exists { - return fmt.Errorf("unknown performance limit %q", limit.ID) - } + for index, limit := range budgets.Limits { if _, exists := seenLimits[limit.ID]; exists { return fmt.Errorf("duplicate performance limit %q", limit.ID) } seenLimits[limit.ID] = struct{}{} - if limit.Maximum != expected.maximum || limit.Unit != expected.unit || limit.Statistic == "" || len(limit.Profiles) == 0 { + expected := expectedLimits[index] + if limit.ID != expected.ID || limit.Workload != expected.Workload || limit.Statistic != expected.Statistic || + limit.Maximum != expected.Maximum || limit.Unit != expected.Unit || !slices.Equal(limit.Profiles, expected.Profiles) { return fmt.Errorf("performance limit %q differs from the frozen budget", limit.ID) } for _, profile := range limit.Profiles { diff --git a/internal/pii/evaluation/performance_test.go b/internal/pii/evaluation/performance_test.go new file mode 100644 index 0000000..6932261 --- /dev/null +++ b/internal/pii/evaluation/performance_test.go @@ -0,0 +1,153 @@ +package evaluation + +import ( + "bytes" + "encoding/json" + "os" + "path/filepath" + "testing" + "unicode/utf8" +) + +func loadTestPerformanceContract(t *testing.T) (*WorkloadsDocument, *BudgetsDocument) { + t.Helper() + dir := filepath.Join(corpusDir(t), "performance") + workloads, budgets, err := LoadPerformanceContract(filepath.Join(dir, "workloads.json"), filepath.Join(dir, "budgets.json")) + if err != nil { + t.Fatalf("load performance contract: %v", err) + } + return workloads, budgets +} + +func TestPerformancePayloadsAreByteExactAndReproducible(t *testing.T) { + workloads, _ := loadTestPerformanceContract(t) + for _, workload := range workloads.Workloads { + payload, err := GeneratePerformancePayload(workload) + if err != nil { + t.Fatalf("generate workload %q: %v", workload.ID, err) + } + if len(payload) != workload.TargetBytes { + t.Fatalf("workload %q generated %d bytes, want %d", workload.ID, len(payload), workload.TargetBytes) + } + if !utf8.Valid(payload) { + t.Fatalf("workload %q generated invalid UTF-8", workload.ID) + } + hash, err := performancePayloadSHA256(workload) + if err != nil || hash != workload.PayloadSHA256 { + t.Fatalf("workload %q hash mismatch: got %q want %q err=%v", workload.ID, hash, workload.PayloadSHA256, err) + } + } + + generated, err := GeneratePerformanceWorkloadsDocument() + if err != nil { + t.Fatal(err) + } + generatedRaw, err := json.MarshalIndent(generated, "", " ") + if err != nil { + t.Fatal(err) + } + generatedRaw = append(generatedRaw, '\n') + checkedRaw, err := os.ReadFile(filepath.Join(corpusDir(t), "performance", "workloads.json")) + if err != nil { + t.Fatal(err) + } + if !bytes.Equal(generatedRaw, checkedRaw) { + t.Fatal("checked performance workloads are stale; run go run ./internal/pii/evaluation/cmd/performancegen -repo-root .") + } +} + +func TestPerformanceContractRejectsSemanticWeakening(t *testing.T) { + workloads, budgets := loadTestPerformanceContract(t) + + weakenedWorkloads := *workloads + weakenedWorkloads.Workloads = append([]PerformanceWorkload(nil), workloads.Workloads...) + weakenedWorkloads.Workloads[1].TargetBytes++ + if err := validatePerformanceContract(&weakenedWorkloads, budgets); err == nil { + t.Fatal("performance contract accepted a changed target size") + } + + weakenedWorkloads = *workloads + weakenedWorkloads.Workloads = append([]PerformanceWorkload(nil), workloads.Workloads...) + weakenedWorkloads.Workloads[1].RequiredMetrics = append([]string(nil), workloads.Workloads[1].RequiredMetrics[1:]...) + if err := validatePerformanceContract(&weakenedWorkloads, budgets); err == nil { + t.Fatal("performance contract accepted a removed required metric") + } + + weakenedBudgets := *budgets + weakenedBudgets.Limits = append([]PerformanceLimit(nil), budgets.Limits...) + weakenedBudgets.Limits[2].Statistic = "p99" + if err := validatePerformanceContract(workloads, &weakenedBudgets); err == nil { + t.Fatal("performance contract accepted a changed statistic") + } + + weakenedBudgets = *budgets + weakenedBudgets.Limits = append([]PerformanceLimit(nil), budgets.Limits...) + weakenedBudgets.Limits[2].Profiles = []string{"H2"} + if err := validatePerformanceContract(workloads, &weakenedBudgets); err == nil { + t.Fatal("performance contract accepted weakened profile applicability") + } +} + +func TestHardwareIdentityContractExplicitlyBlocksAuthoritativeGatesUntilProvisioned(t *testing.T) { + _, budgets := loadTestPerformanceContract(t) + document, ready, err := LoadHardwareIdentityContract( + filepath.Join(corpusDir(t), "performance", budgets.HardwareIdentityFile), budgets, + ) + if err != nil { + t.Fatal(err) + } + if ready || document.Status != "unprovisioned" { + t.Fatalf("repository must not invent H0/H1/H2 machine evidence: status=%q ready=%v", document.Status, ready) + } + metadata := testMetadata() + metadata.EvidenceAuthority = AuthorityDockerCI + metadata.Authoritative = true + metadata.HardwareContractReady = false + gates := evaluateGates(metadata, []OutputMetrics{{Mode: ModeOff}}) + if gates[0].State != GateNotRun || gates[0].Reason != "stable-hardware-identities-not-frozen" { + t.Fatalf("unprovisioned stable hosts did not keep G0 not-run: %+v", gates[0]) + } + if err := RequireGatePass(&Report{Gates: gates}, "G0"); err == nil { + t.Fatal("unprovisioned hardware identities were allowed to pass authoritative G0") + } +} + +func TestReadyHardwareIdentitiesRequireConcreteFingerprintMatches(t *testing.T) { + _, budgets := loadTestPerformanceContract(t) + document := HardwareIdentityDocument{Schema: HardwareIdentitySchemaVersion, Status: "ready"} + for _, profile := range budgets.HardwareProfiles { + identity := ConcreteHardwareIdentity{ + ID: profile.ID, RunnerLabel: profile.RunnerLabels[len(profile.RunnerLabels)-1], RunnerName: "fixture-" + profile.ID, + CPUModel: "Fixture CPU 1", Architecture: "x86_64", InstructionSets: []string{"avx2", "sse4.2"}, + PhysicalCores: profile.VCPUs, LogicalCores: profile.VCPUs, Virtualization: "fixture-hypervisor", + RAMBytes: profile.MemoryBytes, SwapBytes: profile.SwapBytes, NUMA: "single-node", Storage: profile.Storage, + BenchmarkWorkspace: "/fixture/benchmark", OS: "Fixture Linux", Kernel: "1.0.0", + PowerGovernor: "performance", ThermalState: "controlled", ContainerVCPUs: profile.VCPUs, + ContainerMemoryBytes: profile.MemoryBytes, ContainerSwapBytes: profile.SwapBytes, + } + fingerprint, err := hardwareFingerprint(identity) + if err != nil { + t.Fatal(err) + } + identity.FingerprintSHA256 = fingerprint + document.Profiles = append(document.Profiles, identity) + } + ready, err := validateHardwareIdentityContract(&document, budgets) + if err != nil || !ready { + t.Fatalf("complete concrete hardware identities were rejected: ready=%v err=%v", ready, err) + } + document.Profiles[0].CPUModel = "silently changed CPU" + if _, err := validateHardwareIdentityContract(&document, budgets); err == nil { + t.Fatal("hardware identity accepted a changed CPU with a stale fingerprint") + } +} + +func TestApprovedBaselineAnchorRemainsExplicitlyNotRun(t *testing.T) { + anchor, err := LoadBaselineAnchor(filepath.Join(corpusDir(t), "performance", "approved-baseline.json")) + if err != nil { + t.Fatal(err) + } + if anchor.Status != "not-run" { + t.Fatalf("baseline anchor must remain not-run until reviewed Docker CI evidence exists: %q", anchor.Status) + } +} diff --git a/internal/pii/ner/g0_baseline_test.go b/internal/pii/ner/g0_baseline_test.go index 4daa2a0..9cdc8af 100644 --- a/internal/pii/ner/g0_baseline_test.go +++ b/internal/pii/ner/g0_baseline_test.go @@ -65,12 +65,20 @@ func TestDistilBERTTypedCorpusBaseline(t *testing.T) { if _, err := evaluation.LoadPolicy(filepath.Join(fixtureDir, "policy.json")); err != nil { t.Fatalf("load frozen typed policy: %v", err) } - if _, _, err := evaluation.LoadPerformanceContract( + _, budgets, err := evaluation.LoadPerformanceContract( filepath.Join(fixtureDir, "performance", "workloads.json"), filepath.Join(fixtureDir, "performance", "budgets.json"), - ); err != nil { + ) + if err != nil { t.Fatalf("load frozen performance contract: %v", err) } + _, hardwareReady, err := evaluation.LoadHardwareIdentityContract( + filepath.Join(fixtureDir, "performance", "hardware-identities.json"), budgets, + ) + if err != nil { + t.Fatalf("load frozen hardware identity contract: %v", err) + } + metadata.HardwareContractReady = hardwareReady if _, err := evaluation.LoadIdentitySnapshot(filepath.Join(fixtureDir, "identity-compatibility.json")); err != nil { t.Fatalf("load deterministic identity snapshot: %v", err) } @@ -78,9 +86,11 @@ func TestDistilBERTTypedCorpusBaseline(t *testing.T) { metadata.BudgetSHA256 = mustHashFiles(t, filepath.Join(fixtureDir, "performance", "budgets.json"), filepath.Join(fixtureDir, "performance", "workloads.json"), + filepath.Join(fixtureDir, "performance", "hardware-identities.json"), ) metadata.IdentitySHA256 = mustHashFile(t, filepath.Join(fixtureDir, "identity-compatibility.json")) metadata.ReportSchemaSHA256 = mustHashFile(t, filepath.Join(fixtureDir, "report-schema.json")) + metadata.HardwareContractSHA256 = mustHashFile(t, filepath.Join(fixtureDir, "performance", "hardware-identities.json")) secret, err := pii.NewSecretString("phase0-baseline-synthetic-pseudonym-key") if err != nil { @@ -147,7 +157,9 @@ func TestDistilBERTTypedCorpusBaseline(t *testing.T) { if err := evaluation.WriteReport(reportPath, report); err != nil { t.Fatalf("write DistilBERT baseline report: %v", err) } - requireAuthoritativeG0Pass(t, report) + if metadata.Authoritative { + requireAuthoritativeG0Pass(t, report) + } t.Logf("wrote synthetic-only DistilBERT G0 baseline: cases=%d exact_f2=%.6f covering_f2=%.6f", report.CasesEvaluated, report.Detector.Exact.F2, report.Detector.Covering.F2) } diff --git a/internal/pii/testdata/privacy-filter/v1/performance/approved-baseline.json b/internal/pii/testdata/privacy-filter/v1/performance/approved-baseline.json new file mode 100644 index 0000000..9203eec --- /dev/null +++ b/internal/pii/testdata/privacy-filter/v1/performance/approved-baseline.json @@ -0,0 +1,13 @@ +{ + "schema": 1, + "status": "not-run", + "reason": "awaiting-authoritative-docker-ci-and-stable-host-provisioning", + "git_commit": "", + "workflow_run_url": "", + "report_sha256": "", + "container_image": "", + "smoke_corpus_sha256": "", + "broad_corpus_sha256": "", + "budget_sha256": "", + "hardware_sha256": "" +} diff --git a/internal/pii/testdata/privacy-filter/v1/performance/budgets.json b/internal/pii/testdata/privacy-filter/v1/performance/budgets.json index 57f601b..dda10e7 100644 --- a/internal/pii/testdata/privacy-filter/v1/performance/budgets.json +++ b/internal/pii/testdata/privacy-filter/v1/performance/budgets.json @@ -1,6 +1,7 @@ { "schema": 1, "evidence_authority": "docker-ci", + "hardware_identity_file": "hardware-identities.json", "sampling": { "minimum_fresh_processes": 20, "minimum_warm_samples": 100, @@ -15,7 +16,7 @@ "swap_bytes": 0, "cpu_only": true, "storage": "ssd", - "required_metadata": ["runner_name", "cpu_model", "architecture", "instruction_sets", "physical_cores", "logical_cores", "virtualization", "ram_limit", "swap_policy", "numa", "storage", "os", "kernel", "power_governor", "onnx_runtime", "go_version", "python_version", "thread_settings", "git_commit", "corpus_sha256", "budget_sha256", "model_sha256"] + "required_metadata": ["runner_name", "cpu_model", "architecture", "instruction_sets", "physical_cores", "logical_cores", "virtualization", "ram_limit", "swap_policy", "numa", "storage", "benchmark_workspace", "os", "kernel", "power_governor", "thermal_state", "onnx_runtime", "go_version", "python_version", "thread_settings", "container_limits", "git_commit", "corpus_sha256", "budget_sha256", "model_sha256"] }, { "id": "H1", @@ -25,7 +26,7 @@ "swap_bytes": 0, "cpu_only": true, "storage": "ssd", - "required_metadata": ["runner_name", "cpu_model", "architecture", "instruction_sets", "physical_cores", "logical_cores", "virtualization", "ram_limit", "swap_policy", "numa", "storage", "os", "kernel", "power_governor", "onnx_runtime", "go_version", "python_version", "thread_settings", "git_commit", "corpus_sha256", "budget_sha256", "model_sha256"] + "required_metadata": ["runner_name", "cpu_model", "architecture", "instruction_sets", "physical_cores", "logical_cores", "virtualization", "ram_limit", "swap_policy", "numa", "storage", "benchmark_workspace", "os", "kernel", "power_governor", "thermal_state", "onnx_runtime", "go_version", "python_version", "thread_settings", "container_limits", "git_commit", "corpus_sha256", "budget_sha256", "model_sha256"] }, { "id": "H2", @@ -35,7 +36,7 @@ "swap_bytes": 0, "cpu_only": true, "storage": "ssd", - "required_metadata": ["runner_name", "cpu_model", "architecture", "instruction_sets", "physical_cores", "logical_cores", "virtualization", "ram_limit", "swap_policy", "numa", "storage", "os", "kernel", "power_governor", "onnx_runtime", "go_version", "python_version", "thread_settings", "git_commit", "corpus_sha256", "budget_sha256", "model_sha256"] + "required_metadata": ["runner_name", "cpu_model", "architecture", "instruction_sets", "physical_cores", "logical_cores", "virtualization", "ram_limit", "swap_policy", "numa", "storage", "benchmark_workspace", "os", "kernel", "power_governor", "thermal_state", "onnx_runtime", "go_version", "python_version", "thread_settings", "container_limits", "git_commit", "corpus_sha256", "budget_sha256", "model_sha256"] } ], "limits": [ diff --git a/internal/pii/testdata/privacy-filter/v1/performance/hardware-identities.json b/internal/pii/testdata/privacy-filter/v1/performance/hardware-identities.json new file mode 100644 index 0000000..a6881b9 --- /dev/null +++ b/internal/pii/testdata/privacy-filter/v1/performance/hardware-identities.json @@ -0,0 +1,78 @@ +{ + "schema": 1, + "status": "unprovisioned", + "profiles": [ + { + "id": "H0", + "runner_label": "privacy-filter-h0", + "runner_name": "", + "cpu_model": "", + "architecture": "", + "instruction_sets": [], + "physical_cores": 0, + "logical_cores": 0, + "virtualization": "", + "ram_bytes": 0, + "swap_bytes": 0, + "numa": "", + "storage": "", + "benchmark_workspace": "", + "os": "", + "kernel": "", + "power_governor": "", + "thermal_state": "", + "container_vcpus": 0, + "container_memory_bytes": 0, + "container_swap_bytes": 0, + "fingerprint_sha256": "" + }, + { + "id": "H1", + "runner_label": "privacy-filter-h1", + "runner_name": "", + "cpu_model": "", + "architecture": "", + "instruction_sets": [], + "physical_cores": 0, + "logical_cores": 0, + "virtualization": "", + "ram_bytes": 0, + "swap_bytes": 0, + "numa": "", + "storage": "", + "benchmark_workspace": "", + "os": "", + "kernel": "", + "power_governor": "", + "thermal_state": "", + "container_vcpus": 0, + "container_memory_bytes": 0, + "container_swap_bytes": 0, + "fingerprint_sha256": "" + }, + { + "id": "H2", + "runner_label": "privacy-filter-h2", + "runner_name": "", + "cpu_model": "", + "architecture": "", + "instruction_sets": [], + "physical_cores": 0, + "logical_cores": 0, + "virtualization": "", + "ram_bytes": 0, + "swap_bytes": 0, + "numa": "", + "storage": "", + "benchmark_workspace": "", + "os": "", + "kernel": "", + "power_governor": "", + "thermal_state": "", + "container_vcpus": 0, + "container_memory_bytes": 0, + "container_swap_bytes": 0, + "fingerprint_sha256": "" + } + ] +} diff --git a/internal/pii/testdata/privacy-filter/v1/performance/workloads.json b/internal/pii/testdata/privacy-filter/v1/performance/workloads.json index 634aa40..71b4862 100644 --- a/internal/pii/testdata/privacy-filter/v1/performance/workloads.json +++ b/internal/pii/testdata/privacy-filter/v1/performance/workloads.json @@ -3,47 +3,116 @@ "workloads": [ { "id": "subject", - "description": "Synthetic support subject no larger than 256 UTF-8 bytes.", + "description": "Synthetic support subject exactly 256 UTF-8 bytes.", "target_bytes": 256, "warmup_samples": 10, "measured_samples": 100, "fresh_processes": 20, "concurrency": 1, "requests": 1, - "required_metrics": ["load_time", "first_inference", "warm_p50", "warm_p95", "warm_p99", "cpu_time", "wall_time", "throughput", "rss", "page_faults", "disk_bytes", "detector_constructions"] + "required_metrics": [ + "load_time", + "first_inference", + "warm_p50", + "warm_p95", + "warm_p99", + "cpu_time", + "wall_time", + "throughput", + "rss", + "page_faults", + "disk_bytes", + "detector_constructions" + ], + "generator": "hs-privacy-performance-payload", + "generator_version": 1, + "generator_seed": "performance-subject-v1", + "payload_sha256": "87b7413601e04b8c34aabb42120de6bdbbc7d4c4d9896a611ad297ebab766a23" }, { "id": "message", - "description": "Typical 2 KiB synthetic support message with mixed typed privacy targets.", + "description": "Synthetic 2 KiB support message with mixed typed privacy targets.", "target_bytes": 2048, "warmup_samples": 10, "measured_samples": 100, "fresh_processes": 20, "concurrency": 1, "requests": 1, - "required_metrics": ["load_time", "first_inference", "warm_p50", "warm_p95", "warm_p99", "cpu_time", "wall_time", "throughput", "rss", "page_faults", "disk_bytes", "detector_constructions"] + "required_metrics": [ + "load_time", + "first_inference", + "warm_p50", + "warm_p95", + "warm_p99", + "cpu_time", + "wall_time", + "throughput", + "rss", + "page_faults", + "disk_bytes", + "detector_constructions" + ], + "generator": "hs-privacy-performance-payload", + "generator_version": 1, + "generator_seed": "performance-message-v1", + "payload_sha256": "0a33d854d2ca835e6d05d7ba7aae087b7bbb870073309fa4b26e27dec4e73490" }, { "id": "thread", - "description": "Approximately 20 KiB synthetic multi-message thread exercising window boundaries.", + "description": "Synthetic 20 KiB multi-message thread exercising window boundaries.", "target_bytes": 20480, "warmup_samples": 10, "measured_samples": 100, "fresh_processes": 20, "concurrency": 1, "requests": 1, - "required_metrics": ["load_time", "first_inference", "warm_p50", "warm_p95", "warm_p99", "cpu_time", "wall_time", "throughput", "rss", "page_faults", "disk_bytes", "detector_constructions"] + "required_metrics": [ + "load_time", + "first_inference", + "warm_p50", + "warm_p95", + "warm_p99", + "cpu_time", + "wall_time", + "throughput", + "rss", + "page_faults", + "disk_bytes", + "detector_constructions" + ], + "generator": "hs-privacy-performance-payload", + "generator_version": 1, + "generator_seed": "performance-thread-v1", + "payload_sha256": "88971c0a43aa3a3bfda69171b09306336108d9561efd49ae0664d06117103d15" }, { "id": "export", - "description": "Approximately 100 KiB synthetic conversation export.", + "description": "Synthetic 100 KiB conversation export.", "target_bytes": 102400, "warmup_samples": 5, "measured_samples": 100, "fresh_processes": 20, "concurrency": 1, "requests": 1, - "required_metrics": ["load_time", "first_inference", "warm_p50", "warm_p95", "warm_p99", "cpu_time", "wall_time", "throughput", "rss", "page_faults", "disk_bytes", "detector_constructions", "truncations"] + "required_metrics": [ + "load_time", + "first_inference", + "warm_p50", + "warm_p95", + "warm_p99", + "cpu_time", + "wall_time", + "throughput", + "rss", + "page_faults", + "disk_bytes", + "detector_constructions", + "truncations" + ], + "generator": "hs-privacy-performance-payload", + "generator_version": 1, + "generator_seed": "performance-export-v1", + "payload_sha256": "34c4668b7a00e84088eea38aca880306d0a4a0739d406a5fecd0fe3148ef1627" }, { "id": "adversarial-long", @@ -54,7 +123,26 @@ "fresh_processes": 20, "concurrency": 1, "requests": 1, - "required_metrics": ["load_time", "first_inference", "warm_p50", "warm_p95", "warm_p99", "cpu_time", "wall_time", "throughput", "rss", "page_faults", "disk_bytes", "detector_constructions", "truncations", "fail_closed"] + "required_metrics": [ + "load_time", + "first_inference", + "warm_p50", + "warm_p95", + "warm_p99", + "cpu_time", + "wall_time", + "throughput", + "rss", + "page_faults", + "disk_bytes", + "detector_constructions", + "truncations", + "fail_closed" + ], + "generator": "hs-privacy-performance-payload", + "generator_version": 1, + "generator_seed": "performance-adversarial-long-v1", + "payload_sha256": "03a38fc25a2b360f427f8d31d8d1937237d0030cca40f056e14686227c7b278f" }, { "id": "mcp-longevity", @@ -65,7 +153,26 @@ "fresh_processes": 20, "concurrency": 1, "requests": 100, - "required_metrics": ["load_time", "first_inference", "warm_p50", "warm_p95", "warm_p99", "cpu_time", "wall_time", "throughput", "rss", "rss_growth", "page_faults", "disk_bytes", "detector_constructions", "goroutines"] + "required_metrics": [ + "load_time", + "first_inference", + "warm_p50", + "warm_p95", + "warm_p99", + "cpu_time", + "wall_time", + "throughput", + "rss", + "page_faults", + "disk_bytes", + "detector_constructions", + "rss_growth", + "goroutines" + ], + "generator": "hs-privacy-performance-payload", + "generator_version": 1, + "generator_seed": "performance-mcp-longevity-v1", + "payload_sha256": "2cd729fe76bf7bc8fed2afc60bd343fc4bdce35f745a1acf11333adde438fb43" }, { "id": "mcp-burst", @@ -76,7 +183,26 @@ "fresh_processes": 20, "concurrency": 4, "requests": 4, - "required_metrics": ["load_time", "first_inference", "warm_p50", "warm_p95", "warm_p99", "cpu_time", "wall_time", "throughput", "rss", "page_faults", "disk_bytes", "detector_constructions", "deadlocks", "race_failures"] + "required_metrics": [ + "load_time", + "first_inference", + "warm_p50", + "warm_p95", + "warm_p99", + "cpu_time", + "wall_time", + "throughput", + "rss", + "page_faults", + "disk_bytes", + "detector_constructions", + "deadlocks", + "race_failures" + ], + "generator": "hs-privacy-performance-payload", + "generator_version": 1, + "generator_seed": "performance-mcp-burst-v1", + "payload_sha256": "0bcee622e8d8e64f170b07ccfa109dfae3a94734330fc2b5d650dd70deedeefe" } ] } diff --git a/internal/pii/testdata/privacy-filter/v1/report-schema.json b/internal/pii/testdata/privacy-filter/v1/report-schema.json index 1839775..fe31f79 100644 --- a/internal/pii/testdata/privacy-filter/v1/report-schema.json +++ b/internal/pii/testdata/privacy-filter/v1/report-schema.json @@ -6,7 +6,7 @@ "additionalProperties": false, "required": [ "schema", "git_commit", "corpus_sha256", "broad_corpus_sha256", "policy_sha256", "budget_sha256", - "identity_sha256", "report_schema_sha256", "backend", "model_revision", "variant", + "identity_sha256", "report_schema_sha256", "hardware_contract_sha256", "hardware_contract_ready", "backend", "model_revision", "variant", "artifact_sha256", "runtime_version", "container_image", "platform", "hardware_profile", "runner_name", "evidence_authority", "authoritative", "artifacts", "cases_evaluated", "detector", "final_output", "final_output_slices", "case_results", "gates" @@ -16,6 +16,8 @@ "git_commit": {"type": "string", "minLength": 1}, "corpus_sha256": {"$ref": "#/$defs/sha256"}, "broad_corpus_sha256": {"$ref": "#/$defs/sha256"}, + "hardware_contract_sha256": {"$ref": "#/$defs/sha256"}, + "hardware_contract_ready": {"type": "boolean"}, "policy_sha256": {"$ref": "#/$defs/sha256"}, "budget_sha256": {"$ref": "#/$defs/sha256"}, "identity_sha256": {"$ref": "#/$defs/sha256"}, From 10719f5a005281b13392ea54aa4e9787eaa5cda1 Mon Sep 17 00:00:00 2001 From: Ross Morsali Date: Fri, 17 Jul 2026 17:38:05 +0200 Subject: [PATCH 26/34] test: close remaining Privacy Filter G0 contract gaps --- .../workflows/privacy-filter-evaluation.yml | 2 + internal/pii/evaluation/broad.go | 16 +- internal/pii/evaluation/broad_test.go | 4 +- internal/pii/evaluation/corpus.go | 16 + internal/pii/evaluation/corpus_generator.go | 14 +- internal/pii/evaluation/corpus_test.go | 21 + .../pii/evaluation/docker_contract_test.go | 1 + internal/pii/evaluation/metrics.go | 47 +- internal/pii/evaluation/metrics_test.go | 15 + internal/pii/evaluation/synthetic.go | 96 ++- .../privacy-filter/broad/v1/manifest.json | 8 +- .../privacy-filter/broad/v1/secrets.json | 552 ++++++++++++------ .../privacy-filter/v1/report-schema.json | 9 +- .../testdata/privacy-filter/v1/secrets.json | 12 +- scripts/privacy-filter-g0-baseline.sh | 13 +- 15 files changed, 591 insertions(+), 235 deletions(-) diff --git a/.github/workflows/privacy-filter-evaluation.yml b/.github/workflows/privacy-filter-evaluation.yml index 17e68bf..dc86eec 100644 --- a/.github/workflows/privacy-filter-evaluation.yml +++ b/.github/workflows/privacy-filter-evaluation.yml @@ -72,8 +72,10 @@ jobs: if: always() run: >- jq -e ' + .schema == 2 and .authoritative == true and .evidence_authority == "docker-ci" and + .hardware_contract_ready == true and ([.gates[] | select(.gate == "G0")] | length) == 1 and any(.gates[]; .gate == "G0" and .state == "pass") ' "${{ runner.temp }}/privacy-filter-g0-report/distilbert-baseline.json" diff --git a/internal/pii/evaluation/broad.go b/internal/pii/evaluation/broad.go index 977fb54..33c4ffb 100644 --- a/internal/pii/evaluation/broad.go +++ b/internal/pii/evaluation/broad.go @@ -134,6 +134,8 @@ func LoadBroadCorpusDir(dir string) (*BroadCorpus, error) { targets := 0 for index := range document.Cases { fixture := &document.Cases[index] + fixture.CorpusTier = "broad" + fixture.Partition = identity.Name if err := validateCase(fixture); err != nil { return nil, err } @@ -181,7 +183,7 @@ func validateBroadManifest(manifest *BroadCorpusManifest) error { SecretRedactCases: 100, AccountRedactCases: 100, PrivateDateRedactCases: 100, PreservationCases: 100, LanguageRedactCases: 100, LanguagePreserveCases: 100, } - if manifest.MinimumDenominators != wantMinimums || manifest.MaximumCaseBasisPoints != 100 || manifest.MinimumSecretFamilyCases != 8 { + if manifest.MinimumDenominators != wantMinimums || manifest.MaximumCaseBasisPoints != 100 || manifest.MinimumSecretFamilyCases != len(requiredShapes) { return fmt.Errorf("broad corpus statistical denominator contract changed") } if len(manifest.Partitions) != len(BroadCorpusPartitions) { @@ -203,6 +205,7 @@ func validateBroadCoverage(cases []Case, manifest BroadCorpusManifest) (BroadCov LanguagePreserveCases: make(map[string]int, len(RequiredLanguages)), } secretFamilies := make(map[string]map[string]int, len(RequiredSecretFamilies)) + secretFamilyFormats := make(map[string]map[string]map[string]bool, len(RequiredSecretFamilies)) formats := make(map[string]struct{ redact, preserve bool }, len(requiredShapes)) for _, fixture := range cases { target := fixture.Targets[0] @@ -230,8 +233,12 @@ func validateBroadCoverage(cases []Case, manifest BroadCorpusManifest) (BroadCov if fixture.SecretFixture != nil { if secretFamilies[fixture.SecretFixture.Family] == nil { secretFamilies[fixture.SecretFixture.Family] = make(map[string]int) + secretFamilyFormats[fixture.SecretFixture.Family] = map[string]map[string]bool{ + "must-detect": {}, "preserve": {}, + } } secretFamilies[fixture.SecretFixture.Family][fixture.SecretFixture.Role]++ + secretFamilyFormats[fixture.SecretFixture.Family][fixture.SecretFixture.Role][fixture.Shape] = true } } minimums := manifest.MinimumDenominators @@ -252,6 +259,13 @@ func validateBroadCoverage(cases []Case, manifest BroadCorpusManifest) (BroadCov secretFamilies[family]["preserve"] < manifest.MinimumSecretFamilyCases { return BroadCoverage{}, fmt.Errorf("broad corpus secret family %q lacks required variations", family) } + for _, role := range []string{"must-detect", "preserve"} { + for _, formatName := range requiredShapes { + if !secretFamilyFormats[family][role][formatName] { + return BroadCoverage{}, fmt.Errorf("broad corpus secret family %q role %q lacks format %q", family, role, formatName) + } + } + } } for _, formatName := range requiredShapes { format := formats[formatName] diff --git a/internal/pii/evaluation/broad_test.go b/internal/pii/evaluation/broad_test.go index 9be071a..9fcda58 100644 --- a/internal/pii/evaluation/broad_test.go +++ b/internal/pii/evaluation/broad_test.go @@ -20,8 +20,8 @@ func TestBroadQualityCorpusHasStatisticallyMeaningfulLockedDenominators(t *testi if err != nil { t.Fatalf("load locked broad quality corpus: %v", err) } - if len(corpus.Cases) != 2724 { - t.Fatalf("broad corpus case count changed: got %d want 2724", len(corpus.Cases)) + if len(corpus.Cases) != 2892 { + t.Fatalf("broad corpus case count changed: got %d want 2892", len(corpus.Cases)) } if len(corpus.Fingerprint) != sha256HexLength { t.Fatalf("broad corpus lacks a stable SHA-256 identity: %q", corpus.Fingerprint) diff --git a/internal/pii/evaluation/corpus.go b/internal/pii/evaluation/corpus.go index ca91d3b..066e414 100644 --- a/internal/pii/evaluation/corpus.go +++ b/internal/pii/evaluation/corpus.go @@ -93,6 +93,8 @@ type Case struct { Outputs ModeOutputs `json:"outputs"` Tags []string `json:"tags"` SecretFixture *SecretFixtureRole `json:"secret_fixture,omitempty"` + CorpusTier string `json:"-"` + Partition string `json:"-"` } type KnownIdentity struct { @@ -276,6 +278,8 @@ func LoadCorpusDir(dir string) (*Corpus, error) { for i := range document.Cases { fixture := &document.Cases[i] + fixture.CorpusTier = "smoke" + fixture.Partition = partition if err := validateCase(fixture); err != nil { return nil, err } @@ -440,6 +444,18 @@ func validateCase(fixture *Case) error { if err := validateUniqueStrings(prefix, "tags", fixture.Tags); err != nil { return err } + boundaryTags := 0 + for _, tag := range fixture.Tags { + if strings.HasPrefix(tag, "boundary:") { + boundaryTags++ + if !contains(RequiredOutputBoundaries, strings.TrimPrefix(tag, "boundary:")) { + return fmt.Errorf("%s: unknown output boundary tag %q", prefix, tag) + } + } + } + if boundaryTags > 1 { + return fmt.Errorf("%s: each fixture may exercise at most one output boundary", prefix) + } if fixture.SecretFixture != nil { if !contains(RequiredSecretFamilies, fixture.SecretFixture.Family) { return fmt.Errorf("%s: unsupported secret family %q", prefix, fixture.SecretFixture.Family) diff --git a/internal/pii/evaluation/corpus_generator.go b/internal/pii/evaluation/corpus_generator.go index 745a311..6777fbd 100644 --- a/internal/pii/evaluation/corpus_generator.go +++ b/internal/pii/evaluation/corpus_generator.go @@ -276,7 +276,7 @@ func generateBroadCorpus(smokeDir, broadDir string) error { SecretRedactCases: 100, AccountRedactCases: 100, PrivateDateRedactCases: 100, PreservationCases: 100, LanguageRedactCases: 100, LanguagePreserveCases: 100, }, - MaximumCaseBasisPoints: 100, MinimumSecretFamilyCases: 8, Partitions: identities, + MaximumCaseBasisPoints: 100, MinimumSecretFamilyCases: len(requiredShapes), Partitions: identities, } raw, err := json.MarshalIndent(manifest, "", " ") if err != nil { @@ -290,7 +290,7 @@ func generateBroadCorpus(smokeDir, broadDir string) error { } func generateBroadSecrets() CorpusDocument { - document := CorpusDocument{Schema: 1, Partition: "secrets", Cases: make([]Case, 0, len(RequiredSecretFamilies)*16)} + document := CorpusDocument{Schema: 1, Partition: "secrets", Cases: make([]Case, 0, len(RequiredSecretFamilies)*len(requiredShapes)*2)} detectContexts := []string{ "Credential copied from a support reply: ", "Authorization header value: ", "Log field auth_value=", "Rotating this exposed value: ", "Quoted credential follows: ", "Configuration secret: ", @@ -301,8 +301,8 @@ func generateBroadSecrets() CorpusDocument { "Schema field label: ", "Non-confidential protocol token: ", "Release metadata: ", "Public verification material: ", "Troubleshooting reference: ", } - for familyIndex, family := range RequiredSecretFamilies { - for variation := 0; variation < 8; variation++ { + for _, family := range RequiredSecretFamilies { + for variation := 0; variation < len(requiredShapes); variation++ { for _, role := range []string{"must-detect", "preserve"} { provenance := SyntheticProvenance{ Generator: SyntheticSecretGenerator, Version: 1, @@ -312,13 +312,13 @@ func generateBroadSecrets() CorpusDocument { if err != nil { panic(err) } - shape := requiredShapes[(familyIndex*8+variation)%len(requiredShapes)] - context := detectContexts[variation] + shape := requiredShapes[variation] + context := detectContexts[variation%len(detectContexts)] actions := ModeActions{Off: ActionPreserve, Customers: ActionRedact, All: ActionRedact} risk := RiskCritical match := MatchCovering if role == "preserve" { - context = preserveContexts[variation] + context = preserveContexts[variation%len(preserveContexts)] actions = ModeActions{Off: ActionPreserve, Customers: ActionPreserve, All: ActionPreserve} risk = RiskPreservation match = MatchExact diff --git a/internal/pii/evaluation/corpus_test.go b/internal/pii/evaluation/corpus_test.go index 00b9e87..81c7471 100644 --- a/internal/pii/evaluation/corpus_test.go +++ b/internal/pii/evaluation/corpus_test.go @@ -91,6 +91,27 @@ func TestPrivacyCorpusSchemaIsStrictAndSelfConsistent(t *testing.T) { t.Fatalf("contradictory overlap was not rejected: %v", err) } }) + t.Run("known customer must redact in both protected modes", func(t *testing.T) { + fixture := findCase(t, corpus, "person-known-customer") + fixture.Targets[0].Actions.Customers = ActionPreserve + if err := validateCase(&fixture); err == nil || !strings.Contains(err.Error(), "known customer") { + t.Fatalf("known customer policy weakening was not rejected: %v", err) + } + }) + t.Run("known staff must redact in all mode", func(t *testing.T) { + fixture := findCase(t, corpus, "person-known-staff") + fixture.Targets[0].Actions.All = ActionPreserve + if err := validateCase(&fixture); err == nil || !strings.Contains(err.Error(), "known staff") { + t.Fatalf("known staff all-mode weakening was not rejected: %v", err) + } + }) + t.Run("one independently exercised output boundary per case", func(t *testing.T) { + fixture := findCase(t, corpus, "command-boundary-table-must-detect") + fixture.Tags = append(fixture.Tags, "boundary:json") + if err := validateCase(&fixture); err == nil || !strings.Contains(err.Error(), "at most one output boundary") { + t.Fatalf("multi-boundary tag shortcut was not rejected: %v", err) + } + }) t.Run("duplicate case IDs", func(t *testing.T) { tempDir := t.TempDir() if err := os.WriteFile(filepath.Join(tempDir, "schema.json"), schemaRaw, 0o600); err != nil { diff --git a/internal/pii/evaluation/docker_contract_test.go b/internal/pii/evaluation/docker_contract_test.go index 5132ed3..4bb3f10 100644 --- a/internal/pii/evaluation/docker_contract_test.go +++ b/internal/pii/evaluation/docker_contract_test.go @@ -21,6 +21,7 @@ func TestG0DockerBaselineKeepsWeightsReadOnlyAndInferenceOffline(t *testing.T) { for _, required := range []string{ "--network none", "dst=/models/distilbert,readonly", "HS_PII_G0_EVIDENCE_AUTHORITY", "HS_PII_G0_AUTHORITATIVE", "HS_PII_G0_ARTIFACTS_JSON", "sha256sum", "GITHUB_ACTIONS", "RUNNER_NAME", + "ARCHIVE_NAMES", "! -L", } { if !strings.Contains(script, required) { t.Fatalf("G0 baseline script is missing required control %q", required) diff --git a/internal/pii/evaluation/metrics.go b/internal/pii/evaluation/metrics.go index f4dee85..d2501ba 100644 --- a/internal/pii/evaluation/metrics.go +++ b/internal/pii/evaluation/metrics.go @@ -111,8 +111,11 @@ type DetectorMetrics struct { ByLanguage []MetricSlice `json:"by_language"` ByScript []MetricSlice `json:"by_script"` ByFormat []MetricSlice `json:"by_format"` + ByCorpus []MetricSlice `json:"by_corpus"` + ByPartition []MetricSlice `json:"by_partition"` ByBoundary []MetricSlice `json:"by_boundary"` ByIdentityPolicy []MetricSlice `json:"by_identity_policy"` + BySecretFamily []MetricSlice `json:"by_secret_family"` } type MetricSlice struct { @@ -235,8 +238,11 @@ func Evaluate(corpus *Corpus, observations []CaseObservation, metadata EvidenceM byLanguage := make(map[string]*sliceCounts) byScript := make(map[string]*sliceCounts) byFormat := make(map[string]*sliceCounts) + byCorpus := make(map[string]*sliceCounts) + byPartition := make(map[string]*sliceCounts) byBoundary := make(map[string]*sliceCounts) byIdentityPolicy := make(map[string]*sliceCounts) + bySecretFamily := make(map[string]*sliceCounts) outputTotals := map[Mode]*OutputMetrics{ ModeOff: {Mode: ModeOff}, ModeCustomers: {Mode: ModeCustomers}, @@ -285,6 +291,8 @@ func Evaluate(corpus *Corpus, observations []CaseObservation, metadata EvidenceM addSliceCounts(byLanguage, fixture.Language, exactCounts, coveringCounts, requiredMatchCounts) addSliceCounts(byScript, fixture.Script, exactCounts, coveringCounts, requiredMatchCounts) addSliceCounts(byFormat, fixture.Shape, exactCounts, coveringCounts, requiredMatchCounts) + addSliceCounts(byCorpus, caseCorpusTier(fixture), exactCounts, coveringCounts, requiredMatchCounts) + addSliceCounts(byPartition, casePartition(fixture), exactCounts, coveringCounts, requiredMatchCounts) for _, boundary := range fixtureBoundaries(fixture) { addSliceCounts(byBoundary, boundary, exactCounts, coveringCounts, requiredMatchCounts) } @@ -304,6 +312,14 @@ func Evaluate(corpus *Corpus, observations []CaseObservation, metadata EvidenceM policyRequired, _, _ := matchPolicySpans(policyTargets, policyPredictions) addSliceCounts(byIdentityPolicy, identityPolicy, policyExact, policyCovering, policyRequired) } + if fixture.SecretFixture != nil { + secretTargets := filterTargets(positiveTargets, SpanSecret) + secretPredictions := filterPredictions(observation.Predictions, SpanSecret) + secretExact, _, _ := matchSpans(secretTargets, secretPredictions, false) + secretCovering, _, _ := matchSpans(secretTargets, secretPredictions, true) + secretRequired, _, _ := matchPolicySpans(secretTargets, secretPredictions) + addSliceCounts(bySecretFamily, fixture.SecretFixture.Family, secretExact, secretCovering, secretRequired) + } result := CaseResult{ CaseID: fixture.ID, @@ -398,8 +414,11 @@ func Evaluate(corpus *Corpus, observations []CaseObservation, metadata EvidenceM ByLanguage: slicesToMetrics(byLanguage), ByScript: slicesToMetrics(byScript), ByFormat: slicesToMetrics(byFormat), + ByCorpus: slicesToMetrics(byCorpus), + ByPartition: slicesToMetrics(byPartition), ByBoundary: slicesToMetrics(byBoundary), ByIdentityPolicy: slicesToMetrics(byIdentityPolicy), + BySecretFamily: slicesToMetrics(bySecretFamily), }, FinalOutput: finalOutput, FinalOutputSlices: outputSlicesToMetrics(outputSlices), @@ -453,13 +472,13 @@ func validateEvidenceMetadata(metadata EvidenceMetadata) error { return fmt.Errorf("evaluate privacy corpus: local hardware cannot produce authoritative evidence") } } - if err := validateArtifactIdentities(metadata.Artifacts, metadata.Authoritative); err != nil { + if err := validateArtifactIdentities(metadata.Artifacts, metadata.ArtifactSHA256, metadata.Authoritative); err != nil { return err } return nil } -func validateArtifactIdentities(artifacts []ArtifactIdentity, authoritative bool) error { +func validateArtifactIdentities(artifacts []ArtifactIdentity, primaryArtifactSHA256 string, authoritative bool) error { if len(artifacts) == 0 { return fmt.Errorf("evaluate privacy corpus: evidence metadata has no component artifact identities") } @@ -496,6 +515,11 @@ func validateArtifactIdentities(artifacts []ArtifactIdentity, authoritative bool if !hasRuntime { return fmt.Errorf("evaluate privacy corpus: authoritative evidence is missing the runtime library identity") } + for _, artifact := range artifacts { + if artifact.Name == "model_quantized.onnx" && artifact.SHA256 != primaryArtifactSHA256 { + return fmt.Errorf("evaluate privacy corpus: primary artifact identity differs from model_quantized.onnx") + } + } } return nil } @@ -754,17 +778,36 @@ func outputDimensions(fixture Case, target Target) []metricDimension { {dimension: "language", name: fixture.Language}, {dimension: "script", name: fixture.Script}, {dimension: "format", name: fixture.Shape}, + {dimension: "corpus", name: caseCorpusTier(fixture)}, + {dimension: "partition", name: casePartition(fixture)}, {dimension: "match_policy", name: string(target.Match)}, } if identityPolicy := identityPolicyName(fixture, target); identityPolicy != "" { dimensions = append(dimensions, metricDimension{dimension: "identity_policy", name: identityPolicy}) } + if target.Kind == SpanSecret && fixture.SecretFixture != nil { + dimensions = append(dimensions, metricDimension{dimension: "secret_family", name: fixture.SecretFixture.Family}) + } for _, boundary := range fixtureBoundaries(fixture) { dimensions = append(dimensions, metricDimension{dimension: "boundary", name: boundary}) } return dimensions } +func caseCorpusTier(fixture Case) string { + if fixture.CorpusTier == "" { + return "unit" + } + return fixture.CorpusTier +} + +func casePartition(fixture Case) string { + if fixture.Partition == "" { + return "unit" + } + return fixture.Partition +} + func outputSlice(slices map[outputSliceKey]*OutputMetricSlice, mode Mode, dimension, name string) *OutputMetricSlice { key := outputSliceKey{mode: mode, dimension: dimension, name: name} counts := slices[key] diff --git a/internal/pii/evaluation/metrics_test.go b/internal/pii/evaluation/metrics_test.go index bd07688..7d30d27 100644 --- a/internal/pii/evaluation/metrics_test.go +++ b/internal/pii/evaluation/metrics_test.go @@ -23,6 +23,7 @@ func TestDeterministicMetricAndGateEvaluator(t *testing.T) { corpus := &Corpus{Cases: []Case{ { ID: "redact-case", Language: "en", Script: "Latin", Shape: "prose", Risk: RiskCritical, Text: redactText, + CorpusTier: "smoke", Partition: "secrets", SecretFixture: &SecretFixtureRole{Family: "api-key", Role: "must-detect"}, Targets: []Target{{ID: "value", Kind: SpanSecret, Start: 0, End: len(redactText), Value: redactText, Match: MatchCovering, Actions: ModeActions{ActionPreserve, ActionRedact, ActionRedact}}}, Outputs: ModeOutputs{ Off: OutputExpectation{RequiredAbsent: []string{}, RequiredPresent: []string{redactText}}, @@ -55,6 +56,9 @@ func TestDeterministicMetricAndGateEvaluator(t *testing.T) { if report.Detector.Exact.F2 != 1 || report.Detector.SensitivityWeighted.F2 != 1 { t.Fatalf("unexpected F2 metrics: exact=%v weighted=%v", report.Detector.Exact.F2, report.Detector.SensitivityWeighted.F2) } + if family := findMetricSlice(t, report.Detector.BySecretFamily, "api-key"); family.RequiredMatch.TruePositive != 1 { + t.Fatalf("secret-family slice was not reported: %+v", family) + } for _, output := range report.FinalOutput { if output.RawValueLeaks != 0 || output.PreservationFailures != 0 || output.ExactPassThroughFail != 0 { t.Fatalf("unexpected final-output failures for %s: %+v", output.Mode, output) @@ -183,6 +187,7 @@ func TestMetricReportFreezesRequiredMatchAndEndToEndSlices(t *testing.T) { start := strings.Index(text, value) fixture := Case{ ID: "unknown-third-party", Language: "en", Script: "Latin", Shape: "quoted-reply", Risk: RiskHigh, Text: text, + CorpusTier: "smoke", Partition: "people-third-parties", Targets: []Target{{ ID: "developer", Kind: SpanPerson, Start: start, End: start + len(value), Value: value, Match: MatchCovering, Actions: ModeActions{Off: ActionPreserve, Customers: ActionRedact, All: ActionRedact}, @@ -213,10 +218,20 @@ func TestMetricReportFreezesRequiredMatchAndEndToEndSlices(t *testing.T) { if format.Covering.TruePositive != 1 { t.Fatalf("format detector slice was not preserved: %+v", format) } + if corpus := findMetricSlice(t, report.Detector.ByCorpus, "smoke"); corpus.RequiredMatch.TruePositive != 1 { + t.Fatalf("corpus-tier detector slice was not preserved: %+v", corpus) + } + if partition := findMetricSlice(t, report.Detector.ByPartition, "people-third-parties"); partition.RequiredMatch.TruePositive != 1 { + t.Fatalf("partition detector slice was not preserved: %+v", partition) + } output := findOutputSlice(t, report.FinalOutputSlices, ModeCustomers, "identity_policy", "unknown-third-party") if output.RequiredAbsent != 1 || output.RawValueLeaks != 0 || output.LeakRate != 0 { t.Fatalf("unknown-third-party final-output slice is wrong: %+v", output) } + corpusOutput := findOutputSlice(t, report.FinalOutputSlices, ModeCustomers, "corpus", "smoke") + if corpusOutput.RequiredAbsent != 1 || corpusOutput.RawValueLeaks != 0 { + t.Fatalf("corpus-tier final-output slice is wrong: %+v", corpusOutput) + } } func findMetricSlice(t *testing.T, slices []MetricSlice, name string) MetricSlice { diff --git a/internal/pii/evaluation/synthetic.go b/internal/pii/evaluation/synthetic.go index ecdc385..92293ec 100644 --- a/internal/pii/evaluation/synthetic.go +++ b/internal/pii/evaluation/synthetic.go @@ -5,6 +5,7 @@ import ( "encoding/base64" "encoding/hex" "fmt" + "strconv" "strings" ) @@ -57,39 +58,52 @@ func GenerateSyntheticValue(provenance SyntheticProvenance) (string, error) { func generateSyntheticCredential(provenance SyntheticProvenance) (string, error) { switch provenance.Recipe { case "api-key": - return "ak_" + syntheticAlphabet(provenance, "api", upperAlphaNumeric, 32), nil + return varySyntheticCredential(provenance, "ak_"+syntheticAlphabet(provenance, "api", upperAlphaNumeric, 32)), nil case "access-token": - return "access_token_" + syntheticAlphabet(provenance, "access", alphaNumeric, 40), nil + return varySyntheticCredential(provenance, "access_token_"+syntheticAlphabet(provenance, "access", alphaNumeric, 40)), nil case "oauth-token": - return "oat2_" + syntheticAlphabet(provenance, "oauth", alphaNumericDash, 52), nil + return varySyntheticCredential(provenance, "oat2_"+syntheticAlphabet(provenance, "oauth", alphaNumericDash, 52)), nil case "password": - return "R7!" + syntheticAlphabet(provenance, "password", alphaNumeric, 14) + "#q2", nil + return varySyntheticCredential(provenance, "R7!"+syntheticAlphabet(provenance, "password", alphaNumeric, 14)+"#q2"), nil case "jwt": header := base64.RawURLEncoding.EncodeToString([]byte(`{"alg":"HS256","typ":"JWT"}`)) payload := base64.RawURLEncoding.EncodeToString([]byte(`{"sub":"offline-fixture","aud":"privacy-eval"}`)) signature := syntheticAlphabet(provenance, "jwt-signature", alphaNumericDash, 43) - return header + "." + payload + "." + signature, nil + return varySyntheticCredential(provenance, header+"."+payload+"."+signature), nil case "one-time-code": - return syntheticDigits(provenance, "otp", 8), nil + switch syntheticVariation(provenance) % 5 { + case 0: + return syntheticDigits(provenance, "otp", 6), nil + case 1: + return syntheticDigits(provenance, "otp", 8), nil + case 2: + return syntheticDigits(provenance, "pin", 4), nil + case 3: + return syntheticAlphabet(provenance, "recovery-a", upperAlphaNumeric, 4) + "-" + syntheticAlphabet(provenance, "recovery-b", upperAlphaNumeric, 4), nil + default: + return "Tmp!" + syntheticAlphabet(provenance, "temporary-password", alphaNumeric, 10), nil + } case "private-key": body := syntheticBase64(provenance, "private-key", 192) - return "-----BEGIN SECRET-KEYX-----\n" + wrapFixed(body, 64) + "\n-----END SECRET-KEYX-----", nil + labels := []string{"SECRET-KEYX", "RSA SECRET-KEYX", "EC SECRET-KEYX", "OPENSSH SECRET-KEYX", "ENCRYPTED SECRET-KEYX"} + label := labels[syntheticVariation(provenance)%len(labels)] + return "-----BEGIN " + label + "-----\n" + wrapFixed(body, 64) + "\n-----END " + label + "-----", nil case "database-connection": user := "svc_" + syntheticAlphabet(provenance, "db-user", lowerAlphaNumeric, 8) password := "P9!" + syntheticAlphabet(provenance, "db-password", alphaNumeric, 18) - return "postgresql://" + user + ":" + password + "@192.0.2.42:5432/support", nil + return varySyntheticCredential(provenance, "postgresql://"+user+":"+password+"@192.0.2.42:5432/support"), nil case "cookie-authorization": - return "session=" + syntheticAlphabet(provenance, "cookie", alphaNumericDash, 48), nil + return varySyntheticCredential(provenance, "session="+syntheticAlphabet(provenance, "cookie", alphaNumericDash, 48)), nil case "webhook-secret": - return "whsig_" + syntheticAlphabet(provenance, "webhook", alphaNumeric, 40), nil + return varySyntheticCredential(provenance, "whsig_"+syntheticAlphabet(provenance, "webhook", alphaNumeric, 40)), nil case "cloud-credential": - return "CLDX" + syntheticAlphabet(provenance, "cloud", upperAlphaNumeric, 16), nil + return varySyntheticCredential(provenance, "CLDX"+syntheticAlphabet(provenance, "cloud", upperAlphaNumeric, 16)), nil case "source-control-token": - return "scm_" + syntheticAlphabet(provenance, "source-control", alphaNumeric, 36), nil + return varySyntheticCredential(provenance, "scm_"+syntheticAlphabet(provenance, "source-control", alphaNumeric, 36)), nil case "payment-credential": - return "paylive_" + syntheticAlphabet(provenance, "payment", alphaNumeric, 32), nil + return varySyntheticCredential(provenance, "paylive_"+syntheticAlphabet(provenance, "payment", alphaNumeric, 32)), nil case "observability-token": - return "obsap_" + syntheticHex(provenance, "observability", 32), nil + return varySyntheticCredential(provenance, "obsap_"+syntheticHex(provenance, "observability", 32)), nil case "command-secret": return "cmdtok_" + syntheticAlphabet(provenance, "command", alphaNumericDash, 40), nil default: @@ -110,10 +124,21 @@ func generateSyntheticNearMiss(provenance SyntheticProvenance) (string, error) { case "jwt": return "header.payload.signature", nil case "one-time-code": - return syntheticDigits(provenance, "public-reference", 8), nil + switch syntheticVariation(provenance) % 3 { + case 0: + return syntheticDigits(provenance, "public-reference", 8), nil + case 1: + return "RFC-" + syntheticDigits(provenance, "public-reference", 6), nil + default: + return syntheticDigits(provenance, "public-reference", 4) + "." + syntheticDigits(provenance, "public-reference-b", 4), nil + } case "private-key": body := syntheticBase64(provenance, "public-key", 96) - return "-----BEGIN PUBLIC KEY-----\n" + wrapFixed(body, 64) + "\n-----END PUBLIC KEY-----", nil + label := "PUBLIC KEY" + if syntheticVariation(provenance)%2 == 1 { + label = "CERTIFICATE" + } + return "-----BEGIN " + label + "-----\n" + wrapFixed(body, 64) + "\n-----END " + label + "-----", nil case "database-connection": return "postgresql://192.0.2.42:5432/support", nil case "cookie-authorization": @@ -194,6 +219,45 @@ func syntheticStream(provenance SyntheticProvenance, label string, length int) [ return out[:length] } +func syntheticVariation(provenance SyntheticProvenance) int { + separator := strings.LastIndexByte(provenance.Seed, '-') + if separator < 0 || separator+1 == len(provenance.Seed) { + return 0 + } + variation, err := strconv.Atoi(provenance.Seed[separator+1:]) + if err != nil { + return 0 + } + return variation +} + +func varySyntheticCredential(provenance SyntheticProvenance, value string) string { + if !strings.HasPrefix(provenance.Seed, "broad-secret-") { + return value + } + variation := syntheticVariation(provenance) + if variation < 8 || len(value) < 8 { + return value + } + middle := len(value) / 2 + switch variation { + case 8: + return value[:middle] + "\n" + value[middle:] + case 9: + return value[:middle] + " " + value[middle:] + case 10: + return value[:middle] + "·" + value[middle:] + case 11: + return value[:middle] + "" + value[middle:] + case 12: + return value[:middle] + "**" + value[middle:] + case 13: + return value + " / " + value + default: + return value + } +} + func wrapFixed(value string, width int) string { lines := make([]string, 0, (len(value)+width-1)/width) for len(value) > width { diff --git a/internal/pii/testdata/privacy-filter/broad/v1/manifest.json b/internal/pii/testdata/privacy-filter/broad/v1/manifest.json index 18c0f97..4570380 100644 --- a/internal/pii/testdata/privacy-filter/broad/v1/manifest.json +++ b/internal/pii/testdata/privacy-filter/broad/v1/manifest.json @@ -17,14 +17,14 @@ "language_preserve_cases": 100 }, "maximum_case_basis_points": 100, - "minimum_secret_family_cases": 8, + "minimum_secret_family_cases": 14, "partitions": [ { "name": "secrets", "file": "secrets.json", - "sha256": "73b055c7b0851c8024982330f04741f7678707bfb56bf9ba2831915525f6474a", - "cases": 224, - "targets": 224 + "sha256": "a9e66ece7cf42089e15f628ba9e89e64a75f3a0219b0f778a633dafd0c96c505", + "cases": 392, + "targets": 392 }, { "name": "account-identifiers", diff --git a/internal/pii/testdata/privacy-filter/broad/v1/secrets.json b/internal/pii/testdata/privacy-filter/broad/v1/secrets.json index 83b3d23..bdf2b9f 100644 --- a/internal/pii/testdata/privacy-filter/broad/v1/secrets.json +++ b/internal/pii/testdata/privacy-filter/broad/v1/secrets.json @@ -18,102 +18,186 @@ {"id":"broad-secret-api-key-preserve-06","language":"en","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad api-key variation.","text":"\u003cp\u003ePublic verification material: api_key_name\u003c/p\u003e","known_identities":[],"targets":[{"id":"value","kind":"secret","start":33,"end":45,"value":"api_key_name","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-api-key-preserve-06","recipe":"api-key","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["api_key_name"]},"customers":{"required_absent":[],"required_present":["api_key_name"]},"all":{"required_absent":[],"required_present":["api_key_name"]}},"tags":["broad-quality","secret-family:api-key","variation:06"],"secret_fixture":{"family":"api-key","role":"preserve"}}, {"id":"broad-secret-api-key-must-detect-07","language":"en","script":"Latin","shape":"quoted-reply","risk":"critical","reason":"Locked broad api-key variation.","text":"\u003e Wrapped message credential: ak_J2HQM9T19W1JXNZSHK7KSWPL4KKA3ZA5","known_identities":[],"targets":[{"id":"value","kind":"secret","start":30,"end":65,"value":"ak_J2HQM9T19W1JXNZSHK7KSWPL4KKA3ZA5","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-api-key-must-detect-07","recipe":"api-key","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["ak_J2HQM9T19W1JXNZSHK7KSWPL4KKA3ZA5"]},"customers":{"required_absent":["ak_J2HQM9T19W1JXNZSHK7KSWPL4KKA3ZA5"],"required_present":[]},"all":{"required_absent":["ak_J2HQM9T19W1JXNZSHK7KSWPL4KKA3ZA5"],"required_present":[]}},"tags":["broad-quality","secret-family:api-key","variation:07"],"secret_fixture":{"family":"api-key","role":"must-detect"}}, {"id":"broad-secret-api-key-preserve-07","language":"en","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad api-key variation.","text":"\u003e Troubleshooting reference: api_key_name","known_identities":[],"targets":[{"id":"value","kind":"secret","start":29,"end":41,"value":"api_key_name","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-api-key-preserve-07","recipe":"api-key","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["api_key_name"]},"customers":{"required_absent":[],"required_present":["api_key_name"]},"all":{"required_absent":[],"required_present":["api_key_name"]}},"tags":["broad-quality","secret-family:api-key","variation:07"],"secret_fixture":{"family":"api-key","role":"preserve"}}, - {"id":"broad-secret-access-token-must-detect-00","language":"en","script":"Latin","shape":"log","risk":"critical","reason":"Locked broad access-token variation.","text":"level=warn sample=0 message=\"Credential copied from a support reply: \" value=access_token_dZUuo6KYNV3gjsFjMMhhAplRLdOIWh0toJUXc6Il","known_identities":[],"targets":[{"id":"value","kind":"secret","start":77,"end":130,"value":"access_token_dZUuo6KYNV3gjsFjMMhhAplRLdOIWh0toJUXc6Il","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-access-token-must-detect-00","recipe":"access-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["access_token_dZUuo6KYNV3gjsFjMMhhAplRLdOIWh0toJUXc6Il"]},"customers":{"required_absent":["access_token_dZUuo6KYNV3gjsFjMMhhAplRLdOIWh0toJUXc6Il"],"required_present":[]},"all":{"required_absent":["access_token_dZUuo6KYNV3gjsFjMMhhAplRLdOIWh0toJUXc6Il"],"required_present":[]}},"tags":["broad-quality","secret-family:access-token","variation:00"],"secret_fixture":{"family":"access-token","role":"must-detect"}}, - {"id":"broad-secret-access-token-preserve-00","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad access-token variation.","text":"level=warn sample=0 message=\"Public configuration vocabulary: \" value=access_token","known_identities":[],"targets":[{"id":"value","kind":"secret","start":70,"end":82,"value":"access_token","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-access-token-preserve-00","recipe":"access-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["access_token"]},"customers":{"required_absent":[],"required_present":["access_token"]},"all":{"required_absent":[],"required_present":["access_token"]}},"tags":["broad-quality","secret-family:access-token","variation:00"],"secret_fixture":{"family":"access-token","role":"preserve"}}, - {"id":"broad-secret-access-token-must-detect-01","language":"en","script":"Latin","shape":"stack-trace","risk":"critical","reason":"Locked broad access-token variation.","text":"Trace[1]: Authorization header value: access_token_nCxNCCjWhi1y1V1IXY4T135Dui7SAap8yif0SSNX","known_identities":[],"targets":[{"id":"value","kind":"secret","start":38,"end":91,"value":"access_token_nCxNCCjWhi1y1V1IXY4T135Dui7SAap8yif0SSNX","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-access-token-must-detect-01","recipe":"access-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["access_token_nCxNCCjWhi1y1V1IXY4T135Dui7SAap8yif0SSNX"]},"customers":{"required_absent":["access_token_nCxNCCjWhi1y1V1IXY4T135Dui7SAap8yif0SSNX"],"required_present":[]},"all":{"required_absent":["access_token_nCxNCCjWhi1y1V1IXY4T135Dui7SAap8yif0SSNX"],"required_present":[]}},"tags":["broad-quality","secret-family:access-token","variation:01"],"secret_fixture":{"family":"access-token","role":"must-detect"}}, - {"id":"broad-secret-access-token-preserve-01","language":"en","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad access-token variation.","text":"Trace[1]: Documentation syntax: access_token","known_identities":[],"targets":[{"id":"value","kind":"secret","start":32,"end":44,"value":"access_token","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-access-token-preserve-01","recipe":"access-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["access_token"]},"customers":{"required_absent":[],"required_present":["access_token"]},"all":{"required_absent":[],"required_present":["access_token"]}},"tags":["broad-quality","secret-family:access-token","variation:01"],"secret_fixture":{"family":"access-token","role":"preserve"}}, - {"id":"broad-secret-access-token-must-detect-02","language":"en","script":"Latin","shape":"code","risk":"critical","reason":"Locked broad access-token variation.","text":"fixture_2 := `Log field auth_value=access_token_tNBRxEuz8BcXGlkElSXhZpjp6VwPZELlcRtMVBbO`","known_identities":[],"targets":[{"id":"value","kind":"secret","start":35,"end":88,"value":"access_token_tNBRxEuz8BcXGlkElSXhZpjp6VwPZELlcRtMVBbO","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-access-token-must-detect-02","recipe":"access-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["access_token_tNBRxEuz8BcXGlkElSXhZpjp6VwPZELlcRtMVBbO"]},"customers":{"required_absent":["access_token_tNBRxEuz8BcXGlkElSXhZpjp6VwPZELlcRtMVBbO"],"required_present":[]},"all":{"required_absent":["access_token_tNBRxEuz8BcXGlkElSXhZpjp6VwPZELlcRtMVBbO"],"required_present":[]}},"tags":["broad-quality","secret-family:access-token","variation:02"],"secret_fixture":{"family":"access-token","role":"must-detect"}}, - {"id":"broad-secret-access-token-preserve-02","language":"en","script":"Latin","shape":"code","risk":"preservation","reason":"Locked broad access-token variation.","text":"fixture_2 := `Public operational identifier: access_token`","known_identities":[],"targets":[{"id":"value","kind":"secret","start":45,"end":57,"value":"access_token","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-access-token-preserve-02","recipe":"access-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["access_token"]},"customers":{"required_absent":[],"required_present":["access_token"]},"all":{"required_absent":[],"required_present":["access_token"]}},"tags":["broad-quality","secret-family:access-token","variation:02"],"secret_fixture":{"family":"access-token","role":"preserve"}}, - {"id":"broad-secret-access-token-must-detect-03","language":"en","script":"Latin","shape":"signature","risk":"critical","reason":"Locked broad access-token variation.","text":"--\nRotating this exposed value: access_token_MLL99gyCVShul4g2dZZOCAnDHiFWLYo5rcoZJ5o2","known_identities":[],"targets":[{"id":"value","kind":"secret","start":32,"end":85,"value":"access_token_MLL99gyCVShul4g2dZZOCAnDHiFWLYo5rcoZJ5o2","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-access-token-must-detect-03","recipe":"access-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["access_token_MLL99gyCVShul4g2dZZOCAnDHiFWLYo5rcoZJ5o2"]},"customers":{"required_absent":["access_token_MLL99gyCVShul4g2dZZOCAnDHiFWLYo5rcoZJ5o2"],"required_present":[]},"all":{"required_absent":["access_token_MLL99gyCVShul4g2dZZOCAnDHiFWLYo5rcoZJ5o2"],"required_present":[]}},"tags":["broad-quality","secret-family:access-token","variation:03"],"secret_fixture":{"family":"access-token","role":"must-detect"}}, - {"id":"broad-secret-access-token-preserve-03","language":"en","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad access-token variation.","text":"--\nSchema field label: access_token","known_identities":[],"targets":[{"id":"value","kind":"secret","start":23,"end":35,"value":"access_token","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-access-token-preserve-03","recipe":"access-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["access_token"]},"customers":{"required_absent":[],"required_present":["access_token"]},"all":{"required_absent":[],"required_present":["access_token"]}},"tags":["broad-quality","secret-family:access-token","variation:03"],"secret_fixture":{"family":"access-token","role":"preserve"}}, - {"id":"broad-secret-access-token-must-detect-04","language":"en","script":"Latin","shape":"long-thread","risk":"critical","reason":"Locked broad access-token variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Quoted credential follows: access_token_psLzAQs3UxH1SFFzq9l5iLnfsRqsRvm8OkBYcYVd","known_identities":[],"targets":[{"id":"value","kind":"secret","start":507,"end":560,"value":"access_token_psLzAQs3UxH1SFFzq9l5iLnfsRqsRvm8OkBYcYVd","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-access-token-must-detect-04","recipe":"access-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["access_token_psLzAQs3UxH1SFFzq9l5iLnfsRqsRvm8OkBYcYVd"]},"customers":{"required_absent":["access_token_psLzAQs3UxH1SFFzq9l5iLnfsRqsRvm8OkBYcYVd"],"required_present":[]},"all":{"required_absent":["access_token_psLzAQs3UxH1SFFzq9l5iLnfsRqsRvm8OkBYcYVd"],"required_present":[]}},"tags":["broad-quality","secret-family:access-token","variation:04"],"secret_fixture":{"family":"access-token","role":"must-detect"}}, - {"id":"broad-secret-access-token-preserve-04","language":"en","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad access-token variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Non-confidential protocol token: access_token","known_identities":[],"targets":[{"id":"value","kind":"secret","start":513,"end":525,"value":"access_token","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-access-token-preserve-04","recipe":"access-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["access_token"]},"customers":{"required_absent":[],"required_present":["access_token"]},"all":{"required_absent":[],"required_present":["access_token"]}},"tags":["broad-quality","secret-family:access-token","variation:04"],"secret_fixture":{"family":"access-token","role":"preserve"}}, - {"id":"broad-secret-access-token-must-detect-05","language":"en","script":"Latin","shape":"command-payload","risk":"critical","reason":"Locked broad access-token variation.","text":"--sample=5 --message=\"Configuration secret: \" --value=access_token_l2mLsiGVG762bKcJZ6QyasWXEO48Krs4PivgpYBe","known_identities":[],"targets":[{"id":"value","kind":"secret","start":54,"end":107,"value":"access_token_l2mLsiGVG762bKcJZ6QyasWXEO48Krs4PivgpYBe","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-access-token-must-detect-05","recipe":"access-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["access_token_l2mLsiGVG762bKcJZ6QyasWXEO48Krs4PivgpYBe"]},"customers":{"required_absent":["access_token_l2mLsiGVG762bKcJZ6QyasWXEO48Krs4PivgpYBe"],"required_present":[]},"all":{"required_absent":["access_token_l2mLsiGVG762bKcJZ6QyasWXEO48Krs4PivgpYBe"],"required_present":[]}},"tags":["broad-quality","secret-family:access-token","variation:05"],"secret_fixture":{"family":"access-token","role":"must-detect"}}, - {"id":"broad-secret-access-token-preserve-05","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad access-token variation.","text":"--sample=5 --message=\"Release metadata: \" --value=access_token","known_identities":[],"targets":[{"id":"value","kind":"secret","start":50,"end":62,"value":"access_token","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-access-token-preserve-05","recipe":"access-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["access_token"]},"customers":{"required_absent":[],"required_present":["access_token"]},"all":{"required_absent":[],"required_present":["access_token"]}},"tags":["broad-quality","secret-family:access-token","variation:05"],"secret_fixture":{"family":"access-token","role":"preserve"}}, - {"id":"broad-secret-access-token-must-detect-06","language":"en","script":"Latin","shape":"prose","risk":"critical","reason":"Locked broad access-token variation.","text":"Stack trace captured credential access_token_GsSfthElEhYJFH6wU3Tp8WR0hvfFEAIrIJVPvwFc","known_identities":[],"targets":[{"id":"value","kind":"secret","start":32,"end":85,"value":"access_token_GsSfthElEhYJFH6wU3Tp8WR0hvfFEAIrIJVPvwFc","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-access-token-must-detect-06","recipe":"access-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["access_token_GsSfthElEhYJFH6wU3Tp8WR0hvfFEAIrIJVPvwFc"]},"customers":{"required_absent":["access_token_GsSfthElEhYJFH6wU3Tp8WR0hvfFEAIrIJVPvwFc"],"required_present":[]},"all":{"required_absent":["access_token_GsSfthElEhYJFH6wU3Tp8WR0hvfFEAIrIJVPvwFc"],"required_present":[]}},"tags":["broad-quality","secret-family:access-token","variation:06"],"secret_fixture":{"family":"access-token","role":"must-detect"}}, - {"id":"broad-secret-access-token-preserve-06","language":"en","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad access-token variation.","text":"Public verification material: access_token","known_identities":[],"targets":[{"id":"value","kind":"secret","start":30,"end":42,"value":"access_token","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-access-token-preserve-06","recipe":"access-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["access_token"]},"customers":{"required_absent":[],"required_present":["access_token"]},"all":{"required_absent":[],"required_present":["access_token"]}},"tags":["broad-quality","secret-family:access-token","variation:06"],"secret_fixture":{"family":"access-token","role":"preserve"}}, - {"id":"broad-secret-access-token-must-detect-07","language":"en","script":"Latin","shape":"json","risk":"critical","reason":"Locked broad access-token variation.","text":"{\"message_7\":\"Wrapped message credential: access_token_K38VBFGRVyWHGWTdBmlslewhVs6ARQxGrKPW3Up8\"}","known_identities":[],"targets":[{"id":"value","kind":"secret","start":42,"end":95,"value":"access_token_K38VBFGRVyWHGWTdBmlslewhVs6ARQxGrKPW3Up8","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-access-token-must-detect-07","recipe":"access-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["access_token_K38VBFGRVyWHGWTdBmlslewhVs6ARQxGrKPW3Up8"]},"customers":{"required_absent":["access_token_K38VBFGRVyWHGWTdBmlslewhVs6ARQxGrKPW3Up8"],"required_present":[]},"all":{"required_absent":["access_token_K38VBFGRVyWHGWTdBmlslewhVs6ARQxGrKPW3Up8"],"required_present":[]}},"tags":["broad-quality","secret-family:access-token","variation:07"],"secret_fixture":{"family":"access-token","role":"must-detect"}}, - {"id":"broad-secret-access-token-preserve-07","language":"en","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad access-token variation.","text":"{\"message_7\":\"Troubleshooting reference: access_token\"}","known_identities":[],"targets":[{"id":"value","kind":"secret","start":41,"end":53,"value":"access_token","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-access-token-preserve-07","recipe":"access-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["access_token"]},"customers":{"required_absent":[],"required_present":["access_token"]},"all":{"required_absent":[],"required_present":["access_token"]}},"tags":["broad-quality","secret-family:access-token","variation:07"],"secret_fixture":{"family":"access-token","role":"preserve"}}, - {"id":"broad-secret-oauth-token-must-detect-00","language":"en","script":"Latin","shape":"yaml","risk":"critical","reason":"Locked broad oauth-token variation.","text":"message_0: Credential copied from a support reply: oat2_jJMablVT3V_MGNgFgX36JJL8e1UzT0vmFPtXBk3ncZOqKefvF2CW","known_identities":[],"targets":[{"id":"value","kind":"secret","start":51,"end":108,"value":"oat2_jJMablVT3V_MGNgFgX36JJL8e1UzT0vmFPtXBk3ncZOqKefvF2CW","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-oauth-token-must-detect-00","recipe":"oauth-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["oat2_jJMablVT3V_MGNgFgX36JJL8e1UzT0vmFPtXBk3ncZOqKefvF2CW"]},"customers":{"required_absent":["oat2_jJMablVT3V_MGNgFgX36JJL8e1UzT0vmFPtXBk3ncZOqKefvF2CW"],"required_present":[]},"all":{"required_absent":["oat2_jJMablVT3V_MGNgFgX36JJL8e1UzT0vmFPtXBk3ncZOqKefvF2CW"],"required_present":[]}},"tags":["broad-quality","secret-family:oauth-token","variation:00"],"secret_fixture":{"family":"oauth-token","role":"must-detect"}}, - {"id":"broad-secret-oauth-token-preserve-00","language":"en","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad oauth-token variation.","text":"message_0: Public configuration vocabulary: Bearer","known_identities":[],"targets":[{"id":"value","kind":"secret","start":44,"end":50,"value":"Bearer","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-oauth-token-preserve-00","recipe":"oauth-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bearer"]},"customers":{"required_absent":[],"required_present":["Bearer"]},"all":{"required_absent":[],"required_present":["Bearer"]}},"tags":["broad-quality","secret-family:oauth-token","variation:00"],"secret_fixture":{"family":"oauth-token","role":"preserve"}}, - {"id":"broad-secret-oauth-token-must-detect-01","language":"en","script":"Latin","shape":"shell","risk":"critical","reason":"Locked broad oauth-token variation.","text":"MESSAGE_1='Authorization header value: oat2_H0sUIU424FEsU4D5xTAy5_3YLNGS8aNqbCg2mN4246DRU3E2hM8u'","known_identities":[],"targets":[{"id":"value","kind":"secret","start":39,"end":96,"value":"oat2_H0sUIU424FEsU4D5xTAy5_3YLNGS8aNqbCg2mN4246DRU3E2hM8u","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-oauth-token-must-detect-01","recipe":"oauth-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["oat2_H0sUIU424FEsU4D5xTAy5_3YLNGS8aNqbCg2mN4246DRU3E2hM8u"]},"customers":{"required_absent":["oat2_H0sUIU424FEsU4D5xTAy5_3YLNGS8aNqbCg2mN4246DRU3E2hM8u"],"required_present":[]},"all":{"required_absent":["oat2_H0sUIU424FEsU4D5xTAy5_3YLNGS8aNqbCg2mN4246DRU3E2hM8u"],"required_present":[]}},"tags":["broad-quality","secret-family:oauth-token","variation:01"],"secret_fixture":{"family":"oauth-token","role":"must-detect"}}, - {"id":"broad-secret-oauth-token-preserve-01","language":"en","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad oauth-token variation.","text":"MESSAGE_1='Documentation syntax: Bearer'","known_identities":[],"targets":[{"id":"value","kind":"secret","start":33,"end":39,"value":"Bearer","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-oauth-token-preserve-01","recipe":"oauth-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bearer"]},"customers":{"required_absent":[],"required_present":["Bearer"]},"all":{"required_absent":[],"required_present":["Bearer"]}},"tags":["broad-quality","secret-family:oauth-token","variation:01"],"secret_fixture":{"family":"oauth-token","role":"preserve"}}, - {"id":"broad-secret-oauth-token-must-detect-02","language":"en","script":"Latin","shape":"url","risk":"critical","reason":"Locked broad oauth-token variation.","text":"endpoint=https://192.0.2.10/2 ; Log field auth_value=oat2_flHSMRD6PkMtgvDty-8bdUOBygcSEsXcMU7jVtP0jqbfEfajichI","known_identities":[],"targets":[{"id":"value","kind":"secret","start":53,"end":110,"value":"oat2_flHSMRD6PkMtgvDty-8bdUOBygcSEsXcMU7jVtP0jqbfEfajichI","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-oauth-token-must-detect-02","recipe":"oauth-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["oat2_flHSMRD6PkMtgvDty-8bdUOBygcSEsXcMU7jVtP0jqbfEfajichI"]},"customers":{"required_absent":["oat2_flHSMRD6PkMtgvDty-8bdUOBygcSEsXcMU7jVtP0jqbfEfajichI"],"required_present":[]},"all":{"required_absent":["oat2_flHSMRD6PkMtgvDty-8bdUOBygcSEsXcMU7jVtP0jqbfEfajichI"],"required_present":[]}},"tags":["broad-quality","secret-family:oauth-token","variation:02"],"secret_fixture":{"family":"oauth-token","role":"must-detect"}}, - {"id":"broad-secret-oauth-token-preserve-02","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad oauth-token variation.","text":"endpoint=https://192.0.2.10/2 ; Public operational identifier: Bearer","known_identities":[],"targets":[{"id":"value","kind":"secret","start":63,"end":69,"value":"Bearer","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-oauth-token-preserve-02","recipe":"oauth-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bearer"]},"customers":{"required_absent":[],"required_present":["Bearer"]},"all":{"required_absent":[],"required_present":["Bearer"]}},"tags":["broad-quality","secret-family:oauth-token","variation:02"],"secret_fixture":{"family":"oauth-token","role":"preserve"}}, - {"id":"broad-secret-oauth-token-must-detect-03","language":"en","script":"Latin","shape":"markdown","risk":"critical","reason":"Locked broad oauth-token variation.","text":"**Rotating this exposed value: oat2_0qmrwm9kkIdzPqD-7HGLxHMeOA2Qpl_HINU-IaSEoXJ-6cuA9Sau**","known_identities":[],"targets":[{"id":"value","kind":"secret","start":31,"end":88,"value":"oat2_0qmrwm9kkIdzPqD-7HGLxHMeOA2Qpl_HINU-IaSEoXJ-6cuA9Sau","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-oauth-token-must-detect-03","recipe":"oauth-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["oat2_0qmrwm9kkIdzPqD-7HGLxHMeOA2Qpl_HINU-IaSEoXJ-6cuA9Sau"]},"customers":{"required_absent":["oat2_0qmrwm9kkIdzPqD-7HGLxHMeOA2Qpl_HINU-IaSEoXJ-6cuA9Sau"],"required_present":[]},"all":{"required_absent":["oat2_0qmrwm9kkIdzPqD-7HGLxHMeOA2Qpl_HINU-IaSEoXJ-6cuA9Sau"],"required_present":[]}},"tags":["broad-quality","secret-family:oauth-token","variation:03"],"secret_fixture":{"family":"oauth-token","role":"must-detect"}}, - {"id":"broad-secret-oauth-token-preserve-03","language":"en","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad oauth-token variation.","text":"**Schema field label: Bearer**","known_identities":[],"targets":[{"id":"value","kind":"secret","start":22,"end":28,"value":"Bearer","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-oauth-token-preserve-03","recipe":"oauth-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bearer"]},"customers":{"required_absent":[],"required_present":["Bearer"]},"all":{"required_absent":[],"required_present":["Bearer"]}},"tags":["broad-quality","secret-family:oauth-token","variation:03"],"secret_fixture":{"family":"oauth-token","role":"preserve"}}, - {"id":"broad-secret-oauth-token-must-detect-04","language":"en","script":"Latin","shape":"html","risk":"critical","reason":"Locked broad oauth-token variation.","text":"\u003cp\u003eQuoted credential follows: oat2_UOQYK812al6V56V4fNzvDgPNHgz1BdUxJGnxp-ZH2Kp0rNTIkffE\u003c/p\u003e","known_identities":[],"targets":[{"id":"value","kind":"secret","start":30,"end":87,"value":"oat2_UOQYK812al6V56V4fNzvDgPNHgz1BdUxJGnxp-ZH2Kp0rNTIkffE","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-oauth-token-must-detect-04","recipe":"oauth-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["oat2_UOQYK812al6V56V4fNzvDgPNHgz1BdUxJGnxp-ZH2Kp0rNTIkffE"]},"customers":{"required_absent":["oat2_UOQYK812al6V56V4fNzvDgPNHgz1BdUxJGnxp-ZH2Kp0rNTIkffE"],"required_present":[]},"all":{"required_absent":["oat2_UOQYK812al6V56V4fNzvDgPNHgz1BdUxJGnxp-ZH2Kp0rNTIkffE"],"required_present":[]}},"tags":["broad-quality","secret-family:oauth-token","variation:04"],"secret_fixture":{"family":"oauth-token","role":"must-detect"}}, - {"id":"broad-secret-oauth-token-preserve-04","language":"en","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad oauth-token variation.","text":"\u003cp\u003eNon-confidential protocol token: Bearer\u003c/p\u003e","known_identities":[],"targets":[{"id":"value","kind":"secret","start":36,"end":42,"value":"Bearer","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-oauth-token-preserve-04","recipe":"oauth-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bearer"]},"customers":{"required_absent":[],"required_present":["Bearer"]},"all":{"required_absent":[],"required_present":["Bearer"]}},"tags":["broad-quality","secret-family:oauth-token","variation:04"],"secret_fixture":{"family":"oauth-token","role":"preserve"}}, - {"id":"broad-secret-oauth-token-must-detect-05","language":"en","script":"Latin","shape":"quoted-reply","risk":"critical","reason":"Locked broad oauth-token variation.","text":"\u003e Configuration secret: oat2_lG4ucE_smM8g4nGCvFZus75eyb2SiD4BkzCvuJBZY-_VGt4YyU3H","known_identities":[],"targets":[{"id":"value","kind":"secret","start":24,"end":81,"value":"oat2_lG4ucE_smM8g4nGCvFZus75eyb2SiD4BkzCvuJBZY-_VGt4YyU3H","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-oauth-token-must-detect-05","recipe":"oauth-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["oat2_lG4ucE_smM8g4nGCvFZus75eyb2SiD4BkzCvuJBZY-_VGt4YyU3H"]},"customers":{"required_absent":["oat2_lG4ucE_smM8g4nGCvFZus75eyb2SiD4BkzCvuJBZY-_VGt4YyU3H"],"required_present":[]},"all":{"required_absent":["oat2_lG4ucE_smM8g4nGCvFZus75eyb2SiD4BkzCvuJBZY-_VGt4YyU3H"],"required_present":[]}},"tags":["broad-quality","secret-family:oauth-token","variation:05"],"secret_fixture":{"family":"oauth-token","role":"must-detect"}}, - {"id":"broad-secret-oauth-token-preserve-05","language":"en","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad oauth-token variation.","text":"\u003e Release metadata: Bearer","known_identities":[],"targets":[{"id":"value","kind":"secret","start":20,"end":26,"value":"Bearer","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-oauth-token-preserve-05","recipe":"oauth-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bearer"]},"customers":{"required_absent":[],"required_present":["Bearer"]},"all":{"required_absent":[],"required_present":["Bearer"]}},"tags":["broad-quality","secret-family:oauth-token","variation:05"],"secret_fixture":{"family":"oauth-token","role":"preserve"}}, - {"id":"broad-secret-oauth-token-must-detect-06","language":"en","script":"Latin","shape":"log","risk":"critical","reason":"Locked broad oauth-token variation.","text":"level=warn sample=6 message=\"Stack trace captured credential \" value=oat2_RpyWGjy7GQUJHmlopdIfVFEKX1PryWygB9KTV2dXequZsUDYhi--","known_identities":[],"targets":[{"id":"value","kind":"secret","start":69,"end":126,"value":"oat2_RpyWGjy7GQUJHmlopdIfVFEKX1PryWygB9KTV2dXequZsUDYhi--","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-oauth-token-must-detect-06","recipe":"oauth-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["oat2_RpyWGjy7GQUJHmlopdIfVFEKX1PryWygB9KTV2dXequZsUDYhi--"]},"customers":{"required_absent":["oat2_RpyWGjy7GQUJHmlopdIfVFEKX1PryWygB9KTV2dXequZsUDYhi--"],"required_present":[]},"all":{"required_absent":["oat2_RpyWGjy7GQUJHmlopdIfVFEKX1PryWygB9KTV2dXequZsUDYhi--"],"required_present":[]}},"tags":["broad-quality","secret-family:oauth-token","variation:06"],"secret_fixture":{"family":"oauth-token","role":"must-detect"}}, - {"id":"broad-secret-oauth-token-preserve-06","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad oauth-token variation.","text":"level=warn sample=6 message=\"Public verification material: \" value=Bearer","known_identities":[],"targets":[{"id":"value","kind":"secret","start":67,"end":73,"value":"Bearer","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-oauth-token-preserve-06","recipe":"oauth-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bearer"]},"customers":{"required_absent":[],"required_present":["Bearer"]},"all":{"required_absent":[],"required_present":["Bearer"]}},"tags":["broad-quality","secret-family:oauth-token","variation:06"],"secret_fixture":{"family":"oauth-token","role":"preserve"}}, - {"id":"broad-secret-oauth-token-must-detect-07","language":"en","script":"Latin","shape":"stack-trace","risk":"critical","reason":"Locked broad oauth-token variation.","text":"Trace[7]: Wrapped message credential: oat2_lV9knamNBLnFyIemKJ470lG06EMZIoPJGlKN5CE05RRtbyqt3hPc","known_identities":[],"targets":[{"id":"value","kind":"secret","start":38,"end":95,"value":"oat2_lV9knamNBLnFyIemKJ470lG06EMZIoPJGlKN5CE05RRtbyqt3hPc","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-oauth-token-must-detect-07","recipe":"oauth-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["oat2_lV9knamNBLnFyIemKJ470lG06EMZIoPJGlKN5CE05RRtbyqt3hPc"]},"customers":{"required_absent":["oat2_lV9knamNBLnFyIemKJ470lG06EMZIoPJGlKN5CE05RRtbyqt3hPc"],"required_present":[]},"all":{"required_absent":["oat2_lV9knamNBLnFyIemKJ470lG06EMZIoPJGlKN5CE05RRtbyqt3hPc"],"required_present":[]}},"tags":["broad-quality","secret-family:oauth-token","variation:07"],"secret_fixture":{"family":"oauth-token","role":"must-detect"}}, - {"id":"broad-secret-oauth-token-preserve-07","language":"en","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad oauth-token variation.","text":"Trace[7]: Troubleshooting reference: Bearer","known_identities":[],"targets":[{"id":"value","kind":"secret","start":37,"end":43,"value":"Bearer","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-oauth-token-preserve-07","recipe":"oauth-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bearer"]},"customers":{"required_absent":[],"required_present":["Bearer"]},"all":{"required_absent":[],"required_present":["Bearer"]}},"tags":["broad-quality","secret-family:oauth-token","variation:07"],"secret_fixture":{"family":"oauth-token","role":"preserve"}}, - {"id":"broad-secret-password-must-detect-00","language":"en","script":"Latin","shape":"code","risk":"critical","reason":"Locked broad password variation.","text":"fixture_0 := `Credential copied from a support reply: R7!zm1p6RTnRTRgi0#q2`","known_identities":[],"targets":[{"id":"value","kind":"secret","start":54,"end":74,"value":"R7!zm1p6RTnRTRgi0#q2","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-password-must-detect-00","recipe":"password","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["R7!zm1p6RTnRTRgi0#q2"]},"customers":{"required_absent":["R7!zm1p6RTnRTRgi0#q2"],"required_present":[]},"all":{"required_absent":["R7!zm1p6RTnRTRgi0#q2"],"required_present":[]}},"tags":["broad-quality","secret-family:password","variation:00"],"secret_fixture":{"family":"password","role":"must-detect"}}, - {"id":"broad-secret-password-preserve-00","language":"en","script":"Latin","shape":"code","risk":"preservation","reason":"Locked broad password variation.","text":"fixture_0 := `Public configuration vocabulary: password_hash_algorithm`","known_identities":[],"targets":[{"id":"value","kind":"secret","start":47,"end":70,"value":"password_hash_algorithm","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-password-preserve-00","recipe":"password","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["password_hash_algorithm"]},"customers":{"required_absent":[],"required_present":["password_hash_algorithm"]},"all":{"required_absent":[],"required_present":["password_hash_algorithm"]}},"tags":["broad-quality","secret-family:password","variation:00"],"secret_fixture":{"family":"password","role":"preserve"}}, - {"id":"broad-secret-password-must-detect-01","language":"en","script":"Latin","shape":"signature","risk":"critical","reason":"Locked broad password variation.","text":"--\nAuthorization header value: R7!HRBJbFpNztqnUT#q2","known_identities":[],"targets":[{"id":"value","kind":"secret","start":31,"end":51,"value":"R7!HRBJbFpNztqnUT#q2","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-password-must-detect-01","recipe":"password","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["R7!HRBJbFpNztqnUT#q2"]},"customers":{"required_absent":["R7!HRBJbFpNztqnUT#q2"],"required_present":[]},"all":{"required_absent":["R7!HRBJbFpNztqnUT#q2"],"required_present":[]}},"tags":["broad-quality","secret-family:password","variation:01"],"secret_fixture":{"family":"password","role":"must-detect"}}, - {"id":"broad-secret-password-preserve-01","language":"en","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad password variation.","text":"--\nDocumentation syntax: password_hash_algorithm","known_identities":[],"targets":[{"id":"value","kind":"secret","start":25,"end":48,"value":"password_hash_algorithm","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-password-preserve-01","recipe":"password","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["password_hash_algorithm"]},"customers":{"required_absent":[],"required_present":["password_hash_algorithm"]},"all":{"required_absent":[],"required_present":["password_hash_algorithm"]}},"tags":["broad-quality","secret-family:password","variation:01"],"secret_fixture":{"family":"password","role":"preserve"}}, - {"id":"broad-secret-password-must-detect-02","language":"en","script":"Latin","shape":"long-thread","risk":"critical","reason":"Locked broad password variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Log field auth_value=R7!ziVAI4TQvDnDda#q2","known_identities":[],"targets":[{"id":"value","kind":"secret","start":501,"end":521,"value":"R7!ziVAI4TQvDnDda#q2","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-password-must-detect-02","recipe":"password","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["R7!ziVAI4TQvDnDda#q2"]},"customers":{"required_absent":["R7!ziVAI4TQvDnDda#q2"],"required_present":[]},"all":{"required_absent":["R7!ziVAI4TQvDnDda#q2"],"required_present":[]}},"tags":["broad-quality","secret-family:password","variation:02"],"secret_fixture":{"family":"password","role":"must-detect"}}, - {"id":"broad-secret-password-preserve-02","language":"en","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad password variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Public operational identifier: password_hash_algorithm","known_identities":[],"targets":[{"id":"value","kind":"secret","start":511,"end":534,"value":"password_hash_algorithm","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-password-preserve-02","recipe":"password","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["password_hash_algorithm"]},"customers":{"required_absent":[],"required_present":["password_hash_algorithm"]},"all":{"required_absent":[],"required_present":["password_hash_algorithm"]}},"tags":["broad-quality","secret-family:password","variation:02"],"secret_fixture":{"family":"password","role":"preserve"}}, - {"id":"broad-secret-password-must-detect-03","language":"en","script":"Latin","shape":"command-payload","risk":"critical","reason":"Locked broad password variation.","text":"--sample=3 --message=\"Rotating this exposed value: \" --value=R7!aK8TwPOAbzlB4l#q2","known_identities":[],"targets":[{"id":"value","kind":"secret","start":61,"end":81,"value":"R7!aK8TwPOAbzlB4l#q2","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-password-must-detect-03","recipe":"password","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["R7!aK8TwPOAbzlB4l#q2"]},"customers":{"required_absent":["R7!aK8TwPOAbzlB4l#q2"],"required_present":[]},"all":{"required_absent":["R7!aK8TwPOAbzlB4l#q2"],"required_present":[]}},"tags":["broad-quality","secret-family:password","variation:03"],"secret_fixture":{"family":"password","role":"must-detect"}}, - {"id":"broad-secret-password-preserve-03","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad password variation.","text":"--sample=3 --message=\"Schema field label: \" --value=password_hash_algorithm","known_identities":[],"targets":[{"id":"value","kind":"secret","start":52,"end":75,"value":"password_hash_algorithm","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-password-preserve-03","recipe":"password","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["password_hash_algorithm"]},"customers":{"required_absent":[],"required_present":["password_hash_algorithm"]},"all":{"required_absent":[],"required_present":["password_hash_algorithm"]}},"tags":["broad-quality","secret-family:password","variation:03"],"secret_fixture":{"family":"password","role":"preserve"}}, - {"id":"broad-secret-password-must-detect-04","language":"en","script":"Latin","shape":"prose","risk":"critical","reason":"Locked broad password variation.","text":"Quoted credential follows: R7!bfguWGSXffQVgS#q2","known_identities":[],"targets":[{"id":"value","kind":"secret","start":27,"end":47,"value":"R7!bfguWGSXffQVgS#q2","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-password-must-detect-04","recipe":"password","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["R7!bfguWGSXffQVgS#q2"]},"customers":{"required_absent":["R7!bfguWGSXffQVgS#q2"],"required_present":[]},"all":{"required_absent":["R7!bfguWGSXffQVgS#q2"],"required_present":[]}},"tags":["broad-quality","secret-family:password","variation:04"],"secret_fixture":{"family":"password","role":"must-detect"}}, - {"id":"broad-secret-password-preserve-04","language":"en","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad password variation.","text":"Non-confidential protocol token: password_hash_algorithm","known_identities":[],"targets":[{"id":"value","kind":"secret","start":33,"end":56,"value":"password_hash_algorithm","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-password-preserve-04","recipe":"password","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["password_hash_algorithm"]},"customers":{"required_absent":[],"required_present":["password_hash_algorithm"]},"all":{"required_absent":[],"required_present":["password_hash_algorithm"]}},"tags":["broad-quality","secret-family:password","variation:04"],"secret_fixture":{"family":"password","role":"preserve"}}, - {"id":"broad-secret-password-must-detect-05","language":"en","script":"Latin","shape":"json","risk":"critical","reason":"Locked broad password variation.","text":"{\"message_5\":\"Configuration secret: R7!ZG3fdmzkH2VFeo#q2\"}","known_identities":[],"targets":[{"id":"value","kind":"secret","start":36,"end":56,"value":"R7!ZG3fdmzkH2VFeo#q2","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-password-must-detect-05","recipe":"password","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["R7!ZG3fdmzkH2VFeo#q2"]},"customers":{"required_absent":["R7!ZG3fdmzkH2VFeo#q2"],"required_present":[]},"all":{"required_absent":["R7!ZG3fdmzkH2VFeo#q2"],"required_present":[]}},"tags":["broad-quality","secret-family:password","variation:05"],"secret_fixture":{"family":"password","role":"must-detect"}}, - {"id":"broad-secret-password-preserve-05","language":"en","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad password variation.","text":"{\"message_5\":\"Release metadata: password_hash_algorithm\"}","known_identities":[],"targets":[{"id":"value","kind":"secret","start":32,"end":55,"value":"password_hash_algorithm","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-password-preserve-05","recipe":"password","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["password_hash_algorithm"]},"customers":{"required_absent":[],"required_present":["password_hash_algorithm"]},"all":{"required_absent":[],"required_present":["password_hash_algorithm"]}},"tags":["broad-quality","secret-family:password","variation:05"],"secret_fixture":{"family":"password","role":"preserve"}}, - {"id":"broad-secret-password-must-detect-06","language":"en","script":"Latin","shape":"yaml","risk":"critical","reason":"Locked broad password variation.","text":"message_6: Stack trace captured credential R7!q6pS3EhkBn2F89#q2","known_identities":[],"targets":[{"id":"value","kind":"secret","start":43,"end":63,"value":"R7!q6pS3EhkBn2F89#q2","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-password-must-detect-06","recipe":"password","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["R7!q6pS3EhkBn2F89#q2"]},"customers":{"required_absent":["R7!q6pS3EhkBn2F89#q2"],"required_present":[]},"all":{"required_absent":["R7!q6pS3EhkBn2F89#q2"],"required_present":[]}},"tags":["broad-quality","secret-family:password","variation:06"],"secret_fixture":{"family":"password","role":"must-detect"}}, - {"id":"broad-secret-password-preserve-06","language":"en","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad password variation.","text":"message_6: Public verification material: password_hash_algorithm","known_identities":[],"targets":[{"id":"value","kind":"secret","start":41,"end":64,"value":"password_hash_algorithm","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-password-preserve-06","recipe":"password","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["password_hash_algorithm"]},"customers":{"required_absent":[],"required_present":["password_hash_algorithm"]},"all":{"required_absent":[],"required_present":["password_hash_algorithm"]}},"tags":["broad-quality","secret-family:password","variation:06"],"secret_fixture":{"family":"password","role":"preserve"}}, - {"id":"broad-secret-password-must-detect-07","language":"en","script":"Latin","shape":"shell","risk":"critical","reason":"Locked broad password variation.","text":"MESSAGE_7='Wrapped message credential: R7!cSZWZU9CtuVJyR#q2'","known_identities":[],"targets":[{"id":"value","kind":"secret","start":39,"end":59,"value":"R7!cSZWZU9CtuVJyR#q2","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-password-must-detect-07","recipe":"password","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["R7!cSZWZU9CtuVJyR#q2"]},"customers":{"required_absent":["R7!cSZWZU9CtuVJyR#q2"],"required_present":[]},"all":{"required_absent":["R7!cSZWZU9CtuVJyR#q2"],"required_present":[]}},"tags":["broad-quality","secret-family:password","variation:07"],"secret_fixture":{"family":"password","role":"must-detect"}}, - {"id":"broad-secret-password-preserve-07","language":"en","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad password variation.","text":"MESSAGE_7='Troubleshooting reference: password_hash_algorithm'","known_identities":[],"targets":[{"id":"value","kind":"secret","start":38,"end":61,"value":"password_hash_algorithm","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-password-preserve-07","recipe":"password","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["password_hash_algorithm"]},"customers":{"required_absent":[],"required_present":["password_hash_algorithm"]},"all":{"required_absent":[],"required_present":["password_hash_algorithm"]}},"tags":["broad-quality","secret-family:password","variation:07"],"secret_fixture":{"family":"password","role":"preserve"}}, - {"id":"broad-secret-jwt-must-detect-00","language":"en","script":"Latin","shape":"url","risk":"critical","reason":"Locked broad jwt variation.","text":"endpoint=https://192.0.2.10/0 ; Credential copied from a support reply: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.t3nxK_bJWs7ufwyuAZF1fqmvfP1RzZQ-4PkHqkzFx4P","known_identities":[],"targets":[{"id":"value","kind":"secret","start":72,"end":215,"value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.t3nxK_bJWs7ufwyuAZF1fqmvfP1RzZQ-4PkHqkzFx4P","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-jwt-must-detect-00","recipe":"jwt","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.t3nxK_bJWs7ufwyuAZF1fqmvfP1RzZQ-4PkHqkzFx4P"]},"customers":{"required_absent":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.t3nxK_bJWs7ufwyuAZF1fqmvfP1RzZQ-4PkHqkzFx4P"],"required_present":[]},"all":{"required_absent":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.t3nxK_bJWs7ufwyuAZF1fqmvfP1RzZQ-4PkHqkzFx4P"],"required_present":[]}},"tags":["broad-quality","secret-family:jwt","variation:00"],"secret_fixture":{"family":"jwt","role":"must-detect"}}, - {"id":"broad-secret-jwt-preserve-00","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad jwt variation.","text":"endpoint=https://192.0.2.10/0 ; Public configuration vocabulary: header.payload.signature","known_identities":[],"targets":[{"id":"value","kind":"secret","start":65,"end":89,"value":"header.payload.signature","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-jwt-preserve-00","recipe":"jwt","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["header.payload.signature"]},"customers":{"required_absent":[],"required_present":["header.payload.signature"]},"all":{"required_absent":[],"required_present":["header.payload.signature"]}},"tags":["broad-quality","secret-family:jwt","variation:00"],"secret_fixture":{"family":"jwt","role":"preserve"}}, - {"id":"broad-secret-jwt-must-detect-01","language":"en","script":"Latin","shape":"markdown","risk":"critical","reason":"Locked broad jwt variation.","text":"**Authorization header value: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.GibYxrjo2wQOgKswIwwuOcABpzyFmrHtIYJFpyHJzyE**","known_identities":[],"targets":[{"id":"value","kind":"secret","start":30,"end":173,"value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.GibYxrjo2wQOgKswIwwuOcABpzyFmrHtIYJFpyHJzyE","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-jwt-must-detect-01","recipe":"jwt","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.GibYxrjo2wQOgKswIwwuOcABpzyFmrHtIYJFpyHJzyE"]},"customers":{"required_absent":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.GibYxrjo2wQOgKswIwwuOcABpzyFmrHtIYJFpyHJzyE"],"required_present":[]},"all":{"required_absent":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.GibYxrjo2wQOgKswIwwuOcABpzyFmrHtIYJFpyHJzyE"],"required_present":[]}},"tags":["broad-quality","secret-family:jwt","variation:01"],"secret_fixture":{"family":"jwt","role":"must-detect"}}, - {"id":"broad-secret-jwt-preserve-01","language":"en","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad jwt variation.","text":"**Documentation syntax: header.payload.signature**","known_identities":[],"targets":[{"id":"value","kind":"secret","start":24,"end":48,"value":"header.payload.signature","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-jwt-preserve-01","recipe":"jwt","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["header.payload.signature"]},"customers":{"required_absent":[],"required_present":["header.payload.signature"]},"all":{"required_absent":[],"required_present":["header.payload.signature"]}},"tags":["broad-quality","secret-family:jwt","variation:01"],"secret_fixture":{"family":"jwt","role":"preserve"}}, - {"id":"broad-secret-jwt-must-detect-02","language":"en","script":"Latin","shape":"html","risk":"critical","reason":"Locked broad jwt variation.","text":"\u003cp\u003eLog field auth_value=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.NuiKG6VM51a_jbOREdXnf27k_exsv1vah5ZIt7d0s7S\u003c/p\u003e","known_identities":[],"targets":[{"id":"value","kind":"secret","start":24,"end":167,"value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.NuiKG6VM51a_jbOREdXnf27k_exsv1vah5ZIt7d0s7S","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-jwt-must-detect-02","recipe":"jwt","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.NuiKG6VM51a_jbOREdXnf27k_exsv1vah5ZIt7d0s7S"]},"customers":{"required_absent":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.NuiKG6VM51a_jbOREdXnf27k_exsv1vah5ZIt7d0s7S"],"required_present":[]},"all":{"required_absent":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.NuiKG6VM51a_jbOREdXnf27k_exsv1vah5ZIt7d0s7S"],"required_present":[]}},"tags":["broad-quality","secret-family:jwt","variation:02"],"secret_fixture":{"family":"jwt","role":"must-detect"}}, - {"id":"broad-secret-jwt-preserve-02","language":"en","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad jwt variation.","text":"\u003cp\u003ePublic operational identifier: header.payload.signature\u003c/p\u003e","known_identities":[],"targets":[{"id":"value","kind":"secret","start":34,"end":58,"value":"header.payload.signature","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-jwt-preserve-02","recipe":"jwt","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["header.payload.signature"]},"customers":{"required_absent":[],"required_present":["header.payload.signature"]},"all":{"required_absent":[],"required_present":["header.payload.signature"]}},"tags":["broad-quality","secret-family:jwt","variation:02"],"secret_fixture":{"family":"jwt","role":"preserve"}}, - {"id":"broad-secret-jwt-must-detect-03","language":"en","script":"Latin","shape":"quoted-reply","risk":"critical","reason":"Locked broad jwt variation.","text":"\u003e Rotating this exposed value: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.gdtE6OStDC0pZr-GrW5qKGkGhxb8LfKWAFbwk0MhjPj","known_identities":[],"targets":[{"id":"value","kind":"secret","start":31,"end":174,"value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.gdtE6OStDC0pZr-GrW5qKGkGhxb8LfKWAFbwk0MhjPj","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-jwt-must-detect-03","recipe":"jwt","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.gdtE6OStDC0pZr-GrW5qKGkGhxb8LfKWAFbwk0MhjPj"]},"customers":{"required_absent":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.gdtE6OStDC0pZr-GrW5qKGkGhxb8LfKWAFbwk0MhjPj"],"required_present":[]},"all":{"required_absent":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.gdtE6OStDC0pZr-GrW5qKGkGhxb8LfKWAFbwk0MhjPj"],"required_present":[]}},"tags":["broad-quality","secret-family:jwt","variation:03"],"secret_fixture":{"family":"jwt","role":"must-detect"}}, - {"id":"broad-secret-jwt-preserve-03","language":"en","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad jwt variation.","text":"\u003e Schema field label: header.payload.signature","known_identities":[],"targets":[{"id":"value","kind":"secret","start":22,"end":46,"value":"header.payload.signature","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-jwt-preserve-03","recipe":"jwt","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["header.payload.signature"]},"customers":{"required_absent":[],"required_present":["header.payload.signature"]},"all":{"required_absent":[],"required_present":["header.payload.signature"]}},"tags":["broad-quality","secret-family:jwt","variation:03"],"secret_fixture":{"family":"jwt","role":"preserve"}}, - {"id":"broad-secret-jwt-must-detect-04","language":"en","script":"Latin","shape":"log","risk":"critical","reason":"Locked broad jwt variation.","text":"level=warn sample=4 message=\"Quoted credential follows: \" value=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.nA_SECP1iFm0dupuKuAFYVjgt_l6bXPdDqCPs9MyHlg","known_identities":[],"targets":[{"id":"value","kind":"secret","start":64,"end":207,"value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.nA_SECP1iFm0dupuKuAFYVjgt_l6bXPdDqCPs9MyHlg","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-jwt-must-detect-04","recipe":"jwt","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.nA_SECP1iFm0dupuKuAFYVjgt_l6bXPdDqCPs9MyHlg"]},"customers":{"required_absent":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.nA_SECP1iFm0dupuKuAFYVjgt_l6bXPdDqCPs9MyHlg"],"required_present":[]},"all":{"required_absent":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.nA_SECP1iFm0dupuKuAFYVjgt_l6bXPdDqCPs9MyHlg"],"required_present":[]}},"tags":["broad-quality","secret-family:jwt","variation:04"],"secret_fixture":{"family":"jwt","role":"must-detect"}}, - {"id":"broad-secret-jwt-preserve-04","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad jwt variation.","text":"level=warn sample=4 message=\"Non-confidential protocol token: \" value=header.payload.signature","known_identities":[],"targets":[{"id":"value","kind":"secret","start":70,"end":94,"value":"header.payload.signature","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-jwt-preserve-04","recipe":"jwt","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["header.payload.signature"]},"customers":{"required_absent":[],"required_present":["header.payload.signature"]},"all":{"required_absent":[],"required_present":["header.payload.signature"]}},"tags":["broad-quality","secret-family:jwt","variation:04"],"secret_fixture":{"family":"jwt","role":"preserve"}}, - {"id":"broad-secret-jwt-must-detect-05","language":"en","script":"Latin","shape":"stack-trace","risk":"critical","reason":"Locked broad jwt variation.","text":"Trace[5]: Configuration secret: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.MtidwEprXkTKfpjZY1NXm157h5nn_tC18dhdY9hC0Wp","known_identities":[],"targets":[{"id":"value","kind":"secret","start":32,"end":175,"value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.MtidwEprXkTKfpjZY1NXm157h5nn_tC18dhdY9hC0Wp","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-jwt-must-detect-05","recipe":"jwt","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.MtidwEprXkTKfpjZY1NXm157h5nn_tC18dhdY9hC0Wp"]},"customers":{"required_absent":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.MtidwEprXkTKfpjZY1NXm157h5nn_tC18dhdY9hC0Wp"],"required_present":[]},"all":{"required_absent":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.MtidwEprXkTKfpjZY1NXm157h5nn_tC18dhdY9hC0Wp"],"required_present":[]}},"tags":["broad-quality","secret-family:jwt","variation:05"],"secret_fixture":{"family":"jwt","role":"must-detect"}}, - {"id":"broad-secret-jwt-preserve-05","language":"en","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad jwt variation.","text":"Trace[5]: Release metadata: header.payload.signature","known_identities":[],"targets":[{"id":"value","kind":"secret","start":28,"end":52,"value":"header.payload.signature","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-jwt-preserve-05","recipe":"jwt","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["header.payload.signature"]},"customers":{"required_absent":[],"required_present":["header.payload.signature"]},"all":{"required_absent":[],"required_present":["header.payload.signature"]}},"tags":["broad-quality","secret-family:jwt","variation:05"],"secret_fixture":{"family":"jwt","role":"preserve"}}, - {"id":"broad-secret-jwt-must-detect-06","language":"en","script":"Latin","shape":"code","risk":"critical","reason":"Locked broad jwt variation.","text":"fixture_6 := `Stack trace captured credential eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.Nj2GjLCUrMkwcIT0I_O5tH4KepBDsxa7pTJkNqQ2k7K`","known_identities":[],"targets":[{"id":"value","kind":"secret","start":46,"end":189,"value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.Nj2GjLCUrMkwcIT0I_O5tH4KepBDsxa7pTJkNqQ2k7K","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-jwt-must-detect-06","recipe":"jwt","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.Nj2GjLCUrMkwcIT0I_O5tH4KepBDsxa7pTJkNqQ2k7K"]},"customers":{"required_absent":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.Nj2GjLCUrMkwcIT0I_O5tH4KepBDsxa7pTJkNqQ2k7K"],"required_present":[]},"all":{"required_absent":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.Nj2GjLCUrMkwcIT0I_O5tH4KepBDsxa7pTJkNqQ2k7K"],"required_present":[]}},"tags":["broad-quality","secret-family:jwt","variation:06"],"secret_fixture":{"family":"jwt","role":"must-detect"}}, - {"id":"broad-secret-jwt-preserve-06","language":"en","script":"Latin","shape":"code","risk":"preservation","reason":"Locked broad jwt variation.","text":"fixture_6 := `Public verification material: header.payload.signature`","known_identities":[],"targets":[{"id":"value","kind":"secret","start":44,"end":68,"value":"header.payload.signature","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-jwt-preserve-06","recipe":"jwt","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["header.payload.signature"]},"customers":{"required_absent":[],"required_present":["header.payload.signature"]},"all":{"required_absent":[],"required_present":["header.payload.signature"]}},"tags":["broad-quality","secret-family:jwt","variation:06"],"secret_fixture":{"family":"jwt","role":"preserve"}}, - {"id":"broad-secret-jwt-must-detect-07","language":"en","script":"Latin","shape":"signature","risk":"critical","reason":"Locked broad jwt variation.","text":"--\nWrapped message credential: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.riwLbg02LXMUp8MllazvkGyVbv4lhHHbVRNIIJvgZXf","known_identities":[],"targets":[{"id":"value","kind":"secret","start":31,"end":174,"value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.riwLbg02LXMUp8MllazvkGyVbv4lhHHbVRNIIJvgZXf","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-jwt-must-detect-07","recipe":"jwt","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.riwLbg02LXMUp8MllazvkGyVbv4lhHHbVRNIIJvgZXf"]},"customers":{"required_absent":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.riwLbg02LXMUp8MllazvkGyVbv4lhHHbVRNIIJvgZXf"],"required_present":[]},"all":{"required_absent":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.riwLbg02LXMUp8MllazvkGyVbv4lhHHbVRNIIJvgZXf"],"required_present":[]}},"tags":["broad-quality","secret-family:jwt","variation:07"],"secret_fixture":{"family":"jwt","role":"must-detect"}}, - {"id":"broad-secret-jwt-preserve-07","language":"en","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad jwt variation.","text":"--\nTroubleshooting reference: header.payload.signature","known_identities":[],"targets":[{"id":"value","kind":"secret","start":30,"end":54,"value":"header.payload.signature","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-jwt-preserve-07","recipe":"jwt","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["header.payload.signature"]},"customers":{"required_absent":[],"required_present":["header.payload.signature"]},"all":{"required_absent":[],"required_present":["header.payload.signature"]}},"tags":["broad-quality","secret-family:jwt","variation:07"],"secret_fixture":{"family":"jwt","role":"preserve"}}, - {"id":"broad-secret-one-time-code-must-detect-00","language":"en","script":"Latin","shape":"long-thread","risk":"critical","reason":"Locked broad one-time-code variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Credential copied from a support reply: 20800754","known_identities":[],"targets":[{"id":"value","kind":"secret","start":520,"end":528,"value":"20800754","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-one-time-code-must-detect-00","recipe":"one-time-code","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["20800754"]},"customers":{"required_absent":["20800754"],"required_present":[]},"all":{"required_absent":["20800754"],"required_present":[]}},"tags":["broad-quality","secret-family:one-time-code","variation:00"],"secret_fixture":{"family":"one-time-code","role":"must-detect"}}, - {"id":"broad-secret-one-time-code-preserve-00","language":"en","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad one-time-code variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Public configuration vocabulary: 61125448","known_identities":[],"targets":[{"id":"value","kind":"secret","start":513,"end":521,"value":"61125448","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-one-time-code-preserve-00","recipe":"one-time-code","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["61125448"]},"customers":{"required_absent":[],"required_present":["61125448"]},"all":{"required_absent":[],"required_present":["61125448"]}},"tags":["broad-quality","secret-family:one-time-code","variation:00"],"secret_fixture":{"family":"one-time-code","role":"preserve"}}, - {"id":"broad-secret-one-time-code-must-detect-01","language":"en","script":"Latin","shape":"command-payload","risk":"critical","reason":"Locked broad one-time-code variation.","text":"--sample=1 --message=\"Authorization header value: \" --value=16216825","known_identities":[],"targets":[{"id":"value","kind":"secret","start":60,"end":68,"value":"16216825","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-one-time-code-must-detect-01","recipe":"one-time-code","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["16216825"]},"customers":{"required_absent":["16216825"],"required_present":[]},"all":{"required_absent":["16216825"],"required_present":[]}},"tags":["broad-quality","secret-family:one-time-code","variation:01"],"secret_fixture":{"family":"one-time-code","role":"must-detect"}}, - {"id":"broad-secret-one-time-code-preserve-01","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad one-time-code variation.","text":"--sample=1 --message=\"Documentation syntax: \" --value=53095807","known_identities":[],"targets":[{"id":"value","kind":"secret","start":54,"end":62,"value":"53095807","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-one-time-code-preserve-01","recipe":"one-time-code","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["53095807"]},"customers":{"required_absent":[],"required_present":["53095807"]},"all":{"required_absent":[],"required_present":["53095807"]}},"tags":["broad-quality","secret-family:one-time-code","variation:01"],"secret_fixture":{"family":"one-time-code","role":"preserve"}}, - {"id":"broad-secret-one-time-code-must-detect-02","language":"en","script":"Latin","shape":"prose","risk":"critical","reason":"Locked broad one-time-code variation.","text":"Log field auth_value=24207188","known_identities":[],"targets":[{"id":"value","kind":"secret","start":21,"end":29,"value":"24207188","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-one-time-code-must-detect-02","recipe":"one-time-code","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["24207188"]},"customers":{"required_absent":["24207188"],"required_present":[]},"all":{"required_absent":["24207188"],"required_present":[]}},"tags":["broad-quality","secret-family:one-time-code","variation:02"],"secret_fixture":{"family":"one-time-code","role":"must-detect"}}, - {"id":"broad-secret-one-time-code-preserve-02","language":"en","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad one-time-code variation.","text":"Public operational identifier: 99150081","known_identities":[],"targets":[{"id":"value","kind":"secret","start":31,"end":39,"value":"99150081","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-one-time-code-preserve-02","recipe":"one-time-code","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["99150081"]},"customers":{"required_absent":[],"required_present":["99150081"]},"all":{"required_absent":[],"required_present":["99150081"]}},"tags":["broad-quality","secret-family:one-time-code","variation:02"],"secret_fixture":{"family":"one-time-code","role":"preserve"}}, - {"id":"broad-secret-one-time-code-must-detect-03","language":"en","script":"Latin","shape":"json","risk":"critical","reason":"Locked broad one-time-code variation.","text":"{\"message_3\":\"Rotating this exposed value: 40956884\"}","known_identities":[],"targets":[{"id":"value","kind":"secret","start":43,"end":51,"value":"40956884","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-one-time-code-must-detect-03","recipe":"one-time-code","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["40956884"]},"customers":{"required_absent":["40956884"],"required_present":[]},"all":{"required_absent":["40956884"],"required_present":[]}},"tags":["broad-quality","secret-family:one-time-code","variation:03"],"secret_fixture":{"family":"one-time-code","role":"must-detect"}}, - {"id":"broad-secret-one-time-code-preserve-03","language":"en","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad one-time-code variation.","text":"{\"message_3\":\"Schema field label: 25047951\"}","known_identities":[],"targets":[{"id":"value","kind":"secret","start":34,"end":42,"value":"25047951","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-one-time-code-preserve-03","recipe":"one-time-code","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["25047951"]},"customers":{"required_absent":[],"required_present":["25047951"]},"all":{"required_absent":[],"required_present":["25047951"]}},"tags":["broad-quality","secret-family:one-time-code","variation:03"],"secret_fixture":{"family":"one-time-code","role":"preserve"}}, - {"id":"broad-secret-one-time-code-must-detect-04","language":"en","script":"Latin","shape":"yaml","risk":"critical","reason":"Locked broad one-time-code variation.","text":"message_4: Quoted credential follows: 90610471","known_identities":[],"targets":[{"id":"value","kind":"secret","start":38,"end":46,"value":"90610471","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-one-time-code-must-detect-04","recipe":"one-time-code","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["90610471"]},"customers":{"required_absent":["90610471"],"required_present":[]},"all":{"required_absent":["90610471"],"required_present":[]}},"tags":["broad-quality","secret-family:one-time-code","variation:04"],"secret_fixture":{"family":"one-time-code","role":"must-detect"}}, - {"id":"broad-secret-one-time-code-preserve-04","language":"en","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad one-time-code variation.","text":"message_4: Non-confidential protocol token: 23672977","known_identities":[],"targets":[{"id":"value","kind":"secret","start":44,"end":52,"value":"23672977","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-one-time-code-preserve-04","recipe":"one-time-code","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["23672977"]},"customers":{"required_absent":[],"required_present":["23672977"]},"all":{"required_absent":[],"required_present":["23672977"]}},"tags":["broad-quality","secret-family:one-time-code","variation:04"],"secret_fixture":{"family":"one-time-code","role":"preserve"}}, - {"id":"broad-secret-one-time-code-must-detect-05","language":"en","script":"Latin","shape":"shell","risk":"critical","reason":"Locked broad one-time-code variation.","text":"MESSAGE_5='Configuration secret: 03571441'","known_identities":[],"targets":[{"id":"value","kind":"secret","start":33,"end":41,"value":"03571441","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-one-time-code-must-detect-05","recipe":"one-time-code","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["03571441"]},"customers":{"required_absent":["03571441"],"required_present":[]},"all":{"required_absent":["03571441"],"required_present":[]}},"tags":["broad-quality","secret-family:one-time-code","variation:05"],"secret_fixture":{"family":"one-time-code","role":"must-detect"}}, - {"id":"broad-secret-one-time-code-preserve-05","language":"en","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad one-time-code variation.","text":"MESSAGE_5='Release metadata: 20059653'","known_identities":[],"targets":[{"id":"value","kind":"secret","start":29,"end":37,"value":"20059653","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-one-time-code-preserve-05","recipe":"one-time-code","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["20059653"]},"customers":{"required_absent":[],"required_present":["20059653"]},"all":{"required_absent":[],"required_present":["20059653"]}},"tags":["broad-quality","secret-family:one-time-code","variation:05"],"secret_fixture":{"family":"one-time-code","role":"preserve"}}, - {"id":"broad-secret-one-time-code-must-detect-06","language":"en","script":"Latin","shape":"url","risk":"critical","reason":"Locked broad one-time-code variation.","text":"endpoint=https://192.0.2.10/6 ; Stack trace captured credential 60474487","known_identities":[],"targets":[{"id":"value","kind":"secret","start":64,"end":72,"value":"60474487","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-one-time-code-must-detect-06","recipe":"one-time-code","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["60474487"]},"customers":{"required_absent":["60474487"],"required_present":[]},"all":{"required_absent":["60474487"],"required_present":[]}},"tags":["broad-quality","secret-family:one-time-code","variation:06"],"secret_fixture":{"family":"one-time-code","role":"must-detect"}}, - {"id":"broad-secret-one-time-code-preserve-06","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad one-time-code variation.","text":"endpoint=https://192.0.2.10/6 ; Public verification material: 33565657","known_identities":[],"targets":[{"id":"value","kind":"secret","start":62,"end":70,"value":"33565657","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-one-time-code-preserve-06","recipe":"one-time-code","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["33565657"]},"customers":{"required_absent":[],"required_present":["33565657"]},"all":{"required_absent":[],"required_present":["33565657"]}},"tags":["broad-quality","secret-family:one-time-code","variation:06"],"secret_fixture":{"family":"one-time-code","role":"preserve"}}, - {"id":"broad-secret-one-time-code-must-detect-07","language":"en","script":"Latin","shape":"markdown","risk":"critical","reason":"Locked broad one-time-code variation.","text":"**Wrapped message credential: 40089778**","known_identities":[],"targets":[{"id":"value","kind":"secret","start":30,"end":38,"value":"40089778","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-one-time-code-must-detect-07","recipe":"one-time-code","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["40089778"]},"customers":{"required_absent":["40089778"],"required_present":[]},"all":{"required_absent":["40089778"],"required_present":[]}},"tags":["broad-quality","secret-family:one-time-code","variation:07"],"secret_fixture":{"family":"one-time-code","role":"must-detect"}}, - {"id":"broad-secret-one-time-code-preserve-07","language":"en","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad one-time-code variation.","text":"**Troubleshooting reference: 86867006**","known_identities":[],"targets":[{"id":"value","kind":"secret","start":29,"end":37,"value":"86867006","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-one-time-code-preserve-07","recipe":"one-time-code","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["86867006"]},"customers":{"required_absent":[],"required_present":["86867006"]},"all":{"required_absent":[],"required_present":["86867006"]}},"tags":["broad-quality","secret-family:one-time-code","variation:07"],"secret_fixture":{"family":"one-time-code","role":"preserve"}}, - {"id":"broad-secret-private-key-must-detect-00","language":"en","script":"Latin","shape":"html","risk":"critical","reason":"Locked broad private-key variation.","text":"\u003cp\u003eCredential copied from a support reply: -----BEGIN SECRET-KEYX-----\nW41E7qdJye8XngdAb1HNTYPUVnpgZkx7332BF/t98LEy/EFtkPERo7iTyj4RbPly\nPu3g4VS8eUu5W7heKwawrmb/zH/oNtGPMXYTM2IaVoWKvzKqVTKwjvkrSLdedrag\no2NYUknPVQnGiJw77f98nVVp46NlMobsq0Vxy/FTkGZ08sYfbujet78mXSK8T/Pm\n5LDKk74hggIYua4k0kl8uf0SqQJm6QNOvVpF4BdPsfhc+3iTVTKndlnZnANSF7g4\n-----END SECRET-KEYX-----\u003c/p\u003e","known_identities":[],"targets":[{"id":"value","kind":"secret","start":43,"end":356,"value":"-----BEGIN SECRET-KEYX-----\nW41E7qdJye8XngdAb1HNTYPUVnpgZkx7332BF/t98LEy/EFtkPERo7iTyj4RbPly\nPu3g4VS8eUu5W7heKwawrmb/zH/oNtGPMXYTM2IaVoWKvzKqVTKwjvkrSLdedrag\no2NYUknPVQnGiJw77f98nVVp46NlMobsq0Vxy/FTkGZ08sYfbujet78mXSK8T/Pm\n5LDKk74hggIYua4k0kl8uf0SqQJm6QNOvVpF4BdPsfhc+3iTVTKndlnZnANSF7g4\n-----END SECRET-KEYX-----","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-private-key-must-detect-00","recipe":"private-key","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["-----BEGIN SECRET-KEYX-----\nW41E7qdJye8XngdAb1HNTYPUVnpgZkx7332BF/t98LEy/EFtkPERo7iTyj4RbPly\nPu3g4VS8eUu5W7heKwawrmb/zH/oNtGPMXYTM2IaVoWKvzKqVTKwjvkrSLdedrag\no2NYUknPVQnGiJw77f98nVVp46NlMobsq0Vxy/FTkGZ08sYfbujet78mXSK8T/Pm\n5LDKk74hggIYua4k0kl8uf0SqQJm6QNOvVpF4BdPsfhc+3iTVTKndlnZnANSF7g4\n-----END SECRET-KEYX-----"]},"customers":{"required_absent":["-----BEGIN SECRET-KEYX-----\nW41E7qdJye8XngdAb1HNTYPUVnpgZkx7332BF/t98LEy/EFtkPERo7iTyj4RbPly\nPu3g4VS8eUu5W7heKwawrmb/zH/oNtGPMXYTM2IaVoWKvzKqVTKwjvkrSLdedrag\no2NYUknPVQnGiJw77f98nVVp46NlMobsq0Vxy/FTkGZ08sYfbujet78mXSK8T/Pm\n5LDKk74hggIYua4k0kl8uf0SqQJm6QNOvVpF4BdPsfhc+3iTVTKndlnZnANSF7g4\n-----END SECRET-KEYX-----"],"required_present":[]},"all":{"required_absent":["-----BEGIN SECRET-KEYX-----\nW41E7qdJye8XngdAb1HNTYPUVnpgZkx7332BF/t98LEy/EFtkPERo7iTyj4RbPly\nPu3g4VS8eUu5W7heKwawrmb/zH/oNtGPMXYTM2IaVoWKvzKqVTKwjvkrSLdedrag\no2NYUknPVQnGiJw77f98nVVp46NlMobsq0Vxy/FTkGZ08sYfbujet78mXSK8T/Pm\n5LDKk74hggIYua4k0kl8uf0SqQJm6QNOvVpF4BdPsfhc+3iTVTKndlnZnANSF7g4\n-----END SECRET-KEYX-----"],"required_present":[]}},"tags":["broad-quality","secret-family:private-key","variation:00"],"secret_fixture":{"family":"private-key","role":"must-detect"}}, - {"id":"broad-secret-private-key-preserve-00","language":"en","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad private-key variation.","text":"\u003cp\u003ePublic configuration vocabulary: -----BEGIN PUBLIC KEY-----\n+VbdXKoICCrZ9J9bZVJneI36wLr+QT2/gEbaRUjHWqGmQTXkTb+yX2A5PGmpMn4C\nuVx9bJNBPoP2/CkupH1wl5+0S6UjpO41iCAxqFi4GX4GyDiHUfa4wRqxMtHMbRRy\n-----END PUBLIC KEY-----\u003c/p\u003e","known_identities":[],"targets":[{"id":"value","kind":"secret","start":36,"end":217,"value":"-----BEGIN PUBLIC KEY-----\n+VbdXKoICCrZ9J9bZVJneI36wLr+QT2/gEbaRUjHWqGmQTXkTb+yX2A5PGmpMn4C\nuVx9bJNBPoP2/CkupH1wl5+0S6UjpO41iCAxqFi4GX4GyDiHUfa4wRqxMtHMbRRy\n-----END PUBLIC KEY-----","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-private-key-preserve-00","recipe":"private-key","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["-----BEGIN PUBLIC KEY-----\n+VbdXKoICCrZ9J9bZVJneI36wLr+QT2/gEbaRUjHWqGmQTXkTb+yX2A5PGmpMn4C\nuVx9bJNBPoP2/CkupH1wl5+0S6UjpO41iCAxqFi4GX4GyDiHUfa4wRqxMtHMbRRy\n-----END PUBLIC KEY-----"]},"customers":{"required_absent":[],"required_present":["-----BEGIN PUBLIC KEY-----\n+VbdXKoICCrZ9J9bZVJneI36wLr+QT2/gEbaRUjHWqGmQTXkTb+yX2A5PGmpMn4C\nuVx9bJNBPoP2/CkupH1wl5+0S6UjpO41iCAxqFi4GX4GyDiHUfa4wRqxMtHMbRRy\n-----END PUBLIC KEY-----"]},"all":{"required_absent":[],"required_present":["-----BEGIN PUBLIC KEY-----\n+VbdXKoICCrZ9J9bZVJneI36wLr+QT2/gEbaRUjHWqGmQTXkTb+yX2A5PGmpMn4C\nuVx9bJNBPoP2/CkupH1wl5+0S6UjpO41iCAxqFi4GX4GyDiHUfa4wRqxMtHMbRRy\n-----END PUBLIC KEY-----"]}},"tags":["broad-quality","secret-family:private-key","variation:00"],"secret_fixture":{"family":"private-key","role":"preserve"}}, - {"id":"broad-secret-private-key-must-detect-01","language":"en","script":"Latin","shape":"quoted-reply","risk":"critical","reason":"Locked broad private-key variation.","text":"\u003e Authorization header value: -----BEGIN SECRET-KEYX-----\n9PING2mAR/TdE49VbmxFQ7J7DQXpiK9j8Ydm8ikBr9mQRemvP0IyHf1KeUpReySp\nCs+vh9NMf8lwB257YkFGBSbgstzx6dUpypSCSp4S8qCBmAj3OcrhIC9OqiUA9TjE\nTFSdew0RBAjNDk2xenVCenspqHnWCSdS99mRlkb1ySWOODfCPW/UvQYeu+qRMTnn\nWo/E/GCpHYsDkT6lON5xuP7hf88x+hLRFVYS2cKeZdSoVqSz/kaWDipRo7iAR6Gg\n-----END SECRET-KEYX-----","known_identities":[],"targets":[{"id":"value","kind":"secret","start":30,"end":343,"value":"-----BEGIN SECRET-KEYX-----\n9PING2mAR/TdE49VbmxFQ7J7DQXpiK9j8Ydm8ikBr9mQRemvP0IyHf1KeUpReySp\nCs+vh9NMf8lwB257YkFGBSbgstzx6dUpypSCSp4S8qCBmAj3OcrhIC9OqiUA9TjE\nTFSdew0RBAjNDk2xenVCenspqHnWCSdS99mRlkb1ySWOODfCPW/UvQYeu+qRMTnn\nWo/E/GCpHYsDkT6lON5xuP7hf88x+hLRFVYS2cKeZdSoVqSz/kaWDipRo7iAR6Gg\n-----END SECRET-KEYX-----","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-private-key-must-detect-01","recipe":"private-key","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["-----BEGIN SECRET-KEYX-----\n9PING2mAR/TdE49VbmxFQ7J7DQXpiK9j8Ydm8ikBr9mQRemvP0IyHf1KeUpReySp\nCs+vh9NMf8lwB257YkFGBSbgstzx6dUpypSCSp4S8qCBmAj3OcrhIC9OqiUA9TjE\nTFSdew0RBAjNDk2xenVCenspqHnWCSdS99mRlkb1ySWOODfCPW/UvQYeu+qRMTnn\nWo/E/GCpHYsDkT6lON5xuP7hf88x+hLRFVYS2cKeZdSoVqSz/kaWDipRo7iAR6Gg\n-----END SECRET-KEYX-----"]},"customers":{"required_absent":["-----BEGIN SECRET-KEYX-----\n9PING2mAR/TdE49VbmxFQ7J7DQXpiK9j8Ydm8ikBr9mQRemvP0IyHf1KeUpReySp\nCs+vh9NMf8lwB257YkFGBSbgstzx6dUpypSCSp4S8qCBmAj3OcrhIC9OqiUA9TjE\nTFSdew0RBAjNDk2xenVCenspqHnWCSdS99mRlkb1ySWOODfCPW/UvQYeu+qRMTnn\nWo/E/GCpHYsDkT6lON5xuP7hf88x+hLRFVYS2cKeZdSoVqSz/kaWDipRo7iAR6Gg\n-----END SECRET-KEYX-----"],"required_present":[]},"all":{"required_absent":["-----BEGIN SECRET-KEYX-----\n9PING2mAR/TdE49VbmxFQ7J7DQXpiK9j8Ydm8ikBr9mQRemvP0IyHf1KeUpReySp\nCs+vh9NMf8lwB257YkFGBSbgstzx6dUpypSCSp4S8qCBmAj3OcrhIC9OqiUA9TjE\nTFSdew0RBAjNDk2xenVCenspqHnWCSdS99mRlkb1ySWOODfCPW/UvQYeu+qRMTnn\nWo/E/GCpHYsDkT6lON5xuP7hf88x+hLRFVYS2cKeZdSoVqSz/kaWDipRo7iAR6Gg\n-----END SECRET-KEYX-----"],"required_present":[]}},"tags":["broad-quality","secret-family:private-key","variation:01"],"secret_fixture":{"family":"private-key","role":"must-detect"}}, - {"id":"broad-secret-private-key-preserve-01","language":"en","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad private-key variation.","text":"\u003e Documentation syntax: -----BEGIN PUBLIC KEY-----\n0izQYreNNSxybhYLOt5/J/FytF/eapWjuqtgTLpyx9EWi+zCQCmciDerbQVapQvK\nJ+gbcIpcjLdfjPiw4aHPYQXDmqlnEQ8filcxbh9Tql9x++YHEC2JW0Y50h2u8LHs\n-----END PUBLIC KEY-----","known_identities":[],"targets":[{"id":"value","kind":"secret","start":24,"end":205,"value":"-----BEGIN PUBLIC KEY-----\n0izQYreNNSxybhYLOt5/J/FytF/eapWjuqtgTLpyx9EWi+zCQCmciDerbQVapQvK\nJ+gbcIpcjLdfjPiw4aHPYQXDmqlnEQ8filcxbh9Tql9x++YHEC2JW0Y50h2u8LHs\n-----END PUBLIC KEY-----","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-private-key-preserve-01","recipe":"private-key","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["-----BEGIN PUBLIC KEY-----\n0izQYreNNSxybhYLOt5/J/FytF/eapWjuqtgTLpyx9EWi+zCQCmciDerbQVapQvK\nJ+gbcIpcjLdfjPiw4aHPYQXDmqlnEQ8filcxbh9Tql9x++YHEC2JW0Y50h2u8LHs\n-----END PUBLIC KEY-----"]},"customers":{"required_absent":[],"required_present":["-----BEGIN PUBLIC KEY-----\n0izQYreNNSxybhYLOt5/J/FytF/eapWjuqtgTLpyx9EWi+zCQCmciDerbQVapQvK\nJ+gbcIpcjLdfjPiw4aHPYQXDmqlnEQ8filcxbh9Tql9x++YHEC2JW0Y50h2u8LHs\n-----END PUBLIC KEY-----"]},"all":{"required_absent":[],"required_present":["-----BEGIN PUBLIC KEY-----\n0izQYreNNSxybhYLOt5/J/FytF/eapWjuqtgTLpyx9EWi+zCQCmciDerbQVapQvK\nJ+gbcIpcjLdfjPiw4aHPYQXDmqlnEQ8filcxbh9Tql9x++YHEC2JW0Y50h2u8LHs\n-----END PUBLIC KEY-----"]}},"tags":["broad-quality","secret-family:private-key","variation:01"],"secret_fixture":{"family":"private-key","role":"preserve"}}, - {"id":"broad-secret-private-key-must-detect-02","language":"en","script":"Latin","shape":"log","risk":"critical","reason":"Locked broad private-key variation.","text":"level=warn sample=2 message=\"Log field auth_value=\" value=-----BEGIN SECRET-KEYX-----\nViH1SOmvWMYOmQBpC33AT1kh+ytL2AdgimBl4o5o0oxeHvac1cu2eoLdD4M6h8kD\nYNgtM6WZrkVvYANqlIb3EA5VL+XD5gib/O7/GfX7PwjSUPjpandaAcOcaXVX0nKh\nOUZqDtAbeFNyeqMjiQPNVjyL58NcZwUok37b7002mrIT732/PruU8y100Je3wm8o\nUQZp9CXknZ5AgdE2tNLW3Z6E71XE4DIG4qv/C91wP2YtP08Wriz41Gyummq7vgu+\n-----END SECRET-KEYX-----","known_identities":[],"targets":[{"id":"value","kind":"secret","start":58,"end":371,"value":"-----BEGIN SECRET-KEYX-----\nViH1SOmvWMYOmQBpC33AT1kh+ytL2AdgimBl4o5o0oxeHvac1cu2eoLdD4M6h8kD\nYNgtM6WZrkVvYANqlIb3EA5VL+XD5gib/O7/GfX7PwjSUPjpandaAcOcaXVX0nKh\nOUZqDtAbeFNyeqMjiQPNVjyL58NcZwUok37b7002mrIT732/PruU8y100Je3wm8o\nUQZp9CXknZ5AgdE2tNLW3Z6E71XE4DIG4qv/C91wP2YtP08Wriz41Gyummq7vgu+\n-----END SECRET-KEYX-----","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-private-key-must-detect-02","recipe":"private-key","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["-----BEGIN SECRET-KEYX-----\nViH1SOmvWMYOmQBpC33AT1kh+ytL2AdgimBl4o5o0oxeHvac1cu2eoLdD4M6h8kD\nYNgtM6WZrkVvYANqlIb3EA5VL+XD5gib/O7/GfX7PwjSUPjpandaAcOcaXVX0nKh\nOUZqDtAbeFNyeqMjiQPNVjyL58NcZwUok37b7002mrIT732/PruU8y100Je3wm8o\nUQZp9CXknZ5AgdE2tNLW3Z6E71XE4DIG4qv/C91wP2YtP08Wriz41Gyummq7vgu+\n-----END SECRET-KEYX-----"]},"customers":{"required_absent":["-----BEGIN SECRET-KEYX-----\nViH1SOmvWMYOmQBpC33AT1kh+ytL2AdgimBl4o5o0oxeHvac1cu2eoLdD4M6h8kD\nYNgtM6WZrkVvYANqlIb3EA5VL+XD5gib/O7/GfX7PwjSUPjpandaAcOcaXVX0nKh\nOUZqDtAbeFNyeqMjiQPNVjyL58NcZwUok37b7002mrIT732/PruU8y100Je3wm8o\nUQZp9CXknZ5AgdE2tNLW3Z6E71XE4DIG4qv/C91wP2YtP08Wriz41Gyummq7vgu+\n-----END SECRET-KEYX-----"],"required_present":[]},"all":{"required_absent":["-----BEGIN SECRET-KEYX-----\nViH1SOmvWMYOmQBpC33AT1kh+ytL2AdgimBl4o5o0oxeHvac1cu2eoLdD4M6h8kD\nYNgtM6WZrkVvYANqlIb3EA5VL+XD5gib/O7/GfX7PwjSUPjpandaAcOcaXVX0nKh\nOUZqDtAbeFNyeqMjiQPNVjyL58NcZwUok37b7002mrIT732/PruU8y100Je3wm8o\nUQZp9CXknZ5AgdE2tNLW3Z6E71XE4DIG4qv/C91wP2YtP08Wriz41Gyummq7vgu+\n-----END SECRET-KEYX-----"],"required_present":[]}},"tags":["broad-quality","secret-family:private-key","variation:02"],"secret_fixture":{"family":"private-key","role":"must-detect"}}, - {"id":"broad-secret-private-key-preserve-02","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad private-key variation.","text":"level=warn sample=2 message=\"Public operational identifier: \" value=-----BEGIN PUBLIC KEY-----\ncYeRU12D//diRN55xzTdN7XTsZVs9DuxjkRWYBde08f3Ktnxgz1/iynsEDgOyEpZ\n5jkDEPR8odUCk0xawX3W0srlh4ialRlt8aCHvLPs1FYePxbGjDAk1V8huzFTvnpV\n-----END PUBLIC KEY-----","known_identities":[],"targets":[{"id":"value","kind":"secret","start":68,"end":249,"value":"-----BEGIN PUBLIC KEY-----\ncYeRU12D//diRN55xzTdN7XTsZVs9DuxjkRWYBde08f3Ktnxgz1/iynsEDgOyEpZ\n5jkDEPR8odUCk0xawX3W0srlh4ialRlt8aCHvLPs1FYePxbGjDAk1V8huzFTvnpV\n-----END PUBLIC KEY-----","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-private-key-preserve-02","recipe":"private-key","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["-----BEGIN PUBLIC KEY-----\ncYeRU12D//diRN55xzTdN7XTsZVs9DuxjkRWYBde08f3Ktnxgz1/iynsEDgOyEpZ\n5jkDEPR8odUCk0xawX3W0srlh4ialRlt8aCHvLPs1FYePxbGjDAk1V8huzFTvnpV\n-----END PUBLIC KEY-----"]},"customers":{"required_absent":[],"required_present":["-----BEGIN PUBLIC KEY-----\ncYeRU12D//diRN55xzTdN7XTsZVs9DuxjkRWYBde08f3Ktnxgz1/iynsEDgOyEpZ\n5jkDEPR8odUCk0xawX3W0srlh4ialRlt8aCHvLPs1FYePxbGjDAk1V8huzFTvnpV\n-----END PUBLIC KEY-----"]},"all":{"required_absent":[],"required_present":["-----BEGIN PUBLIC KEY-----\ncYeRU12D//diRN55xzTdN7XTsZVs9DuxjkRWYBde08f3Ktnxgz1/iynsEDgOyEpZ\n5jkDEPR8odUCk0xawX3W0srlh4ialRlt8aCHvLPs1FYePxbGjDAk1V8huzFTvnpV\n-----END PUBLIC KEY-----"]}},"tags":["broad-quality","secret-family:private-key","variation:02"],"secret_fixture":{"family":"private-key","role":"preserve"}}, - {"id":"broad-secret-private-key-must-detect-03","language":"en","script":"Latin","shape":"stack-trace","risk":"critical","reason":"Locked broad private-key variation.","text":"Trace[3]: Rotating this exposed value: -----BEGIN SECRET-KEYX-----\neMU8vWXXGzFlnFEzXcF+tTj8Fk0lvw3cllxLAI9weh/yIvejLp/kx11uK1TigFQ6\nl85hV1e8FFDT1c4hjHaY8HfI6TiCGUiRDqelL7Pfao+p/v+C34ch2a+g/kDZmrJJ\nfgHiL/F3oirW2UzBLV8FF/qE2Hnxb2eSaB4Kxo6XGSfIhu6KWmfU8UPmliR+E+ax\nv3KGHl2Wbk8BID/OgnUW7Ji3dNnAsqMX9/F2/DL5XUmOJ89jmlM0mVLKpBzZgv22\n-----END SECRET-KEYX-----","known_identities":[],"targets":[{"id":"value","kind":"secret","start":39,"end":352,"value":"-----BEGIN SECRET-KEYX-----\neMU8vWXXGzFlnFEzXcF+tTj8Fk0lvw3cllxLAI9weh/yIvejLp/kx11uK1TigFQ6\nl85hV1e8FFDT1c4hjHaY8HfI6TiCGUiRDqelL7Pfao+p/v+C34ch2a+g/kDZmrJJ\nfgHiL/F3oirW2UzBLV8FF/qE2Hnxb2eSaB4Kxo6XGSfIhu6KWmfU8UPmliR+E+ax\nv3KGHl2Wbk8BID/OgnUW7Ji3dNnAsqMX9/F2/DL5XUmOJ89jmlM0mVLKpBzZgv22\n-----END SECRET-KEYX-----","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-private-key-must-detect-03","recipe":"private-key","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["-----BEGIN SECRET-KEYX-----\neMU8vWXXGzFlnFEzXcF+tTj8Fk0lvw3cllxLAI9weh/yIvejLp/kx11uK1TigFQ6\nl85hV1e8FFDT1c4hjHaY8HfI6TiCGUiRDqelL7Pfao+p/v+C34ch2a+g/kDZmrJJ\nfgHiL/F3oirW2UzBLV8FF/qE2Hnxb2eSaB4Kxo6XGSfIhu6KWmfU8UPmliR+E+ax\nv3KGHl2Wbk8BID/OgnUW7Ji3dNnAsqMX9/F2/DL5XUmOJ89jmlM0mVLKpBzZgv22\n-----END SECRET-KEYX-----"]},"customers":{"required_absent":["-----BEGIN SECRET-KEYX-----\neMU8vWXXGzFlnFEzXcF+tTj8Fk0lvw3cllxLAI9weh/yIvejLp/kx11uK1TigFQ6\nl85hV1e8FFDT1c4hjHaY8HfI6TiCGUiRDqelL7Pfao+p/v+C34ch2a+g/kDZmrJJ\nfgHiL/F3oirW2UzBLV8FF/qE2Hnxb2eSaB4Kxo6XGSfIhu6KWmfU8UPmliR+E+ax\nv3KGHl2Wbk8BID/OgnUW7Ji3dNnAsqMX9/F2/DL5XUmOJ89jmlM0mVLKpBzZgv22\n-----END SECRET-KEYX-----"],"required_present":[]},"all":{"required_absent":["-----BEGIN SECRET-KEYX-----\neMU8vWXXGzFlnFEzXcF+tTj8Fk0lvw3cllxLAI9weh/yIvejLp/kx11uK1TigFQ6\nl85hV1e8FFDT1c4hjHaY8HfI6TiCGUiRDqelL7Pfao+p/v+C34ch2a+g/kDZmrJJ\nfgHiL/F3oirW2UzBLV8FF/qE2Hnxb2eSaB4Kxo6XGSfIhu6KWmfU8UPmliR+E+ax\nv3KGHl2Wbk8BID/OgnUW7Ji3dNnAsqMX9/F2/DL5XUmOJ89jmlM0mVLKpBzZgv22\n-----END SECRET-KEYX-----"],"required_present":[]}},"tags":["broad-quality","secret-family:private-key","variation:03"],"secret_fixture":{"family":"private-key","role":"must-detect"}}, - {"id":"broad-secret-private-key-preserve-03","language":"en","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad private-key variation.","text":"Trace[3]: Schema field label: -----BEGIN PUBLIC KEY-----\nmx+lzV989i92XgkNmMa3d+BFhGUHsHVIGv7rF1rDZ29QCKBJMLpQDdVc16TlHfq3\nnR7sqBdLjP0g0CgkHjk15g4qbli64blYzcu1eZOy4eOOF60JhvHJ/wm/o+Bf0AHJ\n-----END PUBLIC KEY-----","known_identities":[],"targets":[{"id":"value","kind":"secret","start":30,"end":211,"value":"-----BEGIN PUBLIC KEY-----\nmx+lzV989i92XgkNmMa3d+BFhGUHsHVIGv7rF1rDZ29QCKBJMLpQDdVc16TlHfq3\nnR7sqBdLjP0g0CgkHjk15g4qbli64blYzcu1eZOy4eOOF60JhvHJ/wm/o+Bf0AHJ\n-----END PUBLIC KEY-----","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-private-key-preserve-03","recipe":"private-key","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["-----BEGIN PUBLIC KEY-----\nmx+lzV989i92XgkNmMa3d+BFhGUHsHVIGv7rF1rDZ29QCKBJMLpQDdVc16TlHfq3\nnR7sqBdLjP0g0CgkHjk15g4qbli64blYzcu1eZOy4eOOF60JhvHJ/wm/o+Bf0AHJ\n-----END PUBLIC KEY-----"]},"customers":{"required_absent":[],"required_present":["-----BEGIN PUBLIC KEY-----\nmx+lzV989i92XgkNmMa3d+BFhGUHsHVIGv7rF1rDZ29QCKBJMLpQDdVc16TlHfq3\nnR7sqBdLjP0g0CgkHjk15g4qbli64blYzcu1eZOy4eOOF60JhvHJ/wm/o+Bf0AHJ\n-----END PUBLIC KEY-----"]},"all":{"required_absent":[],"required_present":["-----BEGIN PUBLIC KEY-----\nmx+lzV989i92XgkNmMa3d+BFhGUHsHVIGv7rF1rDZ29QCKBJMLpQDdVc16TlHfq3\nnR7sqBdLjP0g0CgkHjk15g4qbli64blYzcu1eZOy4eOOF60JhvHJ/wm/o+Bf0AHJ\n-----END PUBLIC KEY-----"]}},"tags":["broad-quality","secret-family:private-key","variation:03"],"secret_fixture":{"family":"private-key","role":"preserve"}}, - {"id":"broad-secret-private-key-must-detect-04","language":"en","script":"Latin","shape":"code","risk":"critical","reason":"Locked broad private-key variation.","text":"fixture_4 := `Quoted credential follows: -----BEGIN SECRET-KEYX-----\nziaONyn8hHic0llBayXXn/7Mlon8QWaQvOBPH+6pQyeqoJzaWNr6iB6/IHb5DrCh\n/rQYj1wRcyFJnwZ4mfLfemTc8+iRp55033X0rN5WQcbr5FUGJRbouJUf7iLZEw0b\nzVYKtADyuA1VU6j9Mys0SQdkYBx4HcstVsDW+jBLEBCgY+S0CjPTjrtK74bRtfYw\ni7CdzkXR9qQQhaadiNgsr2WQd52DIzumv4kY3GICLzf1MMTbVuq/ZCvBAVJDUt5t\n-----END SECRET-KEYX-----`","known_identities":[],"targets":[{"id":"value","kind":"secret","start":41,"end":354,"value":"-----BEGIN SECRET-KEYX-----\nziaONyn8hHic0llBayXXn/7Mlon8QWaQvOBPH+6pQyeqoJzaWNr6iB6/IHb5DrCh\n/rQYj1wRcyFJnwZ4mfLfemTc8+iRp55033X0rN5WQcbr5FUGJRbouJUf7iLZEw0b\nzVYKtADyuA1VU6j9Mys0SQdkYBx4HcstVsDW+jBLEBCgY+S0CjPTjrtK74bRtfYw\ni7CdzkXR9qQQhaadiNgsr2WQd52DIzumv4kY3GICLzf1MMTbVuq/ZCvBAVJDUt5t\n-----END SECRET-KEYX-----","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-private-key-must-detect-04","recipe":"private-key","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["-----BEGIN SECRET-KEYX-----\nziaONyn8hHic0llBayXXn/7Mlon8QWaQvOBPH+6pQyeqoJzaWNr6iB6/IHb5DrCh\n/rQYj1wRcyFJnwZ4mfLfemTc8+iRp55033X0rN5WQcbr5FUGJRbouJUf7iLZEw0b\nzVYKtADyuA1VU6j9Mys0SQdkYBx4HcstVsDW+jBLEBCgY+S0CjPTjrtK74bRtfYw\ni7CdzkXR9qQQhaadiNgsr2WQd52DIzumv4kY3GICLzf1MMTbVuq/ZCvBAVJDUt5t\n-----END SECRET-KEYX-----"]},"customers":{"required_absent":["-----BEGIN SECRET-KEYX-----\nziaONyn8hHic0llBayXXn/7Mlon8QWaQvOBPH+6pQyeqoJzaWNr6iB6/IHb5DrCh\n/rQYj1wRcyFJnwZ4mfLfemTc8+iRp55033X0rN5WQcbr5FUGJRbouJUf7iLZEw0b\nzVYKtADyuA1VU6j9Mys0SQdkYBx4HcstVsDW+jBLEBCgY+S0CjPTjrtK74bRtfYw\ni7CdzkXR9qQQhaadiNgsr2WQd52DIzumv4kY3GICLzf1MMTbVuq/ZCvBAVJDUt5t\n-----END SECRET-KEYX-----"],"required_present":[]},"all":{"required_absent":["-----BEGIN SECRET-KEYX-----\nziaONyn8hHic0llBayXXn/7Mlon8QWaQvOBPH+6pQyeqoJzaWNr6iB6/IHb5DrCh\n/rQYj1wRcyFJnwZ4mfLfemTc8+iRp55033X0rN5WQcbr5FUGJRbouJUf7iLZEw0b\nzVYKtADyuA1VU6j9Mys0SQdkYBx4HcstVsDW+jBLEBCgY+S0CjPTjrtK74bRtfYw\ni7CdzkXR9qQQhaadiNgsr2WQd52DIzumv4kY3GICLzf1MMTbVuq/ZCvBAVJDUt5t\n-----END SECRET-KEYX-----"],"required_present":[]}},"tags":["broad-quality","secret-family:private-key","variation:04"],"secret_fixture":{"family":"private-key","role":"must-detect"}}, - {"id":"broad-secret-private-key-preserve-04","language":"en","script":"Latin","shape":"code","risk":"preservation","reason":"Locked broad private-key variation.","text":"fixture_4 := `Non-confidential protocol token: -----BEGIN PUBLIC KEY-----\nvNSNcEUQnySaDsLt07jhyFfPefgvKDWdore4LDJO2zYoQFZ7IGiVlxUIYLlvSyJb\n6EmI2mDrwHV+obedTh4rmexKi1ajHgx7+fYQSepEzOJYG8U4lFVoiAjqsFIK4XFF\n-----END PUBLIC KEY-----`","known_identities":[],"targets":[{"id":"value","kind":"secret","start":47,"end":228,"value":"-----BEGIN PUBLIC KEY-----\nvNSNcEUQnySaDsLt07jhyFfPefgvKDWdore4LDJO2zYoQFZ7IGiVlxUIYLlvSyJb\n6EmI2mDrwHV+obedTh4rmexKi1ajHgx7+fYQSepEzOJYG8U4lFVoiAjqsFIK4XFF\n-----END PUBLIC KEY-----","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-private-key-preserve-04","recipe":"private-key","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["-----BEGIN PUBLIC KEY-----\nvNSNcEUQnySaDsLt07jhyFfPefgvKDWdore4LDJO2zYoQFZ7IGiVlxUIYLlvSyJb\n6EmI2mDrwHV+obedTh4rmexKi1ajHgx7+fYQSepEzOJYG8U4lFVoiAjqsFIK4XFF\n-----END PUBLIC KEY-----"]},"customers":{"required_absent":[],"required_present":["-----BEGIN PUBLIC KEY-----\nvNSNcEUQnySaDsLt07jhyFfPefgvKDWdore4LDJO2zYoQFZ7IGiVlxUIYLlvSyJb\n6EmI2mDrwHV+obedTh4rmexKi1ajHgx7+fYQSepEzOJYG8U4lFVoiAjqsFIK4XFF\n-----END PUBLIC KEY-----"]},"all":{"required_absent":[],"required_present":["-----BEGIN PUBLIC KEY-----\nvNSNcEUQnySaDsLt07jhyFfPefgvKDWdore4LDJO2zYoQFZ7IGiVlxUIYLlvSyJb\n6EmI2mDrwHV+obedTh4rmexKi1ajHgx7+fYQSepEzOJYG8U4lFVoiAjqsFIK4XFF\n-----END PUBLIC KEY-----"]}},"tags":["broad-quality","secret-family:private-key","variation:04"],"secret_fixture":{"family":"private-key","role":"preserve"}}, - {"id":"broad-secret-private-key-must-detect-05","language":"en","script":"Latin","shape":"signature","risk":"critical","reason":"Locked broad private-key variation.","text":"--\nConfiguration secret: -----BEGIN SECRET-KEYX-----\nbxmSBvucopZRXHIrU8ii5xPaK7iayzZgS9ZEKqHmh0pQFK3c/pZoeGonHJ/qPq0d\nSwCL5o0mcOyuvFR9UljQ791vNf4V73PNM0LKNC0aEhod8HDhoezGnGJwuLaxlLWW\nQ/O1mxetJdlpl8jT0TVM7JD26Vbr4EuQJSJvrsqPtetLG3eE5YG8naa8Rwx2KC2b\n5a27z5ccq4rmOReiM9OYJoUspKmKXS12PmFNED45UYNwVdzu4F1wXminXZ9wtOpm\n-----END SECRET-KEYX-----","known_identities":[],"targets":[{"id":"value","kind":"secret","start":25,"end":338,"value":"-----BEGIN SECRET-KEYX-----\nbxmSBvucopZRXHIrU8ii5xPaK7iayzZgS9ZEKqHmh0pQFK3c/pZoeGonHJ/qPq0d\nSwCL5o0mcOyuvFR9UljQ791vNf4V73PNM0LKNC0aEhod8HDhoezGnGJwuLaxlLWW\nQ/O1mxetJdlpl8jT0TVM7JD26Vbr4EuQJSJvrsqPtetLG3eE5YG8naa8Rwx2KC2b\n5a27z5ccq4rmOReiM9OYJoUspKmKXS12PmFNED45UYNwVdzu4F1wXminXZ9wtOpm\n-----END SECRET-KEYX-----","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-private-key-must-detect-05","recipe":"private-key","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["-----BEGIN SECRET-KEYX-----\nbxmSBvucopZRXHIrU8ii5xPaK7iayzZgS9ZEKqHmh0pQFK3c/pZoeGonHJ/qPq0d\nSwCL5o0mcOyuvFR9UljQ791vNf4V73PNM0LKNC0aEhod8HDhoezGnGJwuLaxlLWW\nQ/O1mxetJdlpl8jT0TVM7JD26Vbr4EuQJSJvrsqPtetLG3eE5YG8naa8Rwx2KC2b\n5a27z5ccq4rmOReiM9OYJoUspKmKXS12PmFNED45UYNwVdzu4F1wXminXZ9wtOpm\n-----END SECRET-KEYX-----"]},"customers":{"required_absent":["-----BEGIN SECRET-KEYX-----\nbxmSBvucopZRXHIrU8ii5xPaK7iayzZgS9ZEKqHmh0pQFK3c/pZoeGonHJ/qPq0d\nSwCL5o0mcOyuvFR9UljQ791vNf4V73PNM0LKNC0aEhod8HDhoezGnGJwuLaxlLWW\nQ/O1mxetJdlpl8jT0TVM7JD26Vbr4EuQJSJvrsqPtetLG3eE5YG8naa8Rwx2KC2b\n5a27z5ccq4rmOReiM9OYJoUspKmKXS12PmFNED45UYNwVdzu4F1wXminXZ9wtOpm\n-----END SECRET-KEYX-----"],"required_present":[]},"all":{"required_absent":["-----BEGIN SECRET-KEYX-----\nbxmSBvucopZRXHIrU8ii5xPaK7iayzZgS9ZEKqHmh0pQFK3c/pZoeGonHJ/qPq0d\nSwCL5o0mcOyuvFR9UljQ791vNf4V73PNM0LKNC0aEhod8HDhoezGnGJwuLaxlLWW\nQ/O1mxetJdlpl8jT0TVM7JD26Vbr4EuQJSJvrsqPtetLG3eE5YG8naa8Rwx2KC2b\n5a27z5ccq4rmOReiM9OYJoUspKmKXS12PmFNED45UYNwVdzu4F1wXminXZ9wtOpm\n-----END SECRET-KEYX-----"],"required_present":[]}},"tags":["broad-quality","secret-family:private-key","variation:05"],"secret_fixture":{"family":"private-key","role":"must-detect"}}, - {"id":"broad-secret-private-key-preserve-05","language":"en","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad private-key variation.","text":"--\nRelease metadata: -----BEGIN PUBLIC KEY-----\np37VjggO0YI1od+7lVjHZMbz09wKVW1Fp/ds3aZdjAcX3o0FVM4MU+kMAvtrtMGp\n34gtFfPoP+zHCeQqj8ExSAEmJKrt61iEEYMHWSXsBZk/vhaqPofZjFC4MXrUbsqN\n-----END PUBLIC KEY-----","known_identities":[],"targets":[{"id":"value","kind":"secret","start":21,"end":202,"value":"-----BEGIN PUBLIC KEY-----\np37VjggO0YI1od+7lVjHZMbz09wKVW1Fp/ds3aZdjAcX3o0FVM4MU+kMAvtrtMGp\n34gtFfPoP+zHCeQqj8ExSAEmJKrt61iEEYMHWSXsBZk/vhaqPofZjFC4MXrUbsqN\n-----END PUBLIC KEY-----","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-private-key-preserve-05","recipe":"private-key","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["-----BEGIN PUBLIC KEY-----\np37VjggO0YI1od+7lVjHZMbz09wKVW1Fp/ds3aZdjAcX3o0FVM4MU+kMAvtrtMGp\n34gtFfPoP+zHCeQqj8ExSAEmJKrt61iEEYMHWSXsBZk/vhaqPofZjFC4MXrUbsqN\n-----END PUBLIC KEY-----"]},"customers":{"required_absent":[],"required_present":["-----BEGIN PUBLIC KEY-----\np37VjggO0YI1od+7lVjHZMbz09wKVW1Fp/ds3aZdjAcX3o0FVM4MU+kMAvtrtMGp\n34gtFfPoP+zHCeQqj8ExSAEmJKrt61iEEYMHWSXsBZk/vhaqPofZjFC4MXrUbsqN\n-----END PUBLIC KEY-----"]},"all":{"required_absent":[],"required_present":["-----BEGIN PUBLIC KEY-----\np37VjggO0YI1od+7lVjHZMbz09wKVW1Fp/ds3aZdjAcX3o0FVM4MU+kMAvtrtMGp\n34gtFfPoP+zHCeQqj8ExSAEmJKrt61iEEYMHWSXsBZk/vhaqPofZjFC4MXrUbsqN\n-----END PUBLIC KEY-----"]}},"tags":["broad-quality","secret-family:private-key","variation:05"],"secret_fixture":{"family":"private-key","role":"preserve"}}, - {"id":"broad-secret-private-key-must-detect-06","language":"en","script":"Latin","shape":"long-thread","risk":"critical","reason":"Locked broad private-key variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Stack trace captured credential -----BEGIN SECRET-KEYX-----\nh18uKszWBGBEVb/btGo+mw/Fb1vkqWt7Ts0CTdi9hfT2ArfY5E7cXmaCQq/3Meve\nZg3d3VodyCyMPQPw88b2Fcq+NFlPd340wZbpwUbXbq8pP85NYOuhYzxg1Zrd4wE5\nuppIw5N4RlyqehfhCJIpwZB6TSqmTYKRhRUZLTDTTEtqibxUZJJ9e2mUY1u0psXx\nsyYHynkHnRf6hz2bJbzpCdmUve03qlETevPDbrBxWb9qKcfs8IXSPKpWoF/mDw6b\n-----END SECRET-KEYX-----","known_identities":[],"targets":[{"id":"value","kind":"secret","start":512,"end":825,"value":"-----BEGIN SECRET-KEYX-----\nh18uKszWBGBEVb/btGo+mw/Fb1vkqWt7Ts0CTdi9hfT2ArfY5E7cXmaCQq/3Meve\nZg3d3VodyCyMPQPw88b2Fcq+NFlPd340wZbpwUbXbq8pP85NYOuhYzxg1Zrd4wE5\nuppIw5N4RlyqehfhCJIpwZB6TSqmTYKRhRUZLTDTTEtqibxUZJJ9e2mUY1u0psXx\nsyYHynkHnRf6hz2bJbzpCdmUve03qlETevPDbrBxWb9qKcfs8IXSPKpWoF/mDw6b\n-----END SECRET-KEYX-----","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-private-key-must-detect-06","recipe":"private-key","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["-----BEGIN SECRET-KEYX-----\nh18uKszWBGBEVb/btGo+mw/Fb1vkqWt7Ts0CTdi9hfT2ArfY5E7cXmaCQq/3Meve\nZg3d3VodyCyMPQPw88b2Fcq+NFlPd340wZbpwUbXbq8pP85NYOuhYzxg1Zrd4wE5\nuppIw5N4RlyqehfhCJIpwZB6TSqmTYKRhRUZLTDTTEtqibxUZJJ9e2mUY1u0psXx\nsyYHynkHnRf6hz2bJbzpCdmUve03qlETevPDbrBxWb9qKcfs8IXSPKpWoF/mDw6b\n-----END SECRET-KEYX-----"]},"customers":{"required_absent":["-----BEGIN SECRET-KEYX-----\nh18uKszWBGBEVb/btGo+mw/Fb1vkqWt7Ts0CTdi9hfT2ArfY5E7cXmaCQq/3Meve\nZg3d3VodyCyMPQPw88b2Fcq+NFlPd340wZbpwUbXbq8pP85NYOuhYzxg1Zrd4wE5\nuppIw5N4RlyqehfhCJIpwZB6TSqmTYKRhRUZLTDTTEtqibxUZJJ9e2mUY1u0psXx\nsyYHynkHnRf6hz2bJbzpCdmUve03qlETevPDbrBxWb9qKcfs8IXSPKpWoF/mDw6b\n-----END SECRET-KEYX-----"],"required_present":[]},"all":{"required_absent":["-----BEGIN SECRET-KEYX-----\nh18uKszWBGBEVb/btGo+mw/Fb1vkqWt7Ts0CTdi9hfT2ArfY5E7cXmaCQq/3Meve\nZg3d3VodyCyMPQPw88b2Fcq+NFlPd340wZbpwUbXbq8pP85NYOuhYzxg1Zrd4wE5\nuppIw5N4RlyqehfhCJIpwZB6TSqmTYKRhRUZLTDTTEtqibxUZJJ9e2mUY1u0psXx\nsyYHynkHnRf6hz2bJbzpCdmUve03qlETevPDbrBxWb9qKcfs8IXSPKpWoF/mDw6b\n-----END SECRET-KEYX-----"],"required_present":[]}},"tags":["broad-quality","secret-family:private-key","variation:06"],"secret_fixture":{"family":"private-key","role":"must-detect"}}, - {"id":"broad-secret-private-key-preserve-06","language":"en","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad private-key variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Public verification material: -----BEGIN PUBLIC KEY-----\nRNSib8zZ6ciVeSSift2EK1mET03bShHxq3WZSiXq8Po9i9WOtMZI7T7SqwX+QlLe\nmGhU62DrwtjHdZdAruiaputQBtBikIEb/f0ADrGt8M84NCn1r50XJ+QbEZibSMps\n-----END PUBLIC KEY-----","known_identities":[],"targets":[{"id":"value","kind":"secret","start":510,"end":691,"value":"-----BEGIN PUBLIC KEY-----\nRNSib8zZ6ciVeSSift2EK1mET03bShHxq3WZSiXq8Po9i9WOtMZI7T7SqwX+QlLe\nmGhU62DrwtjHdZdAruiaputQBtBikIEb/f0ADrGt8M84NCn1r50XJ+QbEZibSMps\n-----END PUBLIC KEY-----","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-private-key-preserve-06","recipe":"private-key","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["-----BEGIN PUBLIC KEY-----\nRNSib8zZ6ciVeSSift2EK1mET03bShHxq3WZSiXq8Po9i9WOtMZI7T7SqwX+QlLe\nmGhU62DrwtjHdZdAruiaputQBtBikIEb/f0ADrGt8M84NCn1r50XJ+QbEZibSMps\n-----END PUBLIC KEY-----"]},"customers":{"required_absent":[],"required_present":["-----BEGIN PUBLIC KEY-----\nRNSib8zZ6ciVeSSift2EK1mET03bShHxq3WZSiXq8Po9i9WOtMZI7T7SqwX+QlLe\nmGhU62DrwtjHdZdAruiaputQBtBikIEb/f0ADrGt8M84NCn1r50XJ+QbEZibSMps\n-----END PUBLIC KEY-----"]},"all":{"required_absent":[],"required_present":["-----BEGIN PUBLIC KEY-----\nRNSib8zZ6ciVeSSift2EK1mET03bShHxq3WZSiXq8Po9i9WOtMZI7T7SqwX+QlLe\nmGhU62DrwtjHdZdAruiaputQBtBikIEb/f0ADrGt8M84NCn1r50XJ+QbEZibSMps\n-----END PUBLIC KEY-----"]}},"tags":["broad-quality","secret-family:private-key","variation:06"],"secret_fixture":{"family":"private-key","role":"preserve"}}, - {"id":"broad-secret-private-key-must-detect-07","language":"en","script":"Latin","shape":"command-payload","risk":"critical","reason":"Locked broad private-key variation.","text":"--sample=7 --message=\"Wrapped message credential: \" --value=-----BEGIN SECRET-KEYX-----\nTOGI9ty07Eeheqx+QoAe1MQhwEOnZabClLVUyidAtwl5LsVMEkpTGJHUJUMFB45o\n8DMlzthsroPUgGw5AodfwFqbyh1ExSKPHulnWzFbgVAxai27WOF2LqY0fzq9T9Tz\n/ruQrLyOEoB6wG2B3nWBh4XeLQ6NA1GIgRStD0VOc4CJd3yJw8OhwTPrA5eyXQVw\n/ljJ/XKampUGr/AG5p0Px3Sh3wHVhpfPvuSak2yvpSiuMZP57co3IS9iFKLTCOYa\n-----END SECRET-KEYX-----","known_identities":[],"targets":[{"id":"value","kind":"secret","start":60,"end":373,"value":"-----BEGIN SECRET-KEYX-----\nTOGI9ty07Eeheqx+QoAe1MQhwEOnZabClLVUyidAtwl5LsVMEkpTGJHUJUMFB45o\n8DMlzthsroPUgGw5AodfwFqbyh1ExSKPHulnWzFbgVAxai27WOF2LqY0fzq9T9Tz\n/ruQrLyOEoB6wG2B3nWBh4XeLQ6NA1GIgRStD0VOc4CJd3yJw8OhwTPrA5eyXQVw\n/ljJ/XKampUGr/AG5p0Px3Sh3wHVhpfPvuSak2yvpSiuMZP57co3IS9iFKLTCOYa\n-----END SECRET-KEYX-----","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-private-key-must-detect-07","recipe":"private-key","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["-----BEGIN SECRET-KEYX-----\nTOGI9ty07Eeheqx+QoAe1MQhwEOnZabClLVUyidAtwl5LsVMEkpTGJHUJUMFB45o\n8DMlzthsroPUgGw5AodfwFqbyh1ExSKPHulnWzFbgVAxai27WOF2LqY0fzq9T9Tz\n/ruQrLyOEoB6wG2B3nWBh4XeLQ6NA1GIgRStD0VOc4CJd3yJw8OhwTPrA5eyXQVw\n/ljJ/XKampUGr/AG5p0Px3Sh3wHVhpfPvuSak2yvpSiuMZP57co3IS9iFKLTCOYa\n-----END SECRET-KEYX-----"]},"customers":{"required_absent":["-----BEGIN SECRET-KEYX-----\nTOGI9ty07Eeheqx+QoAe1MQhwEOnZabClLVUyidAtwl5LsVMEkpTGJHUJUMFB45o\n8DMlzthsroPUgGw5AodfwFqbyh1ExSKPHulnWzFbgVAxai27WOF2LqY0fzq9T9Tz\n/ruQrLyOEoB6wG2B3nWBh4XeLQ6NA1GIgRStD0VOc4CJd3yJw8OhwTPrA5eyXQVw\n/ljJ/XKampUGr/AG5p0Px3Sh3wHVhpfPvuSak2yvpSiuMZP57co3IS9iFKLTCOYa\n-----END SECRET-KEYX-----"],"required_present":[]},"all":{"required_absent":["-----BEGIN SECRET-KEYX-----\nTOGI9ty07Eeheqx+QoAe1MQhwEOnZabClLVUyidAtwl5LsVMEkpTGJHUJUMFB45o\n8DMlzthsroPUgGw5AodfwFqbyh1ExSKPHulnWzFbgVAxai27WOF2LqY0fzq9T9Tz\n/ruQrLyOEoB6wG2B3nWBh4XeLQ6NA1GIgRStD0VOc4CJd3yJw8OhwTPrA5eyXQVw\n/ljJ/XKampUGr/AG5p0Px3Sh3wHVhpfPvuSak2yvpSiuMZP57co3IS9iFKLTCOYa\n-----END SECRET-KEYX-----"],"required_present":[]}},"tags":["broad-quality","secret-family:private-key","variation:07"],"secret_fixture":{"family":"private-key","role":"must-detect"}}, - {"id":"broad-secret-private-key-preserve-07","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad private-key variation.","text":"--sample=7 --message=\"Troubleshooting reference: \" --value=-----BEGIN PUBLIC KEY-----\nT/yxdW3oHjtT2FhWMVoqExFfJLFuRIDOc1ZRxbJMM3MvQRPwaRIt5vyP62i1BO8q\nYA+naURx/+cjldS4Omx6sz7dTY9njEvyc2Xnsr68o32H0RGnCDBe2TpEdXM5CePl\n-----END PUBLIC KEY-----","known_identities":[],"targets":[{"id":"value","kind":"secret","start":59,"end":240,"value":"-----BEGIN PUBLIC KEY-----\nT/yxdW3oHjtT2FhWMVoqExFfJLFuRIDOc1ZRxbJMM3MvQRPwaRIt5vyP62i1BO8q\nYA+naURx/+cjldS4Omx6sz7dTY9njEvyc2Xnsr68o32H0RGnCDBe2TpEdXM5CePl\n-----END PUBLIC KEY-----","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-private-key-preserve-07","recipe":"private-key","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["-----BEGIN PUBLIC KEY-----\nT/yxdW3oHjtT2FhWMVoqExFfJLFuRIDOc1ZRxbJMM3MvQRPwaRIt5vyP62i1BO8q\nYA+naURx/+cjldS4Omx6sz7dTY9njEvyc2Xnsr68o32H0RGnCDBe2TpEdXM5CePl\n-----END PUBLIC KEY-----"]},"customers":{"required_absent":[],"required_present":["-----BEGIN PUBLIC KEY-----\nT/yxdW3oHjtT2FhWMVoqExFfJLFuRIDOc1ZRxbJMM3MvQRPwaRIt5vyP62i1BO8q\nYA+naURx/+cjldS4Omx6sz7dTY9njEvyc2Xnsr68o32H0RGnCDBe2TpEdXM5CePl\n-----END PUBLIC KEY-----"]},"all":{"required_absent":[],"required_present":["-----BEGIN PUBLIC KEY-----\nT/yxdW3oHjtT2FhWMVoqExFfJLFuRIDOc1ZRxbJMM3MvQRPwaRIt5vyP62i1BO8q\nYA+naURx/+cjldS4Omx6sz7dTY9njEvyc2Xnsr68o32H0RGnCDBe2TpEdXM5CePl\n-----END PUBLIC KEY-----"]}},"tags":["broad-quality","secret-family:private-key","variation:07"],"secret_fixture":{"family":"private-key","role":"preserve"}}, + {"id":"broad-secret-api-key-must-detect-08","language":"en","script":"Latin","shape":"log","risk":"critical","reason":"Locked broad api-key variation.","text":"level=warn sample=8 message=\"Credential copied from a support reply: \" value=ak_6EIW65D4GLWIR1\nQL7LKCEXILJLM1L1VJ","known_identities":[],"targets":[{"id":"value","kind":"secret","start":77,"end":113,"value":"ak_6EIW65D4GLWIR1\nQL7LKCEXILJLM1L1VJ","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-api-key-must-detect-08","recipe":"api-key","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["ak_6EIW65D4GLWIR1\nQL7LKCEXILJLM1L1VJ"]},"customers":{"required_absent":["ak_6EIW65D4GLWIR1\nQL7LKCEXILJLM1L1VJ"],"required_present":[]},"all":{"required_absent":["ak_6EIW65D4GLWIR1\nQL7LKCEXILJLM1L1VJ"],"required_present":[]}},"tags":["broad-quality","secret-family:api-key","variation:08"],"secret_fixture":{"family":"api-key","role":"must-detect"}}, + {"id":"broad-secret-api-key-preserve-08","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad api-key variation.","text":"level=warn sample=8 message=\"Public configuration vocabulary: \" value=api_key_name","known_identities":[],"targets":[{"id":"value","kind":"secret","start":70,"end":82,"value":"api_key_name","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-api-key-preserve-08","recipe":"api-key","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["api_key_name"]},"customers":{"required_absent":[],"required_present":["api_key_name"]},"all":{"required_absent":[],"required_present":["api_key_name"]}},"tags":["broad-quality","secret-family:api-key","variation:08"],"secret_fixture":{"family":"api-key","role":"preserve"}}, + {"id":"broad-secret-api-key-must-detect-09","language":"en","script":"Latin","shape":"stack-trace","risk":"critical","reason":"Locked broad api-key variation.","text":"Trace[9]: Authorization header value: ak_CQ4DX8CTWXV7ZD BPAVZQF95FCHAM3AC9","known_identities":[],"targets":[{"id":"value","kind":"secret","start":38,"end":74,"value":"ak_CQ4DX8CTWXV7ZD BPAVZQF95FCHAM3AC9","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-api-key-must-detect-09","recipe":"api-key","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["ak_CQ4DX8CTWXV7ZD BPAVZQF95FCHAM3AC9"]},"customers":{"required_absent":["ak_CQ4DX8CTWXV7ZD BPAVZQF95FCHAM3AC9"],"required_present":[]},"all":{"required_absent":["ak_CQ4DX8CTWXV7ZD BPAVZQF95FCHAM3AC9"],"required_present":[]}},"tags":["broad-quality","secret-family:api-key","variation:09"],"secret_fixture":{"family":"api-key","role":"must-detect"}}, + {"id":"broad-secret-api-key-preserve-09","language":"en","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad api-key variation.","text":"Trace[9]: Documentation syntax: api_key_name","known_identities":[],"targets":[{"id":"value","kind":"secret","start":32,"end":44,"value":"api_key_name","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-api-key-preserve-09","recipe":"api-key","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["api_key_name"]},"customers":{"required_absent":[],"required_present":["api_key_name"]},"all":{"required_absent":[],"required_present":["api_key_name"]}},"tags":["broad-quality","secret-family:api-key","variation:09"],"secret_fixture":{"family":"api-key","role":"preserve"}}, + {"id":"broad-secret-api-key-must-detect-10","language":"en","script":"Latin","shape":"code","risk":"critical","reason":"Locked broad api-key variation.","text":"fixture_10 := `Log field auth_value=ak_0NLSKIYDEE9L7X·XNDBV8LZF6187DBF81`","known_identities":[],"targets":[{"id":"value","kind":"secret","start":36,"end":73,"value":"ak_0NLSKIYDEE9L7X·XNDBV8LZF6187DBF81","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-api-key-must-detect-10","recipe":"api-key","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["ak_0NLSKIYDEE9L7X·XNDBV8LZF6187DBF81"]},"customers":{"required_absent":["ak_0NLSKIYDEE9L7X·XNDBV8LZF6187DBF81"],"required_present":[]},"all":{"required_absent":["ak_0NLSKIYDEE9L7X·XNDBV8LZF6187DBF81"],"required_present":[]}},"tags":["broad-quality","secret-family:api-key","variation:10"],"secret_fixture":{"family":"api-key","role":"must-detect"}}, + {"id":"broad-secret-api-key-preserve-10","language":"en","script":"Latin","shape":"code","risk":"preservation","reason":"Locked broad api-key variation.","text":"fixture_10 := `Public operational identifier: api_key_name`","known_identities":[],"targets":[{"id":"value","kind":"secret","start":46,"end":58,"value":"api_key_name","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-api-key-preserve-10","recipe":"api-key","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["api_key_name"]},"customers":{"required_absent":[],"required_present":["api_key_name"]},"all":{"required_absent":[],"required_present":["api_key_name"]}},"tags":["broad-quality","secret-family:api-key","variation:10"],"secret_fixture":{"family":"api-key","role":"preserve"}}, + {"id":"broad-secret-api-key-must-detect-11","language":"en","script":"Latin","shape":"signature","risk":"critical","reason":"Locked broad api-key variation.","text":"--\nRotating this exposed value: ak_8PV6BBI6K4K6P5\u003cwbr\u003eMYPA6Y99OBC855ZGXV","known_identities":[],"targets":[{"id":"value","kind":"secret","start":32,"end":72,"value":"ak_8PV6BBI6K4K6P5\u003cwbr\u003eMYPA6Y99OBC855ZGXV","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-api-key-must-detect-11","recipe":"api-key","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["ak_8PV6BBI6K4K6P5\u003cwbr\u003eMYPA6Y99OBC855ZGXV"]},"customers":{"required_absent":["ak_8PV6BBI6K4K6P5\u003cwbr\u003eMYPA6Y99OBC855ZGXV"],"required_present":[]},"all":{"required_absent":["ak_8PV6BBI6K4K6P5\u003cwbr\u003eMYPA6Y99OBC855ZGXV"],"required_present":[]}},"tags":["broad-quality","secret-family:api-key","variation:11"],"secret_fixture":{"family":"api-key","role":"must-detect"}}, + {"id":"broad-secret-api-key-preserve-11","language":"en","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad api-key variation.","text":"--\nSchema field label: api_key_name","known_identities":[],"targets":[{"id":"value","kind":"secret","start":23,"end":35,"value":"api_key_name","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-api-key-preserve-11","recipe":"api-key","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["api_key_name"]},"customers":{"required_absent":[],"required_present":["api_key_name"]},"all":{"required_absent":[],"required_present":["api_key_name"]}},"tags":["broad-quality","secret-family:api-key","variation:11"],"secret_fixture":{"family":"api-key","role":"preserve"}}, + {"id":"broad-secret-api-key-must-detect-12","language":"en","script":"Latin","shape":"long-thread","risk":"critical","reason":"Locked broad api-key variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Quoted credential follows: ak_521SHD41EHNW99**4AB3MVY7M0TIBAFL04","known_identities":[],"targets":[{"id":"value","kind":"secret","start":507,"end":544,"value":"ak_521SHD41EHNW99**4AB3MVY7M0TIBAFL04","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-api-key-must-detect-12","recipe":"api-key","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["ak_521SHD41EHNW99**4AB3MVY7M0TIBAFL04"]},"customers":{"required_absent":["ak_521SHD41EHNW99**4AB3MVY7M0TIBAFL04"],"required_present":[]},"all":{"required_absent":["ak_521SHD41EHNW99**4AB3MVY7M0TIBAFL04"],"required_present":[]}},"tags":["broad-quality","secret-family:api-key","variation:12"],"secret_fixture":{"family":"api-key","role":"must-detect"}}, + {"id":"broad-secret-api-key-preserve-12","language":"en","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad api-key variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Non-confidential protocol token: api_key_name","known_identities":[],"targets":[{"id":"value","kind":"secret","start":513,"end":525,"value":"api_key_name","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-api-key-preserve-12","recipe":"api-key","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["api_key_name"]},"customers":{"required_absent":[],"required_present":["api_key_name"]},"all":{"required_absent":[],"required_present":["api_key_name"]}},"tags":["broad-quality","secret-family:api-key","variation:12"],"secret_fixture":{"family":"api-key","role":"preserve"}}, + {"id":"broad-secret-api-key-must-detect-13","language":"en","script":"Latin","shape":"command-payload","risk":"critical","reason":"Locked broad api-key variation.","text":"--sample=13 --message=\"Configuration secret: \" --value=ak_NUXXIEMGJGAO9W6FFGR5IFGHMFN6ZBXT / ak_NUXXIEMGJGAO9W6FFGR5IFGHMFN6ZBXT","known_identities":[],"targets":[{"id":"value","kind":"secret","start":55,"end":128,"value":"ak_NUXXIEMGJGAO9W6FFGR5IFGHMFN6ZBXT / ak_NUXXIEMGJGAO9W6FFGR5IFGHMFN6ZBXT","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-api-key-must-detect-13","recipe":"api-key","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["ak_NUXXIEMGJGAO9W6FFGR5IFGHMFN6ZBXT / ak_NUXXIEMGJGAO9W6FFGR5IFGHMFN6ZBXT"]},"customers":{"required_absent":["ak_NUXXIEMGJGAO9W6FFGR5IFGHMFN6ZBXT / ak_NUXXIEMGJGAO9W6FFGR5IFGHMFN6ZBXT"],"required_present":[]},"all":{"required_absent":["ak_NUXXIEMGJGAO9W6FFGR5IFGHMFN6ZBXT / ak_NUXXIEMGJGAO9W6FFGR5IFGHMFN6ZBXT"],"required_present":[]}},"tags":["broad-quality","secret-family:api-key","variation:13"],"secret_fixture":{"family":"api-key","role":"must-detect"}}, + {"id":"broad-secret-api-key-preserve-13","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad api-key variation.","text":"--sample=13 --message=\"Release metadata: \" --value=api_key_name","known_identities":[],"targets":[{"id":"value","kind":"secret","start":51,"end":63,"value":"api_key_name","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-api-key-preserve-13","recipe":"api-key","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["api_key_name"]},"customers":{"required_absent":[],"required_present":["api_key_name"]},"all":{"required_absent":[],"required_present":["api_key_name"]}},"tags":["broad-quality","secret-family:api-key","variation:13"],"secret_fixture":{"family":"api-key","role":"preserve"}}, + {"id":"broad-secret-access-token-must-detect-00","language":"en","script":"Latin","shape":"prose","risk":"critical","reason":"Locked broad access-token variation.","text":"Credential copied from a support reply: access_token_dZUuo6KYNV3gjsFjMMhhAplRLdOIWh0toJUXc6Il","known_identities":[],"targets":[{"id":"value","kind":"secret","start":40,"end":93,"value":"access_token_dZUuo6KYNV3gjsFjMMhhAplRLdOIWh0toJUXc6Il","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-access-token-must-detect-00","recipe":"access-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["access_token_dZUuo6KYNV3gjsFjMMhhAplRLdOIWh0toJUXc6Il"]},"customers":{"required_absent":["access_token_dZUuo6KYNV3gjsFjMMhhAplRLdOIWh0toJUXc6Il"],"required_present":[]},"all":{"required_absent":["access_token_dZUuo6KYNV3gjsFjMMhhAplRLdOIWh0toJUXc6Il"],"required_present":[]}},"tags":["broad-quality","secret-family:access-token","variation:00"],"secret_fixture":{"family":"access-token","role":"must-detect"}}, + {"id":"broad-secret-access-token-preserve-00","language":"en","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad access-token variation.","text":"Public configuration vocabulary: access_token","known_identities":[],"targets":[{"id":"value","kind":"secret","start":33,"end":45,"value":"access_token","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-access-token-preserve-00","recipe":"access-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["access_token"]},"customers":{"required_absent":[],"required_present":["access_token"]},"all":{"required_absent":[],"required_present":["access_token"]}},"tags":["broad-quality","secret-family:access-token","variation:00"],"secret_fixture":{"family":"access-token","role":"preserve"}}, + {"id":"broad-secret-access-token-must-detect-01","language":"en","script":"Latin","shape":"json","risk":"critical","reason":"Locked broad access-token variation.","text":"{\"message_1\":\"Authorization header value: access_token_nCxNCCjWhi1y1V1IXY4T135Dui7SAap8yif0SSNX\"}","known_identities":[],"targets":[{"id":"value","kind":"secret","start":42,"end":95,"value":"access_token_nCxNCCjWhi1y1V1IXY4T135Dui7SAap8yif0SSNX","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-access-token-must-detect-01","recipe":"access-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["access_token_nCxNCCjWhi1y1V1IXY4T135Dui7SAap8yif0SSNX"]},"customers":{"required_absent":["access_token_nCxNCCjWhi1y1V1IXY4T135Dui7SAap8yif0SSNX"],"required_present":[]},"all":{"required_absent":["access_token_nCxNCCjWhi1y1V1IXY4T135Dui7SAap8yif0SSNX"],"required_present":[]}},"tags":["broad-quality","secret-family:access-token","variation:01"],"secret_fixture":{"family":"access-token","role":"must-detect"}}, + {"id":"broad-secret-access-token-preserve-01","language":"en","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad access-token variation.","text":"{\"message_1\":\"Documentation syntax: access_token\"}","known_identities":[],"targets":[{"id":"value","kind":"secret","start":36,"end":48,"value":"access_token","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-access-token-preserve-01","recipe":"access-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["access_token"]},"customers":{"required_absent":[],"required_present":["access_token"]},"all":{"required_absent":[],"required_present":["access_token"]}},"tags":["broad-quality","secret-family:access-token","variation:01"],"secret_fixture":{"family":"access-token","role":"preserve"}}, + {"id":"broad-secret-access-token-must-detect-02","language":"en","script":"Latin","shape":"yaml","risk":"critical","reason":"Locked broad access-token variation.","text":"message_2: Log field auth_value=access_token_tNBRxEuz8BcXGlkElSXhZpjp6VwPZELlcRtMVBbO","known_identities":[],"targets":[{"id":"value","kind":"secret","start":32,"end":85,"value":"access_token_tNBRxEuz8BcXGlkElSXhZpjp6VwPZELlcRtMVBbO","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-access-token-must-detect-02","recipe":"access-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["access_token_tNBRxEuz8BcXGlkElSXhZpjp6VwPZELlcRtMVBbO"]},"customers":{"required_absent":["access_token_tNBRxEuz8BcXGlkElSXhZpjp6VwPZELlcRtMVBbO"],"required_present":[]},"all":{"required_absent":["access_token_tNBRxEuz8BcXGlkElSXhZpjp6VwPZELlcRtMVBbO"],"required_present":[]}},"tags":["broad-quality","secret-family:access-token","variation:02"],"secret_fixture":{"family":"access-token","role":"must-detect"}}, + {"id":"broad-secret-access-token-preserve-02","language":"en","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad access-token variation.","text":"message_2: Public operational identifier: access_token","known_identities":[],"targets":[{"id":"value","kind":"secret","start":42,"end":54,"value":"access_token","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-access-token-preserve-02","recipe":"access-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["access_token"]},"customers":{"required_absent":[],"required_present":["access_token"]},"all":{"required_absent":[],"required_present":["access_token"]}},"tags":["broad-quality","secret-family:access-token","variation:02"],"secret_fixture":{"family":"access-token","role":"preserve"}}, + {"id":"broad-secret-access-token-must-detect-03","language":"en","script":"Latin","shape":"shell","risk":"critical","reason":"Locked broad access-token variation.","text":"MESSAGE_3='Rotating this exposed value: access_token_MLL99gyCVShul4g2dZZOCAnDHiFWLYo5rcoZJ5o2'","known_identities":[],"targets":[{"id":"value","kind":"secret","start":40,"end":93,"value":"access_token_MLL99gyCVShul4g2dZZOCAnDHiFWLYo5rcoZJ5o2","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-access-token-must-detect-03","recipe":"access-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["access_token_MLL99gyCVShul4g2dZZOCAnDHiFWLYo5rcoZJ5o2"]},"customers":{"required_absent":["access_token_MLL99gyCVShul4g2dZZOCAnDHiFWLYo5rcoZJ5o2"],"required_present":[]},"all":{"required_absent":["access_token_MLL99gyCVShul4g2dZZOCAnDHiFWLYo5rcoZJ5o2"],"required_present":[]}},"tags":["broad-quality","secret-family:access-token","variation:03"],"secret_fixture":{"family":"access-token","role":"must-detect"}}, + {"id":"broad-secret-access-token-preserve-03","language":"en","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad access-token variation.","text":"MESSAGE_3='Schema field label: access_token'","known_identities":[],"targets":[{"id":"value","kind":"secret","start":31,"end":43,"value":"access_token","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-access-token-preserve-03","recipe":"access-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["access_token"]},"customers":{"required_absent":[],"required_present":["access_token"]},"all":{"required_absent":[],"required_present":["access_token"]}},"tags":["broad-quality","secret-family:access-token","variation:03"],"secret_fixture":{"family":"access-token","role":"preserve"}}, + {"id":"broad-secret-access-token-must-detect-04","language":"en","script":"Latin","shape":"url","risk":"critical","reason":"Locked broad access-token variation.","text":"endpoint=https://192.0.2.10/4 ; Quoted credential follows: access_token_psLzAQs3UxH1SFFzq9l5iLnfsRqsRvm8OkBYcYVd","known_identities":[],"targets":[{"id":"value","kind":"secret","start":59,"end":112,"value":"access_token_psLzAQs3UxH1SFFzq9l5iLnfsRqsRvm8OkBYcYVd","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-access-token-must-detect-04","recipe":"access-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["access_token_psLzAQs3UxH1SFFzq9l5iLnfsRqsRvm8OkBYcYVd"]},"customers":{"required_absent":["access_token_psLzAQs3UxH1SFFzq9l5iLnfsRqsRvm8OkBYcYVd"],"required_present":[]},"all":{"required_absent":["access_token_psLzAQs3UxH1SFFzq9l5iLnfsRqsRvm8OkBYcYVd"],"required_present":[]}},"tags":["broad-quality","secret-family:access-token","variation:04"],"secret_fixture":{"family":"access-token","role":"must-detect"}}, + {"id":"broad-secret-access-token-preserve-04","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad access-token variation.","text":"endpoint=https://192.0.2.10/4 ; Non-confidential protocol token: access_token","known_identities":[],"targets":[{"id":"value","kind":"secret","start":65,"end":77,"value":"access_token","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-access-token-preserve-04","recipe":"access-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["access_token"]},"customers":{"required_absent":[],"required_present":["access_token"]},"all":{"required_absent":[],"required_present":["access_token"]}},"tags":["broad-quality","secret-family:access-token","variation:04"],"secret_fixture":{"family":"access-token","role":"preserve"}}, + {"id":"broad-secret-access-token-must-detect-05","language":"en","script":"Latin","shape":"markdown","risk":"critical","reason":"Locked broad access-token variation.","text":"**Configuration secret: access_token_l2mLsiGVG762bKcJZ6QyasWXEO48Krs4PivgpYBe**","known_identities":[],"targets":[{"id":"value","kind":"secret","start":24,"end":77,"value":"access_token_l2mLsiGVG762bKcJZ6QyasWXEO48Krs4PivgpYBe","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-access-token-must-detect-05","recipe":"access-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["access_token_l2mLsiGVG762bKcJZ6QyasWXEO48Krs4PivgpYBe"]},"customers":{"required_absent":["access_token_l2mLsiGVG762bKcJZ6QyasWXEO48Krs4PivgpYBe"],"required_present":[]},"all":{"required_absent":["access_token_l2mLsiGVG762bKcJZ6QyasWXEO48Krs4PivgpYBe"],"required_present":[]}},"tags":["broad-quality","secret-family:access-token","variation:05"],"secret_fixture":{"family":"access-token","role":"must-detect"}}, + {"id":"broad-secret-access-token-preserve-05","language":"en","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad access-token variation.","text":"**Release metadata: access_token**","known_identities":[],"targets":[{"id":"value","kind":"secret","start":20,"end":32,"value":"access_token","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-access-token-preserve-05","recipe":"access-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["access_token"]},"customers":{"required_absent":[],"required_present":["access_token"]},"all":{"required_absent":[],"required_present":["access_token"]}},"tags":["broad-quality","secret-family:access-token","variation:05"],"secret_fixture":{"family":"access-token","role":"preserve"}}, + {"id":"broad-secret-access-token-must-detect-06","language":"en","script":"Latin","shape":"html","risk":"critical","reason":"Locked broad access-token variation.","text":"\u003cp\u003eStack trace captured credential access_token_GsSfthElEhYJFH6wU3Tp8WR0hvfFEAIrIJVPvwFc\u003c/p\u003e","known_identities":[],"targets":[{"id":"value","kind":"secret","start":35,"end":88,"value":"access_token_GsSfthElEhYJFH6wU3Tp8WR0hvfFEAIrIJVPvwFc","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-access-token-must-detect-06","recipe":"access-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["access_token_GsSfthElEhYJFH6wU3Tp8WR0hvfFEAIrIJVPvwFc"]},"customers":{"required_absent":["access_token_GsSfthElEhYJFH6wU3Tp8WR0hvfFEAIrIJVPvwFc"],"required_present":[]},"all":{"required_absent":["access_token_GsSfthElEhYJFH6wU3Tp8WR0hvfFEAIrIJVPvwFc"],"required_present":[]}},"tags":["broad-quality","secret-family:access-token","variation:06"],"secret_fixture":{"family":"access-token","role":"must-detect"}}, + {"id":"broad-secret-access-token-preserve-06","language":"en","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad access-token variation.","text":"\u003cp\u003ePublic verification material: access_token\u003c/p\u003e","known_identities":[],"targets":[{"id":"value","kind":"secret","start":33,"end":45,"value":"access_token","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-access-token-preserve-06","recipe":"access-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["access_token"]},"customers":{"required_absent":[],"required_present":["access_token"]},"all":{"required_absent":[],"required_present":["access_token"]}},"tags":["broad-quality","secret-family:access-token","variation:06"],"secret_fixture":{"family":"access-token","role":"preserve"}}, + {"id":"broad-secret-access-token-must-detect-07","language":"en","script":"Latin","shape":"quoted-reply","risk":"critical","reason":"Locked broad access-token variation.","text":"\u003e Wrapped message credential: access_token_K38VBFGRVyWHGWTdBmlslewhVs6ARQxGrKPW3Up8","known_identities":[],"targets":[{"id":"value","kind":"secret","start":30,"end":83,"value":"access_token_K38VBFGRVyWHGWTdBmlslewhVs6ARQxGrKPW3Up8","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-access-token-must-detect-07","recipe":"access-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["access_token_K38VBFGRVyWHGWTdBmlslewhVs6ARQxGrKPW3Up8"]},"customers":{"required_absent":["access_token_K38VBFGRVyWHGWTdBmlslewhVs6ARQxGrKPW3Up8"],"required_present":[]},"all":{"required_absent":["access_token_K38VBFGRVyWHGWTdBmlslewhVs6ARQxGrKPW3Up8"],"required_present":[]}},"tags":["broad-quality","secret-family:access-token","variation:07"],"secret_fixture":{"family":"access-token","role":"must-detect"}}, + {"id":"broad-secret-access-token-preserve-07","language":"en","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad access-token variation.","text":"\u003e Troubleshooting reference: access_token","known_identities":[],"targets":[{"id":"value","kind":"secret","start":29,"end":41,"value":"access_token","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-access-token-preserve-07","recipe":"access-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["access_token"]},"customers":{"required_absent":[],"required_present":["access_token"]},"all":{"required_absent":[],"required_present":["access_token"]}},"tags":["broad-quality","secret-family:access-token","variation:07"],"secret_fixture":{"family":"access-token","role":"preserve"}}, + {"id":"broad-secret-access-token-must-detect-08","language":"en","script":"Latin","shape":"log","risk":"critical","reason":"Locked broad access-token variation.","text":"level=warn sample=8 message=\"Credential copied from a support reply: \" value=access_token_VhCtVzPDKqejd\nyuz0Gwgfj5wVyqB2QIXIz9e4fYF","known_identities":[],"targets":[{"id":"value","kind":"secret","start":77,"end":131,"value":"access_token_VhCtVzPDKqejd\nyuz0Gwgfj5wVyqB2QIXIz9e4fYF","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-access-token-must-detect-08","recipe":"access-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["access_token_VhCtVzPDKqejd\nyuz0Gwgfj5wVyqB2QIXIz9e4fYF"]},"customers":{"required_absent":["access_token_VhCtVzPDKqejd\nyuz0Gwgfj5wVyqB2QIXIz9e4fYF"],"required_present":[]},"all":{"required_absent":["access_token_VhCtVzPDKqejd\nyuz0Gwgfj5wVyqB2QIXIz9e4fYF"],"required_present":[]}},"tags":["broad-quality","secret-family:access-token","variation:08"],"secret_fixture":{"family":"access-token","role":"must-detect"}}, + {"id":"broad-secret-access-token-preserve-08","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad access-token variation.","text":"level=warn sample=8 message=\"Public configuration vocabulary: \" value=access_token","known_identities":[],"targets":[{"id":"value","kind":"secret","start":70,"end":82,"value":"access_token","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-access-token-preserve-08","recipe":"access-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["access_token"]},"customers":{"required_absent":[],"required_present":["access_token"]},"all":{"required_absent":[],"required_present":["access_token"]}},"tags":["broad-quality","secret-family:access-token","variation:08"],"secret_fixture":{"family":"access-token","role":"preserve"}}, + {"id":"broad-secret-access-token-must-detect-09","language":"en","script":"Latin","shape":"stack-trace","risk":"critical","reason":"Locked broad access-token variation.","text":"Trace[9]: Authorization header value: access_token_mT1jWe2taXXHD rBl0KT1IFdGxMJcVJ3Kha8g12yu","known_identities":[],"targets":[{"id":"value","kind":"secret","start":38,"end":92,"value":"access_token_mT1jWe2taXXHD rBl0KT1IFdGxMJcVJ3Kha8g12yu","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-access-token-must-detect-09","recipe":"access-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["access_token_mT1jWe2taXXHD rBl0KT1IFdGxMJcVJ3Kha8g12yu"]},"customers":{"required_absent":["access_token_mT1jWe2taXXHD rBl0KT1IFdGxMJcVJ3Kha8g12yu"],"required_present":[]},"all":{"required_absent":["access_token_mT1jWe2taXXHD rBl0KT1IFdGxMJcVJ3Kha8g12yu"],"required_present":[]}},"tags":["broad-quality","secret-family:access-token","variation:09"],"secret_fixture":{"family":"access-token","role":"must-detect"}}, + {"id":"broad-secret-access-token-preserve-09","language":"en","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad access-token variation.","text":"Trace[9]: Documentation syntax: access_token","known_identities":[],"targets":[{"id":"value","kind":"secret","start":32,"end":44,"value":"access_token","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-access-token-preserve-09","recipe":"access-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["access_token"]},"customers":{"required_absent":[],"required_present":["access_token"]},"all":{"required_absent":[],"required_present":["access_token"]}},"tags":["broad-quality","secret-family:access-token","variation:09"],"secret_fixture":{"family":"access-token","role":"preserve"}}, + {"id":"broad-secret-access-token-must-detect-10","language":"en","script":"Latin","shape":"code","risk":"critical","reason":"Locked broad access-token variation.","text":"fixture_10 := `Log field auth_value=access_token_AOBqeg4DMhbse·Ao4RpcvAb1hlx6oY936DS3W3cm7`","known_identities":[],"targets":[{"id":"value","kind":"secret","start":36,"end":91,"value":"access_token_AOBqeg4DMhbse·Ao4RpcvAb1hlx6oY936DS3W3cm7","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-access-token-must-detect-10","recipe":"access-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["access_token_AOBqeg4DMhbse·Ao4RpcvAb1hlx6oY936DS3W3cm7"]},"customers":{"required_absent":["access_token_AOBqeg4DMhbse·Ao4RpcvAb1hlx6oY936DS3W3cm7"],"required_present":[]},"all":{"required_absent":["access_token_AOBqeg4DMhbse·Ao4RpcvAb1hlx6oY936DS3W3cm7"],"required_present":[]}},"tags":["broad-quality","secret-family:access-token","variation:10"],"secret_fixture":{"family":"access-token","role":"must-detect"}}, + {"id":"broad-secret-access-token-preserve-10","language":"en","script":"Latin","shape":"code","risk":"preservation","reason":"Locked broad access-token variation.","text":"fixture_10 := `Public operational identifier: access_token`","known_identities":[],"targets":[{"id":"value","kind":"secret","start":46,"end":58,"value":"access_token","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-access-token-preserve-10","recipe":"access-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["access_token"]},"customers":{"required_absent":[],"required_present":["access_token"]},"all":{"required_absent":[],"required_present":["access_token"]}},"tags":["broad-quality","secret-family:access-token","variation:10"],"secret_fixture":{"family":"access-token","role":"preserve"}}, + {"id":"broad-secret-access-token-must-detect-11","language":"en","script":"Latin","shape":"signature","risk":"critical","reason":"Locked broad access-token variation.","text":"--\nRotating this exposed value: access_token_VHanuap9lyodA\u003cwbr\u003e8iMJ8663QVjvvJqyVU9sDwbQHYj","known_identities":[],"targets":[{"id":"value","kind":"secret","start":32,"end":90,"value":"access_token_VHanuap9lyodA\u003cwbr\u003e8iMJ8663QVjvvJqyVU9sDwbQHYj","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-access-token-must-detect-11","recipe":"access-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["access_token_VHanuap9lyodA\u003cwbr\u003e8iMJ8663QVjvvJqyVU9sDwbQHYj"]},"customers":{"required_absent":["access_token_VHanuap9lyodA\u003cwbr\u003e8iMJ8663QVjvvJqyVU9sDwbQHYj"],"required_present":[]},"all":{"required_absent":["access_token_VHanuap9lyodA\u003cwbr\u003e8iMJ8663QVjvvJqyVU9sDwbQHYj"],"required_present":[]}},"tags":["broad-quality","secret-family:access-token","variation:11"],"secret_fixture":{"family":"access-token","role":"must-detect"}}, + {"id":"broad-secret-access-token-preserve-11","language":"en","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad access-token variation.","text":"--\nSchema field label: access_token","known_identities":[],"targets":[{"id":"value","kind":"secret","start":23,"end":35,"value":"access_token","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-access-token-preserve-11","recipe":"access-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["access_token"]},"customers":{"required_absent":[],"required_present":["access_token"]},"all":{"required_absent":[],"required_present":["access_token"]}},"tags":["broad-quality","secret-family:access-token","variation:11"],"secret_fixture":{"family":"access-token","role":"preserve"}}, + {"id":"broad-secret-access-token-must-detect-12","language":"en","script":"Latin","shape":"long-thread","risk":"critical","reason":"Locked broad access-token variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Quoted credential follows: access_token_FM5qZkRqYcKGc**IHblkPKnYNKr9mI5DUZfDGKIF7X","known_identities":[],"targets":[{"id":"value","kind":"secret","start":507,"end":562,"value":"access_token_FM5qZkRqYcKGc**IHblkPKnYNKr9mI5DUZfDGKIF7X","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-access-token-must-detect-12","recipe":"access-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["access_token_FM5qZkRqYcKGc**IHblkPKnYNKr9mI5DUZfDGKIF7X"]},"customers":{"required_absent":["access_token_FM5qZkRqYcKGc**IHblkPKnYNKr9mI5DUZfDGKIF7X"],"required_present":[]},"all":{"required_absent":["access_token_FM5qZkRqYcKGc**IHblkPKnYNKr9mI5DUZfDGKIF7X"],"required_present":[]}},"tags":["broad-quality","secret-family:access-token","variation:12"],"secret_fixture":{"family":"access-token","role":"must-detect"}}, + {"id":"broad-secret-access-token-preserve-12","language":"en","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad access-token variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Non-confidential protocol token: access_token","known_identities":[],"targets":[{"id":"value","kind":"secret","start":513,"end":525,"value":"access_token","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-access-token-preserve-12","recipe":"access-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["access_token"]},"customers":{"required_absent":[],"required_present":["access_token"]},"all":{"required_absent":[],"required_present":["access_token"]}},"tags":["broad-quality","secret-family:access-token","variation:12"],"secret_fixture":{"family":"access-token","role":"preserve"}}, + {"id":"broad-secret-access-token-must-detect-13","language":"en","script":"Latin","shape":"command-payload","risk":"critical","reason":"Locked broad access-token variation.","text":"--sample=13 --message=\"Configuration secret: \" --value=access_token_hlLrYtcPp3aoULVYTVtrzVSD0SzZ2KuhRhThGA3q / access_token_hlLrYtcPp3aoULVYTVtrzVSD0SzZ2KuhRhThGA3q","known_identities":[],"targets":[{"id":"value","kind":"secret","start":55,"end":164,"value":"access_token_hlLrYtcPp3aoULVYTVtrzVSD0SzZ2KuhRhThGA3q / access_token_hlLrYtcPp3aoULVYTVtrzVSD0SzZ2KuhRhThGA3q","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-access-token-must-detect-13","recipe":"access-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["access_token_hlLrYtcPp3aoULVYTVtrzVSD0SzZ2KuhRhThGA3q / access_token_hlLrYtcPp3aoULVYTVtrzVSD0SzZ2KuhRhThGA3q"]},"customers":{"required_absent":["access_token_hlLrYtcPp3aoULVYTVtrzVSD0SzZ2KuhRhThGA3q / access_token_hlLrYtcPp3aoULVYTVtrzVSD0SzZ2KuhRhThGA3q"],"required_present":[]},"all":{"required_absent":["access_token_hlLrYtcPp3aoULVYTVtrzVSD0SzZ2KuhRhThGA3q / access_token_hlLrYtcPp3aoULVYTVtrzVSD0SzZ2KuhRhThGA3q"],"required_present":[]}},"tags":["broad-quality","secret-family:access-token","variation:13"],"secret_fixture":{"family":"access-token","role":"must-detect"}}, + {"id":"broad-secret-access-token-preserve-13","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad access-token variation.","text":"--sample=13 --message=\"Release metadata: \" --value=access_token","known_identities":[],"targets":[{"id":"value","kind":"secret","start":51,"end":63,"value":"access_token","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-access-token-preserve-13","recipe":"access-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["access_token"]},"customers":{"required_absent":[],"required_present":["access_token"]},"all":{"required_absent":[],"required_present":["access_token"]}},"tags":["broad-quality","secret-family:access-token","variation:13"],"secret_fixture":{"family":"access-token","role":"preserve"}}, + {"id":"broad-secret-oauth-token-must-detect-00","language":"en","script":"Latin","shape":"prose","risk":"critical","reason":"Locked broad oauth-token variation.","text":"Credential copied from a support reply: oat2_jJMablVT3V_MGNgFgX36JJL8e1UzT0vmFPtXBk3ncZOqKefvF2CW","known_identities":[],"targets":[{"id":"value","kind":"secret","start":40,"end":97,"value":"oat2_jJMablVT3V_MGNgFgX36JJL8e1UzT0vmFPtXBk3ncZOqKefvF2CW","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-oauth-token-must-detect-00","recipe":"oauth-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["oat2_jJMablVT3V_MGNgFgX36JJL8e1UzT0vmFPtXBk3ncZOqKefvF2CW"]},"customers":{"required_absent":["oat2_jJMablVT3V_MGNgFgX36JJL8e1UzT0vmFPtXBk3ncZOqKefvF2CW"],"required_present":[]},"all":{"required_absent":["oat2_jJMablVT3V_MGNgFgX36JJL8e1UzT0vmFPtXBk3ncZOqKefvF2CW"],"required_present":[]}},"tags":["broad-quality","secret-family:oauth-token","variation:00"],"secret_fixture":{"family":"oauth-token","role":"must-detect"}}, + {"id":"broad-secret-oauth-token-preserve-00","language":"en","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad oauth-token variation.","text":"Public configuration vocabulary: Bearer","known_identities":[],"targets":[{"id":"value","kind":"secret","start":33,"end":39,"value":"Bearer","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-oauth-token-preserve-00","recipe":"oauth-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bearer"]},"customers":{"required_absent":[],"required_present":["Bearer"]},"all":{"required_absent":[],"required_present":["Bearer"]}},"tags":["broad-quality","secret-family:oauth-token","variation:00"],"secret_fixture":{"family":"oauth-token","role":"preserve"}}, + {"id":"broad-secret-oauth-token-must-detect-01","language":"en","script":"Latin","shape":"json","risk":"critical","reason":"Locked broad oauth-token variation.","text":"{\"message_1\":\"Authorization header value: oat2_H0sUIU424FEsU4D5xTAy5_3YLNGS8aNqbCg2mN4246DRU3E2hM8u\"}","known_identities":[],"targets":[{"id":"value","kind":"secret","start":42,"end":99,"value":"oat2_H0sUIU424FEsU4D5xTAy5_3YLNGS8aNqbCg2mN4246DRU3E2hM8u","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-oauth-token-must-detect-01","recipe":"oauth-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["oat2_H0sUIU424FEsU4D5xTAy5_3YLNGS8aNqbCg2mN4246DRU3E2hM8u"]},"customers":{"required_absent":["oat2_H0sUIU424FEsU4D5xTAy5_3YLNGS8aNqbCg2mN4246DRU3E2hM8u"],"required_present":[]},"all":{"required_absent":["oat2_H0sUIU424FEsU4D5xTAy5_3YLNGS8aNqbCg2mN4246DRU3E2hM8u"],"required_present":[]}},"tags":["broad-quality","secret-family:oauth-token","variation:01"],"secret_fixture":{"family":"oauth-token","role":"must-detect"}}, + {"id":"broad-secret-oauth-token-preserve-01","language":"en","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad oauth-token variation.","text":"{\"message_1\":\"Documentation syntax: Bearer\"}","known_identities":[],"targets":[{"id":"value","kind":"secret","start":36,"end":42,"value":"Bearer","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-oauth-token-preserve-01","recipe":"oauth-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bearer"]},"customers":{"required_absent":[],"required_present":["Bearer"]},"all":{"required_absent":[],"required_present":["Bearer"]}},"tags":["broad-quality","secret-family:oauth-token","variation:01"],"secret_fixture":{"family":"oauth-token","role":"preserve"}}, + {"id":"broad-secret-oauth-token-must-detect-02","language":"en","script":"Latin","shape":"yaml","risk":"critical","reason":"Locked broad oauth-token variation.","text":"message_2: Log field auth_value=oat2_flHSMRD6PkMtgvDty-8bdUOBygcSEsXcMU7jVtP0jqbfEfajichI","known_identities":[],"targets":[{"id":"value","kind":"secret","start":32,"end":89,"value":"oat2_flHSMRD6PkMtgvDty-8bdUOBygcSEsXcMU7jVtP0jqbfEfajichI","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-oauth-token-must-detect-02","recipe":"oauth-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["oat2_flHSMRD6PkMtgvDty-8bdUOBygcSEsXcMU7jVtP0jqbfEfajichI"]},"customers":{"required_absent":["oat2_flHSMRD6PkMtgvDty-8bdUOBygcSEsXcMU7jVtP0jqbfEfajichI"],"required_present":[]},"all":{"required_absent":["oat2_flHSMRD6PkMtgvDty-8bdUOBygcSEsXcMU7jVtP0jqbfEfajichI"],"required_present":[]}},"tags":["broad-quality","secret-family:oauth-token","variation:02"],"secret_fixture":{"family":"oauth-token","role":"must-detect"}}, + {"id":"broad-secret-oauth-token-preserve-02","language":"en","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad oauth-token variation.","text":"message_2: Public operational identifier: Bearer","known_identities":[],"targets":[{"id":"value","kind":"secret","start":42,"end":48,"value":"Bearer","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-oauth-token-preserve-02","recipe":"oauth-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bearer"]},"customers":{"required_absent":[],"required_present":["Bearer"]},"all":{"required_absent":[],"required_present":["Bearer"]}},"tags":["broad-quality","secret-family:oauth-token","variation:02"],"secret_fixture":{"family":"oauth-token","role":"preserve"}}, + {"id":"broad-secret-oauth-token-must-detect-03","language":"en","script":"Latin","shape":"shell","risk":"critical","reason":"Locked broad oauth-token variation.","text":"MESSAGE_3='Rotating this exposed value: oat2_0qmrwm9kkIdzPqD-7HGLxHMeOA2Qpl_HINU-IaSEoXJ-6cuA9Sau'","known_identities":[],"targets":[{"id":"value","kind":"secret","start":40,"end":97,"value":"oat2_0qmrwm9kkIdzPqD-7HGLxHMeOA2Qpl_HINU-IaSEoXJ-6cuA9Sau","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-oauth-token-must-detect-03","recipe":"oauth-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["oat2_0qmrwm9kkIdzPqD-7HGLxHMeOA2Qpl_HINU-IaSEoXJ-6cuA9Sau"]},"customers":{"required_absent":["oat2_0qmrwm9kkIdzPqD-7HGLxHMeOA2Qpl_HINU-IaSEoXJ-6cuA9Sau"],"required_present":[]},"all":{"required_absent":["oat2_0qmrwm9kkIdzPqD-7HGLxHMeOA2Qpl_HINU-IaSEoXJ-6cuA9Sau"],"required_present":[]}},"tags":["broad-quality","secret-family:oauth-token","variation:03"],"secret_fixture":{"family":"oauth-token","role":"must-detect"}}, + {"id":"broad-secret-oauth-token-preserve-03","language":"en","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad oauth-token variation.","text":"MESSAGE_3='Schema field label: Bearer'","known_identities":[],"targets":[{"id":"value","kind":"secret","start":31,"end":37,"value":"Bearer","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-oauth-token-preserve-03","recipe":"oauth-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bearer"]},"customers":{"required_absent":[],"required_present":["Bearer"]},"all":{"required_absent":[],"required_present":["Bearer"]}},"tags":["broad-quality","secret-family:oauth-token","variation:03"],"secret_fixture":{"family":"oauth-token","role":"preserve"}}, + {"id":"broad-secret-oauth-token-must-detect-04","language":"en","script":"Latin","shape":"url","risk":"critical","reason":"Locked broad oauth-token variation.","text":"endpoint=https://192.0.2.10/4 ; Quoted credential follows: oat2_UOQYK812al6V56V4fNzvDgPNHgz1BdUxJGnxp-ZH2Kp0rNTIkffE","known_identities":[],"targets":[{"id":"value","kind":"secret","start":59,"end":116,"value":"oat2_UOQYK812al6V56V4fNzvDgPNHgz1BdUxJGnxp-ZH2Kp0rNTIkffE","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-oauth-token-must-detect-04","recipe":"oauth-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["oat2_UOQYK812al6V56V4fNzvDgPNHgz1BdUxJGnxp-ZH2Kp0rNTIkffE"]},"customers":{"required_absent":["oat2_UOQYK812al6V56V4fNzvDgPNHgz1BdUxJGnxp-ZH2Kp0rNTIkffE"],"required_present":[]},"all":{"required_absent":["oat2_UOQYK812al6V56V4fNzvDgPNHgz1BdUxJGnxp-ZH2Kp0rNTIkffE"],"required_present":[]}},"tags":["broad-quality","secret-family:oauth-token","variation:04"],"secret_fixture":{"family":"oauth-token","role":"must-detect"}}, + {"id":"broad-secret-oauth-token-preserve-04","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad oauth-token variation.","text":"endpoint=https://192.0.2.10/4 ; Non-confidential protocol token: Bearer","known_identities":[],"targets":[{"id":"value","kind":"secret","start":65,"end":71,"value":"Bearer","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-oauth-token-preserve-04","recipe":"oauth-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bearer"]},"customers":{"required_absent":[],"required_present":["Bearer"]},"all":{"required_absent":[],"required_present":["Bearer"]}},"tags":["broad-quality","secret-family:oauth-token","variation:04"],"secret_fixture":{"family":"oauth-token","role":"preserve"}}, + {"id":"broad-secret-oauth-token-must-detect-05","language":"en","script":"Latin","shape":"markdown","risk":"critical","reason":"Locked broad oauth-token variation.","text":"**Configuration secret: oat2_lG4ucE_smM8g4nGCvFZus75eyb2SiD4BkzCvuJBZY-_VGt4YyU3H**","known_identities":[],"targets":[{"id":"value","kind":"secret","start":24,"end":81,"value":"oat2_lG4ucE_smM8g4nGCvFZus75eyb2SiD4BkzCvuJBZY-_VGt4YyU3H","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-oauth-token-must-detect-05","recipe":"oauth-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["oat2_lG4ucE_smM8g4nGCvFZus75eyb2SiD4BkzCvuJBZY-_VGt4YyU3H"]},"customers":{"required_absent":["oat2_lG4ucE_smM8g4nGCvFZus75eyb2SiD4BkzCvuJBZY-_VGt4YyU3H"],"required_present":[]},"all":{"required_absent":["oat2_lG4ucE_smM8g4nGCvFZus75eyb2SiD4BkzCvuJBZY-_VGt4YyU3H"],"required_present":[]}},"tags":["broad-quality","secret-family:oauth-token","variation:05"],"secret_fixture":{"family":"oauth-token","role":"must-detect"}}, + {"id":"broad-secret-oauth-token-preserve-05","language":"en","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad oauth-token variation.","text":"**Release metadata: Bearer**","known_identities":[],"targets":[{"id":"value","kind":"secret","start":20,"end":26,"value":"Bearer","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-oauth-token-preserve-05","recipe":"oauth-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bearer"]},"customers":{"required_absent":[],"required_present":["Bearer"]},"all":{"required_absent":[],"required_present":["Bearer"]}},"tags":["broad-quality","secret-family:oauth-token","variation:05"],"secret_fixture":{"family":"oauth-token","role":"preserve"}}, + {"id":"broad-secret-oauth-token-must-detect-06","language":"en","script":"Latin","shape":"html","risk":"critical","reason":"Locked broad oauth-token variation.","text":"\u003cp\u003eStack trace captured credential oat2_RpyWGjy7GQUJHmlopdIfVFEKX1PryWygB9KTV2dXequZsUDYhi--\u003c/p\u003e","known_identities":[],"targets":[{"id":"value","kind":"secret","start":35,"end":92,"value":"oat2_RpyWGjy7GQUJHmlopdIfVFEKX1PryWygB9KTV2dXequZsUDYhi--","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-oauth-token-must-detect-06","recipe":"oauth-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["oat2_RpyWGjy7GQUJHmlopdIfVFEKX1PryWygB9KTV2dXequZsUDYhi--"]},"customers":{"required_absent":["oat2_RpyWGjy7GQUJHmlopdIfVFEKX1PryWygB9KTV2dXequZsUDYhi--"],"required_present":[]},"all":{"required_absent":["oat2_RpyWGjy7GQUJHmlopdIfVFEKX1PryWygB9KTV2dXequZsUDYhi--"],"required_present":[]}},"tags":["broad-quality","secret-family:oauth-token","variation:06"],"secret_fixture":{"family":"oauth-token","role":"must-detect"}}, + {"id":"broad-secret-oauth-token-preserve-06","language":"en","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad oauth-token variation.","text":"\u003cp\u003ePublic verification material: Bearer\u003c/p\u003e","known_identities":[],"targets":[{"id":"value","kind":"secret","start":33,"end":39,"value":"Bearer","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-oauth-token-preserve-06","recipe":"oauth-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bearer"]},"customers":{"required_absent":[],"required_present":["Bearer"]},"all":{"required_absent":[],"required_present":["Bearer"]}},"tags":["broad-quality","secret-family:oauth-token","variation:06"],"secret_fixture":{"family":"oauth-token","role":"preserve"}}, + {"id":"broad-secret-oauth-token-must-detect-07","language":"en","script":"Latin","shape":"quoted-reply","risk":"critical","reason":"Locked broad oauth-token variation.","text":"\u003e Wrapped message credential: oat2_lV9knamNBLnFyIemKJ470lG06EMZIoPJGlKN5CE05RRtbyqt3hPc","known_identities":[],"targets":[{"id":"value","kind":"secret","start":30,"end":87,"value":"oat2_lV9knamNBLnFyIemKJ470lG06EMZIoPJGlKN5CE05RRtbyqt3hPc","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-oauth-token-must-detect-07","recipe":"oauth-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["oat2_lV9knamNBLnFyIemKJ470lG06EMZIoPJGlKN5CE05RRtbyqt3hPc"]},"customers":{"required_absent":["oat2_lV9knamNBLnFyIemKJ470lG06EMZIoPJGlKN5CE05RRtbyqt3hPc"],"required_present":[]},"all":{"required_absent":["oat2_lV9knamNBLnFyIemKJ470lG06EMZIoPJGlKN5CE05RRtbyqt3hPc"],"required_present":[]}},"tags":["broad-quality","secret-family:oauth-token","variation:07"],"secret_fixture":{"family":"oauth-token","role":"must-detect"}}, + {"id":"broad-secret-oauth-token-preserve-07","language":"en","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad oauth-token variation.","text":"\u003e Troubleshooting reference: Bearer","known_identities":[],"targets":[{"id":"value","kind":"secret","start":29,"end":35,"value":"Bearer","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-oauth-token-preserve-07","recipe":"oauth-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bearer"]},"customers":{"required_absent":[],"required_present":["Bearer"]},"all":{"required_absent":[],"required_present":["Bearer"]}},"tags":["broad-quality","secret-family:oauth-token","variation:07"],"secret_fixture":{"family":"oauth-token","role":"preserve"}}, + {"id":"broad-secret-oauth-token-must-detect-08","language":"en","script":"Latin","shape":"log","risk":"critical","reason":"Locked broad oauth-token variation.","text":"level=warn sample=8 message=\"Credential copied from a support reply: \" value=oat2_EivnhupId3TTCZzA2fiS0ip\ntYgX2vXjVtDmAHGVsq1RtnNq6rLVX","known_identities":[],"targets":[{"id":"value","kind":"secret","start":77,"end":135,"value":"oat2_EivnhupId3TTCZzA2fiS0ip\ntYgX2vXjVtDmAHGVsq1RtnNq6rLVX","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-oauth-token-must-detect-08","recipe":"oauth-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["oat2_EivnhupId3TTCZzA2fiS0ip\ntYgX2vXjVtDmAHGVsq1RtnNq6rLVX"]},"customers":{"required_absent":["oat2_EivnhupId3TTCZzA2fiS0ip\ntYgX2vXjVtDmAHGVsq1RtnNq6rLVX"],"required_present":[]},"all":{"required_absent":["oat2_EivnhupId3TTCZzA2fiS0ip\ntYgX2vXjVtDmAHGVsq1RtnNq6rLVX"],"required_present":[]}},"tags":["broad-quality","secret-family:oauth-token","variation:08"],"secret_fixture":{"family":"oauth-token","role":"must-detect"}}, + {"id":"broad-secret-oauth-token-preserve-08","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad oauth-token variation.","text":"level=warn sample=8 message=\"Public configuration vocabulary: \" value=Bearer","known_identities":[],"targets":[{"id":"value","kind":"secret","start":70,"end":76,"value":"Bearer","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-oauth-token-preserve-08","recipe":"oauth-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bearer"]},"customers":{"required_absent":[],"required_present":["Bearer"]},"all":{"required_absent":[],"required_present":["Bearer"]}},"tags":["broad-quality","secret-family:oauth-token","variation:08"],"secret_fixture":{"family":"oauth-token","role":"preserve"}}, + {"id":"broad-secret-oauth-token-must-detect-09","language":"en","script":"Latin","shape":"stack-trace","risk":"critical","reason":"Locked broad oauth-token variation.","text":"Trace[9]: Authorization header value: oat2_pvhmlNRXUdCHPaudwB1MtWD HlRthyPnz7Xal1QhIXqG0udTd93yv","known_identities":[],"targets":[{"id":"value","kind":"secret","start":38,"end":96,"value":"oat2_pvhmlNRXUdCHPaudwB1MtWD HlRthyPnz7Xal1QhIXqG0udTd93yv","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-oauth-token-must-detect-09","recipe":"oauth-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["oat2_pvhmlNRXUdCHPaudwB1MtWD HlRthyPnz7Xal1QhIXqG0udTd93yv"]},"customers":{"required_absent":["oat2_pvhmlNRXUdCHPaudwB1MtWD HlRthyPnz7Xal1QhIXqG0udTd93yv"],"required_present":[]},"all":{"required_absent":["oat2_pvhmlNRXUdCHPaudwB1MtWD HlRthyPnz7Xal1QhIXqG0udTd93yv"],"required_present":[]}},"tags":["broad-quality","secret-family:oauth-token","variation:09"],"secret_fixture":{"family":"oauth-token","role":"must-detect"}}, + {"id":"broad-secret-oauth-token-preserve-09","language":"en","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad oauth-token variation.","text":"Trace[9]: Documentation syntax: Bearer","known_identities":[],"targets":[{"id":"value","kind":"secret","start":32,"end":38,"value":"Bearer","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-oauth-token-preserve-09","recipe":"oauth-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bearer"]},"customers":{"required_absent":[],"required_present":["Bearer"]},"all":{"required_absent":[],"required_present":["Bearer"]}},"tags":["broad-quality","secret-family:oauth-token","variation:09"],"secret_fixture":{"family":"oauth-token","role":"preserve"}}, + {"id":"broad-secret-oauth-token-must-detect-10","language":"en","script":"Latin","shape":"code","risk":"critical","reason":"Locked broad oauth-token variation.","text":"fixture_10 := `Log field auth_value=oat2_cY6KLg87rTS4cmC4wVSSBkf·eZkBf2wZRHZGNa_EZEr-8oGGUwCgr`","known_identities":[],"targets":[{"id":"value","kind":"secret","start":36,"end":95,"value":"oat2_cY6KLg87rTS4cmC4wVSSBkf·eZkBf2wZRHZGNa_EZEr-8oGGUwCgr","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-oauth-token-must-detect-10","recipe":"oauth-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["oat2_cY6KLg87rTS4cmC4wVSSBkf·eZkBf2wZRHZGNa_EZEr-8oGGUwCgr"]},"customers":{"required_absent":["oat2_cY6KLg87rTS4cmC4wVSSBkf·eZkBf2wZRHZGNa_EZEr-8oGGUwCgr"],"required_present":[]},"all":{"required_absent":["oat2_cY6KLg87rTS4cmC4wVSSBkf·eZkBf2wZRHZGNa_EZEr-8oGGUwCgr"],"required_present":[]}},"tags":["broad-quality","secret-family:oauth-token","variation:10"],"secret_fixture":{"family":"oauth-token","role":"must-detect"}}, + {"id":"broad-secret-oauth-token-preserve-10","language":"en","script":"Latin","shape":"code","risk":"preservation","reason":"Locked broad oauth-token variation.","text":"fixture_10 := `Public operational identifier: Bearer`","known_identities":[],"targets":[{"id":"value","kind":"secret","start":46,"end":52,"value":"Bearer","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-oauth-token-preserve-10","recipe":"oauth-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bearer"]},"customers":{"required_absent":[],"required_present":["Bearer"]},"all":{"required_absent":[],"required_present":["Bearer"]}},"tags":["broad-quality","secret-family:oauth-token","variation:10"],"secret_fixture":{"family":"oauth-token","role":"preserve"}}, + {"id":"broad-secret-oauth-token-must-detect-11","language":"en","script":"Latin","shape":"signature","risk":"critical","reason":"Locked broad oauth-token variation.","text":"--\nRotating this exposed value: oat2_3glpJUvyJGUL-fB7mgV5dsw\u003cwbr\u003e7VIK4jiiQ7hapCdeTcI24EQBVJz34","known_identities":[],"targets":[{"id":"value","kind":"secret","start":32,"end":94,"value":"oat2_3glpJUvyJGUL-fB7mgV5dsw\u003cwbr\u003e7VIK4jiiQ7hapCdeTcI24EQBVJz34","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-oauth-token-must-detect-11","recipe":"oauth-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["oat2_3glpJUvyJGUL-fB7mgV5dsw\u003cwbr\u003e7VIK4jiiQ7hapCdeTcI24EQBVJz34"]},"customers":{"required_absent":["oat2_3glpJUvyJGUL-fB7mgV5dsw\u003cwbr\u003e7VIK4jiiQ7hapCdeTcI24EQBVJz34"],"required_present":[]},"all":{"required_absent":["oat2_3glpJUvyJGUL-fB7mgV5dsw\u003cwbr\u003e7VIK4jiiQ7hapCdeTcI24EQBVJz34"],"required_present":[]}},"tags":["broad-quality","secret-family:oauth-token","variation:11"],"secret_fixture":{"family":"oauth-token","role":"must-detect"}}, + {"id":"broad-secret-oauth-token-preserve-11","language":"en","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad oauth-token variation.","text":"--\nSchema field label: Bearer","known_identities":[],"targets":[{"id":"value","kind":"secret","start":23,"end":29,"value":"Bearer","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-oauth-token-preserve-11","recipe":"oauth-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bearer"]},"customers":{"required_absent":[],"required_present":["Bearer"]},"all":{"required_absent":[],"required_present":["Bearer"]}},"tags":["broad-quality","secret-family:oauth-token","variation:11"],"secret_fixture":{"family":"oauth-token","role":"preserve"}}, + {"id":"broad-secret-oauth-token-must-detect-12","language":"en","script":"Latin","shape":"long-thread","risk":"critical","reason":"Locked broad oauth-token variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Quoted credential follows: oat2_XSHt_e7FJcdQgSEVX41Vfyt**yUBO04ywlUeemvhyRW_niRqRUJ4eZ","known_identities":[],"targets":[{"id":"value","kind":"secret","start":507,"end":566,"value":"oat2_XSHt_e7FJcdQgSEVX41Vfyt**yUBO04ywlUeemvhyRW_niRqRUJ4eZ","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-oauth-token-must-detect-12","recipe":"oauth-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["oat2_XSHt_e7FJcdQgSEVX41Vfyt**yUBO04ywlUeemvhyRW_niRqRUJ4eZ"]},"customers":{"required_absent":["oat2_XSHt_e7FJcdQgSEVX41Vfyt**yUBO04ywlUeemvhyRW_niRqRUJ4eZ"],"required_present":[]},"all":{"required_absent":["oat2_XSHt_e7FJcdQgSEVX41Vfyt**yUBO04ywlUeemvhyRW_niRqRUJ4eZ"],"required_present":[]}},"tags":["broad-quality","secret-family:oauth-token","variation:12"],"secret_fixture":{"family":"oauth-token","role":"must-detect"}}, + {"id":"broad-secret-oauth-token-preserve-12","language":"en","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad oauth-token variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Non-confidential protocol token: Bearer","known_identities":[],"targets":[{"id":"value","kind":"secret","start":513,"end":519,"value":"Bearer","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-oauth-token-preserve-12","recipe":"oauth-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bearer"]},"customers":{"required_absent":[],"required_present":["Bearer"]},"all":{"required_absent":[],"required_present":["Bearer"]}},"tags":["broad-quality","secret-family:oauth-token","variation:12"],"secret_fixture":{"family":"oauth-token","role":"preserve"}}, + {"id":"broad-secret-oauth-token-must-detect-13","language":"en","script":"Latin","shape":"command-payload","risk":"critical","reason":"Locked broad oauth-token variation.","text":"--sample=13 --message=\"Configuration secret: \" --value=oat2_beGPB_1Qng5oGEoqey6p0TY9E_plmDR7ZEZlKO4q_jjv5EmfK-pz / oat2_beGPB_1Qng5oGEoqey6p0TY9E_plmDR7ZEZlKO4q_jjv5EmfK-pz","known_identities":[],"targets":[{"id":"value","kind":"secret","start":55,"end":172,"value":"oat2_beGPB_1Qng5oGEoqey6p0TY9E_plmDR7ZEZlKO4q_jjv5EmfK-pz / oat2_beGPB_1Qng5oGEoqey6p0TY9E_plmDR7ZEZlKO4q_jjv5EmfK-pz","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-oauth-token-must-detect-13","recipe":"oauth-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["oat2_beGPB_1Qng5oGEoqey6p0TY9E_plmDR7ZEZlKO4q_jjv5EmfK-pz / oat2_beGPB_1Qng5oGEoqey6p0TY9E_plmDR7ZEZlKO4q_jjv5EmfK-pz"]},"customers":{"required_absent":["oat2_beGPB_1Qng5oGEoqey6p0TY9E_plmDR7ZEZlKO4q_jjv5EmfK-pz / oat2_beGPB_1Qng5oGEoqey6p0TY9E_plmDR7ZEZlKO4q_jjv5EmfK-pz"],"required_present":[]},"all":{"required_absent":["oat2_beGPB_1Qng5oGEoqey6p0TY9E_plmDR7ZEZlKO4q_jjv5EmfK-pz / oat2_beGPB_1Qng5oGEoqey6p0TY9E_plmDR7ZEZlKO4q_jjv5EmfK-pz"],"required_present":[]}},"tags":["broad-quality","secret-family:oauth-token","variation:13"],"secret_fixture":{"family":"oauth-token","role":"must-detect"}}, + {"id":"broad-secret-oauth-token-preserve-13","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad oauth-token variation.","text":"--sample=13 --message=\"Release metadata: \" --value=Bearer","known_identities":[],"targets":[{"id":"value","kind":"secret","start":51,"end":57,"value":"Bearer","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-oauth-token-preserve-13","recipe":"oauth-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bearer"]},"customers":{"required_absent":[],"required_present":["Bearer"]},"all":{"required_absent":[],"required_present":["Bearer"]}},"tags":["broad-quality","secret-family:oauth-token","variation:13"],"secret_fixture":{"family":"oauth-token","role":"preserve"}}, + {"id":"broad-secret-password-must-detect-00","language":"en","script":"Latin","shape":"prose","risk":"critical","reason":"Locked broad password variation.","text":"Credential copied from a support reply: R7!zm1p6RTnRTRgi0#q2","known_identities":[],"targets":[{"id":"value","kind":"secret","start":40,"end":60,"value":"R7!zm1p6RTnRTRgi0#q2","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-password-must-detect-00","recipe":"password","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["R7!zm1p6RTnRTRgi0#q2"]},"customers":{"required_absent":["R7!zm1p6RTnRTRgi0#q2"],"required_present":[]},"all":{"required_absent":["R7!zm1p6RTnRTRgi0#q2"],"required_present":[]}},"tags":["broad-quality","secret-family:password","variation:00"],"secret_fixture":{"family":"password","role":"must-detect"}}, + {"id":"broad-secret-password-preserve-00","language":"en","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad password variation.","text":"Public configuration vocabulary: password_hash_algorithm","known_identities":[],"targets":[{"id":"value","kind":"secret","start":33,"end":56,"value":"password_hash_algorithm","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-password-preserve-00","recipe":"password","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["password_hash_algorithm"]},"customers":{"required_absent":[],"required_present":["password_hash_algorithm"]},"all":{"required_absent":[],"required_present":["password_hash_algorithm"]}},"tags":["broad-quality","secret-family:password","variation:00"],"secret_fixture":{"family":"password","role":"preserve"}}, + {"id":"broad-secret-password-must-detect-01","language":"en","script":"Latin","shape":"json","risk":"critical","reason":"Locked broad password variation.","text":"{\"message_1\":\"Authorization header value: R7!HRBJbFpNztqnUT#q2\"}","known_identities":[],"targets":[{"id":"value","kind":"secret","start":42,"end":62,"value":"R7!HRBJbFpNztqnUT#q2","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-password-must-detect-01","recipe":"password","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["R7!HRBJbFpNztqnUT#q2"]},"customers":{"required_absent":["R7!HRBJbFpNztqnUT#q2"],"required_present":[]},"all":{"required_absent":["R7!HRBJbFpNztqnUT#q2"],"required_present":[]}},"tags":["broad-quality","secret-family:password","variation:01"],"secret_fixture":{"family":"password","role":"must-detect"}}, + {"id":"broad-secret-password-preserve-01","language":"en","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad password variation.","text":"{\"message_1\":\"Documentation syntax: password_hash_algorithm\"}","known_identities":[],"targets":[{"id":"value","kind":"secret","start":36,"end":59,"value":"password_hash_algorithm","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-password-preserve-01","recipe":"password","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["password_hash_algorithm"]},"customers":{"required_absent":[],"required_present":["password_hash_algorithm"]},"all":{"required_absent":[],"required_present":["password_hash_algorithm"]}},"tags":["broad-quality","secret-family:password","variation:01"],"secret_fixture":{"family":"password","role":"preserve"}}, + {"id":"broad-secret-password-must-detect-02","language":"en","script":"Latin","shape":"yaml","risk":"critical","reason":"Locked broad password variation.","text":"message_2: Log field auth_value=R7!ziVAI4TQvDnDda#q2","known_identities":[],"targets":[{"id":"value","kind":"secret","start":32,"end":52,"value":"R7!ziVAI4TQvDnDda#q2","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-password-must-detect-02","recipe":"password","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["R7!ziVAI4TQvDnDda#q2"]},"customers":{"required_absent":["R7!ziVAI4TQvDnDda#q2"],"required_present":[]},"all":{"required_absent":["R7!ziVAI4TQvDnDda#q2"],"required_present":[]}},"tags":["broad-quality","secret-family:password","variation:02"],"secret_fixture":{"family":"password","role":"must-detect"}}, + {"id":"broad-secret-password-preserve-02","language":"en","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad password variation.","text":"message_2: Public operational identifier: password_hash_algorithm","known_identities":[],"targets":[{"id":"value","kind":"secret","start":42,"end":65,"value":"password_hash_algorithm","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-password-preserve-02","recipe":"password","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["password_hash_algorithm"]},"customers":{"required_absent":[],"required_present":["password_hash_algorithm"]},"all":{"required_absent":[],"required_present":["password_hash_algorithm"]}},"tags":["broad-quality","secret-family:password","variation:02"],"secret_fixture":{"family":"password","role":"preserve"}}, + {"id":"broad-secret-password-must-detect-03","language":"en","script":"Latin","shape":"shell","risk":"critical","reason":"Locked broad password variation.","text":"MESSAGE_3='Rotating this exposed value: R7!aK8TwPOAbzlB4l#q2'","known_identities":[],"targets":[{"id":"value","kind":"secret","start":40,"end":60,"value":"R7!aK8TwPOAbzlB4l#q2","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-password-must-detect-03","recipe":"password","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["R7!aK8TwPOAbzlB4l#q2"]},"customers":{"required_absent":["R7!aK8TwPOAbzlB4l#q2"],"required_present":[]},"all":{"required_absent":["R7!aK8TwPOAbzlB4l#q2"],"required_present":[]}},"tags":["broad-quality","secret-family:password","variation:03"],"secret_fixture":{"family":"password","role":"must-detect"}}, + {"id":"broad-secret-password-preserve-03","language":"en","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad password variation.","text":"MESSAGE_3='Schema field label: password_hash_algorithm'","known_identities":[],"targets":[{"id":"value","kind":"secret","start":31,"end":54,"value":"password_hash_algorithm","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-password-preserve-03","recipe":"password","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["password_hash_algorithm"]},"customers":{"required_absent":[],"required_present":["password_hash_algorithm"]},"all":{"required_absent":[],"required_present":["password_hash_algorithm"]}},"tags":["broad-quality","secret-family:password","variation:03"],"secret_fixture":{"family":"password","role":"preserve"}}, + {"id":"broad-secret-password-must-detect-04","language":"en","script":"Latin","shape":"url","risk":"critical","reason":"Locked broad password variation.","text":"endpoint=https://192.0.2.10/4 ; Quoted credential follows: R7!bfguWGSXffQVgS#q2","known_identities":[],"targets":[{"id":"value","kind":"secret","start":59,"end":79,"value":"R7!bfguWGSXffQVgS#q2","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-password-must-detect-04","recipe":"password","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["R7!bfguWGSXffQVgS#q2"]},"customers":{"required_absent":["R7!bfguWGSXffQVgS#q2"],"required_present":[]},"all":{"required_absent":["R7!bfguWGSXffQVgS#q2"],"required_present":[]}},"tags":["broad-quality","secret-family:password","variation:04"],"secret_fixture":{"family":"password","role":"must-detect"}}, + {"id":"broad-secret-password-preserve-04","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad password variation.","text":"endpoint=https://192.0.2.10/4 ; Non-confidential protocol token: password_hash_algorithm","known_identities":[],"targets":[{"id":"value","kind":"secret","start":65,"end":88,"value":"password_hash_algorithm","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-password-preserve-04","recipe":"password","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["password_hash_algorithm"]},"customers":{"required_absent":[],"required_present":["password_hash_algorithm"]},"all":{"required_absent":[],"required_present":["password_hash_algorithm"]}},"tags":["broad-quality","secret-family:password","variation:04"],"secret_fixture":{"family":"password","role":"preserve"}}, + {"id":"broad-secret-password-must-detect-05","language":"en","script":"Latin","shape":"markdown","risk":"critical","reason":"Locked broad password variation.","text":"**Configuration secret: R7!ZG3fdmzkH2VFeo#q2**","known_identities":[],"targets":[{"id":"value","kind":"secret","start":24,"end":44,"value":"R7!ZG3fdmzkH2VFeo#q2","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-password-must-detect-05","recipe":"password","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["R7!ZG3fdmzkH2VFeo#q2"]},"customers":{"required_absent":["R7!ZG3fdmzkH2VFeo#q2"],"required_present":[]},"all":{"required_absent":["R7!ZG3fdmzkH2VFeo#q2"],"required_present":[]}},"tags":["broad-quality","secret-family:password","variation:05"],"secret_fixture":{"family":"password","role":"must-detect"}}, + {"id":"broad-secret-password-preserve-05","language":"en","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad password variation.","text":"**Release metadata: password_hash_algorithm**","known_identities":[],"targets":[{"id":"value","kind":"secret","start":20,"end":43,"value":"password_hash_algorithm","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-password-preserve-05","recipe":"password","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["password_hash_algorithm"]},"customers":{"required_absent":[],"required_present":["password_hash_algorithm"]},"all":{"required_absent":[],"required_present":["password_hash_algorithm"]}},"tags":["broad-quality","secret-family:password","variation:05"],"secret_fixture":{"family":"password","role":"preserve"}}, + {"id":"broad-secret-password-must-detect-06","language":"en","script":"Latin","shape":"html","risk":"critical","reason":"Locked broad password variation.","text":"\u003cp\u003eStack trace captured credential R7!q6pS3EhkBn2F89#q2\u003c/p\u003e","known_identities":[],"targets":[{"id":"value","kind":"secret","start":35,"end":55,"value":"R7!q6pS3EhkBn2F89#q2","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-password-must-detect-06","recipe":"password","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["R7!q6pS3EhkBn2F89#q2"]},"customers":{"required_absent":["R7!q6pS3EhkBn2F89#q2"],"required_present":[]},"all":{"required_absent":["R7!q6pS3EhkBn2F89#q2"],"required_present":[]}},"tags":["broad-quality","secret-family:password","variation:06"],"secret_fixture":{"family":"password","role":"must-detect"}}, + {"id":"broad-secret-password-preserve-06","language":"en","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad password variation.","text":"\u003cp\u003ePublic verification material: password_hash_algorithm\u003c/p\u003e","known_identities":[],"targets":[{"id":"value","kind":"secret","start":33,"end":56,"value":"password_hash_algorithm","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-password-preserve-06","recipe":"password","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["password_hash_algorithm"]},"customers":{"required_absent":[],"required_present":["password_hash_algorithm"]},"all":{"required_absent":[],"required_present":["password_hash_algorithm"]}},"tags":["broad-quality","secret-family:password","variation:06"],"secret_fixture":{"family":"password","role":"preserve"}}, + {"id":"broad-secret-password-must-detect-07","language":"en","script":"Latin","shape":"quoted-reply","risk":"critical","reason":"Locked broad password variation.","text":"\u003e Wrapped message credential: R7!cSZWZU9CtuVJyR#q2","known_identities":[],"targets":[{"id":"value","kind":"secret","start":30,"end":50,"value":"R7!cSZWZU9CtuVJyR#q2","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-password-must-detect-07","recipe":"password","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["R7!cSZWZU9CtuVJyR#q2"]},"customers":{"required_absent":["R7!cSZWZU9CtuVJyR#q2"],"required_present":[]},"all":{"required_absent":["R7!cSZWZU9CtuVJyR#q2"],"required_present":[]}},"tags":["broad-quality","secret-family:password","variation:07"],"secret_fixture":{"family":"password","role":"must-detect"}}, + {"id":"broad-secret-password-preserve-07","language":"en","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad password variation.","text":"\u003e Troubleshooting reference: password_hash_algorithm","known_identities":[],"targets":[{"id":"value","kind":"secret","start":29,"end":52,"value":"password_hash_algorithm","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-password-preserve-07","recipe":"password","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["password_hash_algorithm"]},"customers":{"required_absent":[],"required_present":["password_hash_algorithm"]},"all":{"required_absent":[],"required_present":["password_hash_algorithm"]}},"tags":["broad-quality","secret-family:password","variation:07"],"secret_fixture":{"family":"password","role":"preserve"}}, + {"id":"broad-secret-password-must-detect-08","language":"en","script":"Latin","shape":"log","risk":"critical","reason":"Locked broad password variation.","text":"level=warn sample=8 message=\"Credential copied from a support reply: \" value=R7!mx8tVVT\nry7aHib#q2","known_identities":[],"targets":[{"id":"value","kind":"secret","start":77,"end":98,"value":"R7!mx8tVVT\nry7aHib#q2","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-password-must-detect-08","recipe":"password","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["R7!mx8tVVT\nry7aHib#q2"]},"customers":{"required_absent":["R7!mx8tVVT\nry7aHib#q2"],"required_present":[]},"all":{"required_absent":["R7!mx8tVVT\nry7aHib#q2"],"required_present":[]}},"tags":["broad-quality","secret-family:password","variation:08"],"secret_fixture":{"family":"password","role":"must-detect"}}, + {"id":"broad-secret-password-preserve-08","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad password variation.","text":"level=warn sample=8 message=\"Public configuration vocabulary: \" value=password_hash_algorithm","known_identities":[],"targets":[{"id":"value","kind":"secret","start":70,"end":93,"value":"password_hash_algorithm","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-password-preserve-08","recipe":"password","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["password_hash_algorithm"]},"customers":{"required_absent":[],"required_present":["password_hash_algorithm"]},"all":{"required_absent":[],"required_present":["password_hash_algorithm"]}},"tags":["broad-quality","secret-family:password","variation:08"],"secret_fixture":{"family":"password","role":"preserve"}}, + {"id":"broad-secret-password-must-detect-09","language":"en","script":"Latin","shape":"stack-trace","risk":"critical","reason":"Locked broad password variation.","text":"Trace[9]: Authorization header value: R7!JM8fUD9 C6q13SF#q2","known_identities":[],"targets":[{"id":"value","kind":"secret","start":38,"end":59,"value":"R7!JM8fUD9 C6q13SF#q2","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-password-must-detect-09","recipe":"password","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["R7!JM8fUD9 C6q13SF#q2"]},"customers":{"required_absent":["R7!JM8fUD9 C6q13SF#q2"],"required_present":[]},"all":{"required_absent":["R7!JM8fUD9 C6q13SF#q2"],"required_present":[]}},"tags":["broad-quality","secret-family:password","variation:09"],"secret_fixture":{"family":"password","role":"must-detect"}}, + {"id":"broad-secret-password-preserve-09","language":"en","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad password variation.","text":"Trace[9]: Documentation syntax: password_hash_algorithm","known_identities":[],"targets":[{"id":"value","kind":"secret","start":32,"end":55,"value":"password_hash_algorithm","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-password-preserve-09","recipe":"password","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["password_hash_algorithm"]},"customers":{"required_absent":[],"required_present":["password_hash_algorithm"]},"all":{"required_absent":[],"required_present":["password_hash_algorithm"]}},"tags":["broad-quality","secret-family:password","variation:09"],"secret_fixture":{"family":"password","role":"preserve"}}, + {"id":"broad-secret-password-must-detect-10","language":"en","script":"Latin","shape":"code","risk":"critical","reason":"Locked broad password variation.","text":"fixture_10 := `Log field auth_value=R7!A9LUtPq·3lOEEMb#q2`","known_identities":[],"targets":[{"id":"value","kind":"secret","start":36,"end":58,"value":"R7!A9LUtPq·3lOEEMb#q2","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-password-must-detect-10","recipe":"password","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["R7!A9LUtPq·3lOEEMb#q2"]},"customers":{"required_absent":["R7!A9LUtPq·3lOEEMb#q2"],"required_present":[]},"all":{"required_absent":["R7!A9LUtPq·3lOEEMb#q2"],"required_present":[]}},"tags":["broad-quality","secret-family:password","variation:10"],"secret_fixture":{"family":"password","role":"must-detect"}}, + {"id":"broad-secret-password-preserve-10","language":"en","script":"Latin","shape":"code","risk":"preservation","reason":"Locked broad password variation.","text":"fixture_10 := `Public operational identifier: password_hash_algorithm`","known_identities":[],"targets":[{"id":"value","kind":"secret","start":46,"end":69,"value":"password_hash_algorithm","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-password-preserve-10","recipe":"password","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["password_hash_algorithm"]},"customers":{"required_absent":[],"required_present":["password_hash_algorithm"]},"all":{"required_absent":[],"required_present":["password_hash_algorithm"]}},"tags":["broad-quality","secret-family:password","variation:10"],"secret_fixture":{"family":"password","role":"preserve"}}, + {"id":"broad-secret-password-must-detect-11","language":"en","script":"Latin","shape":"signature","risk":"critical","reason":"Locked broad password variation.","text":"--\nRotating this exposed value: R7!AYnnt3T\u003cwbr\u003e5tUgDKB#q2","known_identities":[],"targets":[{"id":"value","kind":"secret","start":32,"end":57,"value":"R7!AYnnt3T\u003cwbr\u003e5tUgDKB#q2","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-password-must-detect-11","recipe":"password","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["R7!AYnnt3T\u003cwbr\u003e5tUgDKB#q2"]},"customers":{"required_absent":["R7!AYnnt3T\u003cwbr\u003e5tUgDKB#q2"],"required_present":[]},"all":{"required_absent":["R7!AYnnt3T\u003cwbr\u003e5tUgDKB#q2"],"required_present":[]}},"tags":["broad-quality","secret-family:password","variation:11"],"secret_fixture":{"family":"password","role":"must-detect"}}, + {"id":"broad-secret-password-preserve-11","language":"en","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad password variation.","text":"--\nSchema field label: password_hash_algorithm","known_identities":[],"targets":[{"id":"value","kind":"secret","start":23,"end":46,"value":"password_hash_algorithm","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-password-preserve-11","recipe":"password","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["password_hash_algorithm"]},"customers":{"required_absent":[],"required_present":["password_hash_algorithm"]},"all":{"required_absent":[],"required_present":["password_hash_algorithm"]}},"tags":["broad-quality","secret-family:password","variation:11"],"secret_fixture":{"family":"password","role":"preserve"}}, + {"id":"broad-secret-password-must-detect-12","language":"en","script":"Latin","shape":"long-thread","risk":"critical","reason":"Locked broad password variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Quoted credential follows: R7!rkq0hj4**E1vDtD9#q2","known_identities":[],"targets":[{"id":"value","kind":"secret","start":507,"end":529,"value":"R7!rkq0hj4**E1vDtD9#q2","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-password-must-detect-12","recipe":"password","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["R7!rkq0hj4**E1vDtD9#q2"]},"customers":{"required_absent":["R7!rkq0hj4**E1vDtD9#q2"],"required_present":[]},"all":{"required_absent":["R7!rkq0hj4**E1vDtD9#q2"],"required_present":[]}},"tags":["broad-quality","secret-family:password","variation:12"],"secret_fixture":{"family":"password","role":"must-detect"}}, + {"id":"broad-secret-password-preserve-12","language":"en","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad password variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Non-confidential protocol token: password_hash_algorithm","known_identities":[],"targets":[{"id":"value","kind":"secret","start":513,"end":536,"value":"password_hash_algorithm","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-password-preserve-12","recipe":"password","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["password_hash_algorithm"]},"customers":{"required_absent":[],"required_present":["password_hash_algorithm"]},"all":{"required_absent":[],"required_present":["password_hash_algorithm"]}},"tags":["broad-quality","secret-family:password","variation:12"],"secret_fixture":{"family":"password","role":"preserve"}}, + {"id":"broad-secret-password-must-detect-13","language":"en","script":"Latin","shape":"command-payload","risk":"critical","reason":"Locked broad password variation.","text":"--sample=13 --message=\"Configuration secret: \" --value=R7!DRPtJsIltcMagl#q2 / R7!DRPtJsIltcMagl#q2","known_identities":[],"targets":[{"id":"value","kind":"secret","start":55,"end":98,"value":"R7!DRPtJsIltcMagl#q2 / R7!DRPtJsIltcMagl#q2","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-password-must-detect-13","recipe":"password","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["R7!DRPtJsIltcMagl#q2 / R7!DRPtJsIltcMagl#q2"]},"customers":{"required_absent":["R7!DRPtJsIltcMagl#q2 / R7!DRPtJsIltcMagl#q2"],"required_present":[]},"all":{"required_absent":["R7!DRPtJsIltcMagl#q2 / R7!DRPtJsIltcMagl#q2"],"required_present":[]}},"tags":["broad-quality","secret-family:password","variation:13"],"secret_fixture":{"family":"password","role":"must-detect"}}, + {"id":"broad-secret-password-preserve-13","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad password variation.","text":"--sample=13 --message=\"Release metadata: \" --value=password_hash_algorithm","known_identities":[],"targets":[{"id":"value","kind":"secret","start":51,"end":74,"value":"password_hash_algorithm","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-password-preserve-13","recipe":"password","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["password_hash_algorithm"]},"customers":{"required_absent":[],"required_present":["password_hash_algorithm"]},"all":{"required_absent":[],"required_present":["password_hash_algorithm"]}},"tags":["broad-quality","secret-family:password","variation:13"],"secret_fixture":{"family":"password","role":"preserve"}}, + {"id":"broad-secret-jwt-must-detect-00","language":"en","script":"Latin","shape":"prose","risk":"critical","reason":"Locked broad jwt variation.","text":"Credential copied from a support reply: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.t3nxK_bJWs7ufwyuAZF1fqmvfP1RzZQ-4PkHqkzFx4P","known_identities":[],"targets":[{"id":"value","kind":"secret","start":40,"end":183,"value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.t3nxK_bJWs7ufwyuAZF1fqmvfP1RzZQ-4PkHqkzFx4P","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-jwt-must-detect-00","recipe":"jwt","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.t3nxK_bJWs7ufwyuAZF1fqmvfP1RzZQ-4PkHqkzFx4P"]},"customers":{"required_absent":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.t3nxK_bJWs7ufwyuAZF1fqmvfP1RzZQ-4PkHqkzFx4P"],"required_present":[]},"all":{"required_absent":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.t3nxK_bJWs7ufwyuAZF1fqmvfP1RzZQ-4PkHqkzFx4P"],"required_present":[]}},"tags":["broad-quality","secret-family:jwt","variation:00"],"secret_fixture":{"family":"jwt","role":"must-detect"}}, + {"id":"broad-secret-jwt-preserve-00","language":"en","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad jwt variation.","text":"Public configuration vocabulary: header.payload.signature","known_identities":[],"targets":[{"id":"value","kind":"secret","start":33,"end":57,"value":"header.payload.signature","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-jwt-preserve-00","recipe":"jwt","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["header.payload.signature"]},"customers":{"required_absent":[],"required_present":["header.payload.signature"]},"all":{"required_absent":[],"required_present":["header.payload.signature"]}},"tags":["broad-quality","secret-family:jwt","variation:00"],"secret_fixture":{"family":"jwt","role":"preserve"}}, + {"id":"broad-secret-jwt-must-detect-01","language":"en","script":"Latin","shape":"json","risk":"critical","reason":"Locked broad jwt variation.","text":"{\"message_1\":\"Authorization header value: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.GibYxrjo2wQOgKswIwwuOcABpzyFmrHtIYJFpyHJzyE\"}","known_identities":[],"targets":[{"id":"value","kind":"secret","start":42,"end":185,"value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.GibYxrjo2wQOgKswIwwuOcABpzyFmrHtIYJFpyHJzyE","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-jwt-must-detect-01","recipe":"jwt","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.GibYxrjo2wQOgKswIwwuOcABpzyFmrHtIYJFpyHJzyE"]},"customers":{"required_absent":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.GibYxrjo2wQOgKswIwwuOcABpzyFmrHtIYJFpyHJzyE"],"required_present":[]},"all":{"required_absent":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.GibYxrjo2wQOgKswIwwuOcABpzyFmrHtIYJFpyHJzyE"],"required_present":[]}},"tags":["broad-quality","secret-family:jwt","variation:01"],"secret_fixture":{"family":"jwt","role":"must-detect"}}, + {"id":"broad-secret-jwt-preserve-01","language":"en","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad jwt variation.","text":"{\"message_1\":\"Documentation syntax: header.payload.signature\"}","known_identities":[],"targets":[{"id":"value","kind":"secret","start":36,"end":60,"value":"header.payload.signature","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-jwt-preserve-01","recipe":"jwt","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["header.payload.signature"]},"customers":{"required_absent":[],"required_present":["header.payload.signature"]},"all":{"required_absent":[],"required_present":["header.payload.signature"]}},"tags":["broad-quality","secret-family:jwt","variation:01"],"secret_fixture":{"family":"jwt","role":"preserve"}}, + {"id":"broad-secret-jwt-must-detect-02","language":"en","script":"Latin","shape":"yaml","risk":"critical","reason":"Locked broad jwt variation.","text":"message_2: Log field auth_value=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.NuiKG6VM51a_jbOREdXnf27k_exsv1vah5ZIt7d0s7S","known_identities":[],"targets":[{"id":"value","kind":"secret","start":32,"end":175,"value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.NuiKG6VM51a_jbOREdXnf27k_exsv1vah5ZIt7d0s7S","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-jwt-must-detect-02","recipe":"jwt","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.NuiKG6VM51a_jbOREdXnf27k_exsv1vah5ZIt7d0s7S"]},"customers":{"required_absent":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.NuiKG6VM51a_jbOREdXnf27k_exsv1vah5ZIt7d0s7S"],"required_present":[]},"all":{"required_absent":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.NuiKG6VM51a_jbOREdXnf27k_exsv1vah5ZIt7d0s7S"],"required_present":[]}},"tags":["broad-quality","secret-family:jwt","variation:02"],"secret_fixture":{"family":"jwt","role":"must-detect"}}, + {"id":"broad-secret-jwt-preserve-02","language":"en","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad jwt variation.","text":"message_2: Public operational identifier: header.payload.signature","known_identities":[],"targets":[{"id":"value","kind":"secret","start":42,"end":66,"value":"header.payload.signature","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-jwt-preserve-02","recipe":"jwt","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["header.payload.signature"]},"customers":{"required_absent":[],"required_present":["header.payload.signature"]},"all":{"required_absent":[],"required_present":["header.payload.signature"]}},"tags":["broad-quality","secret-family:jwt","variation:02"],"secret_fixture":{"family":"jwt","role":"preserve"}}, + {"id":"broad-secret-jwt-must-detect-03","language":"en","script":"Latin","shape":"shell","risk":"critical","reason":"Locked broad jwt variation.","text":"MESSAGE_3='Rotating this exposed value: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.gdtE6OStDC0pZr-GrW5qKGkGhxb8LfKWAFbwk0MhjPj'","known_identities":[],"targets":[{"id":"value","kind":"secret","start":40,"end":183,"value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.gdtE6OStDC0pZr-GrW5qKGkGhxb8LfKWAFbwk0MhjPj","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-jwt-must-detect-03","recipe":"jwt","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.gdtE6OStDC0pZr-GrW5qKGkGhxb8LfKWAFbwk0MhjPj"]},"customers":{"required_absent":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.gdtE6OStDC0pZr-GrW5qKGkGhxb8LfKWAFbwk0MhjPj"],"required_present":[]},"all":{"required_absent":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.gdtE6OStDC0pZr-GrW5qKGkGhxb8LfKWAFbwk0MhjPj"],"required_present":[]}},"tags":["broad-quality","secret-family:jwt","variation:03"],"secret_fixture":{"family":"jwt","role":"must-detect"}}, + {"id":"broad-secret-jwt-preserve-03","language":"en","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad jwt variation.","text":"MESSAGE_3='Schema field label: header.payload.signature'","known_identities":[],"targets":[{"id":"value","kind":"secret","start":31,"end":55,"value":"header.payload.signature","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-jwt-preserve-03","recipe":"jwt","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["header.payload.signature"]},"customers":{"required_absent":[],"required_present":["header.payload.signature"]},"all":{"required_absent":[],"required_present":["header.payload.signature"]}},"tags":["broad-quality","secret-family:jwt","variation:03"],"secret_fixture":{"family":"jwt","role":"preserve"}}, + {"id":"broad-secret-jwt-must-detect-04","language":"en","script":"Latin","shape":"url","risk":"critical","reason":"Locked broad jwt variation.","text":"endpoint=https://192.0.2.10/4 ; Quoted credential follows: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.nA_SECP1iFm0dupuKuAFYVjgt_l6bXPdDqCPs9MyHlg","known_identities":[],"targets":[{"id":"value","kind":"secret","start":59,"end":202,"value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.nA_SECP1iFm0dupuKuAFYVjgt_l6bXPdDqCPs9MyHlg","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-jwt-must-detect-04","recipe":"jwt","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.nA_SECP1iFm0dupuKuAFYVjgt_l6bXPdDqCPs9MyHlg"]},"customers":{"required_absent":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.nA_SECP1iFm0dupuKuAFYVjgt_l6bXPdDqCPs9MyHlg"],"required_present":[]},"all":{"required_absent":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.nA_SECP1iFm0dupuKuAFYVjgt_l6bXPdDqCPs9MyHlg"],"required_present":[]}},"tags":["broad-quality","secret-family:jwt","variation:04"],"secret_fixture":{"family":"jwt","role":"must-detect"}}, + {"id":"broad-secret-jwt-preserve-04","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad jwt variation.","text":"endpoint=https://192.0.2.10/4 ; Non-confidential protocol token: header.payload.signature","known_identities":[],"targets":[{"id":"value","kind":"secret","start":65,"end":89,"value":"header.payload.signature","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-jwt-preserve-04","recipe":"jwt","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["header.payload.signature"]},"customers":{"required_absent":[],"required_present":["header.payload.signature"]},"all":{"required_absent":[],"required_present":["header.payload.signature"]}},"tags":["broad-quality","secret-family:jwt","variation:04"],"secret_fixture":{"family":"jwt","role":"preserve"}}, + {"id":"broad-secret-jwt-must-detect-05","language":"en","script":"Latin","shape":"markdown","risk":"critical","reason":"Locked broad jwt variation.","text":"**Configuration secret: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.MtidwEprXkTKfpjZY1NXm157h5nn_tC18dhdY9hC0Wp**","known_identities":[],"targets":[{"id":"value","kind":"secret","start":24,"end":167,"value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.MtidwEprXkTKfpjZY1NXm157h5nn_tC18dhdY9hC0Wp","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-jwt-must-detect-05","recipe":"jwt","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.MtidwEprXkTKfpjZY1NXm157h5nn_tC18dhdY9hC0Wp"]},"customers":{"required_absent":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.MtidwEprXkTKfpjZY1NXm157h5nn_tC18dhdY9hC0Wp"],"required_present":[]},"all":{"required_absent":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.MtidwEprXkTKfpjZY1NXm157h5nn_tC18dhdY9hC0Wp"],"required_present":[]}},"tags":["broad-quality","secret-family:jwt","variation:05"],"secret_fixture":{"family":"jwt","role":"must-detect"}}, + {"id":"broad-secret-jwt-preserve-05","language":"en","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad jwt variation.","text":"**Release metadata: header.payload.signature**","known_identities":[],"targets":[{"id":"value","kind":"secret","start":20,"end":44,"value":"header.payload.signature","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-jwt-preserve-05","recipe":"jwt","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["header.payload.signature"]},"customers":{"required_absent":[],"required_present":["header.payload.signature"]},"all":{"required_absent":[],"required_present":["header.payload.signature"]}},"tags":["broad-quality","secret-family:jwt","variation:05"],"secret_fixture":{"family":"jwt","role":"preserve"}}, + {"id":"broad-secret-jwt-must-detect-06","language":"en","script":"Latin","shape":"html","risk":"critical","reason":"Locked broad jwt variation.","text":"\u003cp\u003eStack trace captured credential eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.Nj2GjLCUrMkwcIT0I_O5tH4KepBDsxa7pTJkNqQ2k7K\u003c/p\u003e","known_identities":[],"targets":[{"id":"value","kind":"secret","start":35,"end":178,"value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.Nj2GjLCUrMkwcIT0I_O5tH4KepBDsxa7pTJkNqQ2k7K","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-jwt-must-detect-06","recipe":"jwt","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.Nj2GjLCUrMkwcIT0I_O5tH4KepBDsxa7pTJkNqQ2k7K"]},"customers":{"required_absent":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.Nj2GjLCUrMkwcIT0I_O5tH4KepBDsxa7pTJkNqQ2k7K"],"required_present":[]},"all":{"required_absent":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.Nj2GjLCUrMkwcIT0I_O5tH4KepBDsxa7pTJkNqQ2k7K"],"required_present":[]}},"tags":["broad-quality","secret-family:jwt","variation:06"],"secret_fixture":{"family":"jwt","role":"must-detect"}}, + {"id":"broad-secret-jwt-preserve-06","language":"en","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad jwt variation.","text":"\u003cp\u003ePublic verification material: header.payload.signature\u003c/p\u003e","known_identities":[],"targets":[{"id":"value","kind":"secret","start":33,"end":57,"value":"header.payload.signature","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-jwt-preserve-06","recipe":"jwt","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["header.payload.signature"]},"customers":{"required_absent":[],"required_present":["header.payload.signature"]},"all":{"required_absent":[],"required_present":["header.payload.signature"]}},"tags":["broad-quality","secret-family:jwt","variation:06"],"secret_fixture":{"family":"jwt","role":"preserve"}}, + {"id":"broad-secret-jwt-must-detect-07","language":"en","script":"Latin","shape":"quoted-reply","risk":"critical","reason":"Locked broad jwt variation.","text":"\u003e Wrapped message credential: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.riwLbg02LXMUp8MllazvkGyVbv4lhHHbVRNIIJvgZXf","known_identities":[],"targets":[{"id":"value","kind":"secret","start":30,"end":173,"value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.riwLbg02LXMUp8MllazvkGyVbv4lhHHbVRNIIJvgZXf","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-jwt-must-detect-07","recipe":"jwt","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.riwLbg02LXMUp8MllazvkGyVbv4lhHHbVRNIIJvgZXf"]},"customers":{"required_absent":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.riwLbg02LXMUp8MllazvkGyVbv4lhHHbVRNIIJvgZXf"],"required_present":[]},"all":{"required_absent":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.riwLbg02LXMUp8MllazvkGyVbv4lhHHbVRNIIJvgZXf"],"required_present":[]}},"tags":["broad-quality","secret-family:jwt","variation:07"],"secret_fixture":{"family":"jwt","role":"must-detect"}}, + {"id":"broad-secret-jwt-preserve-07","language":"en","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad jwt variation.","text":"\u003e Troubleshooting reference: header.payload.signature","known_identities":[],"targets":[{"id":"value","kind":"secret","start":29,"end":53,"value":"header.payload.signature","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-jwt-preserve-07","recipe":"jwt","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["header.payload.signature"]},"customers":{"required_absent":[],"required_present":["header.payload.signature"]},"all":{"required_absent":[],"required_present":["header.payload.signature"]}},"tags":["broad-quality","secret-family:jwt","variation:07"],"secret_fixture":{"family":"jwt","role":"preserve"}}, + {"id":"broad-secret-jwt-must-detect-08","language":"en","script":"Latin","shape":"log","risk":"critical","reason":"Locked broad jwt variation.","text":"level=warn sample=8 message=\"Credential copied from a support reply: \" value=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLC\nJhdWQiOiJwcml2YWN5LWV2YWwifQ.j6vl6f8em7xBCPfS15WYKnzZPdm8nfBWPtBXQJs0g6C","known_identities":[],"targets":[{"id":"value","kind":"secret","start":77,"end":221,"value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLC\nJhdWQiOiJwcml2YWN5LWV2YWwifQ.j6vl6f8em7xBCPfS15WYKnzZPdm8nfBWPtBXQJs0g6C","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-jwt-must-detect-08","recipe":"jwt","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLC\nJhdWQiOiJwcml2YWN5LWV2YWwifQ.j6vl6f8em7xBCPfS15WYKnzZPdm8nfBWPtBXQJs0g6C"]},"customers":{"required_absent":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLC\nJhdWQiOiJwcml2YWN5LWV2YWwifQ.j6vl6f8em7xBCPfS15WYKnzZPdm8nfBWPtBXQJs0g6C"],"required_present":[]},"all":{"required_absent":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLC\nJhdWQiOiJwcml2YWN5LWV2YWwifQ.j6vl6f8em7xBCPfS15WYKnzZPdm8nfBWPtBXQJs0g6C"],"required_present":[]}},"tags":["broad-quality","secret-family:jwt","variation:08"],"secret_fixture":{"family":"jwt","role":"must-detect"}}, + {"id":"broad-secret-jwt-preserve-08","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad jwt variation.","text":"level=warn sample=8 message=\"Public configuration vocabulary: \" value=header.payload.signature","known_identities":[],"targets":[{"id":"value","kind":"secret","start":70,"end":94,"value":"header.payload.signature","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-jwt-preserve-08","recipe":"jwt","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["header.payload.signature"]},"customers":{"required_absent":[],"required_present":["header.payload.signature"]},"all":{"required_absent":[],"required_present":["header.payload.signature"]}},"tags":["broad-quality","secret-family:jwt","variation:08"],"secret_fixture":{"family":"jwt","role":"preserve"}}, + {"id":"broad-secret-jwt-must-detect-09","language":"en","script":"Latin","shape":"stack-trace","risk":"critical","reason":"Locked broad jwt variation.","text":"Trace[9]: Authorization header value: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLC JhdWQiOiJwcml2YWN5LWV2YWwifQ.OTh-jgF-KjbG2aeoY1KYyiGKQ8SS7ZNnXGrQfwKz9G5","known_identities":[],"targets":[{"id":"value","kind":"secret","start":38,"end":182,"value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLC JhdWQiOiJwcml2YWN5LWV2YWwifQ.OTh-jgF-KjbG2aeoY1KYyiGKQ8SS7ZNnXGrQfwKz9G5","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-jwt-must-detect-09","recipe":"jwt","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLC JhdWQiOiJwcml2YWN5LWV2YWwifQ.OTh-jgF-KjbG2aeoY1KYyiGKQ8SS7ZNnXGrQfwKz9G5"]},"customers":{"required_absent":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLC JhdWQiOiJwcml2YWN5LWV2YWwifQ.OTh-jgF-KjbG2aeoY1KYyiGKQ8SS7ZNnXGrQfwKz9G5"],"required_present":[]},"all":{"required_absent":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLC JhdWQiOiJwcml2YWN5LWV2YWwifQ.OTh-jgF-KjbG2aeoY1KYyiGKQ8SS7ZNnXGrQfwKz9G5"],"required_present":[]}},"tags":["broad-quality","secret-family:jwt","variation:09"],"secret_fixture":{"family":"jwt","role":"must-detect"}}, + {"id":"broad-secret-jwt-preserve-09","language":"en","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad jwt variation.","text":"Trace[9]: Documentation syntax: header.payload.signature","known_identities":[],"targets":[{"id":"value","kind":"secret","start":32,"end":56,"value":"header.payload.signature","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-jwt-preserve-09","recipe":"jwt","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["header.payload.signature"]},"customers":{"required_absent":[],"required_present":["header.payload.signature"]},"all":{"required_absent":[],"required_present":["header.payload.signature"]}},"tags":["broad-quality","secret-family:jwt","variation:09"],"secret_fixture":{"family":"jwt","role":"preserve"}}, + {"id":"broad-secret-jwt-must-detect-10","language":"en","script":"Latin","shape":"code","risk":"critical","reason":"Locked broad jwt variation.","text":"fixture_10 := `Log field auth_value=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLC·JhdWQiOiJwcml2YWN5LWV2YWwifQ.x31Du8ztpi4OJWt83kbO_b1g7ijOJ2GnLh5uAvWm3ng`","known_identities":[],"targets":[{"id":"value","kind":"secret","start":36,"end":181,"value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLC·JhdWQiOiJwcml2YWN5LWV2YWwifQ.x31Du8ztpi4OJWt83kbO_b1g7ijOJ2GnLh5uAvWm3ng","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-jwt-must-detect-10","recipe":"jwt","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLC·JhdWQiOiJwcml2YWN5LWV2YWwifQ.x31Du8ztpi4OJWt83kbO_b1g7ijOJ2GnLh5uAvWm3ng"]},"customers":{"required_absent":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLC·JhdWQiOiJwcml2YWN5LWV2YWwifQ.x31Du8ztpi4OJWt83kbO_b1g7ijOJ2GnLh5uAvWm3ng"],"required_present":[]},"all":{"required_absent":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLC·JhdWQiOiJwcml2YWN5LWV2YWwifQ.x31Du8ztpi4OJWt83kbO_b1g7ijOJ2GnLh5uAvWm3ng"],"required_present":[]}},"tags":["broad-quality","secret-family:jwt","variation:10"],"secret_fixture":{"family":"jwt","role":"must-detect"}}, + {"id":"broad-secret-jwt-preserve-10","language":"en","script":"Latin","shape":"code","risk":"preservation","reason":"Locked broad jwt variation.","text":"fixture_10 := `Public operational identifier: header.payload.signature`","known_identities":[],"targets":[{"id":"value","kind":"secret","start":46,"end":70,"value":"header.payload.signature","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-jwt-preserve-10","recipe":"jwt","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["header.payload.signature"]},"customers":{"required_absent":[],"required_present":["header.payload.signature"]},"all":{"required_absent":[],"required_present":["header.payload.signature"]}},"tags":["broad-quality","secret-family:jwt","variation:10"],"secret_fixture":{"family":"jwt","role":"preserve"}}, + {"id":"broad-secret-jwt-must-detect-11","language":"en","script":"Latin","shape":"signature","risk":"critical","reason":"Locked broad jwt variation.","text":"--\nRotating this exposed value: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLC\u003cwbr\u003eJhdWQiOiJwcml2YWN5LWV2YWwifQ.gnfSr6G2cagWesXqwGyoyaMKViUUZbx1voQYdEmJzeR","known_identities":[],"targets":[{"id":"value","kind":"secret","start":32,"end":180,"value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLC\u003cwbr\u003eJhdWQiOiJwcml2YWN5LWV2YWwifQ.gnfSr6G2cagWesXqwGyoyaMKViUUZbx1voQYdEmJzeR","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-jwt-must-detect-11","recipe":"jwt","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLC\u003cwbr\u003eJhdWQiOiJwcml2YWN5LWV2YWwifQ.gnfSr6G2cagWesXqwGyoyaMKViUUZbx1voQYdEmJzeR"]},"customers":{"required_absent":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLC\u003cwbr\u003eJhdWQiOiJwcml2YWN5LWV2YWwifQ.gnfSr6G2cagWesXqwGyoyaMKViUUZbx1voQYdEmJzeR"],"required_present":[]},"all":{"required_absent":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLC\u003cwbr\u003eJhdWQiOiJwcml2YWN5LWV2YWwifQ.gnfSr6G2cagWesXqwGyoyaMKViUUZbx1voQYdEmJzeR"],"required_present":[]}},"tags":["broad-quality","secret-family:jwt","variation:11"],"secret_fixture":{"family":"jwt","role":"must-detect"}}, + {"id":"broad-secret-jwt-preserve-11","language":"en","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad jwt variation.","text":"--\nSchema field label: header.payload.signature","known_identities":[],"targets":[{"id":"value","kind":"secret","start":23,"end":47,"value":"header.payload.signature","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-jwt-preserve-11","recipe":"jwt","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["header.payload.signature"]},"customers":{"required_absent":[],"required_present":["header.payload.signature"]},"all":{"required_absent":[],"required_present":["header.payload.signature"]}},"tags":["broad-quality","secret-family:jwt","variation:11"],"secret_fixture":{"family":"jwt","role":"preserve"}}, + {"id":"broad-secret-jwt-must-detect-12","language":"en","script":"Latin","shape":"long-thread","risk":"critical","reason":"Locked broad jwt variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Quoted credential follows: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLC**JhdWQiOiJwcml2YWN5LWV2YWwifQ.FTA-ElCjxUQIg_9KSQhbUrJU1A4bo1JNvti8ntJwp2c","known_identities":[],"targets":[{"id":"value","kind":"secret","start":507,"end":652,"value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLC**JhdWQiOiJwcml2YWN5LWV2YWwifQ.FTA-ElCjxUQIg_9KSQhbUrJU1A4bo1JNvti8ntJwp2c","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-jwt-must-detect-12","recipe":"jwt","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLC**JhdWQiOiJwcml2YWN5LWV2YWwifQ.FTA-ElCjxUQIg_9KSQhbUrJU1A4bo1JNvti8ntJwp2c"]},"customers":{"required_absent":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLC**JhdWQiOiJwcml2YWN5LWV2YWwifQ.FTA-ElCjxUQIg_9KSQhbUrJU1A4bo1JNvti8ntJwp2c"],"required_present":[]},"all":{"required_absent":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLC**JhdWQiOiJwcml2YWN5LWV2YWwifQ.FTA-ElCjxUQIg_9KSQhbUrJU1A4bo1JNvti8ntJwp2c"],"required_present":[]}},"tags":["broad-quality","secret-family:jwt","variation:12"],"secret_fixture":{"family":"jwt","role":"must-detect"}}, + {"id":"broad-secret-jwt-preserve-12","language":"en","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad jwt variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Non-confidential protocol token: header.payload.signature","known_identities":[],"targets":[{"id":"value","kind":"secret","start":513,"end":537,"value":"header.payload.signature","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-jwt-preserve-12","recipe":"jwt","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["header.payload.signature"]},"customers":{"required_absent":[],"required_present":["header.payload.signature"]},"all":{"required_absent":[],"required_present":["header.payload.signature"]}},"tags":["broad-quality","secret-family:jwt","variation:12"],"secret_fixture":{"family":"jwt","role":"preserve"}}, + {"id":"broad-secret-jwt-must-detect-13","language":"en","script":"Latin","shape":"command-payload","risk":"critical","reason":"Locked broad jwt variation.","text":"--sample=13 --message=\"Configuration secret: \" --value=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ._i31w5ztk56cJGVeaksOsLpeqnBIbHrZ7bu6BSXwnMc / eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ._i31w5ztk56cJGVeaksOsLpeqnBIbHrZ7bu6BSXwnMc","known_identities":[],"targets":[{"id":"value","kind":"secret","start":55,"end":344,"value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ._i31w5ztk56cJGVeaksOsLpeqnBIbHrZ7bu6BSXwnMc / eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ._i31w5ztk56cJGVeaksOsLpeqnBIbHrZ7bu6BSXwnMc","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-jwt-must-detect-13","recipe":"jwt","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ._i31w5ztk56cJGVeaksOsLpeqnBIbHrZ7bu6BSXwnMc / eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ._i31w5ztk56cJGVeaksOsLpeqnBIbHrZ7bu6BSXwnMc"]},"customers":{"required_absent":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ._i31w5ztk56cJGVeaksOsLpeqnBIbHrZ7bu6BSXwnMc / eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ._i31w5ztk56cJGVeaksOsLpeqnBIbHrZ7bu6BSXwnMc"],"required_present":[]},"all":{"required_absent":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ._i31w5ztk56cJGVeaksOsLpeqnBIbHrZ7bu6BSXwnMc / eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ._i31w5ztk56cJGVeaksOsLpeqnBIbHrZ7bu6BSXwnMc"],"required_present":[]}},"tags":["broad-quality","secret-family:jwt","variation:13"],"secret_fixture":{"family":"jwt","role":"must-detect"}}, + {"id":"broad-secret-jwt-preserve-13","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad jwt variation.","text":"--sample=13 --message=\"Release metadata: \" --value=header.payload.signature","known_identities":[],"targets":[{"id":"value","kind":"secret","start":51,"end":75,"value":"header.payload.signature","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-jwt-preserve-13","recipe":"jwt","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["header.payload.signature"]},"customers":{"required_absent":[],"required_present":["header.payload.signature"]},"all":{"required_absent":[],"required_present":["header.payload.signature"]}},"tags":["broad-quality","secret-family:jwt","variation:13"],"secret_fixture":{"family":"jwt","role":"preserve"}}, + {"id":"broad-secret-one-time-code-must-detect-00","language":"en","script":"Latin","shape":"prose","risk":"critical","reason":"Locked broad one-time-code variation.","text":"Credential copied from a support reply: 208007","known_identities":[],"targets":[{"id":"value","kind":"secret","start":40,"end":46,"value":"208007","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-one-time-code-must-detect-00","recipe":"one-time-code","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["208007"]},"customers":{"required_absent":["208007"],"required_present":[]},"all":{"required_absent":["208007"],"required_present":[]}},"tags":["broad-quality","secret-family:one-time-code","variation:00"],"secret_fixture":{"family":"one-time-code","role":"must-detect"}}, + {"id":"broad-secret-one-time-code-preserve-00","language":"en","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad one-time-code variation.","text":"Public configuration vocabulary: 61125448","known_identities":[],"targets":[{"id":"value","kind":"secret","start":33,"end":41,"value":"61125448","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-one-time-code-preserve-00","recipe":"one-time-code","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["61125448"]},"customers":{"required_absent":[],"required_present":["61125448"]},"all":{"required_absent":[],"required_present":["61125448"]}},"tags":["broad-quality","secret-family:one-time-code","variation:00"],"secret_fixture":{"family":"one-time-code","role":"preserve"}}, + {"id":"broad-secret-one-time-code-must-detect-01","language":"en","script":"Latin","shape":"json","risk":"critical","reason":"Locked broad one-time-code variation.","text":"{\"message_1\":\"Authorization header value: 16216825\"}","known_identities":[],"targets":[{"id":"value","kind":"secret","start":42,"end":50,"value":"16216825","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-one-time-code-must-detect-01","recipe":"one-time-code","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["16216825"]},"customers":{"required_absent":["16216825"],"required_present":[]},"all":{"required_absent":["16216825"],"required_present":[]}},"tags":["broad-quality","secret-family:one-time-code","variation:01"],"secret_fixture":{"family":"one-time-code","role":"must-detect"}}, + {"id":"broad-secret-one-time-code-preserve-01","language":"en","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad one-time-code variation.","text":"{\"message_1\":\"Documentation syntax: RFC-530958\"}","known_identities":[],"targets":[{"id":"value","kind":"secret","start":36,"end":46,"value":"RFC-530958","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-one-time-code-preserve-01","recipe":"one-time-code","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["RFC-530958"]},"customers":{"required_absent":[],"required_present":["RFC-530958"]},"all":{"required_absent":[],"required_present":["RFC-530958"]}},"tags":["broad-quality","secret-family:one-time-code","variation:01"],"secret_fixture":{"family":"one-time-code","role":"preserve"}}, + {"id":"broad-secret-one-time-code-must-detect-02","language":"en","script":"Latin","shape":"yaml","risk":"critical","reason":"Locked broad one-time-code variation.","text":"message_2: Log field auth_value=0073","known_identities":[],"targets":[{"id":"value","kind":"secret","start":32,"end":36,"value":"0073","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-one-time-code-must-detect-02","recipe":"one-time-code","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["0073"]},"customers":{"required_absent":["0073"],"required_present":[]},"all":{"required_absent":["0073"],"required_present":[]}},"tags":["broad-quality","secret-family:one-time-code","variation:02"],"secret_fixture":{"family":"one-time-code","role":"must-detect"}}, + {"id":"broad-secret-one-time-code-preserve-02","language":"en","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad one-time-code variation.","text":"message_2: Public operational identifier: 9915.8353","known_identities":[],"targets":[{"id":"value","kind":"secret","start":42,"end":51,"value":"9915.8353","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-one-time-code-preserve-02","recipe":"one-time-code","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["9915.8353"]},"customers":{"required_absent":[],"required_present":["9915.8353"]},"all":{"required_absent":[],"required_present":["9915.8353"]}},"tags":["broad-quality","secret-family:one-time-code","variation:02"],"secret_fixture":{"family":"one-time-code","role":"preserve"}}, + {"id":"broad-secret-one-time-code-must-detect-03","language":"en","script":"Latin","shape":"shell","risk":"critical","reason":"Locked broad one-time-code variation.","text":"MESSAGE_3='Rotating this exposed value: 39FZ-V5K0'","known_identities":[],"targets":[{"id":"value","kind":"secret","start":40,"end":49,"value":"39FZ-V5K0","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-one-time-code-must-detect-03","recipe":"one-time-code","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["39FZ-V5K0"]},"customers":{"required_absent":["39FZ-V5K0"],"required_present":[]},"all":{"required_absent":["39FZ-V5K0"],"required_present":[]}},"tags":["broad-quality","secret-family:one-time-code","variation:03"],"secret_fixture":{"family":"one-time-code","role":"must-detect"}}, + {"id":"broad-secret-one-time-code-preserve-03","language":"en","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad one-time-code variation.","text":"MESSAGE_3='Schema field label: 25047951'","known_identities":[],"targets":[{"id":"value","kind":"secret","start":31,"end":39,"value":"25047951","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-one-time-code-preserve-03","recipe":"one-time-code","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["25047951"]},"customers":{"required_absent":[],"required_present":["25047951"]},"all":{"required_absent":[],"required_present":["25047951"]}},"tags":["broad-quality","secret-family:one-time-code","variation:03"],"secret_fixture":{"family":"one-time-code","role":"preserve"}}, + {"id":"broad-secret-one-time-code-must-detect-04","language":"en","script":"Latin","shape":"url","risk":"critical","reason":"Locked broad one-time-code variation.","text":"endpoint=https://192.0.2.10/4 ; Quoted credential follows: Tmp!CKCVLIS8uF","known_identities":[],"targets":[{"id":"value","kind":"secret","start":59,"end":73,"value":"Tmp!CKCVLIS8uF","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-one-time-code-must-detect-04","recipe":"one-time-code","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Tmp!CKCVLIS8uF"]},"customers":{"required_absent":["Tmp!CKCVLIS8uF"],"required_present":[]},"all":{"required_absent":["Tmp!CKCVLIS8uF"],"required_present":[]}},"tags":["broad-quality","secret-family:one-time-code","variation:04"],"secret_fixture":{"family":"one-time-code","role":"must-detect"}}, + {"id":"broad-secret-one-time-code-preserve-04","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad one-time-code variation.","text":"endpoint=https://192.0.2.10/4 ; Non-confidential protocol token: RFC-236729","known_identities":[],"targets":[{"id":"value","kind":"secret","start":65,"end":75,"value":"RFC-236729","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-one-time-code-preserve-04","recipe":"one-time-code","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["RFC-236729"]},"customers":{"required_absent":[],"required_present":["RFC-236729"]},"all":{"required_absent":[],"required_present":["RFC-236729"]}},"tags":["broad-quality","secret-family:one-time-code","variation:04"],"secret_fixture":{"family":"one-time-code","role":"preserve"}}, + {"id":"broad-secret-one-time-code-must-detect-05","language":"en","script":"Latin","shape":"markdown","risk":"critical","reason":"Locked broad one-time-code variation.","text":"**Configuration secret: 035714**","known_identities":[],"targets":[{"id":"value","kind":"secret","start":24,"end":30,"value":"035714","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-one-time-code-must-detect-05","recipe":"one-time-code","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["035714"]},"customers":{"required_absent":["035714"],"required_present":[]},"all":{"required_absent":["035714"],"required_present":[]}},"tags":["broad-quality","secret-family:one-time-code","variation:05"],"secret_fixture":{"family":"one-time-code","role":"must-detect"}}, + {"id":"broad-secret-one-time-code-preserve-05","language":"en","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad one-time-code variation.","text":"**Release metadata: 2005.0700**","known_identities":[],"targets":[{"id":"value","kind":"secret","start":20,"end":29,"value":"2005.0700","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-one-time-code-preserve-05","recipe":"one-time-code","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["2005.0700"]},"customers":{"required_absent":[],"required_present":["2005.0700"]},"all":{"required_absent":[],"required_present":["2005.0700"]}},"tags":["broad-quality","secret-family:one-time-code","variation:05"],"secret_fixture":{"family":"one-time-code","role":"preserve"}}, + {"id":"broad-secret-one-time-code-must-detect-06","language":"en","script":"Latin","shape":"html","risk":"critical","reason":"Locked broad one-time-code variation.","text":"\u003cp\u003eStack trace captured credential 60474487\u003c/p\u003e","known_identities":[],"targets":[{"id":"value","kind":"secret","start":35,"end":43,"value":"60474487","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-one-time-code-must-detect-06","recipe":"one-time-code","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["60474487"]},"customers":{"required_absent":["60474487"],"required_present":[]},"all":{"required_absent":["60474487"],"required_present":[]}},"tags":["broad-quality","secret-family:one-time-code","variation:06"],"secret_fixture":{"family":"one-time-code","role":"must-detect"}}, + {"id":"broad-secret-one-time-code-preserve-06","language":"en","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad one-time-code variation.","text":"\u003cp\u003ePublic verification material: 33565657\u003c/p\u003e","known_identities":[],"targets":[{"id":"value","kind":"secret","start":33,"end":41,"value":"33565657","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-one-time-code-preserve-06","recipe":"one-time-code","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["33565657"]},"customers":{"required_absent":[],"required_present":["33565657"]},"all":{"required_absent":[],"required_present":["33565657"]}},"tags":["broad-quality","secret-family:one-time-code","variation:06"],"secret_fixture":{"family":"one-time-code","role":"preserve"}}, + {"id":"broad-secret-one-time-code-must-detect-07","language":"en","script":"Latin","shape":"quoted-reply","risk":"critical","reason":"Locked broad one-time-code variation.","text":"\u003e Wrapped message credential: 8539","known_identities":[],"targets":[{"id":"value","kind":"secret","start":30,"end":34,"value":"8539","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-one-time-code-must-detect-07","recipe":"one-time-code","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["8539"]},"customers":{"required_absent":["8539"],"required_present":[]},"all":{"required_absent":["8539"],"required_present":[]}},"tags":["broad-quality","secret-family:one-time-code","variation:07"],"secret_fixture":{"family":"one-time-code","role":"must-detect"}}, + {"id":"broad-secret-one-time-code-preserve-07","language":"en","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad one-time-code variation.","text":"\u003e Troubleshooting reference: RFC-868670","known_identities":[],"targets":[{"id":"value","kind":"secret","start":29,"end":39,"value":"RFC-868670","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-one-time-code-preserve-07","recipe":"one-time-code","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["RFC-868670"]},"customers":{"required_absent":[],"required_present":["RFC-868670"]},"all":{"required_absent":[],"required_present":["RFC-868670"]}},"tags":["broad-quality","secret-family:one-time-code","variation:07"],"secret_fixture":{"family":"one-time-code","role":"preserve"}}, + {"id":"broad-secret-one-time-code-must-detect-08","language":"en","script":"Latin","shape":"log","risk":"critical","reason":"Locked broad one-time-code variation.","text":"level=warn sample=8 message=\"Credential copied from a support reply: \" value=TG8C-ZBI9","known_identities":[],"targets":[{"id":"value","kind":"secret","start":77,"end":86,"value":"TG8C-ZBI9","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-one-time-code-must-detect-08","recipe":"one-time-code","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["TG8C-ZBI9"]},"customers":{"required_absent":["TG8C-ZBI9"],"required_present":[]},"all":{"required_absent":["TG8C-ZBI9"],"required_present":[]}},"tags":["broad-quality","secret-family:one-time-code","variation:08"],"secret_fixture":{"family":"one-time-code","role":"must-detect"}}, + {"id":"broad-secret-one-time-code-preserve-08","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad one-time-code variation.","text":"level=warn sample=8 message=\"Public configuration vocabulary: \" value=7212.9720","known_identities":[],"targets":[{"id":"value","kind":"secret","start":70,"end":79,"value":"7212.9720","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-one-time-code-preserve-08","recipe":"one-time-code","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["7212.9720"]},"customers":{"required_absent":[],"required_present":["7212.9720"]},"all":{"required_absent":[],"required_present":["7212.9720"]}},"tags":["broad-quality","secret-family:one-time-code","variation:08"],"secret_fixture":{"family":"one-time-code","role":"preserve"}}, + {"id":"broad-secret-one-time-code-must-detect-09","language":"en","script":"Latin","shape":"stack-trace","risk":"critical","reason":"Locked broad one-time-code variation.","text":"Trace[9]: Authorization header value: Tmp!BDJ4a8OxUa","known_identities":[],"targets":[{"id":"value","kind":"secret","start":38,"end":52,"value":"Tmp!BDJ4a8OxUa","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-one-time-code-must-detect-09","recipe":"one-time-code","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Tmp!BDJ4a8OxUa"]},"customers":{"required_absent":["Tmp!BDJ4a8OxUa"],"required_present":[]},"all":{"required_absent":["Tmp!BDJ4a8OxUa"],"required_present":[]}},"tags":["broad-quality","secret-family:one-time-code","variation:09"],"secret_fixture":{"family":"one-time-code","role":"must-detect"}}, + {"id":"broad-secret-one-time-code-preserve-09","language":"en","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad one-time-code variation.","text":"Trace[9]: Documentation syntax: 03035224","known_identities":[],"targets":[{"id":"value","kind":"secret","start":32,"end":40,"value":"03035224","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-one-time-code-preserve-09","recipe":"one-time-code","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["03035224"]},"customers":{"required_absent":[],"required_present":["03035224"]},"all":{"required_absent":[],"required_present":["03035224"]}},"tags":["broad-quality","secret-family:one-time-code","variation:09"],"secret_fixture":{"family":"one-time-code","role":"preserve"}}, + {"id":"broad-secret-one-time-code-must-detect-10","language":"en","script":"Latin","shape":"code","risk":"critical","reason":"Locked broad one-time-code variation.","text":"fixture_10 := `Log field auth_value=832090`","known_identities":[],"targets":[{"id":"value","kind":"secret","start":36,"end":42,"value":"832090","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-one-time-code-must-detect-10","recipe":"one-time-code","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["832090"]},"customers":{"required_absent":["832090"],"required_present":[]},"all":{"required_absent":["832090"],"required_present":[]}},"tags":["broad-quality","secret-family:one-time-code","variation:10"],"secret_fixture":{"family":"one-time-code","role":"must-detect"}}, + {"id":"broad-secret-one-time-code-preserve-10","language":"en","script":"Latin","shape":"code","risk":"preservation","reason":"Locked broad one-time-code variation.","text":"fixture_10 := `Public operational identifier: RFC-927839`","known_identities":[],"targets":[{"id":"value","kind":"secret","start":46,"end":56,"value":"RFC-927839","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-one-time-code-preserve-10","recipe":"one-time-code","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["RFC-927839"]},"customers":{"required_absent":[],"required_present":["RFC-927839"]},"all":{"required_absent":[],"required_present":["RFC-927839"]}},"tags":["broad-quality","secret-family:one-time-code","variation:10"],"secret_fixture":{"family":"one-time-code","role":"preserve"}}, + {"id":"broad-secret-one-time-code-must-detect-11","language":"en","script":"Latin","shape":"signature","risk":"critical","reason":"Locked broad one-time-code variation.","text":"--\nRotating this exposed value: 16465341","known_identities":[],"targets":[{"id":"value","kind":"secret","start":32,"end":40,"value":"16465341","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-one-time-code-must-detect-11","recipe":"one-time-code","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["16465341"]},"customers":{"required_absent":["16465341"],"required_present":[]},"all":{"required_absent":["16465341"],"required_present":[]}},"tags":["broad-quality","secret-family:one-time-code","variation:11"],"secret_fixture":{"family":"one-time-code","role":"must-detect"}}, + {"id":"broad-secret-one-time-code-preserve-11","language":"en","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad one-time-code variation.","text":"--\nSchema field label: 6748.2289","known_identities":[],"targets":[{"id":"value","kind":"secret","start":23,"end":32,"value":"6748.2289","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-one-time-code-preserve-11","recipe":"one-time-code","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["6748.2289"]},"customers":{"required_absent":[],"required_present":["6748.2289"]},"all":{"required_absent":[],"required_present":["6748.2289"]}},"tags":["broad-quality","secret-family:one-time-code","variation:11"],"secret_fixture":{"family":"one-time-code","role":"preserve"}}, + {"id":"broad-secret-one-time-code-must-detect-12","language":"en","script":"Latin","shape":"long-thread","risk":"critical","reason":"Locked broad one-time-code variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Quoted credential follows: 1491","known_identities":[],"targets":[{"id":"value","kind":"secret","start":507,"end":511,"value":"1491","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-one-time-code-must-detect-12","recipe":"one-time-code","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1491"]},"customers":{"required_absent":["1491"],"required_present":[]},"all":{"required_absent":["1491"],"required_present":[]}},"tags":["broad-quality","secret-family:one-time-code","variation:12"],"secret_fixture":{"family":"one-time-code","role":"must-detect"}}, + {"id":"broad-secret-one-time-code-preserve-12","language":"en","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad one-time-code variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Non-confidential protocol token: 13011918","known_identities":[],"targets":[{"id":"value","kind":"secret","start":513,"end":521,"value":"13011918","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-one-time-code-preserve-12","recipe":"one-time-code","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["13011918"]},"customers":{"required_absent":[],"required_present":["13011918"]},"all":{"required_absent":[],"required_present":["13011918"]}},"tags":["broad-quality","secret-family:one-time-code","variation:12"],"secret_fixture":{"family":"one-time-code","role":"preserve"}}, + {"id":"broad-secret-one-time-code-must-detect-13","language":"en","script":"Latin","shape":"command-payload","risk":"critical","reason":"Locked broad one-time-code variation.","text":"--sample=13 --message=\"Configuration secret: \" --value=A9TE-HBT5","known_identities":[],"targets":[{"id":"value","kind":"secret","start":55,"end":64,"value":"A9TE-HBT5","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-one-time-code-must-detect-13","recipe":"one-time-code","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["A9TE-HBT5"]},"customers":{"required_absent":["A9TE-HBT5"],"required_present":[]},"all":{"required_absent":["A9TE-HBT5"],"required_present":[]}},"tags":["broad-quality","secret-family:one-time-code","variation:13"],"secret_fixture":{"family":"one-time-code","role":"must-detect"}}, + {"id":"broad-secret-one-time-code-preserve-13","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad one-time-code variation.","text":"--sample=13 --message=\"Release metadata: \" --value=RFC-642436","known_identities":[],"targets":[{"id":"value","kind":"secret","start":51,"end":61,"value":"RFC-642436","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-one-time-code-preserve-13","recipe":"one-time-code","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["RFC-642436"]},"customers":{"required_absent":[],"required_present":["RFC-642436"]},"all":{"required_absent":[],"required_present":["RFC-642436"]}},"tags":["broad-quality","secret-family:one-time-code","variation:13"],"secret_fixture":{"family":"one-time-code","role":"preserve"}}, + {"id":"broad-secret-private-key-must-detect-00","language":"en","script":"Latin","shape":"prose","risk":"critical","reason":"Locked broad private-key variation.","text":"Credential copied from a support reply: -----BEGIN SECRET-KEYX-----\nW41E7qdJye8XngdAb1HNTYPUVnpgZkx7332BF/t98LEy/EFtkPERo7iTyj4RbPly\nPu3g4VS8eUu5W7heKwawrmb/zH/oNtGPMXYTM2IaVoWKvzKqVTKwjvkrSLdedrag\no2NYUknPVQnGiJw77f98nVVp46NlMobsq0Vxy/FTkGZ08sYfbujet78mXSK8T/Pm\n5LDKk74hggIYua4k0kl8uf0SqQJm6QNOvVpF4BdPsfhc+3iTVTKndlnZnANSF7g4\n-----END SECRET-KEYX-----","known_identities":[],"targets":[{"id":"value","kind":"secret","start":40,"end":353,"value":"-----BEGIN SECRET-KEYX-----\nW41E7qdJye8XngdAb1HNTYPUVnpgZkx7332BF/t98LEy/EFtkPERo7iTyj4RbPly\nPu3g4VS8eUu5W7heKwawrmb/zH/oNtGPMXYTM2IaVoWKvzKqVTKwjvkrSLdedrag\no2NYUknPVQnGiJw77f98nVVp46NlMobsq0Vxy/FTkGZ08sYfbujet78mXSK8T/Pm\n5LDKk74hggIYua4k0kl8uf0SqQJm6QNOvVpF4BdPsfhc+3iTVTKndlnZnANSF7g4\n-----END SECRET-KEYX-----","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-private-key-must-detect-00","recipe":"private-key","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["-----BEGIN SECRET-KEYX-----\nW41E7qdJye8XngdAb1HNTYPUVnpgZkx7332BF/t98LEy/EFtkPERo7iTyj4RbPly\nPu3g4VS8eUu5W7heKwawrmb/zH/oNtGPMXYTM2IaVoWKvzKqVTKwjvkrSLdedrag\no2NYUknPVQnGiJw77f98nVVp46NlMobsq0Vxy/FTkGZ08sYfbujet78mXSK8T/Pm\n5LDKk74hggIYua4k0kl8uf0SqQJm6QNOvVpF4BdPsfhc+3iTVTKndlnZnANSF7g4\n-----END SECRET-KEYX-----"]},"customers":{"required_absent":["-----BEGIN SECRET-KEYX-----\nW41E7qdJye8XngdAb1HNTYPUVnpgZkx7332BF/t98LEy/EFtkPERo7iTyj4RbPly\nPu3g4VS8eUu5W7heKwawrmb/zH/oNtGPMXYTM2IaVoWKvzKqVTKwjvkrSLdedrag\no2NYUknPVQnGiJw77f98nVVp46NlMobsq0Vxy/FTkGZ08sYfbujet78mXSK8T/Pm\n5LDKk74hggIYua4k0kl8uf0SqQJm6QNOvVpF4BdPsfhc+3iTVTKndlnZnANSF7g4\n-----END SECRET-KEYX-----"],"required_present":[]},"all":{"required_absent":["-----BEGIN SECRET-KEYX-----\nW41E7qdJye8XngdAb1HNTYPUVnpgZkx7332BF/t98LEy/EFtkPERo7iTyj4RbPly\nPu3g4VS8eUu5W7heKwawrmb/zH/oNtGPMXYTM2IaVoWKvzKqVTKwjvkrSLdedrag\no2NYUknPVQnGiJw77f98nVVp46NlMobsq0Vxy/FTkGZ08sYfbujet78mXSK8T/Pm\n5LDKk74hggIYua4k0kl8uf0SqQJm6QNOvVpF4BdPsfhc+3iTVTKndlnZnANSF7g4\n-----END SECRET-KEYX-----"],"required_present":[]}},"tags":["broad-quality","secret-family:private-key","variation:00"],"secret_fixture":{"family":"private-key","role":"must-detect"}}, + {"id":"broad-secret-private-key-preserve-00","language":"en","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad private-key variation.","text":"Public configuration vocabulary: -----BEGIN PUBLIC KEY-----\n+VbdXKoICCrZ9J9bZVJneI36wLr+QT2/gEbaRUjHWqGmQTXkTb+yX2A5PGmpMn4C\nuVx9bJNBPoP2/CkupH1wl5+0S6UjpO41iCAxqFi4GX4GyDiHUfa4wRqxMtHMbRRy\n-----END PUBLIC KEY-----","known_identities":[],"targets":[{"id":"value","kind":"secret","start":33,"end":214,"value":"-----BEGIN PUBLIC KEY-----\n+VbdXKoICCrZ9J9bZVJneI36wLr+QT2/gEbaRUjHWqGmQTXkTb+yX2A5PGmpMn4C\nuVx9bJNBPoP2/CkupH1wl5+0S6UjpO41iCAxqFi4GX4GyDiHUfa4wRqxMtHMbRRy\n-----END PUBLIC KEY-----","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-private-key-preserve-00","recipe":"private-key","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["-----BEGIN PUBLIC KEY-----\n+VbdXKoICCrZ9J9bZVJneI36wLr+QT2/gEbaRUjHWqGmQTXkTb+yX2A5PGmpMn4C\nuVx9bJNBPoP2/CkupH1wl5+0S6UjpO41iCAxqFi4GX4GyDiHUfa4wRqxMtHMbRRy\n-----END PUBLIC KEY-----"]},"customers":{"required_absent":[],"required_present":["-----BEGIN PUBLIC KEY-----\n+VbdXKoICCrZ9J9bZVJneI36wLr+QT2/gEbaRUjHWqGmQTXkTb+yX2A5PGmpMn4C\nuVx9bJNBPoP2/CkupH1wl5+0S6UjpO41iCAxqFi4GX4GyDiHUfa4wRqxMtHMbRRy\n-----END PUBLIC KEY-----"]},"all":{"required_absent":[],"required_present":["-----BEGIN PUBLIC KEY-----\n+VbdXKoICCrZ9J9bZVJneI36wLr+QT2/gEbaRUjHWqGmQTXkTb+yX2A5PGmpMn4C\nuVx9bJNBPoP2/CkupH1wl5+0S6UjpO41iCAxqFi4GX4GyDiHUfa4wRqxMtHMbRRy\n-----END PUBLIC KEY-----"]}},"tags":["broad-quality","secret-family:private-key","variation:00"],"secret_fixture":{"family":"private-key","role":"preserve"}}, + {"id":"broad-secret-private-key-must-detect-01","language":"en","script":"Latin","shape":"json","risk":"critical","reason":"Locked broad private-key variation.","text":"{\"message_1\":\"Authorization header value: -----BEGIN RSA SECRET-KEYX-----\n9PING2mAR/TdE49VbmxFQ7J7DQXpiK9j8Ydm8ikBr9mQRemvP0IyHf1KeUpReySp\nCs+vh9NMf8lwB257YkFGBSbgstzx6dUpypSCSp4S8qCBmAj3OcrhIC9OqiUA9TjE\nTFSdew0RBAjNDk2xenVCenspqHnWCSdS99mRlkb1ySWOODfCPW/UvQYeu+qRMTnn\nWo/E/GCpHYsDkT6lON5xuP7hf88x+hLRFVYS2cKeZdSoVqSz/kaWDipRo7iAR6Gg\n-----END RSA SECRET-KEYX-----\"}","known_identities":[],"targets":[{"id":"value","kind":"secret","start":42,"end":363,"value":"-----BEGIN RSA SECRET-KEYX-----\n9PING2mAR/TdE49VbmxFQ7J7DQXpiK9j8Ydm8ikBr9mQRemvP0IyHf1KeUpReySp\nCs+vh9NMf8lwB257YkFGBSbgstzx6dUpypSCSp4S8qCBmAj3OcrhIC9OqiUA9TjE\nTFSdew0RBAjNDk2xenVCenspqHnWCSdS99mRlkb1ySWOODfCPW/UvQYeu+qRMTnn\nWo/E/GCpHYsDkT6lON5xuP7hf88x+hLRFVYS2cKeZdSoVqSz/kaWDipRo7iAR6Gg\n-----END RSA SECRET-KEYX-----","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-private-key-must-detect-01","recipe":"private-key","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["-----BEGIN RSA SECRET-KEYX-----\n9PING2mAR/TdE49VbmxFQ7J7DQXpiK9j8Ydm8ikBr9mQRemvP0IyHf1KeUpReySp\nCs+vh9NMf8lwB257YkFGBSbgstzx6dUpypSCSp4S8qCBmAj3OcrhIC9OqiUA9TjE\nTFSdew0RBAjNDk2xenVCenspqHnWCSdS99mRlkb1ySWOODfCPW/UvQYeu+qRMTnn\nWo/E/GCpHYsDkT6lON5xuP7hf88x+hLRFVYS2cKeZdSoVqSz/kaWDipRo7iAR6Gg\n-----END RSA SECRET-KEYX-----"]},"customers":{"required_absent":["-----BEGIN RSA SECRET-KEYX-----\n9PING2mAR/TdE49VbmxFQ7J7DQXpiK9j8Ydm8ikBr9mQRemvP0IyHf1KeUpReySp\nCs+vh9NMf8lwB257YkFGBSbgstzx6dUpypSCSp4S8qCBmAj3OcrhIC9OqiUA9TjE\nTFSdew0RBAjNDk2xenVCenspqHnWCSdS99mRlkb1ySWOODfCPW/UvQYeu+qRMTnn\nWo/E/GCpHYsDkT6lON5xuP7hf88x+hLRFVYS2cKeZdSoVqSz/kaWDipRo7iAR6Gg\n-----END RSA SECRET-KEYX-----"],"required_present":[]},"all":{"required_absent":["-----BEGIN RSA SECRET-KEYX-----\n9PING2mAR/TdE49VbmxFQ7J7DQXpiK9j8Ydm8ikBr9mQRemvP0IyHf1KeUpReySp\nCs+vh9NMf8lwB257YkFGBSbgstzx6dUpypSCSp4S8qCBmAj3OcrhIC9OqiUA9TjE\nTFSdew0RBAjNDk2xenVCenspqHnWCSdS99mRlkb1ySWOODfCPW/UvQYeu+qRMTnn\nWo/E/GCpHYsDkT6lON5xuP7hf88x+hLRFVYS2cKeZdSoVqSz/kaWDipRo7iAR6Gg\n-----END RSA SECRET-KEYX-----"],"required_present":[]}},"tags":["broad-quality","secret-family:private-key","variation:01"],"secret_fixture":{"family":"private-key","role":"must-detect"}}, + {"id":"broad-secret-private-key-preserve-01","language":"en","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad private-key variation.","text":"{\"message_1\":\"Documentation syntax: -----BEGIN CERTIFICATE-----\n0izQYreNNSxybhYLOt5/J/FytF/eapWjuqtgTLpyx9EWi+zCQCmciDerbQVapQvK\nJ+gbcIpcjLdfjPiw4aHPYQXDmqlnEQ8filcxbh9Tql9x++YHEC2JW0Y50h2u8LHs\n-----END CERTIFICATE-----\"}","known_identities":[],"targets":[{"id":"value","kind":"secret","start":36,"end":219,"value":"-----BEGIN CERTIFICATE-----\n0izQYreNNSxybhYLOt5/J/FytF/eapWjuqtgTLpyx9EWi+zCQCmciDerbQVapQvK\nJ+gbcIpcjLdfjPiw4aHPYQXDmqlnEQ8filcxbh9Tql9x++YHEC2JW0Y50h2u8LHs\n-----END CERTIFICATE-----","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-private-key-preserve-01","recipe":"private-key","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["-----BEGIN CERTIFICATE-----\n0izQYreNNSxybhYLOt5/J/FytF/eapWjuqtgTLpyx9EWi+zCQCmciDerbQVapQvK\nJ+gbcIpcjLdfjPiw4aHPYQXDmqlnEQ8filcxbh9Tql9x++YHEC2JW0Y50h2u8LHs\n-----END CERTIFICATE-----"]},"customers":{"required_absent":[],"required_present":["-----BEGIN CERTIFICATE-----\n0izQYreNNSxybhYLOt5/J/FytF/eapWjuqtgTLpyx9EWi+zCQCmciDerbQVapQvK\nJ+gbcIpcjLdfjPiw4aHPYQXDmqlnEQ8filcxbh9Tql9x++YHEC2JW0Y50h2u8LHs\n-----END CERTIFICATE-----"]},"all":{"required_absent":[],"required_present":["-----BEGIN CERTIFICATE-----\n0izQYreNNSxybhYLOt5/J/FytF/eapWjuqtgTLpyx9EWi+zCQCmciDerbQVapQvK\nJ+gbcIpcjLdfjPiw4aHPYQXDmqlnEQ8filcxbh9Tql9x++YHEC2JW0Y50h2u8LHs\n-----END CERTIFICATE-----"]}},"tags":["broad-quality","secret-family:private-key","variation:01"],"secret_fixture":{"family":"private-key","role":"preserve"}}, + {"id":"broad-secret-private-key-must-detect-02","language":"en","script":"Latin","shape":"yaml","risk":"critical","reason":"Locked broad private-key variation.","text":"message_2: Log field auth_value=-----BEGIN EC SECRET-KEYX-----\nViH1SOmvWMYOmQBpC33AT1kh+ytL2AdgimBl4o5o0oxeHvac1cu2eoLdD4M6h8kD\nYNgtM6WZrkVvYANqlIb3EA5VL+XD5gib/O7/GfX7PwjSUPjpandaAcOcaXVX0nKh\nOUZqDtAbeFNyeqMjiQPNVjyL58NcZwUok37b7002mrIT732/PruU8y100Je3wm8o\nUQZp9CXknZ5AgdE2tNLW3Z6E71XE4DIG4qv/C91wP2YtP08Wriz41Gyummq7vgu+\n-----END EC SECRET-KEYX-----","known_identities":[],"targets":[{"id":"value","kind":"secret","start":32,"end":351,"value":"-----BEGIN EC SECRET-KEYX-----\nViH1SOmvWMYOmQBpC33AT1kh+ytL2AdgimBl4o5o0oxeHvac1cu2eoLdD4M6h8kD\nYNgtM6WZrkVvYANqlIb3EA5VL+XD5gib/O7/GfX7PwjSUPjpandaAcOcaXVX0nKh\nOUZqDtAbeFNyeqMjiQPNVjyL58NcZwUok37b7002mrIT732/PruU8y100Je3wm8o\nUQZp9CXknZ5AgdE2tNLW3Z6E71XE4DIG4qv/C91wP2YtP08Wriz41Gyummq7vgu+\n-----END EC SECRET-KEYX-----","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-private-key-must-detect-02","recipe":"private-key","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["-----BEGIN EC SECRET-KEYX-----\nViH1SOmvWMYOmQBpC33AT1kh+ytL2AdgimBl4o5o0oxeHvac1cu2eoLdD4M6h8kD\nYNgtM6WZrkVvYANqlIb3EA5VL+XD5gib/O7/GfX7PwjSUPjpandaAcOcaXVX0nKh\nOUZqDtAbeFNyeqMjiQPNVjyL58NcZwUok37b7002mrIT732/PruU8y100Je3wm8o\nUQZp9CXknZ5AgdE2tNLW3Z6E71XE4DIG4qv/C91wP2YtP08Wriz41Gyummq7vgu+\n-----END EC SECRET-KEYX-----"]},"customers":{"required_absent":["-----BEGIN EC SECRET-KEYX-----\nViH1SOmvWMYOmQBpC33AT1kh+ytL2AdgimBl4o5o0oxeHvac1cu2eoLdD4M6h8kD\nYNgtM6WZrkVvYANqlIb3EA5VL+XD5gib/O7/GfX7PwjSUPjpandaAcOcaXVX0nKh\nOUZqDtAbeFNyeqMjiQPNVjyL58NcZwUok37b7002mrIT732/PruU8y100Je3wm8o\nUQZp9CXknZ5AgdE2tNLW3Z6E71XE4DIG4qv/C91wP2YtP08Wriz41Gyummq7vgu+\n-----END EC SECRET-KEYX-----"],"required_present":[]},"all":{"required_absent":["-----BEGIN EC SECRET-KEYX-----\nViH1SOmvWMYOmQBpC33AT1kh+ytL2AdgimBl4o5o0oxeHvac1cu2eoLdD4M6h8kD\nYNgtM6WZrkVvYANqlIb3EA5VL+XD5gib/O7/GfX7PwjSUPjpandaAcOcaXVX0nKh\nOUZqDtAbeFNyeqMjiQPNVjyL58NcZwUok37b7002mrIT732/PruU8y100Je3wm8o\nUQZp9CXknZ5AgdE2tNLW3Z6E71XE4DIG4qv/C91wP2YtP08Wriz41Gyummq7vgu+\n-----END EC SECRET-KEYX-----"],"required_present":[]}},"tags":["broad-quality","secret-family:private-key","variation:02"],"secret_fixture":{"family":"private-key","role":"must-detect"}}, + {"id":"broad-secret-private-key-preserve-02","language":"en","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad private-key variation.","text":"message_2: Public operational identifier: -----BEGIN PUBLIC KEY-----\ncYeRU12D//diRN55xzTdN7XTsZVs9DuxjkRWYBde08f3Ktnxgz1/iynsEDgOyEpZ\n5jkDEPR8odUCk0xawX3W0srlh4ialRlt8aCHvLPs1FYePxbGjDAk1V8huzFTvnpV\n-----END PUBLIC KEY-----","known_identities":[],"targets":[{"id":"value","kind":"secret","start":42,"end":223,"value":"-----BEGIN PUBLIC KEY-----\ncYeRU12D//diRN55xzTdN7XTsZVs9DuxjkRWYBde08f3Ktnxgz1/iynsEDgOyEpZ\n5jkDEPR8odUCk0xawX3W0srlh4ialRlt8aCHvLPs1FYePxbGjDAk1V8huzFTvnpV\n-----END PUBLIC KEY-----","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-private-key-preserve-02","recipe":"private-key","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["-----BEGIN PUBLIC KEY-----\ncYeRU12D//diRN55xzTdN7XTsZVs9DuxjkRWYBde08f3Ktnxgz1/iynsEDgOyEpZ\n5jkDEPR8odUCk0xawX3W0srlh4ialRlt8aCHvLPs1FYePxbGjDAk1V8huzFTvnpV\n-----END PUBLIC KEY-----"]},"customers":{"required_absent":[],"required_present":["-----BEGIN PUBLIC KEY-----\ncYeRU12D//diRN55xzTdN7XTsZVs9DuxjkRWYBde08f3Ktnxgz1/iynsEDgOyEpZ\n5jkDEPR8odUCk0xawX3W0srlh4ialRlt8aCHvLPs1FYePxbGjDAk1V8huzFTvnpV\n-----END PUBLIC KEY-----"]},"all":{"required_absent":[],"required_present":["-----BEGIN PUBLIC KEY-----\ncYeRU12D//diRN55xzTdN7XTsZVs9DuxjkRWYBde08f3Ktnxgz1/iynsEDgOyEpZ\n5jkDEPR8odUCk0xawX3W0srlh4ialRlt8aCHvLPs1FYePxbGjDAk1V8huzFTvnpV\n-----END PUBLIC KEY-----"]}},"tags":["broad-quality","secret-family:private-key","variation:02"],"secret_fixture":{"family":"private-key","role":"preserve"}}, + {"id":"broad-secret-private-key-must-detect-03","language":"en","script":"Latin","shape":"shell","risk":"critical","reason":"Locked broad private-key variation.","text":"MESSAGE_3='Rotating this exposed value: -----BEGIN OPENSSH SECRET-KEYX-----\neMU8vWXXGzFlnFEzXcF+tTj8Fk0lvw3cllxLAI9weh/yIvejLp/kx11uK1TigFQ6\nl85hV1e8FFDT1c4hjHaY8HfI6TiCGUiRDqelL7Pfao+p/v+C34ch2a+g/kDZmrJJ\nfgHiL/F3oirW2UzBLV8FF/qE2Hnxb2eSaB4Kxo6XGSfIhu6KWmfU8UPmliR+E+ax\nv3KGHl2Wbk8BID/OgnUW7Ji3dNnAsqMX9/F2/DL5XUmOJ89jmlM0mVLKpBzZgv22\n-----END OPENSSH SECRET-KEYX-----'","known_identities":[],"targets":[{"id":"value","kind":"secret","start":40,"end":369,"value":"-----BEGIN OPENSSH SECRET-KEYX-----\neMU8vWXXGzFlnFEzXcF+tTj8Fk0lvw3cllxLAI9weh/yIvejLp/kx11uK1TigFQ6\nl85hV1e8FFDT1c4hjHaY8HfI6TiCGUiRDqelL7Pfao+p/v+C34ch2a+g/kDZmrJJ\nfgHiL/F3oirW2UzBLV8FF/qE2Hnxb2eSaB4Kxo6XGSfIhu6KWmfU8UPmliR+E+ax\nv3KGHl2Wbk8BID/OgnUW7Ji3dNnAsqMX9/F2/DL5XUmOJ89jmlM0mVLKpBzZgv22\n-----END OPENSSH SECRET-KEYX-----","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-private-key-must-detect-03","recipe":"private-key","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["-----BEGIN OPENSSH SECRET-KEYX-----\neMU8vWXXGzFlnFEzXcF+tTj8Fk0lvw3cllxLAI9weh/yIvejLp/kx11uK1TigFQ6\nl85hV1e8FFDT1c4hjHaY8HfI6TiCGUiRDqelL7Pfao+p/v+C34ch2a+g/kDZmrJJ\nfgHiL/F3oirW2UzBLV8FF/qE2Hnxb2eSaB4Kxo6XGSfIhu6KWmfU8UPmliR+E+ax\nv3KGHl2Wbk8BID/OgnUW7Ji3dNnAsqMX9/F2/DL5XUmOJ89jmlM0mVLKpBzZgv22\n-----END OPENSSH SECRET-KEYX-----"]},"customers":{"required_absent":["-----BEGIN OPENSSH SECRET-KEYX-----\neMU8vWXXGzFlnFEzXcF+tTj8Fk0lvw3cllxLAI9weh/yIvejLp/kx11uK1TigFQ6\nl85hV1e8FFDT1c4hjHaY8HfI6TiCGUiRDqelL7Pfao+p/v+C34ch2a+g/kDZmrJJ\nfgHiL/F3oirW2UzBLV8FF/qE2Hnxb2eSaB4Kxo6XGSfIhu6KWmfU8UPmliR+E+ax\nv3KGHl2Wbk8BID/OgnUW7Ji3dNnAsqMX9/F2/DL5XUmOJ89jmlM0mVLKpBzZgv22\n-----END OPENSSH SECRET-KEYX-----"],"required_present":[]},"all":{"required_absent":["-----BEGIN OPENSSH SECRET-KEYX-----\neMU8vWXXGzFlnFEzXcF+tTj8Fk0lvw3cllxLAI9weh/yIvejLp/kx11uK1TigFQ6\nl85hV1e8FFDT1c4hjHaY8HfI6TiCGUiRDqelL7Pfao+p/v+C34ch2a+g/kDZmrJJ\nfgHiL/F3oirW2UzBLV8FF/qE2Hnxb2eSaB4Kxo6XGSfIhu6KWmfU8UPmliR+E+ax\nv3KGHl2Wbk8BID/OgnUW7Ji3dNnAsqMX9/F2/DL5XUmOJ89jmlM0mVLKpBzZgv22\n-----END OPENSSH SECRET-KEYX-----"],"required_present":[]}},"tags":["broad-quality","secret-family:private-key","variation:03"],"secret_fixture":{"family":"private-key","role":"must-detect"}}, + {"id":"broad-secret-private-key-preserve-03","language":"en","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad private-key variation.","text":"MESSAGE_3='Schema field label: -----BEGIN CERTIFICATE-----\nmx+lzV989i92XgkNmMa3d+BFhGUHsHVIGv7rF1rDZ29QCKBJMLpQDdVc16TlHfq3\nnR7sqBdLjP0g0CgkHjk15g4qbli64blYzcu1eZOy4eOOF60JhvHJ/wm/o+Bf0AHJ\n-----END CERTIFICATE-----'","known_identities":[],"targets":[{"id":"value","kind":"secret","start":31,"end":214,"value":"-----BEGIN CERTIFICATE-----\nmx+lzV989i92XgkNmMa3d+BFhGUHsHVIGv7rF1rDZ29QCKBJMLpQDdVc16TlHfq3\nnR7sqBdLjP0g0CgkHjk15g4qbli64blYzcu1eZOy4eOOF60JhvHJ/wm/o+Bf0AHJ\n-----END CERTIFICATE-----","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-private-key-preserve-03","recipe":"private-key","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["-----BEGIN CERTIFICATE-----\nmx+lzV989i92XgkNmMa3d+BFhGUHsHVIGv7rF1rDZ29QCKBJMLpQDdVc16TlHfq3\nnR7sqBdLjP0g0CgkHjk15g4qbli64blYzcu1eZOy4eOOF60JhvHJ/wm/o+Bf0AHJ\n-----END CERTIFICATE-----"]},"customers":{"required_absent":[],"required_present":["-----BEGIN CERTIFICATE-----\nmx+lzV989i92XgkNmMa3d+BFhGUHsHVIGv7rF1rDZ29QCKBJMLpQDdVc16TlHfq3\nnR7sqBdLjP0g0CgkHjk15g4qbli64blYzcu1eZOy4eOOF60JhvHJ/wm/o+Bf0AHJ\n-----END CERTIFICATE-----"]},"all":{"required_absent":[],"required_present":["-----BEGIN CERTIFICATE-----\nmx+lzV989i92XgkNmMa3d+BFhGUHsHVIGv7rF1rDZ29QCKBJMLpQDdVc16TlHfq3\nnR7sqBdLjP0g0CgkHjk15g4qbli64blYzcu1eZOy4eOOF60JhvHJ/wm/o+Bf0AHJ\n-----END CERTIFICATE-----"]}},"tags":["broad-quality","secret-family:private-key","variation:03"],"secret_fixture":{"family":"private-key","role":"preserve"}}, + {"id":"broad-secret-private-key-must-detect-04","language":"en","script":"Latin","shape":"url","risk":"critical","reason":"Locked broad private-key variation.","text":"endpoint=https://192.0.2.10/4 ; Quoted credential follows: -----BEGIN ENCRYPTED SECRET-KEYX-----\nziaONyn8hHic0llBayXXn/7Mlon8QWaQvOBPH+6pQyeqoJzaWNr6iB6/IHb5DrCh\n/rQYj1wRcyFJnwZ4mfLfemTc8+iRp55033X0rN5WQcbr5FUGJRbouJUf7iLZEw0b\nzVYKtADyuA1VU6j9Mys0SQdkYBx4HcstVsDW+jBLEBCgY+S0CjPTjrtK74bRtfYw\ni7CdzkXR9qQQhaadiNgsr2WQd52DIzumv4kY3GICLzf1MMTbVuq/ZCvBAVJDUt5t\n-----END ENCRYPTED SECRET-KEYX-----","known_identities":[],"targets":[{"id":"value","kind":"secret","start":59,"end":392,"value":"-----BEGIN ENCRYPTED SECRET-KEYX-----\nziaONyn8hHic0llBayXXn/7Mlon8QWaQvOBPH+6pQyeqoJzaWNr6iB6/IHb5DrCh\n/rQYj1wRcyFJnwZ4mfLfemTc8+iRp55033X0rN5WQcbr5FUGJRbouJUf7iLZEw0b\nzVYKtADyuA1VU6j9Mys0SQdkYBx4HcstVsDW+jBLEBCgY+S0CjPTjrtK74bRtfYw\ni7CdzkXR9qQQhaadiNgsr2WQd52DIzumv4kY3GICLzf1MMTbVuq/ZCvBAVJDUt5t\n-----END ENCRYPTED SECRET-KEYX-----","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-private-key-must-detect-04","recipe":"private-key","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["-----BEGIN ENCRYPTED SECRET-KEYX-----\nziaONyn8hHic0llBayXXn/7Mlon8QWaQvOBPH+6pQyeqoJzaWNr6iB6/IHb5DrCh\n/rQYj1wRcyFJnwZ4mfLfemTc8+iRp55033X0rN5WQcbr5FUGJRbouJUf7iLZEw0b\nzVYKtADyuA1VU6j9Mys0SQdkYBx4HcstVsDW+jBLEBCgY+S0CjPTjrtK74bRtfYw\ni7CdzkXR9qQQhaadiNgsr2WQd52DIzumv4kY3GICLzf1MMTbVuq/ZCvBAVJDUt5t\n-----END ENCRYPTED SECRET-KEYX-----"]},"customers":{"required_absent":["-----BEGIN ENCRYPTED SECRET-KEYX-----\nziaONyn8hHic0llBayXXn/7Mlon8QWaQvOBPH+6pQyeqoJzaWNr6iB6/IHb5DrCh\n/rQYj1wRcyFJnwZ4mfLfemTc8+iRp55033X0rN5WQcbr5FUGJRbouJUf7iLZEw0b\nzVYKtADyuA1VU6j9Mys0SQdkYBx4HcstVsDW+jBLEBCgY+S0CjPTjrtK74bRtfYw\ni7CdzkXR9qQQhaadiNgsr2WQd52DIzumv4kY3GICLzf1MMTbVuq/ZCvBAVJDUt5t\n-----END ENCRYPTED SECRET-KEYX-----"],"required_present":[]},"all":{"required_absent":["-----BEGIN ENCRYPTED SECRET-KEYX-----\nziaONyn8hHic0llBayXXn/7Mlon8QWaQvOBPH+6pQyeqoJzaWNr6iB6/IHb5DrCh\n/rQYj1wRcyFJnwZ4mfLfemTc8+iRp55033X0rN5WQcbr5FUGJRbouJUf7iLZEw0b\nzVYKtADyuA1VU6j9Mys0SQdkYBx4HcstVsDW+jBLEBCgY+S0CjPTjrtK74bRtfYw\ni7CdzkXR9qQQhaadiNgsr2WQd52DIzumv4kY3GICLzf1MMTbVuq/ZCvBAVJDUt5t\n-----END ENCRYPTED SECRET-KEYX-----"],"required_present":[]}},"tags":["broad-quality","secret-family:private-key","variation:04"],"secret_fixture":{"family":"private-key","role":"must-detect"}}, + {"id":"broad-secret-private-key-preserve-04","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad private-key variation.","text":"endpoint=https://192.0.2.10/4 ; Non-confidential protocol token: -----BEGIN PUBLIC KEY-----\nvNSNcEUQnySaDsLt07jhyFfPefgvKDWdore4LDJO2zYoQFZ7IGiVlxUIYLlvSyJb\n6EmI2mDrwHV+obedTh4rmexKi1ajHgx7+fYQSepEzOJYG8U4lFVoiAjqsFIK4XFF\n-----END PUBLIC KEY-----","known_identities":[],"targets":[{"id":"value","kind":"secret","start":65,"end":246,"value":"-----BEGIN PUBLIC KEY-----\nvNSNcEUQnySaDsLt07jhyFfPefgvKDWdore4LDJO2zYoQFZ7IGiVlxUIYLlvSyJb\n6EmI2mDrwHV+obedTh4rmexKi1ajHgx7+fYQSepEzOJYG8U4lFVoiAjqsFIK4XFF\n-----END PUBLIC KEY-----","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-private-key-preserve-04","recipe":"private-key","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["-----BEGIN PUBLIC KEY-----\nvNSNcEUQnySaDsLt07jhyFfPefgvKDWdore4LDJO2zYoQFZ7IGiVlxUIYLlvSyJb\n6EmI2mDrwHV+obedTh4rmexKi1ajHgx7+fYQSepEzOJYG8U4lFVoiAjqsFIK4XFF\n-----END PUBLIC KEY-----"]},"customers":{"required_absent":[],"required_present":["-----BEGIN PUBLIC KEY-----\nvNSNcEUQnySaDsLt07jhyFfPefgvKDWdore4LDJO2zYoQFZ7IGiVlxUIYLlvSyJb\n6EmI2mDrwHV+obedTh4rmexKi1ajHgx7+fYQSepEzOJYG8U4lFVoiAjqsFIK4XFF\n-----END PUBLIC KEY-----"]},"all":{"required_absent":[],"required_present":["-----BEGIN PUBLIC KEY-----\nvNSNcEUQnySaDsLt07jhyFfPefgvKDWdore4LDJO2zYoQFZ7IGiVlxUIYLlvSyJb\n6EmI2mDrwHV+obedTh4rmexKi1ajHgx7+fYQSepEzOJYG8U4lFVoiAjqsFIK4XFF\n-----END PUBLIC KEY-----"]}},"tags":["broad-quality","secret-family:private-key","variation:04"],"secret_fixture":{"family":"private-key","role":"preserve"}}, + {"id":"broad-secret-private-key-must-detect-05","language":"en","script":"Latin","shape":"markdown","risk":"critical","reason":"Locked broad private-key variation.","text":"**Configuration secret: -----BEGIN SECRET-KEYX-----\nbxmSBvucopZRXHIrU8ii5xPaK7iayzZgS9ZEKqHmh0pQFK3c/pZoeGonHJ/qPq0d\nSwCL5o0mcOyuvFR9UljQ791vNf4V73PNM0LKNC0aEhod8HDhoezGnGJwuLaxlLWW\nQ/O1mxetJdlpl8jT0TVM7JD26Vbr4EuQJSJvrsqPtetLG3eE5YG8naa8Rwx2KC2b\n5a27z5ccq4rmOReiM9OYJoUspKmKXS12PmFNED45UYNwVdzu4F1wXminXZ9wtOpm\n-----END SECRET-KEYX-----**","known_identities":[],"targets":[{"id":"value","kind":"secret","start":24,"end":337,"value":"-----BEGIN SECRET-KEYX-----\nbxmSBvucopZRXHIrU8ii5xPaK7iayzZgS9ZEKqHmh0pQFK3c/pZoeGonHJ/qPq0d\nSwCL5o0mcOyuvFR9UljQ791vNf4V73PNM0LKNC0aEhod8HDhoezGnGJwuLaxlLWW\nQ/O1mxetJdlpl8jT0TVM7JD26Vbr4EuQJSJvrsqPtetLG3eE5YG8naa8Rwx2KC2b\n5a27z5ccq4rmOReiM9OYJoUspKmKXS12PmFNED45UYNwVdzu4F1wXminXZ9wtOpm\n-----END SECRET-KEYX-----","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-private-key-must-detect-05","recipe":"private-key","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["-----BEGIN SECRET-KEYX-----\nbxmSBvucopZRXHIrU8ii5xPaK7iayzZgS9ZEKqHmh0pQFK3c/pZoeGonHJ/qPq0d\nSwCL5o0mcOyuvFR9UljQ791vNf4V73PNM0LKNC0aEhod8HDhoezGnGJwuLaxlLWW\nQ/O1mxetJdlpl8jT0TVM7JD26Vbr4EuQJSJvrsqPtetLG3eE5YG8naa8Rwx2KC2b\n5a27z5ccq4rmOReiM9OYJoUspKmKXS12PmFNED45UYNwVdzu4F1wXminXZ9wtOpm\n-----END SECRET-KEYX-----"]},"customers":{"required_absent":["-----BEGIN SECRET-KEYX-----\nbxmSBvucopZRXHIrU8ii5xPaK7iayzZgS9ZEKqHmh0pQFK3c/pZoeGonHJ/qPq0d\nSwCL5o0mcOyuvFR9UljQ791vNf4V73PNM0LKNC0aEhod8HDhoezGnGJwuLaxlLWW\nQ/O1mxetJdlpl8jT0TVM7JD26Vbr4EuQJSJvrsqPtetLG3eE5YG8naa8Rwx2KC2b\n5a27z5ccq4rmOReiM9OYJoUspKmKXS12PmFNED45UYNwVdzu4F1wXminXZ9wtOpm\n-----END SECRET-KEYX-----"],"required_present":[]},"all":{"required_absent":["-----BEGIN SECRET-KEYX-----\nbxmSBvucopZRXHIrU8ii5xPaK7iayzZgS9ZEKqHmh0pQFK3c/pZoeGonHJ/qPq0d\nSwCL5o0mcOyuvFR9UljQ791vNf4V73PNM0LKNC0aEhod8HDhoezGnGJwuLaxlLWW\nQ/O1mxetJdlpl8jT0TVM7JD26Vbr4EuQJSJvrsqPtetLG3eE5YG8naa8Rwx2KC2b\n5a27z5ccq4rmOReiM9OYJoUspKmKXS12PmFNED45UYNwVdzu4F1wXminXZ9wtOpm\n-----END SECRET-KEYX-----"],"required_present":[]}},"tags":["broad-quality","secret-family:private-key","variation:05"],"secret_fixture":{"family":"private-key","role":"must-detect"}}, + {"id":"broad-secret-private-key-preserve-05","language":"en","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad private-key variation.","text":"**Release metadata: -----BEGIN CERTIFICATE-----\np37VjggO0YI1od+7lVjHZMbz09wKVW1Fp/ds3aZdjAcX3o0FVM4MU+kMAvtrtMGp\n34gtFfPoP+zHCeQqj8ExSAEmJKrt61iEEYMHWSXsBZk/vhaqPofZjFC4MXrUbsqN\n-----END CERTIFICATE-----**","known_identities":[],"targets":[{"id":"value","kind":"secret","start":20,"end":203,"value":"-----BEGIN CERTIFICATE-----\np37VjggO0YI1od+7lVjHZMbz09wKVW1Fp/ds3aZdjAcX3o0FVM4MU+kMAvtrtMGp\n34gtFfPoP+zHCeQqj8ExSAEmJKrt61iEEYMHWSXsBZk/vhaqPofZjFC4MXrUbsqN\n-----END CERTIFICATE-----","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-private-key-preserve-05","recipe":"private-key","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["-----BEGIN CERTIFICATE-----\np37VjggO0YI1od+7lVjHZMbz09wKVW1Fp/ds3aZdjAcX3o0FVM4MU+kMAvtrtMGp\n34gtFfPoP+zHCeQqj8ExSAEmJKrt61iEEYMHWSXsBZk/vhaqPofZjFC4MXrUbsqN\n-----END CERTIFICATE-----"]},"customers":{"required_absent":[],"required_present":["-----BEGIN CERTIFICATE-----\np37VjggO0YI1od+7lVjHZMbz09wKVW1Fp/ds3aZdjAcX3o0FVM4MU+kMAvtrtMGp\n34gtFfPoP+zHCeQqj8ExSAEmJKrt61iEEYMHWSXsBZk/vhaqPofZjFC4MXrUbsqN\n-----END CERTIFICATE-----"]},"all":{"required_absent":[],"required_present":["-----BEGIN CERTIFICATE-----\np37VjggO0YI1od+7lVjHZMbz09wKVW1Fp/ds3aZdjAcX3o0FVM4MU+kMAvtrtMGp\n34gtFfPoP+zHCeQqj8ExSAEmJKrt61iEEYMHWSXsBZk/vhaqPofZjFC4MXrUbsqN\n-----END CERTIFICATE-----"]}},"tags":["broad-quality","secret-family:private-key","variation:05"],"secret_fixture":{"family":"private-key","role":"preserve"}}, + {"id":"broad-secret-private-key-must-detect-06","language":"en","script":"Latin","shape":"html","risk":"critical","reason":"Locked broad private-key variation.","text":"\u003cp\u003eStack trace captured credential -----BEGIN RSA SECRET-KEYX-----\nh18uKszWBGBEVb/btGo+mw/Fb1vkqWt7Ts0CTdi9hfT2ArfY5E7cXmaCQq/3Meve\nZg3d3VodyCyMPQPw88b2Fcq+NFlPd340wZbpwUbXbq8pP85NYOuhYzxg1Zrd4wE5\nuppIw5N4RlyqehfhCJIpwZB6TSqmTYKRhRUZLTDTTEtqibxUZJJ9e2mUY1u0psXx\nsyYHynkHnRf6hz2bJbzpCdmUve03qlETevPDbrBxWb9qKcfs8IXSPKpWoF/mDw6b\n-----END RSA SECRET-KEYX-----\u003c/p\u003e","known_identities":[],"targets":[{"id":"value","kind":"secret","start":35,"end":356,"value":"-----BEGIN RSA SECRET-KEYX-----\nh18uKszWBGBEVb/btGo+mw/Fb1vkqWt7Ts0CTdi9hfT2ArfY5E7cXmaCQq/3Meve\nZg3d3VodyCyMPQPw88b2Fcq+NFlPd340wZbpwUbXbq8pP85NYOuhYzxg1Zrd4wE5\nuppIw5N4RlyqehfhCJIpwZB6TSqmTYKRhRUZLTDTTEtqibxUZJJ9e2mUY1u0psXx\nsyYHynkHnRf6hz2bJbzpCdmUve03qlETevPDbrBxWb9qKcfs8IXSPKpWoF/mDw6b\n-----END RSA SECRET-KEYX-----","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-private-key-must-detect-06","recipe":"private-key","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["-----BEGIN RSA SECRET-KEYX-----\nh18uKszWBGBEVb/btGo+mw/Fb1vkqWt7Ts0CTdi9hfT2ArfY5E7cXmaCQq/3Meve\nZg3d3VodyCyMPQPw88b2Fcq+NFlPd340wZbpwUbXbq8pP85NYOuhYzxg1Zrd4wE5\nuppIw5N4RlyqehfhCJIpwZB6TSqmTYKRhRUZLTDTTEtqibxUZJJ9e2mUY1u0psXx\nsyYHynkHnRf6hz2bJbzpCdmUve03qlETevPDbrBxWb9qKcfs8IXSPKpWoF/mDw6b\n-----END RSA SECRET-KEYX-----"]},"customers":{"required_absent":["-----BEGIN RSA SECRET-KEYX-----\nh18uKszWBGBEVb/btGo+mw/Fb1vkqWt7Ts0CTdi9hfT2ArfY5E7cXmaCQq/3Meve\nZg3d3VodyCyMPQPw88b2Fcq+NFlPd340wZbpwUbXbq8pP85NYOuhYzxg1Zrd4wE5\nuppIw5N4RlyqehfhCJIpwZB6TSqmTYKRhRUZLTDTTEtqibxUZJJ9e2mUY1u0psXx\nsyYHynkHnRf6hz2bJbzpCdmUve03qlETevPDbrBxWb9qKcfs8IXSPKpWoF/mDw6b\n-----END RSA SECRET-KEYX-----"],"required_present":[]},"all":{"required_absent":["-----BEGIN RSA SECRET-KEYX-----\nh18uKszWBGBEVb/btGo+mw/Fb1vkqWt7Ts0CTdi9hfT2ArfY5E7cXmaCQq/3Meve\nZg3d3VodyCyMPQPw88b2Fcq+NFlPd340wZbpwUbXbq8pP85NYOuhYzxg1Zrd4wE5\nuppIw5N4RlyqehfhCJIpwZB6TSqmTYKRhRUZLTDTTEtqibxUZJJ9e2mUY1u0psXx\nsyYHynkHnRf6hz2bJbzpCdmUve03qlETevPDbrBxWb9qKcfs8IXSPKpWoF/mDw6b\n-----END RSA SECRET-KEYX-----"],"required_present":[]}},"tags":["broad-quality","secret-family:private-key","variation:06"],"secret_fixture":{"family":"private-key","role":"must-detect"}}, + {"id":"broad-secret-private-key-preserve-06","language":"en","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad private-key variation.","text":"\u003cp\u003ePublic verification material: -----BEGIN PUBLIC KEY-----\nRNSib8zZ6ciVeSSift2EK1mET03bShHxq3WZSiXq8Po9i9WOtMZI7T7SqwX+QlLe\nmGhU62DrwtjHdZdAruiaputQBtBikIEb/f0ADrGt8M84NCn1r50XJ+QbEZibSMps\n-----END PUBLIC KEY-----\u003c/p\u003e","known_identities":[],"targets":[{"id":"value","kind":"secret","start":33,"end":214,"value":"-----BEGIN PUBLIC KEY-----\nRNSib8zZ6ciVeSSift2EK1mET03bShHxq3WZSiXq8Po9i9WOtMZI7T7SqwX+QlLe\nmGhU62DrwtjHdZdAruiaputQBtBikIEb/f0ADrGt8M84NCn1r50XJ+QbEZibSMps\n-----END PUBLIC KEY-----","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-private-key-preserve-06","recipe":"private-key","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["-----BEGIN PUBLIC KEY-----\nRNSib8zZ6ciVeSSift2EK1mET03bShHxq3WZSiXq8Po9i9WOtMZI7T7SqwX+QlLe\nmGhU62DrwtjHdZdAruiaputQBtBikIEb/f0ADrGt8M84NCn1r50XJ+QbEZibSMps\n-----END PUBLIC KEY-----"]},"customers":{"required_absent":[],"required_present":["-----BEGIN PUBLIC KEY-----\nRNSib8zZ6ciVeSSift2EK1mET03bShHxq3WZSiXq8Po9i9WOtMZI7T7SqwX+QlLe\nmGhU62DrwtjHdZdAruiaputQBtBikIEb/f0ADrGt8M84NCn1r50XJ+QbEZibSMps\n-----END PUBLIC KEY-----"]},"all":{"required_absent":[],"required_present":["-----BEGIN PUBLIC KEY-----\nRNSib8zZ6ciVeSSift2EK1mET03bShHxq3WZSiXq8Po9i9WOtMZI7T7SqwX+QlLe\nmGhU62DrwtjHdZdAruiaputQBtBikIEb/f0ADrGt8M84NCn1r50XJ+QbEZibSMps\n-----END PUBLIC KEY-----"]}},"tags":["broad-quality","secret-family:private-key","variation:06"],"secret_fixture":{"family":"private-key","role":"preserve"}}, + {"id":"broad-secret-private-key-must-detect-07","language":"en","script":"Latin","shape":"quoted-reply","risk":"critical","reason":"Locked broad private-key variation.","text":"\u003e Wrapped message credential: -----BEGIN EC SECRET-KEYX-----\nTOGI9ty07Eeheqx+QoAe1MQhwEOnZabClLVUyidAtwl5LsVMEkpTGJHUJUMFB45o\n8DMlzthsroPUgGw5AodfwFqbyh1ExSKPHulnWzFbgVAxai27WOF2LqY0fzq9T9Tz\n/ruQrLyOEoB6wG2B3nWBh4XeLQ6NA1GIgRStD0VOc4CJd3yJw8OhwTPrA5eyXQVw\n/ljJ/XKampUGr/AG5p0Px3Sh3wHVhpfPvuSak2yvpSiuMZP57co3IS9iFKLTCOYa\n-----END EC SECRET-KEYX-----","known_identities":[],"targets":[{"id":"value","kind":"secret","start":30,"end":349,"value":"-----BEGIN EC SECRET-KEYX-----\nTOGI9ty07Eeheqx+QoAe1MQhwEOnZabClLVUyidAtwl5LsVMEkpTGJHUJUMFB45o\n8DMlzthsroPUgGw5AodfwFqbyh1ExSKPHulnWzFbgVAxai27WOF2LqY0fzq9T9Tz\n/ruQrLyOEoB6wG2B3nWBh4XeLQ6NA1GIgRStD0VOc4CJd3yJw8OhwTPrA5eyXQVw\n/ljJ/XKampUGr/AG5p0Px3Sh3wHVhpfPvuSak2yvpSiuMZP57co3IS9iFKLTCOYa\n-----END EC SECRET-KEYX-----","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-private-key-must-detect-07","recipe":"private-key","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["-----BEGIN EC SECRET-KEYX-----\nTOGI9ty07Eeheqx+QoAe1MQhwEOnZabClLVUyidAtwl5LsVMEkpTGJHUJUMFB45o\n8DMlzthsroPUgGw5AodfwFqbyh1ExSKPHulnWzFbgVAxai27WOF2LqY0fzq9T9Tz\n/ruQrLyOEoB6wG2B3nWBh4XeLQ6NA1GIgRStD0VOc4CJd3yJw8OhwTPrA5eyXQVw\n/ljJ/XKampUGr/AG5p0Px3Sh3wHVhpfPvuSak2yvpSiuMZP57co3IS9iFKLTCOYa\n-----END EC SECRET-KEYX-----"]},"customers":{"required_absent":["-----BEGIN EC SECRET-KEYX-----\nTOGI9ty07Eeheqx+QoAe1MQhwEOnZabClLVUyidAtwl5LsVMEkpTGJHUJUMFB45o\n8DMlzthsroPUgGw5AodfwFqbyh1ExSKPHulnWzFbgVAxai27WOF2LqY0fzq9T9Tz\n/ruQrLyOEoB6wG2B3nWBh4XeLQ6NA1GIgRStD0VOc4CJd3yJw8OhwTPrA5eyXQVw\n/ljJ/XKampUGr/AG5p0Px3Sh3wHVhpfPvuSak2yvpSiuMZP57co3IS9iFKLTCOYa\n-----END EC SECRET-KEYX-----"],"required_present":[]},"all":{"required_absent":["-----BEGIN EC SECRET-KEYX-----\nTOGI9ty07Eeheqx+QoAe1MQhwEOnZabClLVUyidAtwl5LsVMEkpTGJHUJUMFB45o\n8DMlzthsroPUgGw5AodfwFqbyh1ExSKPHulnWzFbgVAxai27WOF2LqY0fzq9T9Tz\n/ruQrLyOEoB6wG2B3nWBh4XeLQ6NA1GIgRStD0VOc4CJd3yJw8OhwTPrA5eyXQVw\n/ljJ/XKampUGr/AG5p0Px3Sh3wHVhpfPvuSak2yvpSiuMZP57co3IS9iFKLTCOYa\n-----END EC SECRET-KEYX-----"],"required_present":[]}},"tags":["broad-quality","secret-family:private-key","variation:07"],"secret_fixture":{"family":"private-key","role":"must-detect"}}, + {"id":"broad-secret-private-key-preserve-07","language":"en","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad private-key variation.","text":"\u003e Troubleshooting reference: -----BEGIN CERTIFICATE-----\nT/yxdW3oHjtT2FhWMVoqExFfJLFuRIDOc1ZRxbJMM3MvQRPwaRIt5vyP62i1BO8q\nYA+naURx/+cjldS4Omx6sz7dTY9njEvyc2Xnsr68o32H0RGnCDBe2TpEdXM5CePl\n-----END CERTIFICATE-----","known_identities":[],"targets":[{"id":"value","kind":"secret","start":29,"end":212,"value":"-----BEGIN CERTIFICATE-----\nT/yxdW3oHjtT2FhWMVoqExFfJLFuRIDOc1ZRxbJMM3MvQRPwaRIt5vyP62i1BO8q\nYA+naURx/+cjldS4Omx6sz7dTY9njEvyc2Xnsr68o32H0RGnCDBe2TpEdXM5CePl\n-----END CERTIFICATE-----","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-private-key-preserve-07","recipe":"private-key","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["-----BEGIN CERTIFICATE-----\nT/yxdW3oHjtT2FhWMVoqExFfJLFuRIDOc1ZRxbJMM3MvQRPwaRIt5vyP62i1BO8q\nYA+naURx/+cjldS4Omx6sz7dTY9njEvyc2Xnsr68o32H0RGnCDBe2TpEdXM5CePl\n-----END CERTIFICATE-----"]},"customers":{"required_absent":[],"required_present":["-----BEGIN CERTIFICATE-----\nT/yxdW3oHjtT2FhWMVoqExFfJLFuRIDOc1ZRxbJMM3MvQRPwaRIt5vyP62i1BO8q\nYA+naURx/+cjldS4Omx6sz7dTY9njEvyc2Xnsr68o32H0RGnCDBe2TpEdXM5CePl\n-----END CERTIFICATE-----"]},"all":{"required_absent":[],"required_present":["-----BEGIN CERTIFICATE-----\nT/yxdW3oHjtT2FhWMVoqExFfJLFuRIDOc1ZRxbJMM3MvQRPwaRIt5vyP62i1BO8q\nYA+naURx/+cjldS4Omx6sz7dTY9njEvyc2Xnsr68o32H0RGnCDBe2TpEdXM5CePl\n-----END CERTIFICATE-----"]}},"tags":["broad-quality","secret-family:private-key","variation:07"],"secret_fixture":{"family":"private-key","role":"preserve"}}, + {"id":"broad-secret-private-key-must-detect-08","language":"en","script":"Latin","shape":"log","risk":"critical","reason":"Locked broad private-key variation.","text":"level=warn sample=8 message=\"Credential copied from a support reply: \" value=-----BEGIN OPENSSH SECRET-KEYX-----\nmYl+gFYnaKjBFgoyZSK0ZECR2cQ0sce2de7iz5dGkUUSb2dHLRtU/DUaSpayBS0v\nKSJfwVEDcDrXQwmkHpjvzD2tkVWJmT0SAN6fzO0rArAvLBDIhcfqM9xuea4oD7Ik\nIt3EYW3GDhIo97vXyPcU5SRa3RxQXGCS1ZUpB2cDB2jV5POOUHcl2pdc3XOLutdl\nluKI3G8N4XxVTBn7k8aQpKo0o9O5egNswjoXlUpgJvOnXLegAR2GL/QceHTQ3poy\n-----END OPENSSH SECRET-KEYX-----","known_identities":[],"targets":[{"id":"value","kind":"secret","start":77,"end":406,"value":"-----BEGIN OPENSSH SECRET-KEYX-----\nmYl+gFYnaKjBFgoyZSK0ZECR2cQ0sce2de7iz5dGkUUSb2dHLRtU/DUaSpayBS0v\nKSJfwVEDcDrXQwmkHpjvzD2tkVWJmT0SAN6fzO0rArAvLBDIhcfqM9xuea4oD7Ik\nIt3EYW3GDhIo97vXyPcU5SRa3RxQXGCS1ZUpB2cDB2jV5POOUHcl2pdc3XOLutdl\nluKI3G8N4XxVTBn7k8aQpKo0o9O5egNswjoXlUpgJvOnXLegAR2GL/QceHTQ3poy\n-----END OPENSSH SECRET-KEYX-----","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-private-key-must-detect-08","recipe":"private-key","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["-----BEGIN OPENSSH SECRET-KEYX-----\nmYl+gFYnaKjBFgoyZSK0ZECR2cQ0sce2de7iz5dGkUUSb2dHLRtU/DUaSpayBS0v\nKSJfwVEDcDrXQwmkHpjvzD2tkVWJmT0SAN6fzO0rArAvLBDIhcfqM9xuea4oD7Ik\nIt3EYW3GDhIo97vXyPcU5SRa3RxQXGCS1ZUpB2cDB2jV5POOUHcl2pdc3XOLutdl\nluKI3G8N4XxVTBn7k8aQpKo0o9O5egNswjoXlUpgJvOnXLegAR2GL/QceHTQ3poy\n-----END OPENSSH SECRET-KEYX-----"]},"customers":{"required_absent":["-----BEGIN OPENSSH SECRET-KEYX-----\nmYl+gFYnaKjBFgoyZSK0ZECR2cQ0sce2de7iz5dGkUUSb2dHLRtU/DUaSpayBS0v\nKSJfwVEDcDrXQwmkHpjvzD2tkVWJmT0SAN6fzO0rArAvLBDIhcfqM9xuea4oD7Ik\nIt3EYW3GDhIo97vXyPcU5SRa3RxQXGCS1ZUpB2cDB2jV5POOUHcl2pdc3XOLutdl\nluKI3G8N4XxVTBn7k8aQpKo0o9O5egNswjoXlUpgJvOnXLegAR2GL/QceHTQ3poy\n-----END OPENSSH SECRET-KEYX-----"],"required_present":[]},"all":{"required_absent":["-----BEGIN OPENSSH SECRET-KEYX-----\nmYl+gFYnaKjBFgoyZSK0ZECR2cQ0sce2de7iz5dGkUUSb2dHLRtU/DUaSpayBS0v\nKSJfwVEDcDrXQwmkHpjvzD2tkVWJmT0SAN6fzO0rArAvLBDIhcfqM9xuea4oD7Ik\nIt3EYW3GDhIo97vXyPcU5SRa3RxQXGCS1ZUpB2cDB2jV5POOUHcl2pdc3XOLutdl\nluKI3G8N4XxVTBn7k8aQpKo0o9O5egNswjoXlUpgJvOnXLegAR2GL/QceHTQ3poy\n-----END OPENSSH SECRET-KEYX-----"],"required_present":[]}},"tags":["broad-quality","secret-family:private-key","variation:08"],"secret_fixture":{"family":"private-key","role":"must-detect"}}, + {"id":"broad-secret-private-key-preserve-08","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad private-key variation.","text":"level=warn sample=8 message=\"Public configuration vocabulary: \" value=-----BEGIN PUBLIC KEY-----\nix6ExcZ2IWx6xJYSDDWv0Yw9ayeMt2XOP6BQRz5fXSvLfpVecyRO3TcPvDHoJj4N\nSXH6FiAYk8khWkLrO6ps9SxoPhjP2W2Z0NsrvADS44+AKjqfFQe7kEITRXG9YyHr\n-----END PUBLIC KEY-----","known_identities":[],"targets":[{"id":"value","kind":"secret","start":70,"end":251,"value":"-----BEGIN PUBLIC KEY-----\nix6ExcZ2IWx6xJYSDDWv0Yw9ayeMt2XOP6BQRz5fXSvLfpVecyRO3TcPvDHoJj4N\nSXH6FiAYk8khWkLrO6ps9SxoPhjP2W2Z0NsrvADS44+AKjqfFQe7kEITRXG9YyHr\n-----END PUBLIC KEY-----","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-private-key-preserve-08","recipe":"private-key","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["-----BEGIN PUBLIC KEY-----\nix6ExcZ2IWx6xJYSDDWv0Yw9ayeMt2XOP6BQRz5fXSvLfpVecyRO3TcPvDHoJj4N\nSXH6FiAYk8khWkLrO6ps9SxoPhjP2W2Z0NsrvADS44+AKjqfFQe7kEITRXG9YyHr\n-----END PUBLIC KEY-----"]},"customers":{"required_absent":[],"required_present":["-----BEGIN PUBLIC KEY-----\nix6ExcZ2IWx6xJYSDDWv0Yw9ayeMt2XOP6BQRz5fXSvLfpVecyRO3TcPvDHoJj4N\nSXH6FiAYk8khWkLrO6ps9SxoPhjP2W2Z0NsrvADS44+AKjqfFQe7kEITRXG9YyHr\n-----END PUBLIC KEY-----"]},"all":{"required_absent":[],"required_present":["-----BEGIN PUBLIC KEY-----\nix6ExcZ2IWx6xJYSDDWv0Yw9ayeMt2XOP6BQRz5fXSvLfpVecyRO3TcPvDHoJj4N\nSXH6FiAYk8khWkLrO6ps9SxoPhjP2W2Z0NsrvADS44+AKjqfFQe7kEITRXG9YyHr\n-----END PUBLIC KEY-----"]}},"tags":["broad-quality","secret-family:private-key","variation:08"],"secret_fixture":{"family":"private-key","role":"preserve"}}, + {"id":"broad-secret-private-key-must-detect-09","language":"en","script":"Latin","shape":"stack-trace","risk":"critical","reason":"Locked broad private-key variation.","text":"Trace[9]: Authorization header value: -----BEGIN ENCRYPTED SECRET-KEYX-----\nLIazpRR1wsZN9eO5CMlyAwfYdXUQ0CoLEMg7jShEcJDb15fxbP3ll09FaV6YCRnG\n14K+oacBAjRsi3wMvjfnxS1ezGmM/npBUbY/ffDFzVZC6QciXZvB9mqSPvRf0Bbv\nKGIBsOLEeZE7a6snLmLhNf6qXwrpp1/i857VliGF/w9ytU4SXH8dSzR5yADyhzk9\nLTaUp/TwUR5S9kc0pIkhgTFECfl1T/Ko7XUqlhPeEuOasLd0/8uWmCloZk7Ef/n3\n-----END ENCRYPTED SECRET-KEYX-----","known_identities":[],"targets":[{"id":"value","kind":"secret","start":38,"end":371,"value":"-----BEGIN ENCRYPTED SECRET-KEYX-----\nLIazpRR1wsZN9eO5CMlyAwfYdXUQ0CoLEMg7jShEcJDb15fxbP3ll09FaV6YCRnG\n14K+oacBAjRsi3wMvjfnxS1ezGmM/npBUbY/ffDFzVZC6QciXZvB9mqSPvRf0Bbv\nKGIBsOLEeZE7a6snLmLhNf6qXwrpp1/i857VliGF/w9ytU4SXH8dSzR5yADyhzk9\nLTaUp/TwUR5S9kc0pIkhgTFECfl1T/Ko7XUqlhPeEuOasLd0/8uWmCloZk7Ef/n3\n-----END ENCRYPTED SECRET-KEYX-----","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-private-key-must-detect-09","recipe":"private-key","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["-----BEGIN ENCRYPTED SECRET-KEYX-----\nLIazpRR1wsZN9eO5CMlyAwfYdXUQ0CoLEMg7jShEcJDb15fxbP3ll09FaV6YCRnG\n14K+oacBAjRsi3wMvjfnxS1ezGmM/npBUbY/ffDFzVZC6QciXZvB9mqSPvRf0Bbv\nKGIBsOLEeZE7a6snLmLhNf6qXwrpp1/i857VliGF/w9ytU4SXH8dSzR5yADyhzk9\nLTaUp/TwUR5S9kc0pIkhgTFECfl1T/Ko7XUqlhPeEuOasLd0/8uWmCloZk7Ef/n3\n-----END ENCRYPTED SECRET-KEYX-----"]},"customers":{"required_absent":["-----BEGIN ENCRYPTED SECRET-KEYX-----\nLIazpRR1wsZN9eO5CMlyAwfYdXUQ0CoLEMg7jShEcJDb15fxbP3ll09FaV6YCRnG\n14K+oacBAjRsi3wMvjfnxS1ezGmM/npBUbY/ffDFzVZC6QciXZvB9mqSPvRf0Bbv\nKGIBsOLEeZE7a6snLmLhNf6qXwrpp1/i857VliGF/w9ytU4SXH8dSzR5yADyhzk9\nLTaUp/TwUR5S9kc0pIkhgTFECfl1T/Ko7XUqlhPeEuOasLd0/8uWmCloZk7Ef/n3\n-----END ENCRYPTED SECRET-KEYX-----"],"required_present":[]},"all":{"required_absent":["-----BEGIN ENCRYPTED SECRET-KEYX-----\nLIazpRR1wsZN9eO5CMlyAwfYdXUQ0CoLEMg7jShEcJDb15fxbP3ll09FaV6YCRnG\n14K+oacBAjRsi3wMvjfnxS1ezGmM/npBUbY/ffDFzVZC6QciXZvB9mqSPvRf0Bbv\nKGIBsOLEeZE7a6snLmLhNf6qXwrpp1/i857VliGF/w9ytU4SXH8dSzR5yADyhzk9\nLTaUp/TwUR5S9kc0pIkhgTFECfl1T/Ko7XUqlhPeEuOasLd0/8uWmCloZk7Ef/n3\n-----END ENCRYPTED SECRET-KEYX-----"],"required_present":[]}},"tags":["broad-quality","secret-family:private-key","variation:09"],"secret_fixture":{"family":"private-key","role":"must-detect"}}, + {"id":"broad-secret-private-key-preserve-09","language":"en","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad private-key variation.","text":"Trace[9]: Documentation syntax: -----BEGIN CERTIFICATE-----\n/vqjRa85fFbWaYmlt0Cw7CmuJzmrYOWnY/LGyvhwkmyPCSwWCH1z7xOQis3sO0XX\nLuuBUcinIuFMH8ijUNtpAzWvIKGHs4Ly427tUzjsNHkOgCwh+/jmarF5wtsNWmzn\n-----END CERTIFICATE-----","known_identities":[],"targets":[{"id":"value","kind":"secret","start":32,"end":215,"value":"-----BEGIN CERTIFICATE-----\n/vqjRa85fFbWaYmlt0Cw7CmuJzmrYOWnY/LGyvhwkmyPCSwWCH1z7xOQis3sO0XX\nLuuBUcinIuFMH8ijUNtpAzWvIKGHs4Ly427tUzjsNHkOgCwh+/jmarF5wtsNWmzn\n-----END CERTIFICATE-----","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-private-key-preserve-09","recipe":"private-key","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["-----BEGIN CERTIFICATE-----\n/vqjRa85fFbWaYmlt0Cw7CmuJzmrYOWnY/LGyvhwkmyPCSwWCH1z7xOQis3sO0XX\nLuuBUcinIuFMH8ijUNtpAzWvIKGHs4Ly427tUzjsNHkOgCwh+/jmarF5wtsNWmzn\n-----END CERTIFICATE-----"]},"customers":{"required_absent":[],"required_present":["-----BEGIN CERTIFICATE-----\n/vqjRa85fFbWaYmlt0Cw7CmuJzmrYOWnY/LGyvhwkmyPCSwWCH1z7xOQis3sO0XX\nLuuBUcinIuFMH8ijUNtpAzWvIKGHs4Ly427tUzjsNHkOgCwh+/jmarF5wtsNWmzn\n-----END CERTIFICATE-----"]},"all":{"required_absent":[],"required_present":["-----BEGIN CERTIFICATE-----\n/vqjRa85fFbWaYmlt0Cw7CmuJzmrYOWnY/LGyvhwkmyPCSwWCH1z7xOQis3sO0XX\nLuuBUcinIuFMH8ijUNtpAzWvIKGHs4Ly427tUzjsNHkOgCwh+/jmarF5wtsNWmzn\n-----END CERTIFICATE-----"]}},"tags":["broad-quality","secret-family:private-key","variation:09"],"secret_fixture":{"family":"private-key","role":"preserve"}}, + {"id":"broad-secret-private-key-must-detect-10","language":"en","script":"Latin","shape":"code","risk":"critical","reason":"Locked broad private-key variation.","text":"fixture_10 := `Log field auth_value=-----BEGIN SECRET-KEYX-----\nX7Y713O4SpQj4MeOUnAc6l3svNEsYpTqSbMAr/7qZmQU8ymtPD5DCnaa8vasHq6k\nexSNJ9l+iPWqV6ncF4ofQUpadghb3RsRMDmGIoGO0qPjlbh2ucJSYlrG15440TqK\nVUGHmiuZRuBS0v4H0uWAlpIP75H43jap0PD+zAP4OdAUw8CVsHoTjbZb4NbCVQK0\nJ/oAjZ/1a2q8a0AylGOELP9sCKb1ucTXQ7ZKh+RZ9Dgqz9Oee42kwfZRvkWLqGUS\n-----END SECRET-KEYX-----`","known_identities":[],"targets":[{"id":"value","kind":"secret","start":36,"end":349,"value":"-----BEGIN SECRET-KEYX-----\nX7Y713O4SpQj4MeOUnAc6l3svNEsYpTqSbMAr/7qZmQU8ymtPD5DCnaa8vasHq6k\nexSNJ9l+iPWqV6ncF4ofQUpadghb3RsRMDmGIoGO0qPjlbh2ucJSYlrG15440TqK\nVUGHmiuZRuBS0v4H0uWAlpIP75H43jap0PD+zAP4OdAUw8CVsHoTjbZb4NbCVQK0\nJ/oAjZ/1a2q8a0AylGOELP9sCKb1ucTXQ7ZKh+RZ9Dgqz9Oee42kwfZRvkWLqGUS\n-----END SECRET-KEYX-----","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-private-key-must-detect-10","recipe":"private-key","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["-----BEGIN SECRET-KEYX-----\nX7Y713O4SpQj4MeOUnAc6l3svNEsYpTqSbMAr/7qZmQU8ymtPD5DCnaa8vasHq6k\nexSNJ9l+iPWqV6ncF4ofQUpadghb3RsRMDmGIoGO0qPjlbh2ucJSYlrG15440TqK\nVUGHmiuZRuBS0v4H0uWAlpIP75H43jap0PD+zAP4OdAUw8CVsHoTjbZb4NbCVQK0\nJ/oAjZ/1a2q8a0AylGOELP9sCKb1ucTXQ7ZKh+RZ9Dgqz9Oee42kwfZRvkWLqGUS\n-----END SECRET-KEYX-----"]},"customers":{"required_absent":["-----BEGIN SECRET-KEYX-----\nX7Y713O4SpQj4MeOUnAc6l3svNEsYpTqSbMAr/7qZmQU8ymtPD5DCnaa8vasHq6k\nexSNJ9l+iPWqV6ncF4ofQUpadghb3RsRMDmGIoGO0qPjlbh2ucJSYlrG15440TqK\nVUGHmiuZRuBS0v4H0uWAlpIP75H43jap0PD+zAP4OdAUw8CVsHoTjbZb4NbCVQK0\nJ/oAjZ/1a2q8a0AylGOELP9sCKb1ucTXQ7ZKh+RZ9Dgqz9Oee42kwfZRvkWLqGUS\n-----END SECRET-KEYX-----"],"required_present":[]},"all":{"required_absent":["-----BEGIN SECRET-KEYX-----\nX7Y713O4SpQj4MeOUnAc6l3svNEsYpTqSbMAr/7qZmQU8ymtPD5DCnaa8vasHq6k\nexSNJ9l+iPWqV6ncF4ofQUpadghb3RsRMDmGIoGO0qPjlbh2ucJSYlrG15440TqK\nVUGHmiuZRuBS0v4H0uWAlpIP75H43jap0PD+zAP4OdAUw8CVsHoTjbZb4NbCVQK0\nJ/oAjZ/1a2q8a0AylGOELP9sCKb1ucTXQ7ZKh+RZ9Dgqz9Oee42kwfZRvkWLqGUS\n-----END SECRET-KEYX-----"],"required_present":[]}},"tags":["broad-quality","secret-family:private-key","variation:10"],"secret_fixture":{"family":"private-key","role":"must-detect"}}, + {"id":"broad-secret-private-key-preserve-10","language":"en","script":"Latin","shape":"code","risk":"preservation","reason":"Locked broad private-key variation.","text":"fixture_10 := `Public operational identifier: -----BEGIN PUBLIC KEY-----\n9T2eJV7hh5x1RlZh1nnkdm5ZvPIKQWlY99JunCCdDre9KgOiOyc4Vi63uwMfJ21D\ny9oEkS4f3iHEq+wcRc7yx3D21r/fXv1X5jQzzxyvM6ip9QLtg/PZFW/YrLihrFYV\n-----END PUBLIC KEY-----`","known_identities":[],"targets":[{"id":"value","kind":"secret","start":46,"end":227,"value":"-----BEGIN PUBLIC KEY-----\n9T2eJV7hh5x1RlZh1nnkdm5ZvPIKQWlY99JunCCdDre9KgOiOyc4Vi63uwMfJ21D\ny9oEkS4f3iHEq+wcRc7yx3D21r/fXv1X5jQzzxyvM6ip9QLtg/PZFW/YrLihrFYV\n-----END PUBLIC KEY-----","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-private-key-preserve-10","recipe":"private-key","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["-----BEGIN PUBLIC KEY-----\n9T2eJV7hh5x1RlZh1nnkdm5ZvPIKQWlY99JunCCdDre9KgOiOyc4Vi63uwMfJ21D\ny9oEkS4f3iHEq+wcRc7yx3D21r/fXv1X5jQzzxyvM6ip9QLtg/PZFW/YrLihrFYV\n-----END PUBLIC KEY-----"]},"customers":{"required_absent":[],"required_present":["-----BEGIN PUBLIC KEY-----\n9T2eJV7hh5x1RlZh1nnkdm5ZvPIKQWlY99JunCCdDre9KgOiOyc4Vi63uwMfJ21D\ny9oEkS4f3iHEq+wcRc7yx3D21r/fXv1X5jQzzxyvM6ip9QLtg/PZFW/YrLihrFYV\n-----END PUBLIC KEY-----"]},"all":{"required_absent":[],"required_present":["-----BEGIN PUBLIC KEY-----\n9T2eJV7hh5x1RlZh1nnkdm5ZvPIKQWlY99JunCCdDre9KgOiOyc4Vi63uwMfJ21D\ny9oEkS4f3iHEq+wcRc7yx3D21r/fXv1X5jQzzxyvM6ip9QLtg/PZFW/YrLihrFYV\n-----END PUBLIC KEY-----"]}},"tags":["broad-quality","secret-family:private-key","variation:10"],"secret_fixture":{"family":"private-key","role":"preserve"}}, + {"id":"broad-secret-private-key-must-detect-11","language":"en","script":"Latin","shape":"signature","risk":"critical","reason":"Locked broad private-key variation.","text":"--\nRotating this exposed value: -----BEGIN RSA SECRET-KEYX-----\nEYLphTxxYj3r4eEkRVmf0lxYmftQNKbfeeYqZCyKHpRfYUyMPK/iaLDzT2BdXg2Z\nyzTAmhi8EgpRCWLP6fpGrwyMaE4BettnDFfri17qkc2kjQ7XVxCIcdFoBabO3Qly\nzb8PhYu9YBgbw3NTcpez1f2JgvUwMLxwkw26gRAmt6yUIgAw/F2UUuYLCYaO9ghL\nuhWsm4El0K15vb7BSu6KgcxEhuOVSD5xGzoAj6yRt4CGJuErttP7PM/GI2wk6y3s\n-----END RSA SECRET-KEYX-----","known_identities":[],"targets":[{"id":"value","kind":"secret","start":32,"end":353,"value":"-----BEGIN RSA SECRET-KEYX-----\nEYLphTxxYj3r4eEkRVmf0lxYmftQNKbfeeYqZCyKHpRfYUyMPK/iaLDzT2BdXg2Z\nyzTAmhi8EgpRCWLP6fpGrwyMaE4BettnDFfri17qkc2kjQ7XVxCIcdFoBabO3Qly\nzb8PhYu9YBgbw3NTcpez1f2JgvUwMLxwkw26gRAmt6yUIgAw/F2UUuYLCYaO9ghL\nuhWsm4El0K15vb7BSu6KgcxEhuOVSD5xGzoAj6yRt4CGJuErttP7PM/GI2wk6y3s\n-----END RSA SECRET-KEYX-----","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-private-key-must-detect-11","recipe":"private-key","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["-----BEGIN RSA SECRET-KEYX-----\nEYLphTxxYj3r4eEkRVmf0lxYmftQNKbfeeYqZCyKHpRfYUyMPK/iaLDzT2BdXg2Z\nyzTAmhi8EgpRCWLP6fpGrwyMaE4BettnDFfri17qkc2kjQ7XVxCIcdFoBabO3Qly\nzb8PhYu9YBgbw3NTcpez1f2JgvUwMLxwkw26gRAmt6yUIgAw/F2UUuYLCYaO9ghL\nuhWsm4El0K15vb7BSu6KgcxEhuOVSD5xGzoAj6yRt4CGJuErttP7PM/GI2wk6y3s\n-----END RSA SECRET-KEYX-----"]},"customers":{"required_absent":["-----BEGIN RSA SECRET-KEYX-----\nEYLphTxxYj3r4eEkRVmf0lxYmftQNKbfeeYqZCyKHpRfYUyMPK/iaLDzT2BdXg2Z\nyzTAmhi8EgpRCWLP6fpGrwyMaE4BettnDFfri17qkc2kjQ7XVxCIcdFoBabO3Qly\nzb8PhYu9YBgbw3NTcpez1f2JgvUwMLxwkw26gRAmt6yUIgAw/F2UUuYLCYaO9ghL\nuhWsm4El0K15vb7BSu6KgcxEhuOVSD5xGzoAj6yRt4CGJuErttP7PM/GI2wk6y3s\n-----END RSA SECRET-KEYX-----"],"required_present":[]},"all":{"required_absent":["-----BEGIN RSA SECRET-KEYX-----\nEYLphTxxYj3r4eEkRVmf0lxYmftQNKbfeeYqZCyKHpRfYUyMPK/iaLDzT2BdXg2Z\nyzTAmhi8EgpRCWLP6fpGrwyMaE4BettnDFfri17qkc2kjQ7XVxCIcdFoBabO3Qly\nzb8PhYu9YBgbw3NTcpez1f2JgvUwMLxwkw26gRAmt6yUIgAw/F2UUuYLCYaO9ghL\nuhWsm4El0K15vb7BSu6KgcxEhuOVSD5xGzoAj6yRt4CGJuErttP7PM/GI2wk6y3s\n-----END RSA SECRET-KEYX-----"],"required_present":[]}},"tags":["broad-quality","secret-family:private-key","variation:11"],"secret_fixture":{"family":"private-key","role":"must-detect"}}, + {"id":"broad-secret-private-key-preserve-11","language":"en","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad private-key variation.","text":"--\nSchema field label: -----BEGIN CERTIFICATE-----\n1z9gN1Nq5LGEVifp+7VJIKFb2stulElpydy+9AelBdvdYPQ8SI8Lmyv3N9MfJERo\nlK0rPR7RjI230gzMbzkt28Tp0psqjIInZ/w4UlMaYvLwSiVu4rY1L8sbpUURmIPs\n-----END CERTIFICATE-----","known_identities":[],"targets":[{"id":"value","kind":"secret","start":23,"end":206,"value":"-----BEGIN CERTIFICATE-----\n1z9gN1Nq5LGEVifp+7VJIKFb2stulElpydy+9AelBdvdYPQ8SI8Lmyv3N9MfJERo\nlK0rPR7RjI230gzMbzkt28Tp0psqjIInZ/w4UlMaYvLwSiVu4rY1L8sbpUURmIPs\n-----END CERTIFICATE-----","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-private-key-preserve-11","recipe":"private-key","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["-----BEGIN CERTIFICATE-----\n1z9gN1Nq5LGEVifp+7VJIKFb2stulElpydy+9AelBdvdYPQ8SI8Lmyv3N9MfJERo\nlK0rPR7RjI230gzMbzkt28Tp0psqjIInZ/w4UlMaYvLwSiVu4rY1L8sbpUURmIPs\n-----END CERTIFICATE-----"]},"customers":{"required_absent":[],"required_present":["-----BEGIN CERTIFICATE-----\n1z9gN1Nq5LGEVifp+7VJIKFb2stulElpydy+9AelBdvdYPQ8SI8Lmyv3N9MfJERo\nlK0rPR7RjI230gzMbzkt28Tp0psqjIInZ/w4UlMaYvLwSiVu4rY1L8sbpUURmIPs\n-----END CERTIFICATE-----"]},"all":{"required_absent":[],"required_present":["-----BEGIN CERTIFICATE-----\n1z9gN1Nq5LGEVifp+7VJIKFb2stulElpydy+9AelBdvdYPQ8SI8Lmyv3N9MfJERo\nlK0rPR7RjI230gzMbzkt28Tp0psqjIInZ/w4UlMaYvLwSiVu4rY1L8sbpUURmIPs\n-----END CERTIFICATE-----"]}},"tags":["broad-quality","secret-family:private-key","variation:11"],"secret_fixture":{"family":"private-key","role":"preserve"}}, + {"id":"broad-secret-private-key-must-detect-12","language":"en","script":"Latin","shape":"long-thread","risk":"critical","reason":"Locked broad private-key variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Quoted credential follows: -----BEGIN EC SECRET-KEYX-----\n3WyTA9/uAvd9z7/LIvJRp0U9wh7rkDdlyo8WRFcE6ksPMXVskbgy2bx7w38PGbW8\n5E7daoLIn8XWmD9jOye7AnH+1vrzVBnM3HukbsEWO/Sex+vlCNGEhLoAv9Ikzx4e\nKqwkA0/IRpZPfCQ1c6KTJc0Wpxlj4QP40URC/+IcheDL3oQPPARceeYOl+y/V0rF\nVfxr5bAuYiMvsj0NEgKdKxJJ6B/X6GZ+vqdxuUrmteoo7fl1CjBA2kjE7ebSS5YW\n-----END EC SECRET-KEYX-----","known_identities":[],"targets":[{"id":"value","kind":"secret","start":507,"end":826,"value":"-----BEGIN EC SECRET-KEYX-----\n3WyTA9/uAvd9z7/LIvJRp0U9wh7rkDdlyo8WRFcE6ksPMXVskbgy2bx7w38PGbW8\n5E7daoLIn8XWmD9jOye7AnH+1vrzVBnM3HukbsEWO/Sex+vlCNGEhLoAv9Ikzx4e\nKqwkA0/IRpZPfCQ1c6KTJc0Wpxlj4QP40URC/+IcheDL3oQPPARceeYOl+y/V0rF\nVfxr5bAuYiMvsj0NEgKdKxJJ6B/X6GZ+vqdxuUrmteoo7fl1CjBA2kjE7ebSS5YW\n-----END EC SECRET-KEYX-----","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-private-key-must-detect-12","recipe":"private-key","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["-----BEGIN EC SECRET-KEYX-----\n3WyTA9/uAvd9z7/LIvJRp0U9wh7rkDdlyo8WRFcE6ksPMXVskbgy2bx7w38PGbW8\n5E7daoLIn8XWmD9jOye7AnH+1vrzVBnM3HukbsEWO/Sex+vlCNGEhLoAv9Ikzx4e\nKqwkA0/IRpZPfCQ1c6KTJc0Wpxlj4QP40URC/+IcheDL3oQPPARceeYOl+y/V0rF\nVfxr5bAuYiMvsj0NEgKdKxJJ6B/X6GZ+vqdxuUrmteoo7fl1CjBA2kjE7ebSS5YW\n-----END EC SECRET-KEYX-----"]},"customers":{"required_absent":["-----BEGIN EC SECRET-KEYX-----\n3WyTA9/uAvd9z7/LIvJRp0U9wh7rkDdlyo8WRFcE6ksPMXVskbgy2bx7w38PGbW8\n5E7daoLIn8XWmD9jOye7AnH+1vrzVBnM3HukbsEWO/Sex+vlCNGEhLoAv9Ikzx4e\nKqwkA0/IRpZPfCQ1c6KTJc0Wpxlj4QP40URC/+IcheDL3oQPPARceeYOl+y/V0rF\nVfxr5bAuYiMvsj0NEgKdKxJJ6B/X6GZ+vqdxuUrmteoo7fl1CjBA2kjE7ebSS5YW\n-----END EC SECRET-KEYX-----"],"required_present":[]},"all":{"required_absent":["-----BEGIN EC SECRET-KEYX-----\n3WyTA9/uAvd9z7/LIvJRp0U9wh7rkDdlyo8WRFcE6ksPMXVskbgy2bx7w38PGbW8\n5E7daoLIn8XWmD9jOye7AnH+1vrzVBnM3HukbsEWO/Sex+vlCNGEhLoAv9Ikzx4e\nKqwkA0/IRpZPfCQ1c6KTJc0Wpxlj4QP40URC/+IcheDL3oQPPARceeYOl+y/V0rF\nVfxr5bAuYiMvsj0NEgKdKxJJ6B/X6GZ+vqdxuUrmteoo7fl1CjBA2kjE7ebSS5YW\n-----END EC SECRET-KEYX-----"],"required_present":[]}},"tags":["broad-quality","secret-family:private-key","variation:12"],"secret_fixture":{"family":"private-key","role":"must-detect"}}, + {"id":"broad-secret-private-key-preserve-12","language":"en","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad private-key variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Non-confidential protocol token: -----BEGIN PUBLIC KEY-----\nBaoK2VD+eMPzNTWwZbZOCK1YRRU142mUuMsbcOAbzxjDOGY0x+PTNjHvQu6aY4wH\nHHX2yK4r5MswnNmoLkmbUCUUiwRFTRcT/1PyxQtHl4+AqgfNRSJ7k+c30xKNKwP4\n-----END PUBLIC KEY-----","known_identities":[],"targets":[{"id":"value","kind":"secret","start":513,"end":694,"value":"-----BEGIN PUBLIC KEY-----\nBaoK2VD+eMPzNTWwZbZOCK1YRRU142mUuMsbcOAbzxjDOGY0x+PTNjHvQu6aY4wH\nHHX2yK4r5MswnNmoLkmbUCUUiwRFTRcT/1PyxQtHl4+AqgfNRSJ7k+c30xKNKwP4\n-----END PUBLIC KEY-----","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-private-key-preserve-12","recipe":"private-key","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["-----BEGIN PUBLIC KEY-----\nBaoK2VD+eMPzNTWwZbZOCK1YRRU142mUuMsbcOAbzxjDOGY0x+PTNjHvQu6aY4wH\nHHX2yK4r5MswnNmoLkmbUCUUiwRFTRcT/1PyxQtHl4+AqgfNRSJ7k+c30xKNKwP4\n-----END PUBLIC KEY-----"]},"customers":{"required_absent":[],"required_present":["-----BEGIN PUBLIC KEY-----\nBaoK2VD+eMPzNTWwZbZOCK1YRRU142mUuMsbcOAbzxjDOGY0x+PTNjHvQu6aY4wH\nHHX2yK4r5MswnNmoLkmbUCUUiwRFTRcT/1PyxQtHl4+AqgfNRSJ7k+c30xKNKwP4\n-----END PUBLIC KEY-----"]},"all":{"required_absent":[],"required_present":["-----BEGIN PUBLIC KEY-----\nBaoK2VD+eMPzNTWwZbZOCK1YRRU142mUuMsbcOAbzxjDOGY0x+PTNjHvQu6aY4wH\nHHX2yK4r5MswnNmoLkmbUCUUiwRFTRcT/1PyxQtHl4+AqgfNRSJ7k+c30xKNKwP4\n-----END PUBLIC KEY-----"]}},"tags":["broad-quality","secret-family:private-key","variation:12"],"secret_fixture":{"family":"private-key","role":"preserve"}}, + {"id":"broad-secret-private-key-must-detect-13","language":"en","script":"Latin","shape":"command-payload","risk":"critical","reason":"Locked broad private-key variation.","text":"--sample=13 --message=\"Configuration secret: \" --value=-----BEGIN OPENSSH SECRET-KEYX-----\nm/lSyRtYs5bZRD5zOdgjl+0PApr0agBJ45/b/c7Qs8Yy/yXbM1QpCMOSi7TLSzxa\nTcQUxjmdOJoaifhyvLPh2peRCj+lyHbpzl6e/LjN3IGelPdz28r8V5pB3r5G3i3E\n524zBaegmyYuZmLyD1gck+Jw4w1OF3cLHjV384chQITeDx4BslLdyhlm/MCyKpAw\nBij3I6uWYsDzPTG8tnnef/cl0aK9hlcpZRqyjbNBawBIVRlXvm4Rqb2zxB7qB+OY\n-----END OPENSSH SECRET-KEYX-----","known_identities":[],"targets":[{"id":"value","kind":"secret","start":55,"end":384,"value":"-----BEGIN OPENSSH SECRET-KEYX-----\nm/lSyRtYs5bZRD5zOdgjl+0PApr0agBJ45/b/c7Qs8Yy/yXbM1QpCMOSi7TLSzxa\nTcQUxjmdOJoaifhyvLPh2peRCj+lyHbpzl6e/LjN3IGelPdz28r8V5pB3r5G3i3E\n524zBaegmyYuZmLyD1gck+Jw4w1OF3cLHjV384chQITeDx4BslLdyhlm/MCyKpAw\nBij3I6uWYsDzPTG8tnnef/cl0aK9hlcpZRqyjbNBawBIVRlXvm4Rqb2zxB7qB+OY\n-----END OPENSSH SECRET-KEYX-----","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-private-key-must-detect-13","recipe":"private-key","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["-----BEGIN OPENSSH SECRET-KEYX-----\nm/lSyRtYs5bZRD5zOdgjl+0PApr0agBJ45/b/c7Qs8Yy/yXbM1QpCMOSi7TLSzxa\nTcQUxjmdOJoaifhyvLPh2peRCj+lyHbpzl6e/LjN3IGelPdz28r8V5pB3r5G3i3E\n524zBaegmyYuZmLyD1gck+Jw4w1OF3cLHjV384chQITeDx4BslLdyhlm/MCyKpAw\nBij3I6uWYsDzPTG8tnnef/cl0aK9hlcpZRqyjbNBawBIVRlXvm4Rqb2zxB7qB+OY\n-----END OPENSSH SECRET-KEYX-----"]},"customers":{"required_absent":["-----BEGIN OPENSSH SECRET-KEYX-----\nm/lSyRtYs5bZRD5zOdgjl+0PApr0agBJ45/b/c7Qs8Yy/yXbM1QpCMOSi7TLSzxa\nTcQUxjmdOJoaifhyvLPh2peRCj+lyHbpzl6e/LjN3IGelPdz28r8V5pB3r5G3i3E\n524zBaegmyYuZmLyD1gck+Jw4w1OF3cLHjV384chQITeDx4BslLdyhlm/MCyKpAw\nBij3I6uWYsDzPTG8tnnef/cl0aK9hlcpZRqyjbNBawBIVRlXvm4Rqb2zxB7qB+OY\n-----END OPENSSH SECRET-KEYX-----"],"required_present":[]},"all":{"required_absent":["-----BEGIN OPENSSH SECRET-KEYX-----\nm/lSyRtYs5bZRD5zOdgjl+0PApr0agBJ45/b/c7Qs8Yy/yXbM1QpCMOSi7TLSzxa\nTcQUxjmdOJoaifhyvLPh2peRCj+lyHbpzl6e/LjN3IGelPdz28r8V5pB3r5G3i3E\n524zBaegmyYuZmLyD1gck+Jw4w1OF3cLHjV384chQITeDx4BslLdyhlm/MCyKpAw\nBij3I6uWYsDzPTG8tnnef/cl0aK9hlcpZRqyjbNBawBIVRlXvm4Rqb2zxB7qB+OY\n-----END OPENSSH SECRET-KEYX-----"],"required_present":[]}},"tags":["broad-quality","secret-family:private-key","variation:13"],"secret_fixture":{"family":"private-key","role":"must-detect"}}, + {"id":"broad-secret-private-key-preserve-13","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad private-key variation.","text":"--sample=13 --message=\"Release metadata: \" --value=-----BEGIN CERTIFICATE-----\nFpaH8GqPd/9XpbxgS1VcIyeHksa7F1N8mtuWSyZMocMFE+N7+5IQOwOIZX3JQvme\ngVvH0USkjRVmLzhEpPrfEvQnq7s99lxihbmGbbUrn1Nou6/tg8fcav/SLNCx3ay1\n-----END CERTIFICATE-----","known_identities":[],"targets":[{"id":"value","kind":"secret","start":51,"end":234,"value":"-----BEGIN CERTIFICATE-----\nFpaH8GqPd/9XpbxgS1VcIyeHksa7F1N8mtuWSyZMocMFE+N7+5IQOwOIZX3JQvme\ngVvH0USkjRVmLzhEpPrfEvQnq7s99lxihbmGbbUrn1Nou6/tg8fcav/SLNCx3ay1\n-----END CERTIFICATE-----","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-private-key-preserve-13","recipe":"private-key","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["-----BEGIN CERTIFICATE-----\nFpaH8GqPd/9XpbxgS1VcIyeHksa7F1N8mtuWSyZMocMFE+N7+5IQOwOIZX3JQvme\ngVvH0USkjRVmLzhEpPrfEvQnq7s99lxihbmGbbUrn1Nou6/tg8fcav/SLNCx3ay1\n-----END CERTIFICATE-----"]},"customers":{"required_absent":[],"required_present":["-----BEGIN CERTIFICATE-----\nFpaH8GqPd/9XpbxgS1VcIyeHksa7F1N8mtuWSyZMocMFE+N7+5IQOwOIZX3JQvme\ngVvH0USkjRVmLzhEpPrfEvQnq7s99lxihbmGbbUrn1Nou6/tg8fcav/SLNCx3ay1\n-----END CERTIFICATE-----"]},"all":{"required_absent":[],"required_present":["-----BEGIN CERTIFICATE-----\nFpaH8GqPd/9XpbxgS1VcIyeHksa7F1N8mtuWSyZMocMFE+N7+5IQOwOIZX3JQvme\ngVvH0USkjRVmLzhEpPrfEvQnq7s99lxihbmGbbUrn1Nou6/tg8fcav/SLNCx3ay1\n-----END CERTIFICATE-----"]}},"tags":["broad-quality","secret-family:private-key","variation:13"],"secret_fixture":{"family":"private-key","role":"preserve"}}, {"id":"broad-secret-database-connection-must-detect-00","language":"en","script":"Latin","shape":"prose","risk":"critical","reason":"Locked broad database-connection variation.","text":"Credential copied from a support reply: postgresql://svc_x9awj8se:P9!uC6ryXhf0drQiY3InH@192.0.2.42:5432/support","known_identities":[],"targets":[{"id":"value","kind":"secret","start":40,"end":111,"value":"postgresql://svc_x9awj8se:P9!uC6ryXhf0drQiY3InH@192.0.2.42:5432/support","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-database-connection-must-detect-00","recipe":"database-connection","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["postgresql://svc_x9awj8se:P9!uC6ryXhf0drQiY3InH@192.0.2.42:5432/support"]},"customers":{"required_absent":["postgresql://svc_x9awj8se:P9!uC6ryXhf0drQiY3InH@192.0.2.42:5432/support"],"required_present":[]},"all":{"required_absent":["postgresql://svc_x9awj8se:P9!uC6ryXhf0drQiY3InH@192.0.2.42:5432/support"],"required_present":[]}},"tags":["broad-quality","secret-family:database-connection","variation:00"],"secret_fixture":{"family":"database-connection","role":"must-detect"}}, {"id":"broad-secret-database-connection-preserve-00","language":"en","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad database-connection variation.","text":"Public configuration vocabulary: postgresql://192.0.2.42:5432/support","known_identities":[],"targets":[{"id":"value","kind":"secret","start":33,"end":69,"value":"postgresql://192.0.2.42:5432/support","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-database-connection-preserve-00","recipe":"database-connection","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["postgresql://192.0.2.42:5432/support"]},"customers":{"required_absent":[],"required_present":["postgresql://192.0.2.42:5432/support"]},"all":{"required_absent":[],"required_present":["postgresql://192.0.2.42:5432/support"]}},"tags":["broad-quality","secret-family:database-connection","variation:00"],"secret_fixture":{"family":"database-connection","role":"preserve"}}, {"id":"broad-secret-database-connection-must-detect-01","language":"en","script":"Latin","shape":"json","risk":"critical","reason":"Locked broad database-connection variation.","text":"{\"message_1\":\"Authorization header value: postgresql://svc_o4a61ivd:P9!1lVxFedAHE4GzMNwHE@192.0.2.42:5432/support\"}","known_identities":[],"targets":[{"id":"value","kind":"secret","start":42,"end":113,"value":"postgresql://svc_o4a61ivd:P9!1lVxFedAHE4GzMNwHE@192.0.2.42:5432/support","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-database-connection-must-detect-01","recipe":"database-connection","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["postgresql://svc_o4a61ivd:P9!1lVxFedAHE4GzMNwHE@192.0.2.42:5432/support"]},"customers":{"required_absent":["postgresql://svc_o4a61ivd:P9!1lVxFedAHE4GzMNwHE@192.0.2.42:5432/support"],"required_present":[]},"all":{"required_absent":["postgresql://svc_o4a61ivd:P9!1lVxFedAHE4GzMNwHE@192.0.2.42:5432/support"],"required_present":[]}},"tags":["broad-quality","secret-family:database-connection","variation:01"],"secret_fixture":{"family":"database-connection","role":"must-detect"}}, @@ -130,101 +214,185 @@ {"id":"broad-secret-database-connection-preserve-06","language":"en","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad database-connection variation.","text":"\u003cp\u003ePublic verification material: postgresql://192.0.2.42:5432/support\u003c/p\u003e","known_identities":[],"targets":[{"id":"value","kind":"secret","start":33,"end":69,"value":"postgresql://192.0.2.42:5432/support","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-database-connection-preserve-06","recipe":"database-connection","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["postgresql://192.0.2.42:5432/support"]},"customers":{"required_absent":[],"required_present":["postgresql://192.0.2.42:5432/support"]},"all":{"required_absent":[],"required_present":["postgresql://192.0.2.42:5432/support"]}},"tags":["broad-quality","secret-family:database-connection","variation:06"],"secret_fixture":{"family":"database-connection","role":"preserve"}}, {"id":"broad-secret-database-connection-must-detect-07","language":"en","script":"Latin","shape":"quoted-reply","risk":"critical","reason":"Locked broad database-connection variation.","text":"\u003e Wrapped message credential: postgresql://svc_i7pxn5vy:P9!b0R7N9omcQNrBf5Thc@192.0.2.42:5432/support","known_identities":[],"targets":[{"id":"value","kind":"secret","start":30,"end":101,"value":"postgresql://svc_i7pxn5vy:P9!b0R7N9omcQNrBf5Thc@192.0.2.42:5432/support","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-database-connection-must-detect-07","recipe":"database-connection","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["postgresql://svc_i7pxn5vy:P9!b0R7N9omcQNrBf5Thc@192.0.2.42:5432/support"]},"customers":{"required_absent":["postgresql://svc_i7pxn5vy:P9!b0R7N9omcQNrBf5Thc@192.0.2.42:5432/support"],"required_present":[]},"all":{"required_absent":["postgresql://svc_i7pxn5vy:P9!b0R7N9omcQNrBf5Thc@192.0.2.42:5432/support"],"required_present":[]}},"tags":["broad-quality","secret-family:database-connection","variation:07"],"secret_fixture":{"family":"database-connection","role":"must-detect"}}, {"id":"broad-secret-database-connection-preserve-07","language":"en","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad database-connection variation.","text":"\u003e Troubleshooting reference: postgresql://192.0.2.42:5432/support","known_identities":[],"targets":[{"id":"value","kind":"secret","start":29,"end":65,"value":"postgresql://192.0.2.42:5432/support","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-database-connection-preserve-07","recipe":"database-connection","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["postgresql://192.0.2.42:5432/support"]},"customers":{"required_absent":[],"required_present":["postgresql://192.0.2.42:5432/support"]},"all":{"required_absent":[],"required_present":["postgresql://192.0.2.42:5432/support"]}},"tags":["broad-quality","secret-family:database-connection","variation:07"],"secret_fixture":{"family":"database-connection","role":"preserve"}}, - {"id":"broad-secret-cookie-authorization-must-detect-00","language":"en","script":"Latin","shape":"log","risk":"critical","reason":"Locked broad cookie-authorization variation.","text":"level=warn sample=0 message=\"Credential copied from a support reply: \" value=session=GNmDXuliO6cl5ta46ZB9kCHvkM7RE0EVeGtqXDKubrrm4qzn","known_identities":[],"targets":[{"id":"value","kind":"secret","start":77,"end":133,"value":"session=GNmDXuliO6cl5ta46ZB9kCHvkM7RE0EVeGtqXDKubrrm4qzn","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cookie-authorization-must-detect-00","recipe":"cookie-authorization","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["session=GNmDXuliO6cl5ta46ZB9kCHvkM7RE0EVeGtqXDKubrrm4qzn"]},"customers":{"required_absent":["session=GNmDXuliO6cl5ta46ZB9kCHvkM7RE0EVeGtqXDKubrrm4qzn"],"required_present":[]},"all":{"required_absent":["session=GNmDXuliO6cl5ta46ZB9kCHvkM7RE0EVeGtqXDKubrrm4qzn"],"required_present":[]}},"tags":["broad-quality","secret-family:cookie-authorization","variation:00"],"secret_fixture":{"family":"cookie-authorization","role":"must-detect"}}, - {"id":"broad-secret-cookie-authorization-preserve-00","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad cookie-authorization variation.","text":"level=warn sample=0 message=\"Public configuration vocabulary: \" value=SameSite=Strict","known_identities":[],"targets":[{"id":"value","kind":"secret","start":70,"end":85,"value":"SameSite=Strict","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cookie-authorization-preserve-00","recipe":"cookie-authorization","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["SameSite=Strict"]},"customers":{"required_absent":[],"required_present":["SameSite=Strict"]},"all":{"required_absent":[],"required_present":["SameSite=Strict"]}},"tags":["broad-quality","secret-family:cookie-authorization","variation:00"],"secret_fixture":{"family":"cookie-authorization","role":"preserve"}}, - {"id":"broad-secret-cookie-authorization-must-detect-01","language":"en","script":"Latin","shape":"stack-trace","risk":"critical","reason":"Locked broad cookie-authorization variation.","text":"Trace[1]: Authorization header value: session=70UpED23zdT3VXDNixtgl1xJicbLge9hCZp3s7CEpjAMz6fm","known_identities":[],"targets":[{"id":"value","kind":"secret","start":38,"end":94,"value":"session=70UpED23zdT3VXDNixtgl1xJicbLge9hCZp3s7CEpjAMz6fm","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cookie-authorization-must-detect-01","recipe":"cookie-authorization","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["session=70UpED23zdT3VXDNixtgl1xJicbLge9hCZp3s7CEpjAMz6fm"]},"customers":{"required_absent":["session=70UpED23zdT3VXDNixtgl1xJicbLge9hCZp3s7CEpjAMz6fm"],"required_present":[]},"all":{"required_absent":["session=70UpED23zdT3VXDNixtgl1xJicbLge9hCZp3s7CEpjAMz6fm"],"required_present":[]}},"tags":["broad-quality","secret-family:cookie-authorization","variation:01"],"secret_fixture":{"family":"cookie-authorization","role":"must-detect"}}, - {"id":"broad-secret-cookie-authorization-preserve-01","language":"en","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad cookie-authorization variation.","text":"Trace[1]: Documentation syntax: SameSite=Strict","known_identities":[],"targets":[{"id":"value","kind":"secret","start":32,"end":47,"value":"SameSite=Strict","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cookie-authorization-preserve-01","recipe":"cookie-authorization","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["SameSite=Strict"]},"customers":{"required_absent":[],"required_present":["SameSite=Strict"]},"all":{"required_absent":[],"required_present":["SameSite=Strict"]}},"tags":["broad-quality","secret-family:cookie-authorization","variation:01"],"secret_fixture":{"family":"cookie-authorization","role":"preserve"}}, - {"id":"broad-secret-cookie-authorization-must-detect-02","language":"en","script":"Latin","shape":"code","risk":"critical","reason":"Locked broad cookie-authorization variation.","text":"fixture_2 := `Log field auth_value=session=goDeF6dOx8-vJJfioklnDVv86i_Y9hSK4kdO4VXytbmFRZS9`","known_identities":[],"targets":[{"id":"value","kind":"secret","start":35,"end":91,"value":"session=goDeF6dOx8-vJJfioklnDVv86i_Y9hSK4kdO4VXytbmFRZS9","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cookie-authorization-must-detect-02","recipe":"cookie-authorization","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["session=goDeF6dOx8-vJJfioklnDVv86i_Y9hSK4kdO4VXytbmFRZS9"]},"customers":{"required_absent":["session=goDeF6dOx8-vJJfioklnDVv86i_Y9hSK4kdO4VXytbmFRZS9"],"required_present":[]},"all":{"required_absent":["session=goDeF6dOx8-vJJfioklnDVv86i_Y9hSK4kdO4VXytbmFRZS9"],"required_present":[]}},"tags":["broad-quality","secret-family:cookie-authorization","variation:02"],"secret_fixture":{"family":"cookie-authorization","role":"must-detect"}}, - {"id":"broad-secret-cookie-authorization-preserve-02","language":"en","script":"Latin","shape":"code","risk":"preservation","reason":"Locked broad cookie-authorization variation.","text":"fixture_2 := `Public operational identifier: SameSite=Strict`","known_identities":[],"targets":[{"id":"value","kind":"secret","start":45,"end":60,"value":"SameSite=Strict","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cookie-authorization-preserve-02","recipe":"cookie-authorization","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["SameSite=Strict"]},"customers":{"required_absent":[],"required_present":["SameSite=Strict"]},"all":{"required_absent":[],"required_present":["SameSite=Strict"]}},"tags":["broad-quality","secret-family:cookie-authorization","variation:02"],"secret_fixture":{"family":"cookie-authorization","role":"preserve"}}, - {"id":"broad-secret-cookie-authorization-must-detect-03","language":"en","script":"Latin","shape":"signature","risk":"critical","reason":"Locked broad cookie-authorization variation.","text":"--\nRotating this exposed value: session=9ddY4Wx0mKq0Xj0mWAsD4Yj703mjdelQWDebpfe8ljHSzmgz","known_identities":[],"targets":[{"id":"value","kind":"secret","start":32,"end":88,"value":"session=9ddY4Wx0mKq0Xj0mWAsD4Yj703mjdelQWDebpfe8ljHSzmgz","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cookie-authorization-must-detect-03","recipe":"cookie-authorization","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["session=9ddY4Wx0mKq0Xj0mWAsD4Yj703mjdelQWDebpfe8ljHSzmgz"]},"customers":{"required_absent":["session=9ddY4Wx0mKq0Xj0mWAsD4Yj703mjdelQWDebpfe8ljHSzmgz"],"required_present":[]},"all":{"required_absent":["session=9ddY4Wx0mKq0Xj0mWAsD4Yj703mjdelQWDebpfe8ljHSzmgz"],"required_present":[]}},"tags":["broad-quality","secret-family:cookie-authorization","variation:03"],"secret_fixture":{"family":"cookie-authorization","role":"must-detect"}}, - {"id":"broad-secret-cookie-authorization-preserve-03","language":"en","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad cookie-authorization variation.","text":"--\nSchema field label: SameSite=Strict","known_identities":[],"targets":[{"id":"value","kind":"secret","start":23,"end":38,"value":"SameSite=Strict","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cookie-authorization-preserve-03","recipe":"cookie-authorization","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["SameSite=Strict"]},"customers":{"required_absent":[],"required_present":["SameSite=Strict"]},"all":{"required_absent":[],"required_present":["SameSite=Strict"]}},"tags":["broad-quality","secret-family:cookie-authorization","variation:03"],"secret_fixture":{"family":"cookie-authorization","role":"preserve"}}, - {"id":"broad-secret-cookie-authorization-must-detect-04","language":"en","script":"Latin","shape":"long-thread","risk":"critical","reason":"Locked broad cookie-authorization variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Quoted credential follows: session=C6jWJ0od1IluQDIkCqbEVg00m1NAaYKs4TQ-X7-BdoNsx3-h","known_identities":[],"targets":[{"id":"value","kind":"secret","start":507,"end":563,"value":"session=C6jWJ0od1IluQDIkCqbEVg00m1NAaYKs4TQ-X7-BdoNsx3-h","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cookie-authorization-must-detect-04","recipe":"cookie-authorization","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["session=C6jWJ0od1IluQDIkCqbEVg00m1NAaYKs4TQ-X7-BdoNsx3-h"]},"customers":{"required_absent":["session=C6jWJ0od1IluQDIkCqbEVg00m1NAaYKs4TQ-X7-BdoNsx3-h"],"required_present":[]},"all":{"required_absent":["session=C6jWJ0od1IluQDIkCqbEVg00m1NAaYKs4TQ-X7-BdoNsx3-h"],"required_present":[]}},"tags":["broad-quality","secret-family:cookie-authorization","variation:04"],"secret_fixture":{"family":"cookie-authorization","role":"must-detect"}}, - {"id":"broad-secret-cookie-authorization-preserve-04","language":"en","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad cookie-authorization variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Non-confidential protocol token: SameSite=Strict","known_identities":[],"targets":[{"id":"value","kind":"secret","start":513,"end":528,"value":"SameSite=Strict","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cookie-authorization-preserve-04","recipe":"cookie-authorization","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["SameSite=Strict"]},"customers":{"required_absent":[],"required_present":["SameSite=Strict"]},"all":{"required_absent":[],"required_present":["SameSite=Strict"]}},"tags":["broad-quality","secret-family:cookie-authorization","variation:04"],"secret_fixture":{"family":"cookie-authorization","role":"preserve"}}, - {"id":"broad-secret-cookie-authorization-must-detect-05","language":"en","script":"Latin","shape":"command-payload","risk":"critical","reason":"Locked broad cookie-authorization variation.","text":"--sample=5 --message=\"Configuration secret: \" --value=session=9obLxmOxyIYf1bf4KLQuT7TuV53B-1mzYZBsW3e1cly7h9nR","known_identities":[],"targets":[{"id":"value","kind":"secret","start":54,"end":110,"value":"session=9obLxmOxyIYf1bf4KLQuT7TuV53B-1mzYZBsW3e1cly7h9nR","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cookie-authorization-must-detect-05","recipe":"cookie-authorization","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["session=9obLxmOxyIYf1bf4KLQuT7TuV53B-1mzYZBsW3e1cly7h9nR"]},"customers":{"required_absent":["session=9obLxmOxyIYf1bf4KLQuT7TuV53B-1mzYZBsW3e1cly7h9nR"],"required_present":[]},"all":{"required_absent":["session=9obLxmOxyIYf1bf4KLQuT7TuV53B-1mzYZBsW3e1cly7h9nR"],"required_present":[]}},"tags":["broad-quality","secret-family:cookie-authorization","variation:05"],"secret_fixture":{"family":"cookie-authorization","role":"must-detect"}}, - {"id":"broad-secret-cookie-authorization-preserve-05","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad cookie-authorization variation.","text":"--sample=5 --message=\"Release metadata: \" --value=SameSite=Strict","known_identities":[],"targets":[{"id":"value","kind":"secret","start":50,"end":65,"value":"SameSite=Strict","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cookie-authorization-preserve-05","recipe":"cookie-authorization","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["SameSite=Strict"]},"customers":{"required_absent":[],"required_present":["SameSite=Strict"]},"all":{"required_absent":[],"required_present":["SameSite=Strict"]}},"tags":["broad-quality","secret-family:cookie-authorization","variation:05"],"secret_fixture":{"family":"cookie-authorization","role":"preserve"}}, - {"id":"broad-secret-cookie-authorization-must-detect-06","language":"en","script":"Latin","shape":"prose","risk":"critical","reason":"Locked broad cookie-authorization variation.","text":"Stack trace captured credential session=zRSJLb9-6st0DHMo8mx7jG-ESAr-V68KaDjZNP94kgA9pNLS","known_identities":[],"targets":[{"id":"value","kind":"secret","start":32,"end":88,"value":"session=zRSJLb9-6st0DHMo8mx7jG-ESAr-V68KaDjZNP94kgA9pNLS","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cookie-authorization-must-detect-06","recipe":"cookie-authorization","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["session=zRSJLb9-6st0DHMo8mx7jG-ESAr-V68KaDjZNP94kgA9pNLS"]},"customers":{"required_absent":["session=zRSJLb9-6st0DHMo8mx7jG-ESAr-V68KaDjZNP94kgA9pNLS"],"required_present":[]},"all":{"required_absent":["session=zRSJLb9-6st0DHMo8mx7jG-ESAr-V68KaDjZNP94kgA9pNLS"],"required_present":[]}},"tags":["broad-quality","secret-family:cookie-authorization","variation:06"],"secret_fixture":{"family":"cookie-authorization","role":"must-detect"}}, - {"id":"broad-secret-cookie-authorization-preserve-06","language":"en","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad cookie-authorization variation.","text":"Public verification material: SameSite=Strict","known_identities":[],"targets":[{"id":"value","kind":"secret","start":30,"end":45,"value":"SameSite=Strict","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cookie-authorization-preserve-06","recipe":"cookie-authorization","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["SameSite=Strict"]},"customers":{"required_absent":[],"required_present":["SameSite=Strict"]},"all":{"required_absent":[],"required_present":["SameSite=Strict"]}},"tags":["broad-quality","secret-family:cookie-authorization","variation:06"],"secret_fixture":{"family":"cookie-authorization","role":"preserve"}}, - {"id":"broad-secret-cookie-authorization-must-detect-07","language":"en","script":"Latin","shape":"json","risk":"critical","reason":"Locked broad cookie-authorization variation.","text":"{\"message_7\":\"Wrapped message credential: session=UVhFMpdujWgDiFhwFBNU4L7_qwtSS5uwlkoLkL75R56a4ZQa\"}","known_identities":[],"targets":[{"id":"value","kind":"secret","start":42,"end":98,"value":"session=UVhFMpdujWgDiFhwFBNU4L7_qwtSS5uwlkoLkL75R56a4ZQa","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cookie-authorization-must-detect-07","recipe":"cookie-authorization","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["session=UVhFMpdujWgDiFhwFBNU4L7_qwtSS5uwlkoLkL75R56a4ZQa"]},"customers":{"required_absent":["session=UVhFMpdujWgDiFhwFBNU4L7_qwtSS5uwlkoLkL75R56a4ZQa"],"required_present":[]},"all":{"required_absent":["session=UVhFMpdujWgDiFhwFBNU4L7_qwtSS5uwlkoLkL75R56a4ZQa"],"required_present":[]}},"tags":["broad-quality","secret-family:cookie-authorization","variation:07"],"secret_fixture":{"family":"cookie-authorization","role":"must-detect"}}, - {"id":"broad-secret-cookie-authorization-preserve-07","language":"en","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad cookie-authorization variation.","text":"{\"message_7\":\"Troubleshooting reference: SameSite=Strict\"}","known_identities":[],"targets":[{"id":"value","kind":"secret","start":41,"end":56,"value":"SameSite=Strict","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cookie-authorization-preserve-07","recipe":"cookie-authorization","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["SameSite=Strict"]},"customers":{"required_absent":[],"required_present":["SameSite=Strict"]},"all":{"required_absent":[],"required_present":["SameSite=Strict"]}},"tags":["broad-quality","secret-family:cookie-authorization","variation:07"],"secret_fixture":{"family":"cookie-authorization","role":"preserve"}}, - {"id":"broad-secret-webhook-secret-must-detect-00","language":"en","script":"Latin","shape":"yaml","risk":"critical","reason":"Locked broad webhook-secret variation.","text":"message_0: Credential copied from a support reply: whsig_H4jzdX2fBTIpXH8KPStEzHPdLlRqD5BgrERxxoND","known_identities":[],"targets":[{"id":"value","kind":"secret","start":51,"end":97,"value":"whsig_H4jzdX2fBTIpXH8KPStEzHPdLlRqD5BgrERxxoND","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-webhook-secret-must-detect-00","recipe":"webhook-secret","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["whsig_H4jzdX2fBTIpXH8KPStEzHPdLlRqD5BgrERxxoND"]},"customers":{"required_absent":["whsig_H4jzdX2fBTIpXH8KPStEzHPdLlRqD5BgrERxxoND"],"required_present":[]},"all":{"required_absent":["whsig_H4jzdX2fBTIpXH8KPStEzHPdLlRqD5BgrERxxoND"],"required_present":[]}},"tags":["broad-quality","secret-family:webhook-secret","variation:00"],"secret_fixture":{"family":"webhook-secret","role":"must-detect"}}, - {"id":"broad-secret-webhook-secret-preserve-00","language":"en","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad webhook-secret variation.","text":"message_0: Public configuration vocabulary: event.delivery.created","known_identities":[],"targets":[{"id":"value","kind":"secret","start":44,"end":66,"value":"event.delivery.created","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-webhook-secret-preserve-00","recipe":"webhook-secret","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["event.delivery.created"]},"customers":{"required_absent":[],"required_present":["event.delivery.created"]},"all":{"required_absent":[],"required_present":["event.delivery.created"]}},"tags":["broad-quality","secret-family:webhook-secret","variation:00"],"secret_fixture":{"family":"webhook-secret","role":"preserve"}}, - {"id":"broad-secret-webhook-secret-must-detect-01","language":"en","script":"Latin","shape":"shell","risk":"critical","reason":"Locked broad webhook-secret variation.","text":"MESSAGE_1='Authorization header value: whsig_AFp8z85OuNNozz6cAn910KNDE2C7Ws0y10QHjDt6'","known_identities":[],"targets":[{"id":"value","kind":"secret","start":39,"end":85,"value":"whsig_AFp8z85OuNNozz6cAn910KNDE2C7Ws0y10QHjDt6","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-webhook-secret-must-detect-01","recipe":"webhook-secret","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["whsig_AFp8z85OuNNozz6cAn910KNDE2C7Ws0y10QHjDt6"]},"customers":{"required_absent":["whsig_AFp8z85OuNNozz6cAn910KNDE2C7Ws0y10QHjDt6"],"required_present":[]},"all":{"required_absent":["whsig_AFp8z85OuNNozz6cAn910KNDE2C7Ws0y10QHjDt6"],"required_present":[]}},"tags":["broad-quality","secret-family:webhook-secret","variation:01"],"secret_fixture":{"family":"webhook-secret","role":"must-detect"}}, - {"id":"broad-secret-webhook-secret-preserve-01","language":"en","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad webhook-secret variation.","text":"MESSAGE_1='Documentation syntax: event.delivery.created'","known_identities":[],"targets":[{"id":"value","kind":"secret","start":33,"end":55,"value":"event.delivery.created","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-webhook-secret-preserve-01","recipe":"webhook-secret","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["event.delivery.created"]},"customers":{"required_absent":[],"required_present":["event.delivery.created"]},"all":{"required_absent":[],"required_present":["event.delivery.created"]}},"tags":["broad-quality","secret-family:webhook-secret","variation:01"],"secret_fixture":{"family":"webhook-secret","role":"preserve"}}, - {"id":"broad-secret-webhook-secret-must-detect-02","language":"en","script":"Latin","shape":"url","risk":"critical","reason":"Locked broad webhook-secret variation.","text":"endpoint=https://192.0.2.10/2 ; Log field auth_value=whsig_f4RxeBMWDT5m8xNffxBwSgKj5dvsq8kCGE4iR70b","known_identities":[],"targets":[{"id":"value","kind":"secret","start":53,"end":99,"value":"whsig_f4RxeBMWDT5m8xNffxBwSgKj5dvsq8kCGE4iR70b","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-webhook-secret-must-detect-02","recipe":"webhook-secret","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["whsig_f4RxeBMWDT5m8xNffxBwSgKj5dvsq8kCGE4iR70b"]},"customers":{"required_absent":["whsig_f4RxeBMWDT5m8xNffxBwSgKj5dvsq8kCGE4iR70b"],"required_present":[]},"all":{"required_absent":["whsig_f4RxeBMWDT5m8xNffxBwSgKj5dvsq8kCGE4iR70b"],"required_present":[]}},"tags":["broad-quality","secret-family:webhook-secret","variation:02"],"secret_fixture":{"family":"webhook-secret","role":"must-detect"}}, - {"id":"broad-secret-webhook-secret-preserve-02","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad webhook-secret variation.","text":"endpoint=https://192.0.2.10/2 ; Public operational identifier: event.delivery.created","known_identities":[],"targets":[{"id":"value","kind":"secret","start":63,"end":85,"value":"event.delivery.created","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-webhook-secret-preserve-02","recipe":"webhook-secret","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["event.delivery.created"]},"customers":{"required_absent":[],"required_present":["event.delivery.created"]},"all":{"required_absent":[],"required_present":["event.delivery.created"]}},"tags":["broad-quality","secret-family:webhook-secret","variation:02"],"secret_fixture":{"family":"webhook-secret","role":"preserve"}}, - {"id":"broad-secret-webhook-secret-must-detect-03","language":"en","script":"Latin","shape":"markdown","risk":"critical","reason":"Locked broad webhook-secret variation.","text":"**Rotating this exposed value: whsig_xYAQmcN5NgiAnWUzpQsnILPEY7kAzinTRIio8zgF**","known_identities":[],"targets":[{"id":"value","kind":"secret","start":31,"end":77,"value":"whsig_xYAQmcN5NgiAnWUzpQsnILPEY7kAzinTRIio8zgF","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-webhook-secret-must-detect-03","recipe":"webhook-secret","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["whsig_xYAQmcN5NgiAnWUzpQsnILPEY7kAzinTRIio8zgF"]},"customers":{"required_absent":["whsig_xYAQmcN5NgiAnWUzpQsnILPEY7kAzinTRIio8zgF"],"required_present":[]},"all":{"required_absent":["whsig_xYAQmcN5NgiAnWUzpQsnILPEY7kAzinTRIio8zgF"],"required_present":[]}},"tags":["broad-quality","secret-family:webhook-secret","variation:03"],"secret_fixture":{"family":"webhook-secret","role":"must-detect"}}, - {"id":"broad-secret-webhook-secret-preserve-03","language":"en","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad webhook-secret variation.","text":"**Schema field label: event.delivery.created**","known_identities":[],"targets":[{"id":"value","kind":"secret","start":22,"end":44,"value":"event.delivery.created","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-webhook-secret-preserve-03","recipe":"webhook-secret","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["event.delivery.created"]},"customers":{"required_absent":[],"required_present":["event.delivery.created"]},"all":{"required_absent":[],"required_present":["event.delivery.created"]}},"tags":["broad-quality","secret-family:webhook-secret","variation:03"],"secret_fixture":{"family":"webhook-secret","role":"preserve"}}, - {"id":"broad-secret-webhook-secret-must-detect-04","language":"en","script":"Latin","shape":"html","risk":"critical","reason":"Locked broad webhook-secret variation.","text":"\u003cp\u003eQuoted credential follows: whsig_Sa6uR9dBlhJ3JTrLob8yf2RLrGVeZcJzoYBG35dM\u003c/p\u003e","known_identities":[],"targets":[{"id":"value","kind":"secret","start":30,"end":76,"value":"whsig_Sa6uR9dBlhJ3JTrLob8yf2RLrGVeZcJzoYBG35dM","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-webhook-secret-must-detect-04","recipe":"webhook-secret","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["whsig_Sa6uR9dBlhJ3JTrLob8yf2RLrGVeZcJzoYBG35dM"]},"customers":{"required_absent":["whsig_Sa6uR9dBlhJ3JTrLob8yf2RLrGVeZcJzoYBG35dM"],"required_present":[]},"all":{"required_absent":["whsig_Sa6uR9dBlhJ3JTrLob8yf2RLrGVeZcJzoYBG35dM"],"required_present":[]}},"tags":["broad-quality","secret-family:webhook-secret","variation:04"],"secret_fixture":{"family":"webhook-secret","role":"must-detect"}}, - {"id":"broad-secret-webhook-secret-preserve-04","language":"en","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad webhook-secret variation.","text":"\u003cp\u003eNon-confidential protocol token: event.delivery.created\u003c/p\u003e","known_identities":[],"targets":[{"id":"value","kind":"secret","start":36,"end":58,"value":"event.delivery.created","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-webhook-secret-preserve-04","recipe":"webhook-secret","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["event.delivery.created"]},"customers":{"required_absent":[],"required_present":["event.delivery.created"]},"all":{"required_absent":[],"required_present":["event.delivery.created"]}},"tags":["broad-quality","secret-family:webhook-secret","variation:04"],"secret_fixture":{"family":"webhook-secret","role":"preserve"}}, - {"id":"broad-secret-webhook-secret-must-detect-05","language":"en","script":"Latin","shape":"quoted-reply","risk":"critical","reason":"Locked broad webhook-secret variation.","text":"\u003e Configuration secret: whsig_kq7MQmfWEWcZjk16EyQLkt2Oymr3MtvLOj5ewbOD","known_identities":[],"targets":[{"id":"value","kind":"secret","start":24,"end":70,"value":"whsig_kq7MQmfWEWcZjk16EyQLkt2Oymr3MtvLOj5ewbOD","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-webhook-secret-must-detect-05","recipe":"webhook-secret","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["whsig_kq7MQmfWEWcZjk16EyQLkt2Oymr3MtvLOj5ewbOD"]},"customers":{"required_absent":["whsig_kq7MQmfWEWcZjk16EyQLkt2Oymr3MtvLOj5ewbOD"],"required_present":[]},"all":{"required_absent":["whsig_kq7MQmfWEWcZjk16EyQLkt2Oymr3MtvLOj5ewbOD"],"required_present":[]}},"tags":["broad-quality","secret-family:webhook-secret","variation:05"],"secret_fixture":{"family":"webhook-secret","role":"must-detect"}}, - {"id":"broad-secret-webhook-secret-preserve-05","language":"en","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad webhook-secret variation.","text":"\u003e Release metadata: event.delivery.created","known_identities":[],"targets":[{"id":"value","kind":"secret","start":20,"end":42,"value":"event.delivery.created","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-webhook-secret-preserve-05","recipe":"webhook-secret","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["event.delivery.created"]},"customers":{"required_absent":[],"required_present":["event.delivery.created"]},"all":{"required_absent":[],"required_present":["event.delivery.created"]}},"tags":["broad-quality","secret-family:webhook-secret","variation:05"],"secret_fixture":{"family":"webhook-secret","role":"preserve"}}, - {"id":"broad-secret-webhook-secret-must-detect-06","language":"en","script":"Latin","shape":"log","risk":"critical","reason":"Locked broad webhook-secret variation.","text":"level=warn sample=6 message=\"Stack trace captured credential \" value=whsig_zw6qWp8I71rO5rzMi33XPYldo3dEjCmZREcQVRkn","known_identities":[],"targets":[{"id":"value","kind":"secret","start":69,"end":115,"value":"whsig_zw6qWp8I71rO5rzMi33XPYldo3dEjCmZREcQVRkn","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-webhook-secret-must-detect-06","recipe":"webhook-secret","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["whsig_zw6qWp8I71rO5rzMi33XPYldo3dEjCmZREcQVRkn"]},"customers":{"required_absent":["whsig_zw6qWp8I71rO5rzMi33XPYldo3dEjCmZREcQVRkn"],"required_present":[]},"all":{"required_absent":["whsig_zw6qWp8I71rO5rzMi33XPYldo3dEjCmZREcQVRkn"],"required_present":[]}},"tags":["broad-quality","secret-family:webhook-secret","variation:06"],"secret_fixture":{"family":"webhook-secret","role":"must-detect"}}, - {"id":"broad-secret-webhook-secret-preserve-06","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad webhook-secret variation.","text":"level=warn sample=6 message=\"Public verification material: \" value=event.delivery.created","known_identities":[],"targets":[{"id":"value","kind":"secret","start":67,"end":89,"value":"event.delivery.created","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-webhook-secret-preserve-06","recipe":"webhook-secret","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["event.delivery.created"]},"customers":{"required_absent":[],"required_present":["event.delivery.created"]},"all":{"required_absent":[],"required_present":["event.delivery.created"]}},"tags":["broad-quality","secret-family:webhook-secret","variation:06"],"secret_fixture":{"family":"webhook-secret","role":"preserve"}}, - {"id":"broad-secret-webhook-secret-must-detect-07","language":"en","script":"Latin","shape":"stack-trace","risk":"critical","reason":"Locked broad webhook-secret variation.","text":"Trace[7]: Wrapped message credential: whsig_fkGQX0jhQXKzsTBbrUiZB4pBszhW85xxKkFyv5iw","known_identities":[],"targets":[{"id":"value","kind":"secret","start":38,"end":84,"value":"whsig_fkGQX0jhQXKzsTBbrUiZB4pBszhW85xxKkFyv5iw","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-webhook-secret-must-detect-07","recipe":"webhook-secret","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["whsig_fkGQX0jhQXKzsTBbrUiZB4pBszhW85xxKkFyv5iw"]},"customers":{"required_absent":["whsig_fkGQX0jhQXKzsTBbrUiZB4pBszhW85xxKkFyv5iw"],"required_present":[]},"all":{"required_absent":["whsig_fkGQX0jhQXKzsTBbrUiZB4pBszhW85xxKkFyv5iw"],"required_present":[]}},"tags":["broad-quality","secret-family:webhook-secret","variation:07"],"secret_fixture":{"family":"webhook-secret","role":"must-detect"}}, - {"id":"broad-secret-webhook-secret-preserve-07","language":"en","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad webhook-secret variation.","text":"Trace[7]: Troubleshooting reference: event.delivery.created","known_identities":[],"targets":[{"id":"value","kind":"secret","start":37,"end":59,"value":"event.delivery.created","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-webhook-secret-preserve-07","recipe":"webhook-secret","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["event.delivery.created"]},"customers":{"required_absent":[],"required_present":["event.delivery.created"]},"all":{"required_absent":[],"required_present":["event.delivery.created"]}},"tags":["broad-quality","secret-family:webhook-secret","variation:07"],"secret_fixture":{"family":"webhook-secret","role":"preserve"}}, - {"id":"broad-secret-cloud-credential-must-detect-00","language":"en","script":"Latin","shape":"code","risk":"critical","reason":"Locked broad cloud-credential variation.","text":"fixture_0 := `Credential copied from a support reply: CLDXUQ98ZO5LQC7SMWQD`","known_identities":[],"targets":[{"id":"value","kind":"secret","start":54,"end":74,"value":"CLDXUQ98ZO5LQC7SMWQD","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cloud-credential-must-detect-00","recipe":"cloud-credential","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CLDXUQ98ZO5LQC7SMWQD"]},"customers":{"required_absent":["CLDXUQ98ZO5LQC7SMWQD"],"required_present":[]},"all":{"required_absent":["CLDXUQ98ZO5LQC7SMWQD"],"required_present":[]}},"tags":["broad-quality","secret-family:cloud-credential","variation:00"],"secret_fixture":{"family":"cloud-credential","role":"must-detect"}}, - {"id":"broad-secret-cloud-credential-preserve-00","language":"en","script":"Latin","shape":"code","risk":"preservation","reason":"Locked broad cloud-credential variation.","text":"fixture_0 := `Public configuration vocabulary: 341196342754`","known_identities":[],"targets":[{"id":"value","kind":"secret","start":47,"end":59,"value":"341196342754","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cloud-credential-preserve-00","recipe":"cloud-credential","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["341196342754"]},"customers":{"required_absent":[],"required_present":["341196342754"]},"all":{"required_absent":[],"required_present":["341196342754"]}},"tags":["broad-quality","secret-family:cloud-credential","variation:00"],"secret_fixture":{"family":"cloud-credential","role":"preserve"}}, - {"id":"broad-secret-cloud-credential-must-detect-01","language":"en","script":"Latin","shape":"signature","risk":"critical","reason":"Locked broad cloud-credential variation.","text":"--\nAuthorization header value: CLDXCW3NJPNBM3FNLPEW","known_identities":[],"targets":[{"id":"value","kind":"secret","start":31,"end":51,"value":"CLDXCW3NJPNBM3FNLPEW","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cloud-credential-must-detect-01","recipe":"cloud-credential","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CLDXCW3NJPNBM3FNLPEW"]},"customers":{"required_absent":["CLDXCW3NJPNBM3FNLPEW"],"required_present":[]},"all":{"required_absent":["CLDXCW3NJPNBM3FNLPEW"],"required_present":[]}},"tags":["broad-quality","secret-family:cloud-credential","variation:01"],"secret_fixture":{"family":"cloud-credential","role":"must-detect"}}, - {"id":"broad-secret-cloud-credential-preserve-01","language":"en","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad cloud-credential variation.","text":"--\nDocumentation syntax: 997192730562","known_identities":[],"targets":[{"id":"value","kind":"secret","start":25,"end":37,"value":"997192730562","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cloud-credential-preserve-01","recipe":"cloud-credential","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["997192730562"]},"customers":{"required_absent":[],"required_present":["997192730562"]},"all":{"required_absent":[],"required_present":["997192730562"]}},"tags":["broad-quality","secret-family:cloud-credential","variation:01"],"secret_fixture":{"family":"cloud-credential","role":"preserve"}}, - {"id":"broad-secret-cloud-credential-must-detect-02","language":"en","script":"Latin","shape":"long-thread","risk":"critical","reason":"Locked broad cloud-credential variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Log field auth_value=CLDX1TEIA7TT86KQFB2P","known_identities":[],"targets":[{"id":"value","kind":"secret","start":501,"end":521,"value":"CLDX1TEIA7TT86KQFB2P","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cloud-credential-must-detect-02","recipe":"cloud-credential","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CLDX1TEIA7TT86KQFB2P"]},"customers":{"required_absent":["CLDX1TEIA7TT86KQFB2P"],"required_present":[]},"all":{"required_absent":["CLDX1TEIA7TT86KQFB2P"],"required_present":[]}},"tags":["broad-quality","secret-family:cloud-credential","variation:02"],"secret_fixture":{"family":"cloud-credential","role":"must-detect"}}, - {"id":"broad-secret-cloud-credential-preserve-02","language":"en","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad cloud-credential variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Public operational identifier: 522233693123","known_identities":[],"targets":[{"id":"value","kind":"secret","start":511,"end":523,"value":"522233693123","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cloud-credential-preserve-02","recipe":"cloud-credential","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["522233693123"]},"customers":{"required_absent":[],"required_present":["522233693123"]},"all":{"required_absent":[],"required_present":["522233693123"]}},"tags":["broad-quality","secret-family:cloud-credential","variation:02"],"secret_fixture":{"family":"cloud-credential","role":"preserve"}}, - {"id":"broad-secret-cloud-credential-must-detect-03","language":"en","script":"Latin","shape":"command-payload","risk":"critical","reason":"Locked broad cloud-credential variation.","text":"--sample=3 --message=\"Rotating this exposed value: \" --value=CLDXGJ4RJOJJAA4FRG56","known_identities":[],"targets":[{"id":"value","kind":"secret","start":61,"end":81,"value":"CLDXGJ4RJOJJAA4FRG56","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cloud-credential-must-detect-03","recipe":"cloud-credential","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CLDXGJ4RJOJJAA4FRG56"]},"customers":{"required_absent":["CLDXGJ4RJOJJAA4FRG56"],"required_present":[]},"all":{"required_absent":["CLDXGJ4RJOJJAA4FRG56"],"required_present":[]}},"tags":["broad-quality","secret-family:cloud-credential","variation:03"],"secret_fixture":{"family":"cloud-credential","role":"must-detect"}}, - {"id":"broad-secret-cloud-credential-preserve-03","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad cloud-credential variation.","text":"--sample=3 --message=\"Schema field label: \" --value=332379951281","known_identities":[],"targets":[{"id":"value","kind":"secret","start":52,"end":64,"value":"332379951281","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cloud-credential-preserve-03","recipe":"cloud-credential","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["332379951281"]},"customers":{"required_absent":[],"required_present":["332379951281"]},"all":{"required_absent":[],"required_present":["332379951281"]}},"tags":["broad-quality","secret-family:cloud-credential","variation:03"],"secret_fixture":{"family":"cloud-credential","role":"preserve"}}, - {"id":"broad-secret-cloud-credential-must-detect-04","language":"en","script":"Latin","shape":"prose","risk":"critical","reason":"Locked broad cloud-credential variation.","text":"Quoted credential follows: CLDX4UAKIQHI1HJFBHS1","known_identities":[],"targets":[{"id":"value","kind":"secret","start":27,"end":47,"value":"CLDX4UAKIQHI1HJFBHS1","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cloud-credential-must-detect-04","recipe":"cloud-credential","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CLDX4UAKIQHI1HJFBHS1"]},"customers":{"required_absent":["CLDX4UAKIQHI1HJFBHS1"],"required_present":[]},"all":{"required_absent":["CLDX4UAKIQHI1HJFBHS1"],"required_present":[]}},"tags":["broad-quality","secret-family:cloud-credential","variation:04"],"secret_fixture":{"family":"cloud-credential","role":"must-detect"}}, - {"id":"broad-secret-cloud-credential-preserve-04","language":"en","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad cloud-credential variation.","text":"Non-confidential protocol token: 744724784199","known_identities":[],"targets":[{"id":"value","kind":"secret","start":33,"end":45,"value":"744724784199","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cloud-credential-preserve-04","recipe":"cloud-credential","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["744724784199"]},"customers":{"required_absent":[],"required_present":["744724784199"]},"all":{"required_absent":[],"required_present":["744724784199"]}},"tags":["broad-quality","secret-family:cloud-credential","variation:04"],"secret_fixture":{"family":"cloud-credential","role":"preserve"}}, - {"id":"broad-secret-cloud-credential-must-detect-05","language":"en","script":"Latin","shape":"json","risk":"critical","reason":"Locked broad cloud-credential variation.","text":"{\"message_5\":\"Configuration secret: CLDX79A822QY40ZA2E4M\"}","known_identities":[],"targets":[{"id":"value","kind":"secret","start":36,"end":56,"value":"CLDX79A822QY40ZA2E4M","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cloud-credential-must-detect-05","recipe":"cloud-credential","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CLDX79A822QY40ZA2E4M"]},"customers":{"required_absent":["CLDX79A822QY40ZA2E4M"],"required_present":[]},"all":{"required_absent":["CLDX79A822QY40ZA2E4M"],"required_present":[]}},"tags":["broad-quality","secret-family:cloud-credential","variation:05"],"secret_fixture":{"family":"cloud-credential","role":"must-detect"}}, - {"id":"broad-secret-cloud-credential-preserve-05","language":"en","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad cloud-credential variation.","text":"{\"message_5\":\"Release metadata: 635853326056\"}","known_identities":[],"targets":[{"id":"value","kind":"secret","start":32,"end":44,"value":"635853326056","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cloud-credential-preserve-05","recipe":"cloud-credential","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["635853326056"]},"customers":{"required_absent":[],"required_present":["635853326056"]},"all":{"required_absent":[],"required_present":["635853326056"]}},"tags":["broad-quality","secret-family:cloud-credential","variation:05"],"secret_fixture":{"family":"cloud-credential","role":"preserve"}}, - {"id":"broad-secret-cloud-credential-must-detect-06","language":"en","script":"Latin","shape":"yaml","risk":"critical","reason":"Locked broad cloud-credential variation.","text":"message_6: Stack trace captured credential CLDXEDLCZNII5TL6PUJC","known_identities":[],"targets":[{"id":"value","kind":"secret","start":43,"end":63,"value":"CLDXEDLCZNII5TL6PUJC","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cloud-credential-must-detect-06","recipe":"cloud-credential","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CLDXEDLCZNII5TL6PUJC"]},"customers":{"required_absent":["CLDXEDLCZNII5TL6PUJC"],"required_present":[]},"all":{"required_absent":["CLDXEDLCZNII5TL6PUJC"],"required_present":[]}},"tags":["broad-quality","secret-family:cloud-credential","variation:06"],"secret_fixture":{"family":"cloud-credential","role":"must-detect"}}, - {"id":"broad-secret-cloud-credential-preserve-06","language":"en","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad cloud-credential variation.","text":"message_6: Public verification material: 501905216311","known_identities":[],"targets":[{"id":"value","kind":"secret","start":41,"end":53,"value":"501905216311","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cloud-credential-preserve-06","recipe":"cloud-credential","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["501905216311"]},"customers":{"required_absent":[],"required_present":["501905216311"]},"all":{"required_absent":[],"required_present":["501905216311"]}},"tags":["broad-quality","secret-family:cloud-credential","variation:06"],"secret_fixture":{"family":"cloud-credential","role":"preserve"}}, - {"id":"broad-secret-cloud-credential-must-detect-07","language":"en","script":"Latin","shape":"shell","risk":"critical","reason":"Locked broad cloud-credential variation.","text":"MESSAGE_7='Wrapped message credential: CLDXGAOGIN26P4H7JM8E'","known_identities":[],"targets":[{"id":"value","kind":"secret","start":39,"end":59,"value":"CLDXGAOGIN26P4H7JM8E","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cloud-credential-must-detect-07","recipe":"cloud-credential","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CLDXGAOGIN26P4H7JM8E"]},"customers":{"required_absent":["CLDXGAOGIN26P4H7JM8E"],"required_present":[]},"all":{"required_absent":["CLDXGAOGIN26P4H7JM8E"],"required_present":[]}},"tags":["broad-quality","secret-family:cloud-credential","variation:07"],"secret_fixture":{"family":"cloud-credential","role":"must-detect"}}, - {"id":"broad-secret-cloud-credential-preserve-07","language":"en","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad cloud-credential variation.","text":"MESSAGE_7='Troubleshooting reference: 950155987954'","known_identities":[],"targets":[{"id":"value","kind":"secret","start":38,"end":50,"value":"950155987954","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cloud-credential-preserve-07","recipe":"cloud-credential","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["950155987954"]},"customers":{"required_absent":[],"required_present":["950155987954"]},"all":{"required_absent":[],"required_present":["950155987954"]}},"tags":["broad-quality","secret-family:cloud-credential","variation:07"],"secret_fixture":{"family":"cloud-credential","role":"preserve"}}, - {"id":"broad-secret-source-control-token-must-detect-00","language":"en","script":"Latin","shape":"url","risk":"critical","reason":"Locked broad source-control-token variation.","text":"endpoint=https://192.0.2.10/0 ; Credential copied from a support reply: scm_zNclz7ABNBFGXDrvBSTgolaSYZGgFzGyWWna","known_identities":[],"targets":[{"id":"value","kind":"secret","start":72,"end":112,"value":"scm_zNclz7ABNBFGXDrvBSTgolaSYZGgFzGyWWna","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-source-control-token-must-detect-00","recipe":"source-control-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["scm_zNclz7ABNBFGXDrvBSTgolaSYZGgFzGyWWna"]},"customers":{"required_absent":["scm_zNclz7ABNBFGXDrvBSTgolaSYZGgFzGyWWna"],"required_present":[]},"all":{"required_absent":["scm_zNclz7ABNBFGXDrvBSTgolaSYZGgFzGyWWna"],"required_present":[]}},"tags":["broad-quality","secret-family:source-control-token","variation:00"],"secret_fixture":{"family":"source-control-token","role":"must-detect"}}, - {"id":"broad-secret-source-control-token-preserve-00","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad source-control-token variation.","text":"endpoint=https://192.0.2.10/0 ; Public configuration vocabulary: e3bf73e5fbecd66b12ef9e0fe1ab0ecebd65f00a","known_identities":[],"targets":[{"id":"value","kind":"secret","start":65,"end":105,"value":"e3bf73e5fbecd66b12ef9e0fe1ab0ecebd65f00a","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-source-control-token-preserve-00","recipe":"source-control-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["e3bf73e5fbecd66b12ef9e0fe1ab0ecebd65f00a"]},"customers":{"required_absent":[],"required_present":["e3bf73e5fbecd66b12ef9e0fe1ab0ecebd65f00a"]},"all":{"required_absent":[],"required_present":["e3bf73e5fbecd66b12ef9e0fe1ab0ecebd65f00a"]}},"tags":["broad-quality","secret-family:source-control-token","variation:00"],"secret_fixture":{"family":"source-control-token","role":"preserve"}}, - {"id":"broad-secret-source-control-token-must-detect-01","language":"en","script":"Latin","shape":"markdown","risk":"critical","reason":"Locked broad source-control-token variation.","text":"**Authorization header value: scm_jTKpMIr2J82ZRSkVdzybx70cYzM2pdGr4D9e**","known_identities":[],"targets":[{"id":"value","kind":"secret","start":30,"end":70,"value":"scm_jTKpMIr2J82ZRSkVdzybx70cYzM2pdGr4D9e","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-source-control-token-must-detect-01","recipe":"source-control-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["scm_jTKpMIr2J82ZRSkVdzybx70cYzM2pdGr4D9e"]},"customers":{"required_absent":["scm_jTKpMIr2J82ZRSkVdzybx70cYzM2pdGr4D9e"],"required_present":[]},"all":{"required_absent":["scm_jTKpMIr2J82ZRSkVdzybx70cYzM2pdGr4D9e"],"required_present":[]}},"tags":["broad-quality","secret-family:source-control-token","variation:01"],"secret_fixture":{"family":"source-control-token","role":"must-detect"}}, - {"id":"broad-secret-source-control-token-preserve-01","language":"en","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad source-control-token variation.","text":"**Documentation syntax: f2cb9cb8deefa1ea00bc4a7edbddf4a65bc4faea**","known_identities":[],"targets":[{"id":"value","kind":"secret","start":24,"end":64,"value":"f2cb9cb8deefa1ea00bc4a7edbddf4a65bc4faea","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-source-control-token-preserve-01","recipe":"source-control-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["f2cb9cb8deefa1ea00bc4a7edbddf4a65bc4faea"]},"customers":{"required_absent":[],"required_present":["f2cb9cb8deefa1ea00bc4a7edbddf4a65bc4faea"]},"all":{"required_absent":[],"required_present":["f2cb9cb8deefa1ea00bc4a7edbddf4a65bc4faea"]}},"tags":["broad-quality","secret-family:source-control-token","variation:01"],"secret_fixture":{"family":"source-control-token","role":"preserve"}}, - {"id":"broad-secret-source-control-token-must-detect-02","language":"en","script":"Latin","shape":"html","risk":"critical","reason":"Locked broad source-control-token variation.","text":"\u003cp\u003eLog field auth_value=scm_K8F6N2CBDHE85rO3RDs2a6qB1rLswilXcvrT\u003c/p\u003e","known_identities":[],"targets":[{"id":"value","kind":"secret","start":24,"end":64,"value":"scm_K8F6N2CBDHE85rO3RDs2a6qB1rLswilXcvrT","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-source-control-token-must-detect-02","recipe":"source-control-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["scm_K8F6N2CBDHE85rO3RDs2a6qB1rLswilXcvrT"]},"customers":{"required_absent":["scm_K8F6N2CBDHE85rO3RDs2a6qB1rLswilXcvrT"],"required_present":[]},"all":{"required_absent":["scm_K8F6N2CBDHE85rO3RDs2a6qB1rLswilXcvrT"],"required_present":[]}},"tags":["broad-quality","secret-family:source-control-token","variation:02"],"secret_fixture":{"family":"source-control-token","role":"must-detect"}}, - {"id":"broad-secret-source-control-token-preserve-02","language":"en","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad source-control-token variation.","text":"\u003cp\u003ePublic operational identifier: a04b3df4ed71ca6ab0f45ee1e23b24ca2ef7e71b\u003c/p\u003e","known_identities":[],"targets":[{"id":"value","kind":"secret","start":34,"end":74,"value":"a04b3df4ed71ca6ab0f45ee1e23b24ca2ef7e71b","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-source-control-token-preserve-02","recipe":"source-control-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["a04b3df4ed71ca6ab0f45ee1e23b24ca2ef7e71b"]},"customers":{"required_absent":[],"required_present":["a04b3df4ed71ca6ab0f45ee1e23b24ca2ef7e71b"]},"all":{"required_absent":[],"required_present":["a04b3df4ed71ca6ab0f45ee1e23b24ca2ef7e71b"]}},"tags":["broad-quality","secret-family:source-control-token","variation:02"],"secret_fixture":{"family":"source-control-token","role":"preserve"}}, - {"id":"broad-secret-source-control-token-must-detect-03","language":"en","script":"Latin","shape":"quoted-reply","risk":"critical","reason":"Locked broad source-control-token variation.","text":"\u003e Rotating this exposed value: scm_n1MJYEl5H4Ca99FfdJdBxq7uJWnTUShR5fdV","known_identities":[],"targets":[{"id":"value","kind":"secret","start":31,"end":71,"value":"scm_n1MJYEl5H4Ca99FfdJdBxq7uJWnTUShR5fdV","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-source-control-token-must-detect-03","recipe":"source-control-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["scm_n1MJYEl5H4Ca99FfdJdBxq7uJWnTUShR5fdV"]},"customers":{"required_absent":["scm_n1MJYEl5H4Ca99FfdJdBxq7uJWnTUShR5fdV"],"required_present":[]},"all":{"required_absent":["scm_n1MJYEl5H4Ca99FfdJdBxq7uJWnTUShR5fdV"],"required_present":[]}},"tags":["broad-quality","secret-family:source-control-token","variation:03"],"secret_fixture":{"family":"source-control-token","role":"must-detect"}}, - {"id":"broad-secret-source-control-token-preserve-03","language":"en","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad source-control-token variation.","text":"\u003e Schema field label: f2fbcbba6d17f31baabb2d12cd6c1ada1a87a87e","known_identities":[],"targets":[{"id":"value","kind":"secret","start":22,"end":62,"value":"f2fbcbba6d17f31baabb2d12cd6c1ada1a87a87e","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-source-control-token-preserve-03","recipe":"source-control-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["f2fbcbba6d17f31baabb2d12cd6c1ada1a87a87e"]},"customers":{"required_absent":[],"required_present":["f2fbcbba6d17f31baabb2d12cd6c1ada1a87a87e"]},"all":{"required_absent":[],"required_present":["f2fbcbba6d17f31baabb2d12cd6c1ada1a87a87e"]}},"tags":["broad-quality","secret-family:source-control-token","variation:03"],"secret_fixture":{"family":"source-control-token","role":"preserve"}}, - {"id":"broad-secret-source-control-token-must-detect-04","language":"en","script":"Latin","shape":"log","risk":"critical","reason":"Locked broad source-control-token variation.","text":"level=warn sample=4 message=\"Quoted credential follows: \" value=scm_deZux3MqdzMMQovI6bKVjEXoIIP6VFHjOapN","known_identities":[],"targets":[{"id":"value","kind":"secret","start":64,"end":104,"value":"scm_deZux3MqdzMMQovI6bKVjEXoIIP6VFHjOapN","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-source-control-token-must-detect-04","recipe":"source-control-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["scm_deZux3MqdzMMQovI6bKVjEXoIIP6VFHjOapN"]},"customers":{"required_absent":["scm_deZux3MqdzMMQovI6bKVjEXoIIP6VFHjOapN"],"required_present":[]},"all":{"required_absent":["scm_deZux3MqdzMMQovI6bKVjEXoIIP6VFHjOapN"],"required_present":[]}},"tags":["broad-quality","secret-family:source-control-token","variation:04"],"secret_fixture":{"family":"source-control-token","role":"must-detect"}}, - {"id":"broad-secret-source-control-token-preserve-04","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad source-control-token variation.","text":"level=warn sample=4 message=\"Non-confidential protocol token: \" value=dc1b65ec5c8ab01cada96c8dcdaa09af3f7eb4bc","known_identities":[],"targets":[{"id":"value","kind":"secret","start":70,"end":110,"value":"dc1b65ec5c8ab01cada96c8dcdaa09af3f7eb4bc","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-source-control-token-preserve-04","recipe":"source-control-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["dc1b65ec5c8ab01cada96c8dcdaa09af3f7eb4bc"]},"customers":{"required_absent":[],"required_present":["dc1b65ec5c8ab01cada96c8dcdaa09af3f7eb4bc"]},"all":{"required_absent":[],"required_present":["dc1b65ec5c8ab01cada96c8dcdaa09af3f7eb4bc"]}},"tags":["broad-quality","secret-family:source-control-token","variation:04"],"secret_fixture":{"family":"source-control-token","role":"preserve"}}, - {"id":"broad-secret-source-control-token-must-detect-05","language":"en","script":"Latin","shape":"stack-trace","risk":"critical","reason":"Locked broad source-control-token variation.","text":"Trace[5]: Configuration secret: scm_3KrL8Em4RXDGoAbcEkhI7vjJtVqwNSC6TiVd","known_identities":[],"targets":[{"id":"value","kind":"secret","start":32,"end":72,"value":"scm_3KrL8Em4RXDGoAbcEkhI7vjJtVqwNSC6TiVd","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-source-control-token-must-detect-05","recipe":"source-control-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["scm_3KrL8Em4RXDGoAbcEkhI7vjJtVqwNSC6TiVd"]},"customers":{"required_absent":["scm_3KrL8Em4RXDGoAbcEkhI7vjJtVqwNSC6TiVd"],"required_present":[]},"all":{"required_absent":["scm_3KrL8Em4RXDGoAbcEkhI7vjJtVqwNSC6TiVd"],"required_present":[]}},"tags":["broad-quality","secret-family:source-control-token","variation:05"],"secret_fixture":{"family":"source-control-token","role":"must-detect"}}, - {"id":"broad-secret-source-control-token-preserve-05","language":"en","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad source-control-token variation.","text":"Trace[5]: Release metadata: a79ad8f9cbdcb92b7ac33aa4a4cb14c2fc68d95c","known_identities":[],"targets":[{"id":"value","kind":"secret","start":28,"end":68,"value":"a79ad8f9cbdcb92b7ac33aa4a4cb14c2fc68d95c","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-source-control-token-preserve-05","recipe":"source-control-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["a79ad8f9cbdcb92b7ac33aa4a4cb14c2fc68d95c"]},"customers":{"required_absent":[],"required_present":["a79ad8f9cbdcb92b7ac33aa4a4cb14c2fc68d95c"]},"all":{"required_absent":[],"required_present":["a79ad8f9cbdcb92b7ac33aa4a4cb14c2fc68d95c"]}},"tags":["broad-quality","secret-family:source-control-token","variation:05"],"secret_fixture":{"family":"source-control-token","role":"preserve"}}, - {"id":"broad-secret-source-control-token-must-detect-06","language":"en","script":"Latin","shape":"code","risk":"critical","reason":"Locked broad source-control-token variation.","text":"fixture_6 := `Stack trace captured credential scm_SWlfM4RcF7vY6naRnpjJGJkCEXlkC0pMx51P`","known_identities":[],"targets":[{"id":"value","kind":"secret","start":46,"end":86,"value":"scm_SWlfM4RcF7vY6naRnpjJGJkCEXlkC0pMx51P","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-source-control-token-must-detect-06","recipe":"source-control-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["scm_SWlfM4RcF7vY6naRnpjJGJkCEXlkC0pMx51P"]},"customers":{"required_absent":["scm_SWlfM4RcF7vY6naRnpjJGJkCEXlkC0pMx51P"],"required_present":[]},"all":{"required_absent":["scm_SWlfM4RcF7vY6naRnpjJGJkCEXlkC0pMx51P"],"required_present":[]}},"tags":["broad-quality","secret-family:source-control-token","variation:06"],"secret_fixture":{"family":"source-control-token","role":"must-detect"}}, - {"id":"broad-secret-source-control-token-preserve-06","language":"en","script":"Latin","shape":"code","risk":"preservation","reason":"Locked broad source-control-token variation.","text":"fixture_6 := `Public verification material: a81e7decec33a88cb7f51db7fb5ca3f27ecdc38b`","known_identities":[],"targets":[{"id":"value","kind":"secret","start":44,"end":84,"value":"a81e7decec33a88cb7f51db7fb5ca3f27ecdc38b","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-source-control-token-preserve-06","recipe":"source-control-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["a81e7decec33a88cb7f51db7fb5ca3f27ecdc38b"]},"customers":{"required_absent":[],"required_present":["a81e7decec33a88cb7f51db7fb5ca3f27ecdc38b"]},"all":{"required_absent":[],"required_present":["a81e7decec33a88cb7f51db7fb5ca3f27ecdc38b"]}},"tags":["broad-quality","secret-family:source-control-token","variation:06"],"secret_fixture":{"family":"source-control-token","role":"preserve"}}, - {"id":"broad-secret-source-control-token-must-detect-07","language":"en","script":"Latin","shape":"signature","risk":"critical","reason":"Locked broad source-control-token variation.","text":"--\nWrapped message credential: scm_x9sVvK9wowDqlHIfQlcxuYY7RbXdSRseEKbn","known_identities":[],"targets":[{"id":"value","kind":"secret","start":31,"end":71,"value":"scm_x9sVvK9wowDqlHIfQlcxuYY7RbXdSRseEKbn","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-source-control-token-must-detect-07","recipe":"source-control-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["scm_x9sVvK9wowDqlHIfQlcxuYY7RbXdSRseEKbn"]},"customers":{"required_absent":["scm_x9sVvK9wowDqlHIfQlcxuYY7RbXdSRseEKbn"],"required_present":[]},"all":{"required_absent":["scm_x9sVvK9wowDqlHIfQlcxuYY7RbXdSRseEKbn"],"required_present":[]}},"tags":["broad-quality","secret-family:source-control-token","variation:07"],"secret_fixture":{"family":"source-control-token","role":"must-detect"}}, - {"id":"broad-secret-source-control-token-preserve-07","language":"en","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad source-control-token variation.","text":"--\nTroubleshooting reference: b76f96dd2bb3e20f33cbeabdc99e5af86b0bb2af","known_identities":[],"targets":[{"id":"value","kind":"secret","start":30,"end":70,"value":"b76f96dd2bb3e20f33cbeabdc99e5af86b0bb2af","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-source-control-token-preserve-07","recipe":"source-control-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["b76f96dd2bb3e20f33cbeabdc99e5af86b0bb2af"]},"customers":{"required_absent":[],"required_present":["b76f96dd2bb3e20f33cbeabdc99e5af86b0bb2af"]},"all":{"required_absent":[],"required_present":["b76f96dd2bb3e20f33cbeabdc99e5af86b0bb2af"]}},"tags":["broad-quality","secret-family:source-control-token","variation:07"],"secret_fixture":{"family":"source-control-token","role":"preserve"}}, - {"id":"broad-secret-payment-credential-must-detect-00","language":"en","script":"Latin","shape":"long-thread","risk":"critical","reason":"Locked broad payment-credential variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Credential copied from a support reply: paylive_77LVl0OwfXdkjXf91lzO6oyh3ipJraPu","known_identities":[],"targets":[{"id":"value","kind":"secret","start":520,"end":560,"value":"paylive_77LVl0OwfXdkjXf91lzO6oyh3ipJraPu","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-payment-credential-must-detect-00","recipe":"payment-credential","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["paylive_77LVl0OwfXdkjXf91lzO6oyh3ipJraPu"]},"customers":{"required_absent":["paylive_77LVl0OwfXdkjXf91lzO6oyh3ipJraPu"],"required_present":[]},"all":{"required_absent":["paylive_77LVl0OwfXdkjXf91lzO6oyh3ipJraPu"],"required_present":[]}},"tags":["broad-quality","secret-family:payment-credential","variation:00"],"secret_fixture":{"family":"payment-credential","role":"must-detect"}}, - {"id":"broad-secret-payment-credential-preserve-00","language":"en","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad payment-credential variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Public configuration vocabulary: pk_live_PKA2aGFBU8CVIf697LldwsDEPMCHkMOJ","known_identities":[],"targets":[{"id":"value","kind":"secret","start":513,"end":553,"value":"pk_live_PKA2aGFBU8CVIf697LldwsDEPMCHkMOJ","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-payment-credential-preserve-00","recipe":"payment-credential","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["pk_live_PKA2aGFBU8CVIf697LldwsDEPMCHkMOJ"]},"customers":{"required_absent":[],"required_present":["pk_live_PKA2aGFBU8CVIf697LldwsDEPMCHkMOJ"]},"all":{"required_absent":[],"required_present":["pk_live_PKA2aGFBU8CVIf697LldwsDEPMCHkMOJ"]}},"tags":["broad-quality","secret-family:payment-credential","variation:00"],"secret_fixture":{"family":"payment-credential","role":"preserve"}}, - {"id":"broad-secret-payment-credential-must-detect-01","language":"en","script":"Latin","shape":"command-payload","risk":"critical","reason":"Locked broad payment-credential variation.","text":"--sample=1 --message=\"Authorization header value: \" --value=paylive_UNK6hhu4PLTtREEWEHO53aJPGG7Lh4Z8","known_identities":[],"targets":[{"id":"value","kind":"secret","start":60,"end":100,"value":"paylive_UNK6hhu4PLTtREEWEHO53aJPGG7Lh4Z8","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-payment-credential-must-detect-01","recipe":"payment-credential","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["paylive_UNK6hhu4PLTtREEWEHO53aJPGG7Lh4Z8"]},"customers":{"required_absent":["paylive_UNK6hhu4PLTtREEWEHO53aJPGG7Lh4Z8"],"required_present":[]},"all":{"required_absent":["paylive_UNK6hhu4PLTtREEWEHO53aJPGG7Lh4Z8"],"required_present":[]}},"tags":["broad-quality","secret-family:payment-credential","variation:01"],"secret_fixture":{"family":"payment-credential","role":"must-detect"}}, - {"id":"broad-secret-payment-credential-preserve-01","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad payment-credential variation.","text":"--sample=1 --message=\"Documentation syntax: \" --value=pk_live_47F81nLzuPKg2Szf3vMdxf6DygHZ4cvD","known_identities":[],"targets":[{"id":"value","kind":"secret","start":54,"end":94,"value":"pk_live_47F81nLzuPKg2Szf3vMdxf6DygHZ4cvD","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-payment-credential-preserve-01","recipe":"payment-credential","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["pk_live_47F81nLzuPKg2Szf3vMdxf6DygHZ4cvD"]},"customers":{"required_absent":[],"required_present":["pk_live_47F81nLzuPKg2Szf3vMdxf6DygHZ4cvD"]},"all":{"required_absent":[],"required_present":["pk_live_47F81nLzuPKg2Szf3vMdxf6DygHZ4cvD"]}},"tags":["broad-quality","secret-family:payment-credential","variation:01"],"secret_fixture":{"family":"payment-credential","role":"preserve"}}, - {"id":"broad-secret-payment-credential-must-detect-02","language":"en","script":"Latin","shape":"prose","risk":"critical","reason":"Locked broad payment-credential variation.","text":"Log field auth_value=paylive_eBvjZHv4m0jmVt7o4bqfO9yocjInAckw","known_identities":[],"targets":[{"id":"value","kind":"secret","start":21,"end":61,"value":"paylive_eBvjZHv4m0jmVt7o4bqfO9yocjInAckw","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-payment-credential-must-detect-02","recipe":"payment-credential","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["paylive_eBvjZHv4m0jmVt7o4bqfO9yocjInAckw"]},"customers":{"required_absent":["paylive_eBvjZHv4m0jmVt7o4bqfO9yocjInAckw"],"required_present":[]},"all":{"required_absent":["paylive_eBvjZHv4m0jmVt7o4bqfO9yocjInAckw"],"required_present":[]}},"tags":["broad-quality","secret-family:payment-credential","variation:02"],"secret_fixture":{"family":"payment-credential","role":"must-detect"}}, - {"id":"broad-secret-payment-credential-preserve-02","language":"en","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad payment-credential variation.","text":"Public operational identifier: pk_live_meUkNvgDp8CiBIU9c0b9pRZGKBeDAdON","known_identities":[],"targets":[{"id":"value","kind":"secret","start":31,"end":71,"value":"pk_live_meUkNvgDp8CiBIU9c0b9pRZGKBeDAdON","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-payment-credential-preserve-02","recipe":"payment-credential","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["pk_live_meUkNvgDp8CiBIU9c0b9pRZGKBeDAdON"]},"customers":{"required_absent":[],"required_present":["pk_live_meUkNvgDp8CiBIU9c0b9pRZGKBeDAdON"]},"all":{"required_absent":[],"required_present":["pk_live_meUkNvgDp8CiBIU9c0b9pRZGKBeDAdON"]}},"tags":["broad-quality","secret-family:payment-credential","variation:02"],"secret_fixture":{"family":"payment-credential","role":"preserve"}}, - {"id":"broad-secret-payment-credential-must-detect-03","language":"en","script":"Latin","shape":"json","risk":"critical","reason":"Locked broad payment-credential variation.","text":"{\"message_3\":\"Rotating this exposed value: paylive_r3Ssn4zynw63PV0iK7KDZBtKOIvCtr9i\"}","known_identities":[],"targets":[{"id":"value","kind":"secret","start":43,"end":83,"value":"paylive_r3Ssn4zynw63PV0iK7KDZBtKOIvCtr9i","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-payment-credential-must-detect-03","recipe":"payment-credential","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["paylive_r3Ssn4zynw63PV0iK7KDZBtKOIvCtr9i"]},"customers":{"required_absent":["paylive_r3Ssn4zynw63PV0iK7KDZBtKOIvCtr9i"],"required_present":[]},"all":{"required_absent":["paylive_r3Ssn4zynw63PV0iK7KDZBtKOIvCtr9i"],"required_present":[]}},"tags":["broad-quality","secret-family:payment-credential","variation:03"],"secret_fixture":{"family":"payment-credential","role":"must-detect"}}, - {"id":"broad-secret-payment-credential-preserve-03","language":"en","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad payment-credential variation.","text":"{\"message_3\":\"Schema field label: pk_live_755YgqNC5sqdxQ822ffrgZQfFjSAecDA\"}","known_identities":[],"targets":[{"id":"value","kind":"secret","start":34,"end":74,"value":"pk_live_755YgqNC5sqdxQ822ffrgZQfFjSAecDA","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-payment-credential-preserve-03","recipe":"payment-credential","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["pk_live_755YgqNC5sqdxQ822ffrgZQfFjSAecDA"]},"customers":{"required_absent":[],"required_present":["pk_live_755YgqNC5sqdxQ822ffrgZQfFjSAecDA"]},"all":{"required_absent":[],"required_present":["pk_live_755YgqNC5sqdxQ822ffrgZQfFjSAecDA"]}},"tags":["broad-quality","secret-family:payment-credential","variation:03"],"secret_fixture":{"family":"payment-credential","role":"preserve"}}, - {"id":"broad-secret-payment-credential-must-detect-04","language":"en","script":"Latin","shape":"yaml","risk":"critical","reason":"Locked broad payment-credential variation.","text":"message_4: Quoted credential follows: paylive_LiWecu9GOqJqVbb44jslWp1fDbn4tSBn","known_identities":[],"targets":[{"id":"value","kind":"secret","start":38,"end":78,"value":"paylive_LiWecu9GOqJqVbb44jslWp1fDbn4tSBn","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-payment-credential-must-detect-04","recipe":"payment-credential","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["paylive_LiWecu9GOqJqVbb44jslWp1fDbn4tSBn"]},"customers":{"required_absent":["paylive_LiWecu9GOqJqVbb44jslWp1fDbn4tSBn"],"required_present":[]},"all":{"required_absent":["paylive_LiWecu9GOqJqVbb44jslWp1fDbn4tSBn"],"required_present":[]}},"tags":["broad-quality","secret-family:payment-credential","variation:04"],"secret_fixture":{"family":"payment-credential","role":"must-detect"}}, - {"id":"broad-secret-payment-credential-preserve-04","language":"en","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad payment-credential variation.","text":"message_4: Non-confidential protocol token: pk_live_LYgipxicakgYf0hkfHy7HBsDO0pdEugZ","known_identities":[],"targets":[{"id":"value","kind":"secret","start":44,"end":84,"value":"pk_live_LYgipxicakgYf0hkfHy7HBsDO0pdEugZ","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-payment-credential-preserve-04","recipe":"payment-credential","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["pk_live_LYgipxicakgYf0hkfHy7HBsDO0pdEugZ"]},"customers":{"required_absent":[],"required_present":["pk_live_LYgipxicakgYf0hkfHy7HBsDO0pdEugZ"]},"all":{"required_absent":[],"required_present":["pk_live_LYgipxicakgYf0hkfHy7HBsDO0pdEugZ"]}},"tags":["broad-quality","secret-family:payment-credential","variation:04"],"secret_fixture":{"family":"payment-credential","role":"preserve"}}, - {"id":"broad-secret-payment-credential-must-detect-05","language":"en","script":"Latin","shape":"shell","risk":"critical","reason":"Locked broad payment-credential variation.","text":"MESSAGE_5='Configuration secret: paylive_EDqPcwPCU2FBK35mjlnp4Em2DppSCnk9'","known_identities":[],"targets":[{"id":"value","kind":"secret","start":33,"end":73,"value":"paylive_EDqPcwPCU2FBK35mjlnp4Em2DppSCnk9","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-payment-credential-must-detect-05","recipe":"payment-credential","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["paylive_EDqPcwPCU2FBK35mjlnp4Em2DppSCnk9"]},"customers":{"required_absent":["paylive_EDqPcwPCU2FBK35mjlnp4Em2DppSCnk9"],"required_present":[]},"all":{"required_absent":["paylive_EDqPcwPCU2FBK35mjlnp4Em2DppSCnk9"],"required_present":[]}},"tags":["broad-quality","secret-family:payment-credential","variation:05"],"secret_fixture":{"family":"payment-credential","role":"must-detect"}}, - {"id":"broad-secret-payment-credential-preserve-05","language":"en","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad payment-credential variation.","text":"MESSAGE_5='Release metadata: pk_live_zm2mfC1OZFq1EKYzmK1jnFKU4lNP2n6F'","known_identities":[],"targets":[{"id":"value","kind":"secret","start":29,"end":69,"value":"pk_live_zm2mfC1OZFq1EKYzmK1jnFKU4lNP2n6F","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-payment-credential-preserve-05","recipe":"payment-credential","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["pk_live_zm2mfC1OZFq1EKYzmK1jnFKU4lNP2n6F"]},"customers":{"required_absent":[],"required_present":["pk_live_zm2mfC1OZFq1EKYzmK1jnFKU4lNP2n6F"]},"all":{"required_absent":[],"required_present":["pk_live_zm2mfC1OZFq1EKYzmK1jnFKU4lNP2n6F"]}},"tags":["broad-quality","secret-family:payment-credential","variation:05"],"secret_fixture":{"family":"payment-credential","role":"preserve"}}, - {"id":"broad-secret-payment-credential-must-detect-06","language":"en","script":"Latin","shape":"url","risk":"critical","reason":"Locked broad payment-credential variation.","text":"endpoint=https://192.0.2.10/6 ; Stack trace captured credential paylive_eABCSmj0rrP7DUH7ZqAbS6tCF3P4FzOa","known_identities":[],"targets":[{"id":"value","kind":"secret","start":64,"end":104,"value":"paylive_eABCSmj0rrP7DUH7ZqAbS6tCF3P4FzOa","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-payment-credential-must-detect-06","recipe":"payment-credential","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["paylive_eABCSmj0rrP7DUH7ZqAbS6tCF3P4FzOa"]},"customers":{"required_absent":["paylive_eABCSmj0rrP7DUH7ZqAbS6tCF3P4FzOa"],"required_present":[]},"all":{"required_absent":["paylive_eABCSmj0rrP7DUH7ZqAbS6tCF3P4FzOa"],"required_present":[]}},"tags":["broad-quality","secret-family:payment-credential","variation:06"],"secret_fixture":{"family":"payment-credential","role":"must-detect"}}, - {"id":"broad-secret-payment-credential-preserve-06","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad payment-credential variation.","text":"endpoint=https://192.0.2.10/6 ; Public verification material: pk_live_2uhEUeE7zRvsGI2VWYiqbEoHNz1FfHvw","known_identities":[],"targets":[{"id":"value","kind":"secret","start":62,"end":102,"value":"pk_live_2uhEUeE7zRvsGI2VWYiqbEoHNz1FfHvw","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-payment-credential-preserve-06","recipe":"payment-credential","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["pk_live_2uhEUeE7zRvsGI2VWYiqbEoHNz1FfHvw"]},"customers":{"required_absent":[],"required_present":["pk_live_2uhEUeE7zRvsGI2VWYiqbEoHNz1FfHvw"]},"all":{"required_absent":[],"required_present":["pk_live_2uhEUeE7zRvsGI2VWYiqbEoHNz1FfHvw"]}},"tags":["broad-quality","secret-family:payment-credential","variation:06"],"secret_fixture":{"family":"payment-credential","role":"preserve"}}, - {"id":"broad-secret-payment-credential-must-detect-07","language":"en","script":"Latin","shape":"markdown","risk":"critical","reason":"Locked broad payment-credential variation.","text":"**Wrapped message credential: paylive_EGiA0xMaTH6ROn3xfPKwP8xTzKVHXusV**","known_identities":[],"targets":[{"id":"value","kind":"secret","start":30,"end":70,"value":"paylive_EGiA0xMaTH6ROn3xfPKwP8xTzKVHXusV","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-payment-credential-must-detect-07","recipe":"payment-credential","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["paylive_EGiA0xMaTH6ROn3xfPKwP8xTzKVHXusV"]},"customers":{"required_absent":["paylive_EGiA0xMaTH6ROn3xfPKwP8xTzKVHXusV"],"required_present":[]},"all":{"required_absent":["paylive_EGiA0xMaTH6ROn3xfPKwP8xTzKVHXusV"],"required_present":[]}},"tags":["broad-quality","secret-family:payment-credential","variation:07"],"secret_fixture":{"family":"payment-credential","role":"must-detect"}}, - {"id":"broad-secret-payment-credential-preserve-07","language":"en","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad payment-credential variation.","text":"**Troubleshooting reference: pk_live_83t0xgyoJ4PMtuD1aX7qCqGfZzGhaQL8**","known_identities":[],"targets":[{"id":"value","kind":"secret","start":29,"end":69,"value":"pk_live_83t0xgyoJ4PMtuD1aX7qCqGfZzGhaQL8","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-payment-credential-preserve-07","recipe":"payment-credential","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["pk_live_83t0xgyoJ4PMtuD1aX7qCqGfZzGhaQL8"]},"customers":{"required_absent":[],"required_present":["pk_live_83t0xgyoJ4PMtuD1aX7qCqGfZzGhaQL8"]},"all":{"required_absent":[],"required_present":["pk_live_83t0xgyoJ4PMtuD1aX7qCqGfZzGhaQL8"]}},"tags":["broad-quality","secret-family:payment-credential","variation:07"],"secret_fixture":{"family":"payment-credential","role":"preserve"}}, - {"id":"broad-secret-observability-token-must-detect-00","language":"en","script":"Latin","shape":"html","risk":"critical","reason":"Locked broad observability-token variation.","text":"\u003cp\u003eCredential copied from a support reply: obsap_467dfd20dbc1adef94d51a706b6fe937\u003c/p\u003e","known_identities":[],"targets":[{"id":"value","kind":"secret","start":43,"end":81,"value":"obsap_467dfd20dbc1adef94d51a706b6fe937","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-observability-token-must-detect-00","recipe":"observability-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["obsap_467dfd20dbc1adef94d51a706b6fe937"]},"customers":{"required_absent":["obsap_467dfd20dbc1adef94d51a706b6fe937"],"required_present":[]},"all":{"required_absent":["obsap_467dfd20dbc1adef94d51a706b6fe937"],"required_present":[]}},"tags":["broad-quality","secret-family:observability-token","variation:00"],"secret_fixture":{"family":"observability-token","role":"must-detect"}}, - {"id":"broad-secret-observability-token-preserve-00","language":"en","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad observability-token variation.","text":"\u003cp\u003ePublic configuration vocabulary: eefbf6b91b5fcd6c89b08d90b74c5ca8\u003c/p\u003e","known_identities":[],"targets":[{"id":"value","kind":"secret","start":36,"end":68,"value":"eefbf6b91b5fcd6c89b08d90b74c5ca8","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-observability-token-preserve-00","recipe":"observability-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["eefbf6b91b5fcd6c89b08d90b74c5ca8"]},"customers":{"required_absent":[],"required_present":["eefbf6b91b5fcd6c89b08d90b74c5ca8"]},"all":{"required_absent":[],"required_present":["eefbf6b91b5fcd6c89b08d90b74c5ca8"]}},"tags":["broad-quality","secret-family:observability-token","variation:00"],"secret_fixture":{"family":"observability-token","role":"preserve"}}, - {"id":"broad-secret-observability-token-must-detect-01","language":"en","script":"Latin","shape":"quoted-reply","risk":"critical","reason":"Locked broad observability-token variation.","text":"\u003e Authorization header value: obsap_7cecd20ca6eb2e9821f07fdca28c3269","known_identities":[],"targets":[{"id":"value","kind":"secret","start":30,"end":68,"value":"obsap_7cecd20ca6eb2e9821f07fdca28c3269","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-observability-token-must-detect-01","recipe":"observability-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["obsap_7cecd20ca6eb2e9821f07fdca28c3269"]},"customers":{"required_absent":["obsap_7cecd20ca6eb2e9821f07fdca28c3269"],"required_present":[]},"all":{"required_absent":["obsap_7cecd20ca6eb2e9821f07fdca28c3269"],"required_present":[]}},"tags":["broad-quality","secret-family:observability-token","variation:01"],"secret_fixture":{"family":"observability-token","role":"must-detect"}}, - {"id":"broad-secret-observability-token-preserve-01","language":"en","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad observability-token variation.","text":"\u003e Documentation syntax: e9fe45c64a12cccc79d80ee8d88e5cdd","known_identities":[],"targets":[{"id":"value","kind":"secret","start":24,"end":56,"value":"e9fe45c64a12cccc79d80ee8d88e5cdd","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-observability-token-preserve-01","recipe":"observability-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["e9fe45c64a12cccc79d80ee8d88e5cdd"]},"customers":{"required_absent":[],"required_present":["e9fe45c64a12cccc79d80ee8d88e5cdd"]},"all":{"required_absent":[],"required_present":["e9fe45c64a12cccc79d80ee8d88e5cdd"]}},"tags":["broad-quality","secret-family:observability-token","variation:01"],"secret_fixture":{"family":"observability-token","role":"preserve"}}, - {"id":"broad-secret-observability-token-must-detect-02","language":"en","script":"Latin","shape":"log","risk":"critical","reason":"Locked broad observability-token variation.","text":"level=warn sample=2 message=\"Log field auth_value=\" value=obsap_d41b620bcaa4e3bf63bedcc2d7913561","known_identities":[],"targets":[{"id":"value","kind":"secret","start":58,"end":96,"value":"obsap_d41b620bcaa4e3bf63bedcc2d7913561","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-observability-token-must-detect-02","recipe":"observability-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["obsap_d41b620bcaa4e3bf63bedcc2d7913561"]},"customers":{"required_absent":["obsap_d41b620bcaa4e3bf63bedcc2d7913561"],"required_present":[]},"all":{"required_absent":["obsap_d41b620bcaa4e3bf63bedcc2d7913561"],"required_present":[]}},"tags":["broad-quality","secret-family:observability-token","variation:02"],"secret_fixture":{"family":"observability-token","role":"must-detect"}}, - {"id":"broad-secret-observability-token-preserve-02","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad observability-token variation.","text":"level=warn sample=2 message=\"Public operational identifier: \" value=fa8ab0e35b97eecbd1b33fbefadb6ef1","known_identities":[],"targets":[{"id":"value","kind":"secret","start":68,"end":100,"value":"fa8ab0e35b97eecbd1b33fbefadb6ef1","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-observability-token-preserve-02","recipe":"observability-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["fa8ab0e35b97eecbd1b33fbefadb6ef1"]},"customers":{"required_absent":[],"required_present":["fa8ab0e35b97eecbd1b33fbefadb6ef1"]},"all":{"required_absent":[],"required_present":["fa8ab0e35b97eecbd1b33fbefadb6ef1"]}},"tags":["broad-quality","secret-family:observability-token","variation:02"],"secret_fixture":{"family":"observability-token","role":"preserve"}}, - {"id":"broad-secret-observability-token-must-detect-03","language":"en","script":"Latin","shape":"stack-trace","risk":"critical","reason":"Locked broad observability-token variation.","text":"Trace[3]: Rotating this exposed value: obsap_8ad9061d382acb4ad876e933a3b13f0c","known_identities":[],"targets":[{"id":"value","kind":"secret","start":39,"end":77,"value":"obsap_8ad9061d382acb4ad876e933a3b13f0c","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-observability-token-must-detect-03","recipe":"observability-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["obsap_8ad9061d382acb4ad876e933a3b13f0c"]},"customers":{"required_absent":["obsap_8ad9061d382acb4ad876e933a3b13f0c"],"required_present":[]},"all":{"required_absent":["obsap_8ad9061d382acb4ad876e933a3b13f0c"],"required_present":[]}},"tags":["broad-quality","secret-family:observability-token","variation:03"],"secret_fixture":{"family":"observability-token","role":"must-detect"}}, - {"id":"broad-secret-observability-token-preserve-03","language":"en","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad observability-token variation.","text":"Trace[3]: Schema field label: ecefd0c5aa76b94a07a84b36df1e26c9","known_identities":[],"targets":[{"id":"value","kind":"secret","start":30,"end":62,"value":"ecefd0c5aa76b94a07a84b36df1e26c9","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-observability-token-preserve-03","recipe":"observability-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["ecefd0c5aa76b94a07a84b36df1e26c9"]},"customers":{"required_absent":[],"required_present":["ecefd0c5aa76b94a07a84b36df1e26c9"]},"all":{"required_absent":[],"required_present":["ecefd0c5aa76b94a07a84b36df1e26c9"]}},"tags":["broad-quality","secret-family:observability-token","variation:03"],"secret_fixture":{"family":"observability-token","role":"preserve"}}, - {"id":"broad-secret-observability-token-must-detect-04","language":"en","script":"Latin","shape":"code","risk":"critical","reason":"Locked broad observability-token variation.","text":"fixture_4 := `Quoted credential follows: obsap_19494d979ffed3a989323819bcfcb2c8`","known_identities":[],"targets":[{"id":"value","kind":"secret","start":41,"end":79,"value":"obsap_19494d979ffed3a989323819bcfcb2c8","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-observability-token-must-detect-04","recipe":"observability-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["obsap_19494d979ffed3a989323819bcfcb2c8"]},"customers":{"required_absent":["obsap_19494d979ffed3a989323819bcfcb2c8"],"required_present":[]},"all":{"required_absent":["obsap_19494d979ffed3a989323819bcfcb2c8"],"required_present":[]}},"tags":["broad-quality","secret-family:observability-token","variation:04"],"secret_fixture":{"family":"observability-token","role":"must-detect"}}, - {"id":"broad-secret-observability-token-preserve-04","language":"en","script":"Latin","shape":"code","risk":"preservation","reason":"Locked broad observability-token variation.","text":"fixture_4 := `Non-confidential protocol token: a0bb66e76ebbdf6f1bfc3ba3c38dadaf`","known_identities":[],"targets":[{"id":"value","kind":"secret","start":47,"end":79,"value":"a0bb66e76ebbdf6f1bfc3ba3c38dadaf","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-observability-token-preserve-04","recipe":"observability-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["a0bb66e76ebbdf6f1bfc3ba3c38dadaf"]},"customers":{"required_absent":[],"required_present":["a0bb66e76ebbdf6f1bfc3ba3c38dadaf"]},"all":{"required_absent":[],"required_present":["a0bb66e76ebbdf6f1bfc3ba3c38dadaf"]}},"tags":["broad-quality","secret-family:observability-token","variation:04"],"secret_fixture":{"family":"observability-token","role":"preserve"}}, - {"id":"broad-secret-observability-token-must-detect-05","language":"en","script":"Latin","shape":"signature","risk":"critical","reason":"Locked broad observability-token variation.","text":"--\nConfiguration secret: obsap_eb3d03d87632a4ff2493c0015ddb39e1","known_identities":[],"targets":[{"id":"value","kind":"secret","start":25,"end":63,"value":"obsap_eb3d03d87632a4ff2493c0015ddb39e1","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-observability-token-must-detect-05","recipe":"observability-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["obsap_eb3d03d87632a4ff2493c0015ddb39e1"]},"customers":{"required_absent":["obsap_eb3d03d87632a4ff2493c0015ddb39e1"],"required_present":[]},"all":{"required_absent":["obsap_eb3d03d87632a4ff2493c0015ddb39e1"],"required_present":[]}},"tags":["broad-quality","secret-family:observability-token","variation:05"],"secret_fixture":{"family":"observability-token","role":"must-detect"}}, - {"id":"broad-secret-observability-token-preserve-05","language":"en","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad observability-token variation.","text":"--\nRelease metadata: e30b45d9afd1c87fbec51bf0cf4f18bb","known_identities":[],"targets":[{"id":"value","kind":"secret","start":21,"end":53,"value":"e30b45d9afd1c87fbec51bf0cf4f18bb","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-observability-token-preserve-05","recipe":"observability-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["e30b45d9afd1c87fbec51bf0cf4f18bb"]},"customers":{"required_absent":[],"required_present":["e30b45d9afd1c87fbec51bf0cf4f18bb"]},"all":{"required_absent":[],"required_present":["e30b45d9afd1c87fbec51bf0cf4f18bb"]}},"tags":["broad-quality","secret-family:observability-token","variation:05"],"secret_fixture":{"family":"observability-token","role":"preserve"}}, - {"id":"broad-secret-observability-token-must-detect-06","language":"en","script":"Latin","shape":"long-thread","risk":"critical","reason":"Locked broad observability-token variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Stack trace captured credential obsap_2138547ffffc51a3c09b8ac55980739a","known_identities":[],"targets":[{"id":"value","kind":"secret","start":512,"end":550,"value":"obsap_2138547ffffc51a3c09b8ac55980739a","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-observability-token-must-detect-06","recipe":"observability-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["obsap_2138547ffffc51a3c09b8ac55980739a"]},"customers":{"required_absent":["obsap_2138547ffffc51a3c09b8ac55980739a"],"required_present":[]},"all":{"required_absent":["obsap_2138547ffffc51a3c09b8ac55980739a"],"required_present":[]}},"tags":["broad-quality","secret-family:observability-token","variation:06"],"secret_fixture":{"family":"observability-token","role":"must-detect"}}, - {"id":"broad-secret-observability-token-preserve-06","language":"en","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad observability-token variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Public verification material: a18e28da7ab4dcca58ac5abcf4bcb5fa","known_identities":[],"targets":[{"id":"value","kind":"secret","start":510,"end":542,"value":"a18e28da7ab4dcca58ac5abcf4bcb5fa","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-observability-token-preserve-06","recipe":"observability-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["a18e28da7ab4dcca58ac5abcf4bcb5fa"]},"customers":{"required_absent":[],"required_present":["a18e28da7ab4dcca58ac5abcf4bcb5fa"]},"all":{"required_absent":[],"required_present":["a18e28da7ab4dcca58ac5abcf4bcb5fa"]}},"tags":["broad-quality","secret-family:observability-token","variation:06"],"secret_fixture":{"family":"observability-token","role":"preserve"}}, - {"id":"broad-secret-observability-token-must-detect-07","language":"en","script":"Latin","shape":"command-payload","risk":"critical","reason":"Locked broad observability-token variation.","text":"--sample=7 --message=\"Wrapped message credential: \" --value=obsap_24e8796d4eecfdb2b42f553e5491e7d0","known_identities":[],"targets":[{"id":"value","kind":"secret","start":60,"end":98,"value":"obsap_24e8796d4eecfdb2b42f553e5491e7d0","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-observability-token-must-detect-07","recipe":"observability-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["obsap_24e8796d4eecfdb2b42f553e5491e7d0"]},"customers":{"required_absent":["obsap_24e8796d4eecfdb2b42f553e5491e7d0"],"required_present":[]},"all":{"required_absent":["obsap_24e8796d4eecfdb2b42f553e5491e7d0"],"required_present":[]}},"tags":["broad-quality","secret-family:observability-token","variation:07"],"secret_fixture":{"family":"observability-token","role":"must-detect"}}, - {"id":"broad-secret-observability-token-preserve-07","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad observability-token variation.","text":"--sample=7 --message=\"Troubleshooting reference: \" --value=c84d46e1ba62f5ba1abf7ed5f6da41ae","known_identities":[],"targets":[{"id":"value","kind":"secret","start":59,"end":91,"value":"c84d46e1ba62f5ba1abf7ed5f6da41ae","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-observability-token-preserve-07","recipe":"observability-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["c84d46e1ba62f5ba1abf7ed5f6da41ae"]},"customers":{"required_absent":[],"required_present":["c84d46e1ba62f5ba1abf7ed5f6da41ae"]},"all":{"required_absent":[],"required_present":["c84d46e1ba62f5ba1abf7ed5f6da41ae"]}},"tags":["broad-quality","secret-family:observability-token","variation:07"],"secret_fixture":{"family":"observability-token","role":"preserve"}} + {"id":"broad-secret-database-connection-must-detect-08","language":"en","script":"Latin","shape":"log","risk":"critical","reason":"Locked broad database-connection variation.","text":"level=warn sample=8 message=\"Credential copied from a support reply: \" value=postgresql://svc_0bra0v2p:P9!HP9mon\nYDFHcEB6G8Gs@192.0.2.42:5432/support","known_identities":[],"targets":[{"id":"value","kind":"secret","start":77,"end":149,"value":"postgresql://svc_0bra0v2p:P9!HP9mon\nYDFHcEB6G8Gs@192.0.2.42:5432/support","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-database-connection-must-detect-08","recipe":"database-connection","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["postgresql://svc_0bra0v2p:P9!HP9mon\nYDFHcEB6G8Gs@192.0.2.42:5432/support"]},"customers":{"required_absent":["postgresql://svc_0bra0v2p:P9!HP9mon\nYDFHcEB6G8Gs@192.0.2.42:5432/support"],"required_present":[]},"all":{"required_absent":["postgresql://svc_0bra0v2p:P9!HP9mon\nYDFHcEB6G8Gs@192.0.2.42:5432/support"],"required_present":[]}},"tags":["broad-quality","secret-family:database-connection","variation:08"],"secret_fixture":{"family":"database-connection","role":"must-detect"}}, + {"id":"broad-secret-database-connection-preserve-08","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad database-connection variation.","text":"level=warn sample=8 message=\"Public configuration vocabulary: \" value=postgresql://192.0.2.42:5432/support","known_identities":[],"targets":[{"id":"value","kind":"secret","start":70,"end":106,"value":"postgresql://192.0.2.42:5432/support","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-database-connection-preserve-08","recipe":"database-connection","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["postgresql://192.0.2.42:5432/support"]},"customers":{"required_absent":[],"required_present":["postgresql://192.0.2.42:5432/support"]},"all":{"required_absent":[],"required_present":["postgresql://192.0.2.42:5432/support"]}},"tags":["broad-quality","secret-family:database-connection","variation:08"],"secret_fixture":{"family":"database-connection","role":"preserve"}}, + {"id":"broad-secret-database-connection-must-detect-09","language":"en","script":"Latin","shape":"stack-trace","risk":"critical","reason":"Locked broad database-connection variation.","text":"Trace[9]: Authorization header value: postgresql://svc_7y7aywa0:P9!fXhukl tlrEGnZMNm7j@192.0.2.42:5432/support","known_identities":[],"targets":[{"id":"value","kind":"secret","start":38,"end":110,"value":"postgresql://svc_7y7aywa0:P9!fXhukl tlrEGnZMNm7j@192.0.2.42:5432/support","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-database-connection-must-detect-09","recipe":"database-connection","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["postgresql://svc_7y7aywa0:P9!fXhukl tlrEGnZMNm7j@192.0.2.42:5432/support"]},"customers":{"required_absent":["postgresql://svc_7y7aywa0:P9!fXhukl tlrEGnZMNm7j@192.0.2.42:5432/support"],"required_present":[]},"all":{"required_absent":["postgresql://svc_7y7aywa0:P9!fXhukl tlrEGnZMNm7j@192.0.2.42:5432/support"],"required_present":[]}},"tags":["broad-quality","secret-family:database-connection","variation:09"],"secret_fixture":{"family":"database-connection","role":"must-detect"}}, + {"id":"broad-secret-database-connection-preserve-09","language":"en","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad database-connection variation.","text":"Trace[9]: Documentation syntax: postgresql://192.0.2.42:5432/support","known_identities":[],"targets":[{"id":"value","kind":"secret","start":32,"end":68,"value":"postgresql://192.0.2.42:5432/support","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-database-connection-preserve-09","recipe":"database-connection","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["postgresql://192.0.2.42:5432/support"]},"customers":{"required_absent":[],"required_present":["postgresql://192.0.2.42:5432/support"]},"all":{"required_absent":[],"required_present":["postgresql://192.0.2.42:5432/support"]}},"tags":["broad-quality","secret-family:database-connection","variation:09"],"secret_fixture":{"family":"database-connection","role":"preserve"}}, + {"id":"broad-secret-database-connection-must-detect-10","language":"en","script":"Latin","shape":"code","risk":"critical","reason":"Locked broad database-connection variation.","text":"fixture_10 := `Log field auth_value=postgresql://svc_s9cdixca:P9!1WkyQ5·XCejIlaOc5g1@192.0.2.42:5432/support`","known_identities":[],"targets":[{"id":"value","kind":"secret","start":36,"end":109,"value":"postgresql://svc_s9cdixca:P9!1WkyQ5·XCejIlaOc5g1@192.0.2.42:5432/support","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-database-connection-must-detect-10","recipe":"database-connection","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["postgresql://svc_s9cdixca:P9!1WkyQ5·XCejIlaOc5g1@192.0.2.42:5432/support"]},"customers":{"required_absent":["postgresql://svc_s9cdixca:P9!1WkyQ5·XCejIlaOc5g1@192.0.2.42:5432/support"],"required_present":[]},"all":{"required_absent":["postgresql://svc_s9cdixca:P9!1WkyQ5·XCejIlaOc5g1@192.0.2.42:5432/support"],"required_present":[]}},"tags":["broad-quality","secret-family:database-connection","variation:10"],"secret_fixture":{"family":"database-connection","role":"must-detect"}}, + {"id":"broad-secret-database-connection-preserve-10","language":"en","script":"Latin","shape":"code","risk":"preservation","reason":"Locked broad database-connection variation.","text":"fixture_10 := `Public operational identifier: postgresql://192.0.2.42:5432/support`","known_identities":[],"targets":[{"id":"value","kind":"secret","start":46,"end":82,"value":"postgresql://192.0.2.42:5432/support","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-database-connection-preserve-10","recipe":"database-connection","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["postgresql://192.0.2.42:5432/support"]},"customers":{"required_absent":[],"required_present":["postgresql://192.0.2.42:5432/support"]},"all":{"required_absent":[],"required_present":["postgresql://192.0.2.42:5432/support"]}},"tags":["broad-quality","secret-family:database-connection","variation:10"],"secret_fixture":{"family":"database-connection","role":"preserve"}}, + {"id":"broad-secret-database-connection-must-detect-11","language":"en","script":"Latin","shape":"signature","risk":"critical","reason":"Locked broad database-connection variation.","text":"--\nRotating this exposed value: postgresql://svc_1tzhwfh1:P9!IGGnyP\u003cwbr\u003eVTmgCN38EqTF@192.0.2.42:5432/support","known_identities":[],"targets":[{"id":"value","kind":"secret","start":32,"end":108,"value":"postgresql://svc_1tzhwfh1:P9!IGGnyP\u003cwbr\u003eVTmgCN38EqTF@192.0.2.42:5432/support","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-database-connection-must-detect-11","recipe":"database-connection","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["postgresql://svc_1tzhwfh1:P9!IGGnyP\u003cwbr\u003eVTmgCN38EqTF@192.0.2.42:5432/support"]},"customers":{"required_absent":["postgresql://svc_1tzhwfh1:P9!IGGnyP\u003cwbr\u003eVTmgCN38EqTF@192.0.2.42:5432/support"],"required_present":[]},"all":{"required_absent":["postgresql://svc_1tzhwfh1:P9!IGGnyP\u003cwbr\u003eVTmgCN38EqTF@192.0.2.42:5432/support"],"required_present":[]}},"tags":["broad-quality","secret-family:database-connection","variation:11"],"secret_fixture":{"family":"database-connection","role":"must-detect"}}, + {"id":"broad-secret-database-connection-preserve-11","language":"en","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad database-connection variation.","text":"--\nSchema field label: postgresql://192.0.2.42:5432/support","known_identities":[],"targets":[{"id":"value","kind":"secret","start":23,"end":59,"value":"postgresql://192.0.2.42:5432/support","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-database-connection-preserve-11","recipe":"database-connection","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["postgresql://192.0.2.42:5432/support"]},"customers":{"required_absent":[],"required_present":["postgresql://192.0.2.42:5432/support"]},"all":{"required_absent":[],"required_present":["postgresql://192.0.2.42:5432/support"]}},"tags":["broad-quality","secret-family:database-connection","variation:11"],"secret_fixture":{"family":"database-connection","role":"preserve"}}, + {"id":"broad-secret-database-connection-must-detect-12","language":"en","script":"Latin","shape":"long-thread","risk":"critical","reason":"Locked broad database-connection variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Quoted credential follows: postgresql://svc_n27fj71s:P9!ZVNKGk**K99FLIuWrJlw@192.0.2.42:5432/support","known_identities":[],"targets":[{"id":"value","kind":"secret","start":507,"end":580,"value":"postgresql://svc_n27fj71s:P9!ZVNKGk**K99FLIuWrJlw@192.0.2.42:5432/support","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-database-connection-must-detect-12","recipe":"database-connection","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["postgresql://svc_n27fj71s:P9!ZVNKGk**K99FLIuWrJlw@192.0.2.42:5432/support"]},"customers":{"required_absent":["postgresql://svc_n27fj71s:P9!ZVNKGk**K99FLIuWrJlw@192.0.2.42:5432/support"],"required_present":[]},"all":{"required_absent":["postgresql://svc_n27fj71s:P9!ZVNKGk**K99FLIuWrJlw@192.0.2.42:5432/support"],"required_present":[]}},"tags":["broad-quality","secret-family:database-connection","variation:12"],"secret_fixture":{"family":"database-connection","role":"must-detect"}}, + {"id":"broad-secret-database-connection-preserve-12","language":"en","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad database-connection variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Non-confidential protocol token: postgresql://192.0.2.42:5432/support","known_identities":[],"targets":[{"id":"value","kind":"secret","start":513,"end":549,"value":"postgresql://192.0.2.42:5432/support","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-database-connection-preserve-12","recipe":"database-connection","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["postgresql://192.0.2.42:5432/support"]},"customers":{"required_absent":[],"required_present":["postgresql://192.0.2.42:5432/support"]},"all":{"required_absent":[],"required_present":["postgresql://192.0.2.42:5432/support"]}},"tags":["broad-quality","secret-family:database-connection","variation:12"],"secret_fixture":{"family":"database-connection","role":"preserve"}}, + {"id":"broad-secret-database-connection-must-detect-13","language":"en","script":"Latin","shape":"command-payload","risk":"critical","reason":"Locked broad database-connection variation.","text":"--sample=13 --message=\"Configuration secret: \" --value=postgresql://svc_73of20t1:P9!3F6Wz8fCw5qDXiCX2l@192.0.2.42:5432/support / postgresql://svc_73of20t1:P9!3F6Wz8fCw5qDXiCX2l@192.0.2.42:5432/support","known_identities":[],"targets":[{"id":"value","kind":"secret","start":55,"end":200,"value":"postgresql://svc_73of20t1:P9!3F6Wz8fCw5qDXiCX2l@192.0.2.42:5432/support / postgresql://svc_73of20t1:P9!3F6Wz8fCw5qDXiCX2l@192.0.2.42:5432/support","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-database-connection-must-detect-13","recipe":"database-connection","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["postgresql://svc_73of20t1:P9!3F6Wz8fCw5qDXiCX2l@192.0.2.42:5432/support / postgresql://svc_73of20t1:P9!3F6Wz8fCw5qDXiCX2l@192.0.2.42:5432/support"]},"customers":{"required_absent":["postgresql://svc_73of20t1:P9!3F6Wz8fCw5qDXiCX2l@192.0.2.42:5432/support / postgresql://svc_73of20t1:P9!3F6Wz8fCw5qDXiCX2l@192.0.2.42:5432/support"],"required_present":[]},"all":{"required_absent":["postgresql://svc_73of20t1:P9!3F6Wz8fCw5qDXiCX2l@192.0.2.42:5432/support / postgresql://svc_73of20t1:P9!3F6Wz8fCw5qDXiCX2l@192.0.2.42:5432/support"],"required_present":[]}},"tags":["broad-quality","secret-family:database-connection","variation:13"],"secret_fixture":{"family":"database-connection","role":"must-detect"}}, + {"id":"broad-secret-database-connection-preserve-13","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad database-connection variation.","text":"--sample=13 --message=\"Release metadata: \" --value=postgresql://192.0.2.42:5432/support","known_identities":[],"targets":[{"id":"value","kind":"secret","start":51,"end":87,"value":"postgresql://192.0.2.42:5432/support","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-database-connection-preserve-13","recipe":"database-connection","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["postgresql://192.0.2.42:5432/support"]},"customers":{"required_absent":[],"required_present":["postgresql://192.0.2.42:5432/support"]},"all":{"required_absent":[],"required_present":["postgresql://192.0.2.42:5432/support"]}},"tags":["broad-quality","secret-family:database-connection","variation:13"],"secret_fixture":{"family":"database-connection","role":"preserve"}}, + {"id":"broad-secret-cookie-authorization-must-detect-00","language":"en","script":"Latin","shape":"prose","risk":"critical","reason":"Locked broad cookie-authorization variation.","text":"Credential copied from a support reply: session=GNmDXuliO6cl5ta46ZB9kCHvkM7RE0EVeGtqXDKubrrm4qzn","known_identities":[],"targets":[{"id":"value","kind":"secret","start":40,"end":96,"value":"session=GNmDXuliO6cl5ta46ZB9kCHvkM7RE0EVeGtqXDKubrrm4qzn","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cookie-authorization-must-detect-00","recipe":"cookie-authorization","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["session=GNmDXuliO6cl5ta46ZB9kCHvkM7RE0EVeGtqXDKubrrm4qzn"]},"customers":{"required_absent":["session=GNmDXuliO6cl5ta46ZB9kCHvkM7RE0EVeGtqXDKubrrm4qzn"],"required_present":[]},"all":{"required_absent":["session=GNmDXuliO6cl5ta46ZB9kCHvkM7RE0EVeGtqXDKubrrm4qzn"],"required_present":[]}},"tags":["broad-quality","secret-family:cookie-authorization","variation:00"],"secret_fixture":{"family":"cookie-authorization","role":"must-detect"}}, + {"id":"broad-secret-cookie-authorization-preserve-00","language":"en","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad cookie-authorization variation.","text":"Public configuration vocabulary: SameSite=Strict","known_identities":[],"targets":[{"id":"value","kind":"secret","start":33,"end":48,"value":"SameSite=Strict","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cookie-authorization-preserve-00","recipe":"cookie-authorization","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["SameSite=Strict"]},"customers":{"required_absent":[],"required_present":["SameSite=Strict"]},"all":{"required_absent":[],"required_present":["SameSite=Strict"]}},"tags":["broad-quality","secret-family:cookie-authorization","variation:00"],"secret_fixture":{"family":"cookie-authorization","role":"preserve"}}, + {"id":"broad-secret-cookie-authorization-must-detect-01","language":"en","script":"Latin","shape":"json","risk":"critical","reason":"Locked broad cookie-authorization variation.","text":"{\"message_1\":\"Authorization header value: session=70UpED23zdT3VXDNixtgl1xJicbLge9hCZp3s7CEpjAMz6fm\"}","known_identities":[],"targets":[{"id":"value","kind":"secret","start":42,"end":98,"value":"session=70UpED23zdT3VXDNixtgl1xJicbLge9hCZp3s7CEpjAMz6fm","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cookie-authorization-must-detect-01","recipe":"cookie-authorization","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["session=70UpED23zdT3VXDNixtgl1xJicbLge9hCZp3s7CEpjAMz6fm"]},"customers":{"required_absent":["session=70UpED23zdT3VXDNixtgl1xJicbLge9hCZp3s7CEpjAMz6fm"],"required_present":[]},"all":{"required_absent":["session=70UpED23zdT3VXDNixtgl1xJicbLge9hCZp3s7CEpjAMz6fm"],"required_present":[]}},"tags":["broad-quality","secret-family:cookie-authorization","variation:01"],"secret_fixture":{"family":"cookie-authorization","role":"must-detect"}}, + {"id":"broad-secret-cookie-authorization-preserve-01","language":"en","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad cookie-authorization variation.","text":"{\"message_1\":\"Documentation syntax: SameSite=Strict\"}","known_identities":[],"targets":[{"id":"value","kind":"secret","start":36,"end":51,"value":"SameSite=Strict","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cookie-authorization-preserve-01","recipe":"cookie-authorization","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["SameSite=Strict"]},"customers":{"required_absent":[],"required_present":["SameSite=Strict"]},"all":{"required_absent":[],"required_present":["SameSite=Strict"]}},"tags":["broad-quality","secret-family:cookie-authorization","variation:01"],"secret_fixture":{"family":"cookie-authorization","role":"preserve"}}, + {"id":"broad-secret-cookie-authorization-must-detect-02","language":"en","script":"Latin","shape":"yaml","risk":"critical","reason":"Locked broad cookie-authorization variation.","text":"message_2: Log field auth_value=session=goDeF6dOx8-vJJfioklnDVv86i_Y9hSK4kdO4VXytbmFRZS9","known_identities":[],"targets":[{"id":"value","kind":"secret","start":32,"end":88,"value":"session=goDeF6dOx8-vJJfioklnDVv86i_Y9hSK4kdO4VXytbmFRZS9","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cookie-authorization-must-detect-02","recipe":"cookie-authorization","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["session=goDeF6dOx8-vJJfioklnDVv86i_Y9hSK4kdO4VXytbmFRZS9"]},"customers":{"required_absent":["session=goDeF6dOx8-vJJfioklnDVv86i_Y9hSK4kdO4VXytbmFRZS9"],"required_present":[]},"all":{"required_absent":["session=goDeF6dOx8-vJJfioklnDVv86i_Y9hSK4kdO4VXytbmFRZS9"],"required_present":[]}},"tags":["broad-quality","secret-family:cookie-authorization","variation:02"],"secret_fixture":{"family":"cookie-authorization","role":"must-detect"}}, + {"id":"broad-secret-cookie-authorization-preserve-02","language":"en","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad cookie-authorization variation.","text":"message_2: Public operational identifier: SameSite=Strict","known_identities":[],"targets":[{"id":"value","kind":"secret","start":42,"end":57,"value":"SameSite=Strict","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cookie-authorization-preserve-02","recipe":"cookie-authorization","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["SameSite=Strict"]},"customers":{"required_absent":[],"required_present":["SameSite=Strict"]},"all":{"required_absent":[],"required_present":["SameSite=Strict"]}},"tags":["broad-quality","secret-family:cookie-authorization","variation:02"],"secret_fixture":{"family":"cookie-authorization","role":"preserve"}}, + {"id":"broad-secret-cookie-authorization-must-detect-03","language":"en","script":"Latin","shape":"shell","risk":"critical","reason":"Locked broad cookie-authorization variation.","text":"MESSAGE_3='Rotating this exposed value: session=9ddY4Wx0mKq0Xj0mWAsD4Yj703mjdelQWDebpfe8ljHSzmgz'","known_identities":[],"targets":[{"id":"value","kind":"secret","start":40,"end":96,"value":"session=9ddY4Wx0mKq0Xj0mWAsD4Yj703mjdelQWDebpfe8ljHSzmgz","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cookie-authorization-must-detect-03","recipe":"cookie-authorization","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["session=9ddY4Wx0mKq0Xj0mWAsD4Yj703mjdelQWDebpfe8ljHSzmgz"]},"customers":{"required_absent":["session=9ddY4Wx0mKq0Xj0mWAsD4Yj703mjdelQWDebpfe8ljHSzmgz"],"required_present":[]},"all":{"required_absent":["session=9ddY4Wx0mKq0Xj0mWAsD4Yj703mjdelQWDebpfe8ljHSzmgz"],"required_present":[]}},"tags":["broad-quality","secret-family:cookie-authorization","variation:03"],"secret_fixture":{"family":"cookie-authorization","role":"must-detect"}}, + {"id":"broad-secret-cookie-authorization-preserve-03","language":"en","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad cookie-authorization variation.","text":"MESSAGE_3='Schema field label: SameSite=Strict'","known_identities":[],"targets":[{"id":"value","kind":"secret","start":31,"end":46,"value":"SameSite=Strict","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cookie-authorization-preserve-03","recipe":"cookie-authorization","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["SameSite=Strict"]},"customers":{"required_absent":[],"required_present":["SameSite=Strict"]},"all":{"required_absent":[],"required_present":["SameSite=Strict"]}},"tags":["broad-quality","secret-family:cookie-authorization","variation:03"],"secret_fixture":{"family":"cookie-authorization","role":"preserve"}}, + {"id":"broad-secret-cookie-authorization-must-detect-04","language":"en","script":"Latin","shape":"url","risk":"critical","reason":"Locked broad cookie-authorization variation.","text":"endpoint=https://192.0.2.10/4 ; Quoted credential follows: session=C6jWJ0od1IluQDIkCqbEVg00m1NAaYKs4TQ-X7-BdoNsx3-h","known_identities":[],"targets":[{"id":"value","kind":"secret","start":59,"end":115,"value":"session=C6jWJ0od1IluQDIkCqbEVg00m1NAaYKs4TQ-X7-BdoNsx3-h","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cookie-authorization-must-detect-04","recipe":"cookie-authorization","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["session=C6jWJ0od1IluQDIkCqbEVg00m1NAaYKs4TQ-X7-BdoNsx3-h"]},"customers":{"required_absent":["session=C6jWJ0od1IluQDIkCqbEVg00m1NAaYKs4TQ-X7-BdoNsx3-h"],"required_present":[]},"all":{"required_absent":["session=C6jWJ0od1IluQDIkCqbEVg00m1NAaYKs4TQ-X7-BdoNsx3-h"],"required_present":[]}},"tags":["broad-quality","secret-family:cookie-authorization","variation:04"],"secret_fixture":{"family":"cookie-authorization","role":"must-detect"}}, + {"id":"broad-secret-cookie-authorization-preserve-04","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad cookie-authorization variation.","text":"endpoint=https://192.0.2.10/4 ; Non-confidential protocol token: SameSite=Strict","known_identities":[],"targets":[{"id":"value","kind":"secret","start":65,"end":80,"value":"SameSite=Strict","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cookie-authorization-preserve-04","recipe":"cookie-authorization","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["SameSite=Strict"]},"customers":{"required_absent":[],"required_present":["SameSite=Strict"]},"all":{"required_absent":[],"required_present":["SameSite=Strict"]}},"tags":["broad-quality","secret-family:cookie-authorization","variation:04"],"secret_fixture":{"family":"cookie-authorization","role":"preserve"}}, + {"id":"broad-secret-cookie-authorization-must-detect-05","language":"en","script":"Latin","shape":"markdown","risk":"critical","reason":"Locked broad cookie-authorization variation.","text":"**Configuration secret: session=9obLxmOxyIYf1bf4KLQuT7TuV53B-1mzYZBsW3e1cly7h9nR**","known_identities":[],"targets":[{"id":"value","kind":"secret","start":24,"end":80,"value":"session=9obLxmOxyIYf1bf4KLQuT7TuV53B-1mzYZBsW3e1cly7h9nR","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cookie-authorization-must-detect-05","recipe":"cookie-authorization","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["session=9obLxmOxyIYf1bf4KLQuT7TuV53B-1mzYZBsW3e1cly7h9nR"]},"customers":{"required_absent":["session=9obLxmOxyIYf1bf4KLQuT7TuV53B-1mzYZBsW3e1cly7h9nR"],"required_present":[]},"all":{"required_absent":["session=9obLxmOxyIYf1bf4KLQuT7TuV53B-1mzYZBsW3e1cly7h9nR"],"required_present":[]}},"tags":["broad-quality","secret-family:cookie-authorization","variation:05"],"secret_fixture":{"family":"cookie-authorization","role":"must-detect"}}, + {"id":"broad-secret-cookie-authorization-preserve-05","language":"en","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad cookie-authorization variation.","text":"**Release metadata: SameSite=Strict**","known_identities":[],"targets":[{"id":"value","kind":"secret","start":20,"end":35,"value":"SameSite=Strict","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cookie-authorization-preserve-05","recipe":"cookie-authorization","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["SameSite=Strict"]},"customers":{"required_absent":[],"required_present":["SameSite=Strict"]},"all":{"required_absent":[],"required_present":["SameSite=Strict"]}},"tags":["broad-quality","secret-family:cookie-authorization","variation:05"],"secret_fixture":{"family":"cookie-authorization","role":"preserve"}}, + {"id":"broad-secret-cookie-authorization-must-detect-06","language":"en","script":"Latin","shape":"html","risk":"critical","reason":"Locked broad cookie-authorization variation.","text":"\u003cp\u003eStack trace captured credential session=zRSJLb9-6st0DHMo8mx7jG-ESAr-V68KaDjZNP94kgA9pNLS\u003c/p\u003e","known_identities":[],"targets":[{"id":"value","kind":"secret","start":35,"end":91,"value":"session=zRSJLb9-6st0DHMo8mx7jG-ESAr-V68KaDjZNP94kgA9pNLS","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cookie-authorization-must-detect-06","recipe":"cookie-authorization","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["session=zRSJLb9-6st0DHMo8mx7jG-ESAr-V68KaDjZNP94kgA9pNLS"]},"customers":{"required_absent":["session=zRSJLb9-6st0DHMo8mx7jG-ESAr-V68KaDjZNP94kgA9pNLS"],"required_present":[]},"all":{"required_absent":["session=zRSJLb9-6st0DHMo8mx7jG-ESAr-V68KaDjZNP94kgA9pNLS"],"required_present":[]}},"tags":["broad-quality","secret-family:cookie-authorization","variation:06"],"secret_fixture":{"family":"cookie-authorization","role":"must-detect"}}, + {"id":"broad-secret-cookie-authorization-preserve-06","language":"en","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad cookie-authorization variation.","text":"\u003cp\u003ePublic verification material: SameSite=Strict\u003c/p\u003e","known_identities":[],"targets":[{"id":"value","kind":"secret","start":33,"end":48,"value":"SameSite=Strict","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cookie-authorization-preserve-06","recipe":"cookie-authorization","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["SameSite=Strict"]},"customers":{"required_absent":[],"required_present":["SameSite=Strict"]},"all":{"required_absent":[],"required_present":["SameSite=Strict"]}},"tags":["broad-quality","secret-family:cookie-authorization","variation:06"],"secret_fixture":{"family":"cookie-authorization","role":"preserve"}}, + {"id":"broad-secret-cookie-authorization-must-detect-07","language":"en","script":"Latin","shape":"quoted-reply","risk":"critical","reason":"Locked broad cookie-authorization variation.","text":"\u003e Wrapped message credential: session=UVhFMpdujWgDiFhwFBNU4L7_qwtSS5uwlkoLkL75R56a4ZQa","known_identities":[],"targets":[{"id":"value","kind":"secret","start":30,"end":86,"value":"session=UVhFMpdujWgDiFhwFBNU4L7_qwtSS5uwlkoLkL75R56a4ZQa","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cookie-authorization-must-detect-07","recipe":"cookie-authorization","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["session=UVhFMpdujWgDiFhwFBNU4L7_qwtSS5uwlkoLkL75R56a4ZQa"]},"customers":{"required_absent":["session=UVhFMpdujWgDiFhwFBNU4L7_qwtSS5uwlkoLkL75R56a4ZQa"],"required_present":[]},"all":{"required_absent":["session=UVhFMpdujWgDiFhwFBNU4L7_qwtSS5uwlkoLkL75R56a4ZQa"],"required_present":[]}},"tags":["broad-quality","secret-family:cookie-authorization","variation:07"],"secret_fixture":{"family":"cookie-authorization","role":"must-detect"}}, + {"id":"broad-secret-cookie-authorization-preserve-07","language":"en","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad cookie-authorization variation.","text":"\u003e Troubleshooting reference: SameSite=Strict","known_identities":[],"targets":[{"id":"value","kind":"secret","start":29,"end":44,"value":"SameSite=Strict","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cookie-authorization-preserve-07","recipe":"cookie-authorization","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["SameSite=Strict"]},"customers":{"required_absent":[],"required_present":["SameSite=Strict"]},"all":{"required_absent":[],"required_present":["SameSite=Strict"]}},"tags":["broad-quality","secret-family:cookie-authorization","variation:07"],"secret_fixture":{"family":"cookie-authorization","role":"preserve"}}, + {"id":"broad-secret-cookie-authorization-must-detect-08","language":"en","script":"Latin","shape":"log","risk":"critical","reason":"Locked broad cookie-authorization variation.","text":"level=warn sample=8 message=\"Credential copied from a support reply: \" value=session=QsIIJoBCnO-hqhN_xfc0\niktFLj5z73lsdbJGHN7avYloirbu","known_identities":[],"targets":[{"id":"value","kind":"secret","start":77,"end":134,"value":"session=QsIIJoBCnO-hqhN_xfc0\niktFLj5z73lsdbJGHN7avYloirbu","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cookie-authorization-must-detect-08","recipe":"cookie-authorization","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["session=QsIIJoBCnO-hqhN_xfc0\niktFLj5z73lsdbJGHN7avYloirbu"]},"customers":{"required_absent":["session=QsIIJoBCnO-hqhN_xfc0\niktFLj5z73lsdbJGHN7avYloirbu"],"required_present":[]},"all":{"required_absent":["session=QsIIJoBCnO-hqhN_xfc0\niktFLj5z73lsdbJGHN7avYloirbu"],"required_present":[]}},"tags":["broad-quality","secret-family:cookie-authorization","variation:08"],"secret_fixture":{"family":"cookie-authorization","role":"must-detect"}}, + {"id":"broad-secret-cookie-authorization-preserve-08","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad cookie-authorization variation.","text":"level=warn sample=8 message=\"Public configuration vocabulary: \" value=SameSite=Strict","known_identities":[],"targets":[{"id":"value","kind":"secret","start":70,"end":85,"value":"SameSite=Strict","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cookie-authorization-preserve-08","recipe":"cookie-authorization","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["SameSite=Strict"]},"customers":{"required_absent":[],"required_present":["SameSite=Strict"]},"all":{"required_absent":[],"required_present":["SameSite=Strict"]}},"tags":["broad-quality","secret-family:cookie-authorization","variation:08"],"secret_fixture":{"family":"cookie-authorization","role":"preserve"}}, + {"id":"broad-secret-cookie-authorization-must-detect-09","language":"en","script":"Latin","shape":"stack-trace","risk":"critical","reason":"Locked broad cookie-authorization variation.","text":"Trace[9]: Authorization header value: session=flOxCRvYh8Np_W6mdyyX 5_V-waTIngBYt-JZvDU5V0pO83gM","known_identities":[],"targets":[{"id":"value","kind":"secret","start":38,"end":95,"value":"session=flOxCRvYh8Np_W6mdyyX 5_V-waTIngBYt-JZvDU5V0pO83gM","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cookie-authorization-must-detect-09","recipe":"cookie-authorization","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["session=flOxCRvYh8Np_W6mdyyX 5_V-waTIngBYt-JZvDU5V0pO83gM"]},"customers":{"required_absent":["session=flOxCRvYh8Np_W6mdyyX 5_V-waTIngBYt-JZvDU5V0pO83gM"],"required_present":[]},"all":{"required_absent":["session=flOxCRvYh8Np_W6mdyyX 5_V-waTIngBYt-JZvDU5V0pO83gM"],"required_present":[]}},"tags":["broad-quality","secret-family:cookie-authorization","variation:09"],"secret_fixture":{"family":"cookie-authorization","role":"must-detect"}}, + {"id":"broad-secret-cookie-authorization-preserve-09","language":"en","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad cookie-authorization variation.","text":"Trace[9]: Documentation syntax: SameSite=Strict","known_identities":[],"targets":[{"id":"value","kind":"secret","start":32,"end":47,"value":"SameSite=Strict","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cookie-authorization-preserve-09","recipe":"cookie-authorization","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["SameSite=Strict"]},"customers":{"required_absent":[],"required_present":["SameSite=Strict"]},"all":{"required_absent":[],"required_present":["SameSite=Strict"]}},"tags":["broad-quality","secret-family:cookie-authorization","variation:09"],"secret_fixture":{"family":"cookie-authorization","role":"preserve"}}, + {"id":"broad-secret-cookie-authorization-must-detect-10","language":"en","script":"Latin","shape":"code","risk":"critical","reason":"Locked broad cookie-authorization variation.","text":"fixture_10 := `Log field auth_value=session=e-OL96D7t8-fQHRfN57I·GTccx9Z_UVXadEf8BEyjvoGyMXUh`","known_identities":[],"targets":[{"id":"value","kind":"secret","start":36,"end":94,"value":"session=e-OL96D7t8-fQHRfN57I·GTccx9Z_UVXadEf8BEyjvoGyMXUh","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cookie-authorization-must-detect-10","recipe":"cookie-authorization","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["session=e-OL96D7t8-fQHRfN57I·GTccx9Z_UVXadEf8BEyjvoGyMXUh"]},"customers":{"required_absent":["session=e-OL96D7t8-fQHRfN57I·GTccx9Z_UVXadEf8BEyjvoGyMXUh"],"required_present":[]},"all":{"required_absent":["session=e-OL96D7t8-fQHRfN57I·GTccx9Z_UVXadEf8BEyjvoGyMXUh"],"required_present":[]}},"tags":["broad-quality","secret-family:cookie-authorization","variation:10"],"secret_fixture":{"family":"cookie-authorization","role":"must-detect"}}, + {"id":"broad-secret-cookie-authorization-preserve-10","language":"en","script":"Latin","shape":"code","risk":"preservation","reason":"Locked broad cookie-authorization variation.","text":"fixture_10 := `Public operational identifier: SameSite=Strict`","known_identities":[],"targets":[{"id":"value","kind":"secret","start":46,"end":61,"value":"SameSite=Strict","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cookie-authorization-preserve-10","recipe":"cookie-authorization","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["SameSite=Strict"]},"customers":{"required_absent":[],"required_present":["SameSite=Strict"]},"all":{"required_absent":[],"required_present":["SameSite=Strict"]}},"tags":["broad-quality","secret-family:cookie-authorization","variation:10"],"secret_fixture":{"family":"cookie-authorization","role":"preserve"}}, + {"id":"broad-secret-cookie-authorization-must-detect-11","language":"en","script":"Latin","shape":"signature","risk":"critical","reason":"Locked broad cookie-authorization variation.","text":"--\nRotating this exposed value: session=2bwgGFRPJVrujKIC3Wn1\u003cwbr\u003eUZYAXBaZbsKIZGDDJT9VwAYNfv1-","known_identities":[],"targets":[{"id":"value","kind":"secret","start":32,"end":93,"value":"session=2bwgGFRPJVrujKIC3Wn1\u003cwbr\u003eUZYAXBaZbsKIZGDDJT9VwAYNfv1-","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cookie-authorization-must-detect-11","recipe":"cookie-authorization","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["session=2bwgGFRPJVrujKIC3Wn1\u003cwbr\u003eUZYAXBaZbsKIZGDDJT9VwAYNfv1-"]},"customers":{"required_absent":["session=2bwgGFRPJVrujKIC3Wn1\u003cwbr\u003eUZYAXBaZbsKIZGDDJT9VwAYNfv1-"],"required_present":[]},"all":{"required_absent":["session=2bwgGFRPJVrujKIC3Wn1\u003cwbr\u003eUZYAXBaZbsKIZGDDJT9VwAYNfv1-"],"required_present":[]}},"tags":["broad-quality","secret-family:cookie-authorization","variation:11"],"secret_fixture":{"family":"cookie-authorization","role":"must-detect"}}, + {"id":"broad-secret-cookie-authorization-preserve-11","language":"en","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad cookie-authorization variation.","text":"--\nSchema field label: SameSite=Strict","known_identities":[],"targets":[{"id":"value","kind":"secret","start":23,"end":38,"value":"SameSite=Strict","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cookie-authorization-preserve-11","recipe":"cookie-authorization","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["SameSite=Strict"]},"customers":{"required_absent":[],"required_present":["SameSite=Strict"]},"all":{"required_absent":[],"required_present":["SameSite=Strict"]}},"tags":["broad-quality","secret-family:cookie-authorization","variation:11"],"secret_fixture":{"family":"cookie-authorization","role":"preserve"}}, + {"id":"broad-secret-cookie-authorization-must-detect-12","language":"en","script":"Latin","shape":"long-thread","risk":"critical","reason":"Locked broad cookie-authorization variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Quoted credential follows: session=jIZXrFqut6n9g3WZtaYw**TVflPCUi5RZuekWWAN25rzsctC18","known_identities":[],"targets":[{"id":"value","kind":"secret","start":507,"end":565,"value":"session=jIZXrFqut6n9g3WZtaYw**TVflPCUi5RZuekWWAN25rzsctC18","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cookie-authorization-must-detect-12","recipe":"cookie-authorization","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["session=jIZXrFqut6n9g3WZtaYw**TVflPCUi5RZuekWWAN25rzsctC18"]},"customers":{"required_absent":["session=jIZXrFqut6n9g3WZtaYw**TVflPCUi5RZuekWWAN25rzsctC18"],"required_present":[]},"all":{"required_absent":["session=jIZXrFqut6n9g3WZtaYw**TVflPCUi5RZuekWWAN25rzsctC18"],"required_present":[]}},"tags":["broad-quality","secret-family:cookie-authorization","variation:12"],"secret_fixture":{"family":"cookie-authorization","role":"must-detect"}}, + {"id":"broad-secret-cookie-authorization-preserve-12","language":"en","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad cookie-authorization variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Non-confidential protocol token: SameSite=Strict","known_identities":[],"targets":[{"id":"value","kind":"secret","start":513,"end":528,"value":"SameSite=Strict","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cookie-authorization-preserve-12","recipe":"cookie-authorization","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["SameSite=Strict"]},"customers":{"required_absent":[],"required_present":["SameSite=Strict"]},"all":{"required_absent":[],"required_present":["SameSite=Strict"]}},"tags":["broad-quality","secret-family:cookie-authorization","variation:12"],"secret_fixture":{"family":"cookie-authorization","role":"preserve"}}, + {"id":"broad-secret-cookie-authorization-must-detect-13","language":"en","script":"Latin","shape":"command-payload","risk":"critical","reason":"Locked broad cookie-authorization variation.","text":"--sample=13 --message=\"Configuration secret: \" --value=session=v5rHscDVPwIrW3A-rWKoer3UxgM5kD_s-UfYHSEO9x3OUInQ / session=v5rHscDVPwIrW3A-rWKoer3UxgM5kD_s-UfYHSEO9x3OUInQ","known_identities":[],"targets":[{"id":"value","kind":"secret","start":55,"end":170,"value":"session=v5rHscDVPwIrW3A-rWKoer3UxgM5kD_s-UfYHSEO9x3OUInQ / session=v5rHscDVPwIrW3A-rWKoer3UxgM5kD_s-UfYHSEO9x3OUInQ","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cookie-authorization-must-detect-13","recipe":"cookie-authorization","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["session=v5rHscDVPwIrW3A-rWKoer3UxgM5kD_s-UfYHSEO9x3OUInQ / session=v5rHscDVPwIrW3A-rWKoer3UxgM5kD_s-UfYHSEO9x3OUInQ"]},"customers":{"required_absent":["session=v5rHscDVPwIrW3A-rWKoer3UxgM5kD_s-UfYHSEO9x3OUInQ / session=v5rHscDVPwIrW3A-rWKoer3UxgM5kD_s-UfYHSEO9x3OUInQ"],"required_present":[]},"all":{"required_absent":["session=v5rHscDVPwIrW3A-rWKoer3UxgM5kD_s-UfYHSEO9x3OUInQ / session=v5rHscDVPwIrW3A-rWKoer3UxgM5kD_s-UfYHSEO9x3OUInQ"],"required_present":[]}},"tags":["broad-quality","secret-family:cookie-authorization","variation:13"],"secret_fixture":{"family":"cookie-authorization","role":"must-detect"}}, + {"id":"broad-secret-cookie-authorization-preserve-13","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad cookie-authorization variation.","text":"--sample=13 --message=\"Release metadata: \" --value=SameSite=Strict","known_identities":[],"targets":[{"id":"value","kind":"secret","start":51,"end":66,"value":"SameSite=Strict","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cookie-authorization-preserve-13","recipe":"cookie-authorization","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["SameSite=Strict"]},"customers":{"required_absent":[],"required_present":["SameSite=Strict"]},"all":{"required_absent":[],"required_present":["SameSite=Strict"]}},"tags":["broad-quality","secret-family:cookie-authorization","variation:13"],"secret_fixture":{"family":"cookie-authorization","role":"preserve"}}, + {"id":"broad-secret-webhook-secret-must-detect-00","language":"en","script":"Latin","shape":"prose","risk":"critical","reason":"Locked broad webhook-secret variation.","text":"Credential copied from a support reply: whsig_H4jzdX2fBTIpXH8KPStEzHPdLlRqD5BgrERxxoND","known_identities":[],"targets":[{"id":"value","kind":"secret","start":40,"end":86,"value":"whsig_H4jzdX2fBTIpXH8KPStEzHPdLlRqD5BgrERxxoND","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-webhook-secret-must-detect-00","recipe":"webhook-secret","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["whsig_H4jzdX2fBTIpXH8KPStEzHPdLlRqD5BgrERxxoND"]},"customers":{"required_absent":["whsig_H4jzdX2fBTIpXH8KPStEzHPdLlRqD5BgrERxxoND"],"required_present":[]},"all":{"required_absent":["whsig_H4jzdX2fBTIpXH8KPStEzHPdLlRqD5BgrERxxoND"],"required_present":[]}},"tags":["broad-quality","secret-family:webhook-secret","variation:00"],"secret_fixture":{"family":"webhook-secret","role":"must-detect"}}, + {"id":"broad-secret-webhook-secret-preserve-00","language":"en","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad webhook-secret variation.","text":"Public configuration vocabulary: event.delivery.created","known_identities":[],"targets":[{"id":"value","kind":"secret","start":33,"end":55,"value":"event.delivery.created","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-webhook-secret-preserve-00","recipe":"webhook-secret","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["event.delivery.created"]},"customers":{"required_absent":[],"required_present":["event.delivery.created"]},"all":{"required_absent":[],"required_present":["event.delivery.created"]}},"tags":["broad-quality","secret-family:webhook-secret","variation:00"],"secret_fixture":{"family":"webhook-secret","role":"preserve"}}, + {"id":"broad-secret-webhook-secret-must-detect-01","language":"en","script":"Latin","shape":"json","risk":"critical","reason":"Locked broad webhook-secret variation.","text":"{\"message_1\":\"Authorization header value: whsig_AFp8z85OuNNozz6cAn910KNDE2C7Ws0y10QHjDt6\"}","known_identities":[],"targets":[{"id":"value","kind":"secret","start":42,"end":88,"value":"whsig_AFp8z85OuNNozz6cAn910KNDE2C7Ws0y10QHjDt6","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-webhook-secret-must-detect-01","recipe":"webhook-secret","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["whsig_AFp8z85OuNNozz6cAn910KNDE2C7Ws0y10QHjDt6"]},"customers":{"required_absent":["whsig_AFp8z85OuNNozz6cAn910KNDE2C7Ws0y10QHjDt6"],"required_present":[]},"all":{"required_absent":["whsig_AFp8z85OuNNozz6cAn910KNDE2C7Ws0y10QHjDt6"],"required_present":[]}},"tags":["broad-quality","secret-family:webhook-secret","variation:01"],"secret_fixture":{"family":"webhook-secret","role":"must-detect"}}, + {"id":"broad-secret-webhook-secret-preserve-01","language":"en","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad webhook-secret variation.","text":"{\"message_1\":\"Documentation syntax: event.delivery.created\"}","known_identities":[],"targets":[{"id":"value","kind":"secret","start":36,"end":58,"value":"event.delivery.created","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-webhook-secret-preserve-01","recipe":"webhook-secret","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["event.delivery.created"]},"customers":{"required_absent":[],"required_present":["event.delivery.created"]},"all":{"required_absent":[],"required_present":["event.delivery.created"]}},"tags":["broad-quality","secret-family:webhook-secret","variation:01"],"secret_fixture":{"family":"webhook-secret","role":"preserve"}}, + {"id":"broad-secret-webhook-secret-must-detect-02","language":"en","script":"Latin","shape":"yaml","risk":"critical","reason":"Locked broad webhook-secret variation.","text":"message_2: Log field auth_value=whsig_f4RxeBMWDT5m8xNffxBwSgKj5dvsq8kCGE4iR70b","known_identities":[],"targets":[{"id":"value","kind":"secret","start":32,"end":78,"value":"whsig_f4RxeBMWDT5m8xNffxBwSgKj5dvsq8kCGE4iR70b","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-webhook-secret-must-detect-02","recipe":"webhook-secret","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["whsig_f4RxeBMWDT5m8xNffxBwSgKj5dvsq8kCGE4iR70b"]},"customers":{"required_absent":["whsig_f4RxeBMWDT5m8xNffxBwSgKj5dvsq8kCGE4iR70b"],"required_present":[]},"all":{"required_absent":["whsig_f4RxeBMWDT5m8xNffxBwSgKj5dvsq8kCGE4iR70b"],"required_present":[]}},"tags":["broad-quality","secret-family:webhook-secret","variation:02"],"secret_fixture":{"family":"webhook-secret","role":"must-detect"}}, + {"id":"broad-secret-webhook-secret-preserve-02","language":"en","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad webhook-secret variation.","text":"message_2: Public operational identifier: event.delivery.created","known_identities":[],"targets":[{"id":"value","kind":"secret","start":42,"end":64,"value":"event.delivery.created","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-webhook-secret-preserve-02","recipe":"webhook-secret","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["event.delivery.created"]},"customers":{"required_absent":[],"required_present":["event.delivery.created"]},"all":{"required_absent":[],"required_present":["event.delivery.created"]}},"tags":["broad-quality","secret-family:webhook-secret","variation:02"],"secret_fixture":{"family":"webhook-secret","role":"preserve"}}, + {"id":"broad-secret-webhook-secret-must-detect-03","language":"en","script":"Latin","shape":"shell","risk":"critical","reason":"Locked broad webhook-secret variation.","text":"MESSAGE_3='Rotating this exposed value: whsig_xYAQmcN5NgiAnWUzpQsnILPEY7kAzinTRIio8zgF'","known_identities":[],"targets":[{"id":"value","kind":"secret","start":40,"end":86,"value":"whsig_xYAQmcN5NgiAnWUzpQsnILPEY7kAzinTRIio8zgF","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-webhook-secret-must-detect-03","recipe":"webhook-secret","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["whsig_xYAQmcN5NgiAnWUzpQsnILPEY7kAzinTRIio8zgF"]},"customers":{"required_absent":["whsig_xYAQmcN5NgiAnWUzpQsnILPEY7kAzinTRIio8zgF"],"required_present":[]},"all":{"required_absent":["whsig_xYAQmcN5NgiAnWUzpQsnILPEY7kAzinTRIio8zgF"],"required_present":[]}},"tags":["broad-quality","secret-family:webhook-secret","variation:03"],"secret_fixture":{"family":"webhook-secret","role":"must-detect"}}, + {"id":"broad-secret-webhook-secret-preserve-03","language":"en","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad webhook-secret variation.","text":"MESSAGE_3='Schema field label: event.delivery.created'","known_identities":[],"targets":[{"id":"value","kind":"secret","start":31,"end":53,"value":"event.delivery.created","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-webhook-secret-preserve-03","recipe":"webhook-secret","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["event.delivery.created"]},"customers":{"required_absent":[],"required_present":["event.delivery.created"]},"all":{"required_absent":[],"required_present":["event.delivery.created"]}},"tags":["broad-quality","secret-family:webhook-secret","variation:03"],"secret_fixture":{"family":"webhook-secret","role":"preserve"}}, + {"id":"broad-secret-webhook-secret-must-detect-04","language":"en","script":"Latin","shape":"url","risk":"critical","reason":"Locked broad webhook-secret variation.","text":"endpoint=https://192.0.2.10/4 ; Quoted credential follows: whsig_Sa6uR9dBlhJ3JTrLob8yf2RLrGVeZcJzoYBG35dM","known_identities":[],"targets":[{"id":"value","kind":"secret","start":59,"end":105,"value":"whsig_Sa6uR9dBlhJ3JTrLob8yf2RLrGVeZcJzoYBG35dM","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-webhook-secret-must-detect-04","recipe":"webhook-secret","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["whsig_Sa6uR9dBlhJ3JTrLob8yf2RLrGVeZcJzoYBG35dM"]},"customers":{"required_absent":["whsig_Sa6uR9dBlhJ3JTrLob8yf2RLrGVeZcJzoYBG35dM"],"required_present":[]},"all":{"required_absent":["whsig_Sa6uR9dBlhJ3JTrLob8yf2RLrGVeZcJzoYBG35dM"],"required_present":[]}},"tags":["broad-quality","secret-family:webhook-secret","variation:04"],"secret_fixture":{"family":"webhook-secret","role":"must-detect"}}, + {"id":"broad-secret-webhook-secret-preserve-04","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad webhook-secret variation.","text":"endpoint=https://192.0.2.10/4 ; Non-confidential protocol token: event.delivery.created","known_identities":[],"targets":[{"id":"value","kind":"secret","start":65,"end":87,"value":"event.delivery.created","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-webhook-secret-preserve-04","recipe":"webhook-secret","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["event.delivery.created"]},"customers":{"required_absent":[],"required_present":["event.delivery.created"]},"all":{"required_absent":[],"required_present":["event.delivery.created"]}},"tags":["broad-quality","secret-family:webhook-secret","variation:04"],"secret_fixture":{"family":"webhook-secret","role":"preserve"}}, + {"id":"broad-secret-webhook-secret-must-detect-05","language":"en","script":"Latin","shape":"markdown","risk":"critical","reason":"Locked broad webhook-secret variation.","text":"**Configuration secret: whsig_kq7MQmfWEWcZjk16EyQLkt2Oymr3MtvLOj5ewbOD**","known_identities":[],"targets":[{"id":"value","kind":"secret","start":24,"end":70,"value":"whsig_kq7MQmfWEWcZjk16EyQLkt2Oymr3MtvLOj5ewbOD","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-webhook-secret-must-detect-05","recipe":"webhook-secret","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["whsig_kq7MQmfWEWcZjk16EyQLkt2Oymr3MtvLOj5ewbOD"]},"customers":{"required_absent":["whsig_kq7MQmfWEWcZjk16EyQLkt2Oymr3MtvLOj5ewbOD"],"required_present":[]},"all":{"required_absent":["whsig_kq7MQmfWEWcZjk16EyQLkt2Oymr3MtvLOj5ewbOD"],"required_present":[]}},"tags":["broad-quality","secret-family:webhook-secret","variation:05"],"secret_fixture":{"family":"webhook-secret","role":"must-detect"}}, + {"id":"broad-secret-webhook-secret-preserve-05","language":"en","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad webhook-secret variation.","text":"**Release metadata: event.delivery.created**","known_identities":[],"targets":[{"id":"value","kind":"secret","start":20,"end":42,"value":"event.delivery.created","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-webhook-secret-preserve-05","recipe":"webhook-secret","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["event.delivery.created"]},"customers":{"required_absent":[],"required_present":["event.delivery.created"]},"all":{"required_absent":[],"required_present":["event.delivery.created"]}},"tags":["broad-quality","secret-family:webhook-secret","variation:05"],"secret_fixture":{"family":"webhook-secret","role":"preserve"}}, + {"id":"broad-secret-webhook-secret-must-detect-06","language":"en","script":"Latin","shape":"html","risk":"critical","reason":"Locked broad webhook-secret variation.","text":"\u003cp\u003eStack trace captured credential whsig_zw6qWp8I71rO5rzMi33XPYldo3dEjCmZREcQVRkn\u003c/p\u003e","known_identities":[],"targets":[{"id":"value","kind":"secret","start":35,"end":81,"value":"whsig_zw6qWp8I71rO5rzMi33XPYldo3dEjCmZREcQVRkn","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-webhook-secret-must-detect-06","recipe":"webhook-secret","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["whsig_zw6qWp8I71rO5rzMi33XPYldo3dEjCmZREcQVRkn"]},"customers":{"required_absent":["whsig_zw6qWp8I71rO5rzMi33XPYldo3dEjCmZREcQVRkn"],"required_present":[]},"all":{"required_absent":["whsig_zw6qWp8I71rO5rzMi33XPYldo3dEjCmZREcQVRkn"],"required_present":[]}},"tags":["broad-quality","secret-family:webhook-secret","variation:06"],"secret_fixture":{"family":"webhook-secret","role":"must-detect"}}, + {"id":"broad-secret-webhook-secret-preserve-06","language":"en","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad webhook-secret variation.","text":"\u003cp\u003ePublic verification material: event.delivery.created\u003c/p\u003e","known_identities":[],"targets":[{"id":"value","kind":"secret","start":33,"end":55,"value":"event.delivery.created","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-webhook-secret-preserve-06","recipe":"webhook-secret","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["event.delivery.created"]},"customers":{"required_absent":[],"required_present":["event.delivery.created"]},"all":{"required_absent":[],"required_present":["event.delivery.created"]}},"tags":["broad-quality","secret-family:webhook-secret","variation:06"],"secret_fixture":{"family":"webhook-secret","role":"preserve"}}, + {"id":"broad-secret-webhook-secret-must-detect-07","language":"en","script":"Latin","shape":"quoted-reply","risk":"critical","reason":"Locked broad webhook-secret variation.","text":"\u003e Wrapped message credential: whsig_fkGQX0jhQXKzsTBbrUiZB4pBszhW85xxKkFyv5iw","known_identities":[],"targets":[{"id":"value","kind":"secret","start":30,"end":76,"value":"whsig_fkGQX0jhQXKzsTBbrUiZB4pBszhW85xxKkFyv5iw","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-webhook-secret-must-detect-07","recipe":"webhook-secret","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["whsig_fkGQX0jhQXKzsTBbrUiZB4pBszhW85xxKkFyv5iw"]},"customers":{"required_absent":["whsig_fkGQX0jhQXKzsTBbrUiZB4pBszhW85xxKkFyv5iw"],"required_present":[]},"all":{"required_absent":["whsig_fkGQX0jhQXKzsTBbrUiZB4pBszhW85xxKkFyv5iw"],"required_present":[]}},"tags":["broad-quality","secret-family:webhook-secret","variation:07"],"secret_fixture":{"family":"webhook-secret","role":"must-detect"}}, + {"id":"broad-secret-webhook-secret-preserve-07","language":"en","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad webhook-secret variation.","text":"\u003e Troubleshooting reference: event.delivery.created","known_identities":[],"targets":[{"id":"value","kind":"secret","start":29,"end":51,"value":"event.delivery.created","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-webhook-secret-preserve-07","recipe":"webhook-secret","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["event.delivery.created"]},"customers":{"required_absent":[],"required_present":["event.delivery.created"]},"all":{"required_absent":[],"required_present":["event.delivery.created"]}},"tags":["broad-quality","secret-family:webhook-secret","variation:07"],"secret_fixture":{"family":"webhook-secret","role":"preserve"}}, + {"id":"broad-secret-webhook-secret-must-detect-08","language":"en","script":"Latin","shape":"log","risk":"critical","reason":"Locked broad webhook-secret variation.","text":"level=warn sample=8 message=\"Credential copied from a support reply: \" value=whsig_za2Tqi1G0gLwXt33F\npyVSD5FHDTy9W5Oi7JSEnnF","known_identities":[],"targets":[{"id":"value","kind":"secret","start":77,"end":124,"value":"whsig_za2Tqi1G0gLwXt33F\npyVSD5FHDTy9W5Oi7JSEnnF","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-webhook-secret-must-detect-08","recipe":"webhook-secret","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["whsig_za2Tqi1G0gLwXt33F\npyVSD5FHDTy9W5Oi7JSEnnF"]},"customers":{"required_absent":["whsig_za2Tqi1G0gLwXt33F\npyVSD5FHDTy9W5Oi7JSEnnF"],"required_present":[]},"all":{"required_absent":["whsig_za2Tqi1G0gLwXt33F\npyVSD5FHDTy9W5Oi7JSEnnF"],"required_present":[]}},"tags":["broad-quality","secret-family:webhook-secret","variation:08"],"secret_fixture":{"family":"webhook-secret","role":"must-detect"}}, + {"id":"broad-secret-webhook-secret-preserve-08","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad webhook-secret variation.","text":"level=warn sample=8 message=\"Public configuration vocabulary: \" value=event.delivery.created","known_identities":[],"targets":[{"id":"value","kind":"secret","start":70,"end":92,"value":"event.delivery.created","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-webhook-secret-preserve-08","recipe":"webhook-secret","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["event.delivery.created"]},"customers":{"required_absent":[],"required_present":["event.delivery.created"]},"all":{"required_absent":[],"required_present":["event.delivery.created"]}},"tags":["broad-quality","secret-family:webhook-secret","variation:08"],"secret_fixture":{"family":"webhook-secret","role":"preserve"}}, + {"id":"broad-secret-webhook-secret-must-detect-09","language":"en","script":"Latin","shape":"stack-trace","risk":"critical","reason":"Locked broad webhook-secret variation.","text":"Trace[9]: Authorization header value: whsig_yI96MXx5DwLH08z9V hV4eB8PPDC30SeZQd6fmZor","known_identities":[],"targets":[{"id":"value","kind":"secret","start":38,"end":85,"value":"whsig_yI96MXx5DwLH08z9V hV4eB8PPDC30SeZQd6fmZor","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-webhook-secret-must-detect-09","recipe":"webhook-secret","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["whsig_yI96MXx5DwLH08z9V hV4eB8PPDC30SeZQd6fmZor"]},"customers":{"required_absent":["whsig_yI96MXx5DwLH08z9V hV4eB8PPDC30SeZQd6fmZor"],"required_present":[]},"all":{"required_absent":["whsig_yI96MXx5DwLH08z9V hV4eB8PPDC30SeZQd6fmZor"],"required_present":[]}},"tags":["broad-quality","secret-family:webhook-secret","variation:09"],"secret_fixture":{"family":"webhook-secret","role":"must-detect"}}, + {"id":"broad-secret-webhook-secret-preserve-09","language":"en","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad webhook-secret variation.","text":"Trace[9]: Documentation syntax: event.delivery.created","known_identities":[],"targets":[{"id":"value","kind":"secret","start":32,"end":54,"value":"event.delivery.created","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-webhook-secret-preserve-09","recipe":"webhook-secret","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["event.delivery.created"]},"customers":{"required_absent":[],"required_present":["event.delivery.created"]},"all":{"required_absent":[],"required_present":["event.delivery.created"]}},"tags":["broad-quality","secret-family:webhook-secret","variation:09"],"secret_fixture":{"family":"webhook-secret","role":"preserve"}}, + {"id":"broad-secret-webhook-secret-must-detect-10","language":"en","script":"Latin","shape":"code","risk":"critical","reason":"Locked broad webhook-secret variation.","text":"fixture_10 := `Log field auth_value=whsig_REWSww3t7785GJ675·8uidL9rUXJD2ojXaI8jzIAC`","known_identities":[],"targets":[{"id":"value","kind":"secret","start":36,"end":84,"value":"whsig_REWSww3t7785GJ675·8uidL9rUXJD2ojXaI8jzIAC","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-webhook-secret-must-detect-10","recipe":"webhook-secret","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["whsig_REWSww3t7785GJ675·8uidL9rUXJD2ojXaI8jzIAC"]},"customers":{"required_absent":["whsig_REWSww3t7785GJ675·8uidL9rUXJD2ojXaI8jzIAC"],"required_present":[]},"all":{"required_absent":["whsig_REWSww3t7785GJ675·8uidL9rUXJD2ojXaI8jzIAC"],"required_present":[]}},"tags":["broad-quality","secret-family:webhook-secret","variation:10"],"secret_fixture":{"family":"webhook-secret","role":"must-detect"}}, + {"id":"broad-secret-webhook-secret-preserve-10","language":"en","script":"Latin","shape":"code","risk":"preservation","reason":"Locked broad webhook-secret variation.","text":"fixture_10 := `Public operational identifier: event.delivery.created`","known_identities":[],"targets":[{"id":"value","kind":"secret","start":46,"end":68,"value":"event.delivery.created","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-webhook-secret-preserve-10","recipe":"webhook-secret","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["event.delivery.created"]},"customers":{"required_absent":[],"required_present":["event.delivery.created"]},"all":{"required_absent":[],"required_present":["event.delivery.created"]}},"tags":["broad-quality","secret-family:webhook-secret","variation:10"],"secret_fixture":{"family":"webhook-secret","role":"preserve"}}, + {"id":"broad-secret-webhook-secret-must-detect-11","language":"en","script":"Latin","shape":"signature","risk":"critical","reason":"Locked broad webhook-secret variation.","text":"--\nRotating this exposed value: whsig_Qilci5DFumNcZghCs\u003cwbr\u003egfzCNhnJfL0e6snHIvx9jjI","known_identities":[],"targets":[{"id":"value","kind":"secret","start":32,"end":83,"value":"whsig_Qilci5DFumNcZghCs\u003cwbr\u003egfzCNhnJfL0e6snHIvx9jjI","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-webhook-secret-must-detect-11","recipe":"webhook-secret","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["whsig_Qilci5DFumNcZghCs\u003cwbr\u003egfzCNhnJfL0e6snHIvx9jjI"]},"customers":{"required_absent":["whsig_Qilci5DFumNcZghCs\u003cwbr\u003egfzCNhnJfL0e6snHIvx9jjI"],"required_present":[]},"all":{"required_absent":["whsig_Qilci5DFumNcZghCs\u003cwbr\u003egfzCNhnJfL0e6snHIvx9jjI"],"required_present":[]}},"tags":["broad-quality","secret-family:webhook-secret","variation:11"],"secret_fixture":{"family":"webhook-secret","role":"must-detect"}}, + {"id":"broad-secret-webhook-secret-preserve-11","language":"en","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad webhook-secret variation.","text":"--\nSchema field label: event.delivery.created","known_identities":[],"targets":[{"id":"value","kind":"secret","start":23,"end":45,"value":"event.delivery.created","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-webhook-secret-preserve-11","recipe":"webhook-secret","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["event.delivery.created"]},"customers":{"required_absent":[],"required_present":["event.delivery.created"]},"all":{"required_absent":[],"required_present":["event.delivery.created"]}},"tags":["broad-quality","secret-family:webhook-secret","variation:11"],"secret_fixture":{"family":"webhook-secret","role":"preserve"}}, + {"id":"broad-secret-webhook-secret-must-detect-12","language":"en","script":"Latin","shape":"long-thread","risk":"critical","reason":"Locked broad webhook-secret variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Quoted credential follows: whsig_PYfqr1ztt1eV3hHRQ**l6YJY4puLFE8QPsshWnikp3","known_identities":[],"targets":[{"id":"value","kind":"secret","start":507,"end":555,"value":"whsig_PYfqr1ztt1eV3hHRQ**l6YJY4puLFE8QPsshWnikp3","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-webhook-secret-must-detect-12","recipe":"webhook-secret","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["whsig_PYfqr1ztt1eV3hHRQ**l6YJY4puLFE8QPsshWnikp3"]},"customers":{"required_absent":["whsig_PYfqr1ztt1eV3hHRQ**l6YJY4puLFE8QPsshWnikp3"],"required_present":[]},"all":{"required_absent":["whsig_PYfqr1ztt1eV3hHRQ**l6YJY4puLFE8QPsshWnikp3"],"required_present":[]}},"tags":["broad-quality","secret-family:webhook-secret","variation:12"],"secret_fixture":{"family":"webhook-secret","role":"must-detect"}}, + {"id":"broad-secret-webhook-secret-preserve-12","language":"en","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad webhook-secret variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Non-confidential protocol token: event.delivery.created","known_identities":[],"targets":[{"id":"value","kind":"secret","start":513,"end":535,"value":"event.delivery.created","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-webhook-secret-preserve-12","recipe":"webhook-secret","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["event.delivery.created"]},"customers":{"required_absent":[],"required_present":["event.delivery.created"]},"all":{"required_absent":[],"required_present":["event.delivery.created"]}},"tags":["broad-quality","secret-family:webhook-secret","variation:12"],"secret_fixture":{"family":"webhook-secret","role":"preserve"}}, + {"id":"broad-secret-webhook-secret-must-detect-13","language":"en","script":"Latin","shape":"command-payload","risk":"critical","reason":"Locked broad webhook-secret variation.","text":"--sample=13 --message=\"Configuration secret: \" --value=whsig_DuhU2LPUk8fKqiecDpFhPheNyLym0Jsz8LGGpyVK / whsig_DuhU2LPUk8fKqiecDpFhPheNyLym0Jsz8LGGpyVK","known_identities":[],"targets":[{"id":"value","kind":"secret","start":55,"end":150,"value":"whsig_DuhU2LPUk8fKqiecDpFhPheNyLym0Jsz8LGGpyVK / whsig_DuhU2LPUk8fKqiecDpFhPheNyLym0Jsz8LGGpyVK","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-webhook-secret-must-detect-13","recipe":"webhook-secret","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["whsig_DuhU2LPUk8fKqiecDpFhPheNyLym0Jsz8LGGpyVK / whsig_DuhU2LPUk8fKqiecDpFhPheNyLym0Jsz8LGGpyVK"]},"customers":{"required_absent":["whsig_DuhU2LPUk8fKqiecDpFhPheNyLym0Jsz8LGGpyVK / whsig_DuhU2LPUk8fKqiecDpFhPheNyLym0Jsz8LGGpyVK"],"required_present":[]},"all":{"required_absent":["whsig_DuhU2LPUk8fKqiecDpFhPheNyLym0Jsz8LGGpyVK / whsig_DuhU2LPUk8fKqiecDpFhPheNyLym0Jsz8LGGpyVK"],"required_present":[]}},"tags":["broad-quality","secret-family:webhook-secret","variation:13"],"secret_fixture":{"family":"webhook-secret","role":"must-detect"}}, + {"id":"broad-secret-webhook-secret-preserve-13","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad webhook-secret variation.","text":"--sample=13 --message=\"Release metadata: \" --value=event.delivery.created","known_identities":[],"targets":[{"id":"value","kind":"secret","start":51,"end":73,"value":"event.delivery.created","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-webhook-secret-preserve-13","recipe":"webhook-secret","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["event.delivery.created"]},"customers":{"required_absent":[],"required_present":["event.delivery.created"]},"all":{"required_absent":[],"required_present":["event.delivery.created"]}},"tags":["broad-quality","secret-family:webhook-secret","variation:13"],"secret_fixture":{"family":"webhook-secret","role":"preserve"}}, + {"id":"broad-secret-cloud-credential-must-detect-00","language":"en","script":"Latin","shape":"prose","risk":"critical","reason":"Locked broad cloud-credential variation.","text":"Credential copied from a support reply: CLDXUQ98ZO5LQC7SMWQD","known_identities":[],"targets":[{"id":"value","kind":"secret","start":40,"end":60,"value":"CLDXUQ98ZO5LQC7SMWQD","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cloud-credential-must-detect-00","recipe":"cloud-credential","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CLDXUQ98ZO5LQC7SMWQD"]},"customers":{"required_absent":["CLDXUQ98ZO5LQC7SMWQD"],"required_present":[]},"all":{"required_absent":["CLDXUQ98ZO5LQC7SMWQD"],"required_present":[]}},"tags":["broad-quality","secret-family:cloud-credential","variation:00"],"secret_fixture":{"family":"cloud-credential","role":"must-detect"}}, + {"id":"broad-secret-cloud-credential-preserve-00","language":"en","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad cloud-credential variation.","text":"Public configuration vocabulary: 341196342754","known_identities":[],"targets":[{"id":"value","kind":"secret","start":33,"end":45,"value":"341196342754","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cloud-credential-preserve-00","recipe":"cloud-credential","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["341196342754"]},"customers":{"required_absent":[],"required_present":["341196342754"]},"all":{"required_absent":[],"required_present":["341196342754"]}},"tags":["broad-quality","secret-family:cloud-credential","variation:00"],"secret_fixture":{"family":"cloud-credential","role":"preserve"}}, + {"id":"broad-secret-cloud-credential-must-detect-01","language":"en","script":"Latin","shape":"json","risk":"critical","reason":"Locked broad cloud-credential variation.","text":"{\"message_1\":\"Authorization header value: CLDXCW3NJPNBM3FNLPEW\"}","known_identities":[],"targets":[{"id":"value","kind":"secret","start":42,"end":62,"value":"CLDXCW3NJPNBM3FNLPEW","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cloud-credential-must-detect-01","recipe":"cloud-credential","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CLDXCW3NJPNBM3FNLPEW"]},"customers":{"required_absent":["CLDXCW3NJPNBM3FNLPEW"],"required_present":[]},"all":{"required_absent":["CLDXCW3NJPNBM3FNLPEW"],"required_present":[]}},"tags":["broad-quality","secret-family:cloud-credential","variation:01"],"secret_fixture":{"family":"cloud-credential","role":"must-detect"}}, + {"id":"broad-secret-cloud-credential-preserve-01","language":"en","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad cloud-credential variation.","text":"{\"message_1\":\"Documentation syntax: 997192730562\"}","known_identities":[],"targets":[{"id":"value","kind":"secret","start":36,"end":48,"value":"997192730562","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cloud-credential-preserve-01","recipe":"cloud-credential","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["997192730562"]},"customers":{"required_absent":[],"required_present":["997192730562"]},"all":{"required_absent":[],"required_present":["997192730562"]}},"tags":["broad-quality","secret-family:cloud-credential","variation:01"],"secret_fixture":{"family":"cloud-credential","role":"preserve"}}, + {"id":"broad-secret-cloud-credential-must-detect-02","language":"en","script":"Latin","shape":"yaml","risk":"critical","reason":"Locked broad cloud-credential variation.","text":"message_2: Log field auth_value=CLDX1TEIA7TT86KQFB2P","known_identities":[],"targets":[{"id":"value","kind":"secret","start":32,"end":52,"value":"CLDX1TEIA7TT86KQFB2P","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cloud-credential-must-detect-02","recipe":"cloud-credential","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CLDX1TEIA7TT86KQFB2P"]},"customers":{"required_absent":["CLDX1TEIA7TT86KQFB2P"],"required_present":[]},"all":{"required_absent":["CLDX1TEIA7TT86KQFB2P"],"required_present":[]}},"tags":["broad-quality","secret-family:cloud-credential","variation:02"],"secret_fixture":{"family":"cloud-credential","role":"must-detect"}}, + {"id":"broad-secret-cloud-credential-preserve-02","language":"en","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad cloud-credential variation.","text":"message_2: Public operational identifier: 522233693123","known_identities":[],"targets":[{"id":"value","kind":"secret","start":42,"end":54,"value":"522233693123","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cloud-credential-preserve-02","recipe":"cloud-credential","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["522233693123"]},"customers":{"required_absent":[],"required_present":["522233693123"]},"all":{"required_absent":[],"required_present":["522233693123"]}},"tags":["broad-quality","secret-family:cloud-credential","variation:02"],"secret_fixture":{"family":"cloud-credential","role":"preserve"}}, + {"id":"broad-secret-cloud-credential-must-detect-03","language":"en","script":"Latin","shape":"shell","risk":"critical","reason":"Locked broad cloud-credential variation.","text":"MESSAGE_3='Rotating this exposed value: CLDXGJ4RJOJJAA4FRG56'","known_identities":[],"targets":[{"id":"value","kind":"secret","start":40,"end":60,"value":"CLDXGJ4RJOJJAA4FRG56","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cloud-credential-must-detect-03","recipe":"cloud-credential","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CLDXGJ4RJOJJAA4FRG56"]},"customers":{"required_absent":["CLDXGJ4RJOJJAA4FRG56"],"required_present":[]},"all":{"required_absent":["CLDXGJ4RJOJJAA4FRG56"],"required_present":[]}},"tags":["broad-quality","secret-family:cloud-credential","variation:03"],"secret_fixture":{"family":"cloud-credential","role":"must-detect"}}, + {"id":"broad-secret-cloud-credential-preserve-03","language":"en","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad cloud-credential variation.","text":"MESSAGE_3='Schema field label: 332379951281'","known_identities":[],"targets":[{"id":"value","kind":"secret","start":31,"end":43,"value":"332379951281","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cloud-credential-preserve-03","recipe":"cloud-credential","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["332379951281"]},"customers":{"required_absent":[],"required_present":["332379951281"]},"all":{"required_absent":[],"required_present":["332379951281"]}},"tags":["broad-quality","secret-family:cloud-credential","variation:03"],"secret_fixture":{"family":"cloud-credential","role":"preserve"}}, + {"id":"broad-secret-cloud-credential-must-detect-04","language":"en","script":"Latin","shape":"url","risk":"critical","reason":"Locked broad cloud-credential variation.","text":"endpoint=https://192.0.2.10/4 ; Quoted credential follows: CLDX4UAKIQHI1HJFBHS1","known_identities":[],"targets":[{"id":"value","kind":"secret","start":59,"end":79,"value":"CLDX4UAKIQHI1HJFBHS1","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cloud-credential-must-detect-04","recipe":"cloud-credential","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CLDX4UAKIQHI1HJFBHS1"]},"customers":{"required_absent":["CLDX4UAKIQHI1HJFBHS1"],"required_present":[]},"all":{"required_absent":["CLDX4UAKIQHI1HJFBHS1"],"required_present":[]}},"tags":["broad-quality","secret-family:cloud-credential","variation:04"],"secret_fixture":{"family":"cloud-credential","role":"must-detect"}}, + {"id":"broad-secret-cloud-credential-preserve-04","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad cloud-credential variation.","text":"endpoint=https://192.0.2.10/4 ; Non-confidential protocol token: 744724784199","known_identities":[],"targets":[{"id":"value","kind":"secret","start":65,"end":77,"value":"744724784199","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cloud-credential-preserve-04","recipe":"cloud-credential","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["744724784199"]},"customers":{"required_absent":[],"required_present":["744724784199"]},"all":{"required_absent":[],"required_present":["744724784199"]}},"tags":["broad-quality","secret-family:cloud-credential","variation:04"],"secret_fixture":{"family":"cloud-credential","role":"preserve"}}, + {"id":"broad-secret-cloud-credential-must-detect-05","language":"en","script":"Latin","shape":"markdown","risk":"critical","reason":"Locked broad cloud-credential variation.","text":"**Configuration secret: CLDX79A822QY40ZA2E4M**","known_identities":[],"targets":[{"id":"value","kind":"secret","start":24,"end":44,"value":"CLDX79A822QY40ZA2E4M","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cloud-credential-must-detect-05","recipe":"cloud-credential","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CLDX79A822QY40ZA2E4M"]},"customers":{"required_absent":["CLDX79A822QY40ZA2E4M"],"required_present":[]},"all":{"required_absent":["CLDX79A822QY40ZA2E4M"],"required_present":[]}},"tags":["broad-quality","secret-family:cloud-credential","variation:05"],"secret_fixture":{"family":"cloud-credential","role":"must-detect"}}, + {"id":"broad-secret-cloud-credential-preserve-05","language":"en","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad cloud-credential variation.","text":"**Release metadata: 635853326056**","known_identities":[],"targets":[{"id":"value","kind":"secret","start":20,"end":32,"value":"635853326056","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cloud-credential-preserve-05","recipe":"cloud-credential","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["635853326056"]},"customers":{"required_absent":[],"required_present":["635853326056"]},"all":{"required_absent":[],"required_present":["635853326056"]}},"tags":["broad-quality","secret-family:cloud-credential","variation:05"],"secret_fixture":{"family":"cloud-credential","role":"preserve"}}, + {"id":"broad-secret-cloud-credential-must-detect-06","language":"en","script":"Latin","shape":"html","risk":"critical","reason":"Locked broad cloud-credential variation.","text":"\u003cp\u003eStack trace captured credential CLDXEDLCZNII5TL6PUJC\u003c/p\u003e","known_identities":[],"targets":[{"id":"value","kind":"secret","start":35,"end":55,"value":"CLDXEDLCZNII5TL6PUJC","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cloud-credential-must-detect-06","recipe":"cloud-credential","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CLDXEDLCZNII5TL6PUJC"]},"customers":{"required_absent":["CLDXEDLCZNII5TL6PUJC"],"required_present":[]},"all":{"required_absent":["CLDXEDLCZNII5TL6PUJC"],"required_present":[]}},"tags":["broad-quality","secret-family:cloud-credential","variation:06"],"secret_fixture":{"family":"cloud-credential","role":"must-detect"}}, + {"id":"broad-secret-cloud-credential-preserve-06","language":"en","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad cloud-credential variation.","text":"\u003cp\u003ePublic verification material: 501905216311\u003c/p\u003e","known_identities":[],"targets":[{"id":"value","kind":"secret","start":33,"end":45,"value":"501905216311","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cloud-credential-preserve-06","recipe":"cloud-credential","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["501905216311"]},"customers":{"required_absent":[],"required_present":["501905216311"]},"all":{"required_absent":[],"required_present":["501905216311"]}},"tags":["broad-quality","secret-family:cloud-credential","variation:06"],"secret_fixture":{"family":"cloud-credential","role":"preserve"}}, + {"id":"broad-secret-cloud-credential-must-detect-07","language":"en","script":"Latin","shape":"quoted-reply","risk":"critical","reason":"Locked broad cloud-credential variation.","text":"\u003e Wrapped message credential: CLDXGAOGIN26P4H7JM8E","known_identities":[],"targets":[{"id":"value","kind":"secret","start":30,"end":50,"value":"CLDXGAOGIN26P4H7JM8E","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cloud-credential-must-detect-07","recipe":"cloud-credential","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CLDXGAOGIN26P4H7JM8E"]},"customers":{"required_absent":["CLDXGAOGIN26P4H7JM8E"],"required_present":[]},"all":{"required_absent":["CLDXGAOGIN26P4H7JM8E"],"required_present":[]}},"tags":["broad-quality","secret-family:cloud-credential","variation:07"],"secret_fixture":{"family":"cloud-credential","role":"must-detect"}}, + {"id":"broad-secret-cloud-credential-preserve-07","language":"en","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad cloud-credential variation.","text":"\u003e Troubleshooting reference: 950155987954","known_identities":[],"targets":[{"id":"value","kind":"secret","start":29,"end":41,"value":"950155987954","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cloud-credential-preserve-07","recipe":"cloud-credential","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["950155987954"]},"customers":{"required_absent":[],"required_present":["950155987954"]},"all":{"required_absent":[],"required_present":["950155987954"]}},"tags":["broad-quality","secret-family:cloud-credential","variation:07"],"secret_fixture":{"family":"cloud-credential","role":"preserve"}}, + {"id":"broad-secret-cloud-credential-must-detect-08","language":"en","script":"Latin","shape":"log","risk":"critical","reason":"Locked broad cloud-credential variation.","text":"level=warn sample=8 message=\"Credential copied from a support reply: \" value=CLDXHRBKUU\nN2NB7SGLU6","known_identities":[],"targets":[{"id":"value","kind":"secret","start":77,"end":98,"value":"CLDXHRBKUU\nN2NB7SGLU6","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cloud-credential-must-detect-08","recipe":"cloud-credential","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CLDXHRBKUU\nN2NB7SGLU6"]},"customers":{"required_absent":["CLDXHRBKUU\nN2NB7SGLU6"],"required_present":[]},"all":{"required_absent":["CLDXHRBKUU\nN2NB7SGLU6"],"required_present":[]}},"tags":["broad-quality","secret-family:cloud-credential","variation:08"],"secret_fixture":{"family":"cloud-credential","role":"must-detect"}}, + {"id":"broad-secret-cloud-credential-preserve-08","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad cloud-credential variation.","text":"level=warn sample=8 message=\"Public configuration vocabulary: \" value=627636614198","known_identities":[],"targets":[{"id":"value","kind":"secret","start":70,"end":82,"value":"627636614198","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cloud-credential-preserve-08","recipe":"cloud-credential","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["627636614198"]},"customers":{"required_absent":[],"required_present":["627636614198"]},"all":{"required_absent":[],"required_present":["627636614198"]}},"tags":["broad-quality","secret-family:cloud-credential","variation:08"],"secret_fixture":{"family":"cloud-credential","role":"preserve"}}, + {"id":"broad-secret-cloud-credential-must-detect-09","language":"en","script":"Latin","shape":"stack-trace","risk":"critical","reason":"Locked broad cloud-credential variation.","text":"Trace[9]: Authorization header value: CLDXQK8BH1 BFAIV3XZ7J","known_identities":[],"targets":[{"id":"value","kind":"secret","start":38,"end":59,"value":"CLDXQK8BH1 BFAIV3XZ7J","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cloud-credential-must-detect-09","recipe":"cloud-credential","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CLDXQK8BH1 BFAIV3XZ7J"]},"customers":{"required_absent":["CLDXQK8BH1 BFAIV3XZ7J"],"required_present":[]},"all":{"required_absent":["CLDXQK8BH1 BFAIV3XZ7J"],"required_present":[]}},"tags":["broad-quality","secret-family:cloud-credential","variation:09"],"secret_fixture":{"family":"cloud-credential","role":"must-detect"}}, + {"id":"broad-secret-cloud-credential-preserve-09","language":"en","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad cloud-credential variation.","text":"Trace[9]: Documentation syntax: 926833333995","known_identities":[],"targets":[{"id":"value","kind":"secret","start":32,"end":44,"value":"926833333995","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cloud-credential-preserve-09","recipe":"cloud-credential","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["926833333995"]},"customers":{"required_absent":[],"required_present":["926833333995"]},"all":{"required_absent":[],"required_present":["926833333995"]}},"tags":["broad-quality","secret-family:cloud-credential","variation:09"],"secret_fixture":{"family":"cloud-credential","role":"preserve"}}, + {"id":"broad-secret-cloud-credential-must-detect-10","language":"en","script":"Latin","shape":"code","risk":"critical","reason":"Locked broad cloud-credential variation.","text":"fixture_10 := `Log field auth_value=CLDXIP24V0·UO82K3SZZH`","known_identities":[],"targets":[{"id":"value","kind":"secret","start":36,"end":58,"value":"CLDXIP24V0·UO82K3SZZH","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cloud-credential-must-detect-10","recipe":"cloud-credential","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CLDXIP24V0·UO82K3SZZH"]},"customers":{"required_absent":["CLDXIP24V0·UO82K3SZZH"],"required_present":[]},"all":{"required_absent":["CLDXIP24V0·UO82K3SZZH"],"required_present":[]}},"tags":["broad-quality","secret-family:cloud-credential","variation:10"],"secret_fixture":{"family":"cloud-credential","role":"must-detect"}}, + {"id":"broad-secret-cloud-credential-preserve-10","language":"en","script":"Latin","shape":"code","risk":"preservation","reason":"Locked broad cloud-credential variation.","text":"fixture_10 := `Public operational identifier: 384157459691`","known_identities":[],"targets":[{"id":"value","kind":"secret","start":46,"end":58,"value":"384157459691","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cloud-credential-preserve-10","recipe":"cloud-credential","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["384157459691"]},"customers":{"required_absent":[],"required_present":["384157459691"]},"all":{"required_absent":[],"required_present":["384157459691"]}},"tags":["broad-quality","secret-family:cloud-credential","variation:10"],"secret_fixture":{"family":"cloud-credential","role":"preserve"}}, + {"id":"broad-secret-cloud-credential-must-detect-11","language":"en","script":"Latin","shape":"signature","risk":"critical","reason":"Locked broad cloud-credential variation.","text":"--\nRotating this exposed value: CLDX9PYR02\u003cwbr\u003eDNV71RLTN8","known_identities":[],"targets":[{"id":"value","kind":"secret","start":32,"end":57,"value":"CLDX9PYR02\u003cwbr\u003eDNV71RLTN8","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cloud-credential-must-detect-11","recipe":"cloud-credential","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CLDX9PYR02\u003cwbr\u003eDNV71RLTN8"]},"customers":{"required_absent":["CLDX9PYR02\u003cwbr\u003eDNV71RLTN8"],"required_present":[]},"all":{"required_absent":["CLDX9PYR02\u003cwbr\u003eDNV71RLTN8"],"required_present":[]}},"tags":["broad-quality","secret-family:cloud-credential","variation:11"],"secret_fixture":{"family":"cloud-credential","role":"must-detect"}}, + {"id":"broad-secret-cloud-credential-preserve-11","language":"en","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad cloud-credential variation.","text":"--\nSchema field label: 354135213603","known_identities":[],"targets":[{"id":"value","kind":"secret","start":23,"end":35,"value":"354135213603","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cloud-credential-preserve-11","recipe":"cloud-credential","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["354135213603"]},"customers":{"required_absent":[],"required_present":["354135213603"]},"all":{"required_absent":[],"required_present":["354135213603"]}},"tags":["broad-quality","secret-family:cloud-credential","variation:11"],"secret_fixture":{"family":"cloud-credential","role":"preserve"}}, + {"id":"broad-secret-cloud-credential-must-detect-12","language":"en","script":"Latin","shape":"long-thread","risk":"critical","reason":"Locked broad cloud-credential variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Quoted credential follows: CLDXKDVI8G**WX2DNHEBK8","known_identities":[],"targets":[{"id":"value","kind":"secret","start":507,"end":529,"value":"CLDXKDVI8G**WX2DNHEBK8","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cloud-credential-must-detect-12","recipe":"cloud-credential","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CLDXKDVI8G**WX2DNHEBK8"]},"customers":{"required_absent":["CLDXKDVI8G**WX2DNHEBK8"],"required_present":[]},"all":{"required_absent":["CLDXKDVI8G**WX2DNHEBK8"],"required_present":[]}},"tags":["broad-quality","secret-family:cloud-credential","variation:12"],"secret_fixture":{"family":"cloud-credential","role":"must-detect"}}, + {"id":"broad-secret-cloud-credential-preserve-12","language":"en","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad cloud-credential variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Non-confidential protocol token: 869317192016","known_identities":[],"targets":[{"id":"value","kind":"secret","start":513,"end":525,"value":"869317192016","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cloud-credential-preserve-12","recipe":"cloud-credential","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["869317192016"]},"customers":{"required_absent":[],"required_present":["869317192016"]},"all":{"required_absent":[],"required_present":["869317192016"]}},"tags":["broad-quality","secret-family:cloud-credential","variation:12"],"secret_fixture":{"family":"cloud-credential","role":"preserve"}}, + {"id":"broad-secret-cloud-credential-must-detect-13","language":"en","script":"Latin","shape":"command-payload","risk":"critical","reason":"Locked broad cloud-credential variation.","text":"--sample=13 --message=\"Configuration secret: \" --value=CLDX0VODXECLITTEZPKE / CLDX0VODXECLITTEZPKE","known_identities":[],"targets":[{"id":"value","kind":"secret","start":55,"end":98,"value":"CLDX0VODXECLITTEZPKE / CLDX0VODXECLITTEZPKE","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cloud-credential-must-detect-13","recipe":"cloud-credential","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CLDX0VODXECLITTEZPKE / CLDX0VODXECLITTEZPKE"]},"customers":{"required_absent":["CLDX0VODXECLITTEZPKE / CLDX0VODXECLITTEZPKE"],"required_present":[]},"all":{"required_absent":["CLDX0VODXECLITTEZPKE / CLDX0VODXECLITTEZPKE"],"required_present":[]}},"tags":["broad-quality","secret-family:cloud-credential","variation:13"],"secret_fixture":{"family":"cloud-credential","role":"must-detect"}}, + {"id":"broad-secret-cloud-credential-preserve-13","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad cloud-credential variation.","text":"--sample=13 --message=\"Release metadata: \" --value=098208669521","known_identities":[],"targets":[{"id":"value","kind":"secret","start":51,"end":63,"value":"098208669521","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cloud-credential-preserve-13","recipe":"cloud-credential","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["098208669521"]},"customers":{"required_absent":[],"required_present":["098208669521"]},"all":{"required_absent":[],"required_present":["098208669521"]}},"tags":["broad-quality","secret-family:cloud-credential","variation:13"],"secret_fixture":{"family":"cloud-credential","role":"preserve"}}, + {"id":"broad-secret-source-control-token-must-detect-00","language":"en","script":"Latin","shape":"prose","risk":"critical","reason":"Locked broad source-control-token variation.","text":"Credential copied from a support reply: scm_zNclz7ABNBFGXDrvBSTgolaSYZGgFzGyWWna","known_identities":[],"targets":[{"id":"value","kind":"secret","start":40,"end":80,"value":"scm_zNclz7ABNBFGXDrvBSTgolaSYZGgFzGyWWna","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-source-control-token-must-detect-00","recipe":"source-control-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["scm_zNclz7ABNBFGXDrvBSTgolaSYZGgFzGyWWna"]},"customers":{"required_absent":["scm_zNclz7ABNBFGXDrvBSTgolaSYZGgFzGyWWna"],"required_present":[]},"all":{"required_absent":["scm_zNclz7ABNBFGXDrvBSTgolaSYZGgFzGyWWna"],"required_present":[]}},"tags":["broad-quality","secret-family:source-control-token","variation:00"],"secret_fixture":{"family":"source-control-token","role":"must-detect"}}, + {"id":"broad-secret-source-control-token-preserve-00","language":"en","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad source-control-token variation.","text":"Public configuration vocabulary: e3bf73e5fbecd66b12ef9e0fe1ab0ecebd65f00a","known_identities":[],"targets":[{"id":"value","kind":"secret","start":33,"end":73,"value":"e3bf73e5fbecd66b12ef9e0fe1ab0ecebd65f00a","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-source-control-token-preserve-00","recipe":"source-control-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["e3bf73e5fbecd66b12ef9e0fe1ab0ecebd65f00a"]},"customers":{"required_absent":[],"required_present":["e3bf73e5fbecd66b12ef9e0fe1ab0ecebd65f00a"]},"all":{"required_absent":[],"required_present":["e3bf73e5fbecd66b12ef9e0fe1ab0ecebd65f00a"]}},"tags":["broad-quality","secret-family:source-control-token","variation:00"],"secret_fixture":{"family":"source-control-token","role":"preserve"}}, + {"id":"broad-secret-source-control-token-must-detect-01","language":"en","script":"Latin","shape":"json","risk":"critical","reason":"Locked broad source-control-token variation.","text":"{\"message_1\":\"Authorization header value: scm_jTKpMIr2J82ZRSkVdzybx70cYzM2pdGr4D9e\"}","known_identities":[],"targets":[{"id":"value","kind":"secret","start":42,"end":82,"value":"scm_jTKpMIr2J82ZRSkVdzybx70cYzM2pdGr4D9e","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-source-control-token-must-detect-01","recipe":"source-control-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["scm_jTKpMIr2J82ZRSkVdzybx70cYzM2pdGr4D9e"]},"customers":{"required_absent":["scm_jTKpMIr2J82ZRSkVdzybx70cYzM2pdGr4D9e"],"required_present":[]},"all":{"required_absent":["scm_jTKpMIr2J82ZRSkVdzybx70cYzM2pdGr4D9e"],"required_present":[]}},"tags":["broad-quality","secret-family:source-control-token","variation:01"],"secret_fixture":{"family":"source-control-token","role":"must-detect"}}, + {"id":"broad-secret-source-control-token-preserve-01","language":"en","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad source-control-token variation.","text":"{\"message_1\":\"Documentation syntax: f2cb9cb8deefa1ea00bc4a7edbddf4a65bc4faea\"}","known_identities":[],"targets":[{"id":"value","kind":"secret","start":36,"end":76,"value":"f2cb9cb8deefa1ea00bc4a7edbddf4a65bc4faea","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-source-control-token-preserve-01","recipe":"source-control-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["f2cb9cb8deefa1ea00bc4a7edbddf4a65bc4faea"]},"customers":{"required_absent":[],"required_present":["f2cb9cb8deefa1ea00bc4a7edbddf4a65bc4faea"]},"all":{"required_absent":[],"required_present":["f2cb9cb8deefa1ea00bc4a7edbddf4a65bc4faea"]}},"tags":["broad-quality","secret-family:source-control-token","variation:01"],"secret_fixture":{"family":"source-control-token","role":"preserve"}}, + {"id":"broad-secret-source-control-token-must-detect-02","language":"en","script":"Latin","shape":"yaml","risk":"critical","reason":"Locked broad source-control-token variation.","text":"message_2: Log field auth_value=scm_K8F6N2CBDHE85rO3RDs2a6qB1rLswilXcvrT","known_identities":[],"targets":[{"id":"value","kind":"secret","start":32,"end":72,"value":"scm_K8F6N2CBDHE85rO3RDs2a6qB1rLswilXcvrT","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-source-control-token-must-detect-02","recipe":"source-control-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["scm_K8F6N2CBDHE85rO3RDs2a6qB1rLswilXcvrT"]},"customers":{"required_absent":["scm_K8F6N2CBDHE85rO3RDs2a6qB1rLswilXcvrT"],"required_present":[]},"all":{"required_absent":["scm_K8F6N2CBDHE85rO3RDs2a6qB1rLswilXcvrT"],"required_present":[]}},"tags":["broad-quality","secret-family:source-control-token","variation:02"],"secret_fixture":{"family":"source-control-token","role":"must-detect"}}, + {"id":"broad-secret-source-control-token-preserve-02","language":"en","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad source-control-token variation.","text":"message_2: Public operational identifier: a04b3df4ed71ca6ab0f45ee1e23b24ca2ef7e71b","known_identities":[],"targets":[{"id":"value","kind":"secret","start":42,"end":82,"value":"a04b3df4ed71ca6ab0f45ee1e23b24ca2ef7e71b","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-source-control-token-preserve-02","recipe":"source-control-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["a04b3df4ed71ca6ab0f45ee1e23b24ca2ef7e71b"]},"customers":{"required_absent":[],"required_present":["a04b3df4ed71ca6ab0f45ee1e23b24ca2ef7e71b"]},"all":{"required_absent":[],"required_present":["a04b3df4ed71ca6ab0f45ee1e23b24ca2ef7e71b"]}},"tags":["broad-quality","secret-family:source-control-token","variation:02"],"secret_fixture":{"family":"source-control-token","role":"preserve"}}, + {"id":"broad-secret-source-control-token-must-detect-03","language":"en","script":"Latin","shape":"shell","risk":"critical","reason":"Locked broad source-control-token variation.","text":"MESSAGE_3='Rotating this exposed value: scm_n1MJYEl5H4Ca99FfdJdBxq7uJWnTUShR5fdV'","known_identities":[],"targets":[{"id":"value","kind":"secret","start":40,"end":80,"value":"scm_n1MJYEl5H4Ca99FfdJdBxq7uJWnTUShR5fdV","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-source-control-token-must-detect-03","recipe":"source-control-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["scm_n1MJYEl5H4Ca99FfdJdBxq7uJWnTUShR5fdV"]},"customers":{"required_absent":["scm_n1MJYEl5H4Ca99FfdJdBxq7uJWnTUShR5fdV"],"required_present":[]},"all":{"required_absent":["scm_n1MJYEl5H4Ca99FfdJdBxq7uJWnTUShR5fdV"],"required_present":[]}},"tags":["broad-quality","secret-family:source-control-token","variation:03"],"secret_fixture":{"family":"source-control-token","role":"must-detect"}}, + {"id":"broad-secret-source-control-token-preserve-03","language":"en","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad source-control-token variation.","text":"MESSAGE_3='Schema field label: f2fbcbba6d17f31baabb2d12cd6c1ada1a87a87e'","known_identities":[],"targets":[{"id":"value","kind":"secret","start":31,"end":71,"value":"f2fbcbba6d17f31baabb2d12cd6c1ada1a87a87e","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-source-control-token-preserve-03","recipe":"source-control-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["f2fbcbba6d17f31baabb2d12cd6c1ada1a87a87e"]},"customers":{"required_absent":[],"required_present":["f2fbcbba6d17f31baabb2d12cd6c1ada1a87a87e"]},"all":{"required_absent":[],"required_present":["f2fbcbba6d17f31baabb2d12cd6c1ada1a87a87e"]}},"tags":["broad-quality","secret-family:source-control-token","variation:03"],"secret_fixture":{"family":"source-control-token","role":"preserve"}}, + {"id":"broad-secret-source-control-token-must-detect-04","language":"en","script":"Latin","shape":"url","risk":"critical","reason":"Locked broad source-control-token variation.","text":"endpoint=https://192.0.2.10/4 ; Quoted credential follows: scm_deZux3MqdzMMQovI6bKVjEXoIIP6VFHjOapN","known_identities":[],"targets":[{"id":"value","kind":"secret","start":59,"end":99,"value":"scm_deZux3MqdzMMQovI6bKVjEXoIIP6VFHjOapN","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-source-control-token-must-detect-04","recipe":"source-control-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["scm_deZux3MqdzMMQovI6bKVjEXoIIP6VFHjOapN"]},"customers":{"required_absent":["scm_deZux3MqdzMMQovI6bKVjEXoIIP6VFHjOapN"],"required_present":[]},"all":{"required_absent":["scm_deZux3MqdzMMQovI6bKVjEXoIIP6VFHjOapN"],"required_present":[]}},"tags":["broad-quality","secret-family:source-control-token","variation:04"],"secret_fixture":{"family":"source-control-token","role":"must-detect"}}, + {"id":"broad-secret-source-control-token-preserve-04","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad source-control-token variation.","text":"endpoint=https://192.0.2.10/4 ; Non-confidential protocol token: dc1b65ec5c8ab01cada96c8dcdaa09af3f7eb4bc","known_identities":[],"targets":[{"id":"value","kind":"secret","start":65,"end":105,"value":"dc1b65ec5c8ab01cada96c8dcdaa09af3f7eb4bc","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-source-control-token-preserve-04","recipe":"source-control-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["dc1b65ec5c8ab01cada96c8dcdaa09af3f7eb4bc"]},"customers":{"required_absent":[],"required_present":["dc1b65ec5c8ab01cada96c8dcdaa09af3f7eb4bc"]},"all":{"required_absent":[],"required_present":["dc1b65ec5c8ab01cada96c8dcdaa09af3f7eb4bc"]}},"tags":["broad-quality","secret-family:source-control-token","variation:04"],"secret_fixture":{"family":"source-control-token","role":"preserve"}}, + {"id":"broad-secret-source-control-token-must-detect-05","language":"en","script":"Latin","shape":"markdown","risk":"critical","reason":"Locked broad source-control-token variation.","text":"**Configuration secret: scm_3KrL8Em4RXDGoAbcEkhI7vjJtVqwNSC6TiVd**","known_identities":[],"targets":[{"id":"value","kind":"secret","start":24,"end":64,"value":"scm_3KrL8Em4RXDGoAbcEkhI7vjJtVqwNSC6TiVd","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-source-control-token-must-detect-05","recipe":"source-control-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["scm_3KrL8Em4RXDGoAbcEkhI7vjJtVqwNSC6TiVd"]},"customers":{"required_absent":["scm_3KrL8Em4RXDGoAbcEkhI7vjJtVqwNSC6TiVd"],"required_present":[]},"all":{"required_absent":["scm_3KrL8Em4RXDGoAbcEkhI7vjJtVqwNSC6TiVd"],"required_present":[]}},"tags":["broad-quality","secret-family:source-control-token","variation:05"],"secret_fixture":{"family":"source-control-token","role":"must-detect"}}, + {"id":"broad-secret-source-control-token-preserve-05","language":"en","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad source-control-token variation.","text":"**Release metadata: a79ad8f9cbdcb92b7ac33aa4a4cb14c2fc68d95c**","known_identities":[],"targets":[{"id":"value","kind":"secret","start":20,"end":60,"value":"a79ad8f9cbdcb92b7ac33aa4a4cb14c2fc68d95c","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-source-control-token-preserve-05","recipe":"source-control-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["a79ad8f9cbdcb92b7ac33aa4a4cb14c2fc68d95c"]},"customers":{"required_absent":[],"required_present":["a79ad8f9cbdcb92b7ac33aa4a4cb14c2fc68d95c"]},"all":{"required_absent":[],"required_present":["a79ad8f9cbdcb92b7ac33aa4a4cb14c2fc68d95c"]}},"tags":["broad-quality","secret-family:source-control-token","variation:05"],"secret_fixture":{"family":"source-control-token","role":"preserve"}}, + {"id":"broad-secret-source-control-token-must-detect-06","language":"en","script":"Latin","shape":"html","risk":"critical","reason":"Locked broad source-control-token variation.","text":"\u003cp\u003eStack trace captured credential scm_SWlfM4RcF7vY6naRnpjJGJkCEXlkC0pMx51P\u003c/p\u003e","known_identities":[],"targets":[{"id":"value","kind":"secret","start":35,"end":75,"value":"scm_SWlfM4RcF7vY6naRnpjJGJkCEXlkC0pMx51P","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-source-control-token-must-detect-06","recipe":"source-control-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["scm_SWlfM4RcF7vY6naRnpjJGJkCEXlkC0pMx51P"]},"customers":{"required_absent":["scm_SWlfM4RcF7vY6naRnpjJGJkCEXlkC0pMx51P"],"required_present":[]},"all":{"required_absent":["scm_SWlfM4RcF7vY6naRnpjJGJkCEXlkC0pMx51P"],"required_present":[]}},"tags":["broad-quality","secret-family:source-control-token","variation:06"],"secret_fixture":{"family":"source-control-token","role":"must-detect"}}, + {"id":"broad-secret-source-control-token-preserve-06","language":"en","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad source-control-token variation.","text":"\u003cp\u003ePublic verification material: a81e7decec33a88cb7f51db7fb5ca3f27ecdc38b\u003c/p\u003e","known_identities":[],"targets":[{"id":"value","kind":"secret","start":33,"end":73,"value":"a81e7decec33a88cb7f51db7fb5ca3f27ecdc38b","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-source-control-token-preserve-06","recipe":"source-control-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["a81e7decec33a88cb7f51db7fb5ca3f27ecdc38b"]},"customers":{"required_absent":[],"required_present":["a81e7decec33a88cb7f51db7fb5ca3f27ecdc38b"]},"all":{"required_absent":[],"required_present":["a81e7decec33a88cb7f51db7fb5ca3f27ecdc38b"]}},"tags":["broad-quality","secret-family:source-control-token","variation:06"],"secret_fixture":{"family":"source-control-token","role":"preserve"}}, + {"id":"broad-secret-source-control-token-must-detect-07","language":"en","script":"Latin","shape":"quoted-reply","risk":"critical","reason":"Locked broad source-control-token variation.","text":"\u003e Wrapped message credential: scm_x9sVvK9wowDqlHIfQlcxuYY7RbXdSRseEKbn","known_identities":[],"targets":[{"id":"value","kind":"secret","start":30,"end":70,"value":"scm_x9sVvK9wowDqlHIfQlcxuYY7RbXdSRseEKbn","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-source-control-token-must-detect-07","recipe":"source-control-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["scm_x9sVvK9wowDqlHIfQlcxuYY7RbXdSRseEKbn"]},"customers":{"required_absent":["scm_x9sVvK9wowDqlHIfQlcxuYY7RbXdSRseEKbn"],"required_present":[]},"all":{"required_absent":["scm_x9sVvK9wowDqlHIfQlcxuYY7RbXdSRseEKbn"],"required_present":[]}},"tags":["broad-quality","secret-family:source-control-token","variation:07"],"secret_fixture":{"family":"source-control-token","role":"must-detect"}}, + {"id":"broad-secret-source-control-token-preserve-07","language":"en","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad source-control-token variation.","text":"\u003e Troubleshooting reference: b76f96dd2bb3e20f33cbeabdc99e5af86b0bb2af","known_identities":[],"targets":[{"id":"value","kind":"secret","start":29,"end":69,"value":"b76f96dd2bb3e20f33cbeabdc99e5af86b0bb2af","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-source-control-token-preserve-07","recipe":"source-control-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["b76f96dd2bb3e20f33cbeabdc99e5af86b0bb2af"]},"customers":{"required_absent":[],"required_present":["b76f96dd2bb3e20f33cbeabdc99e5af86b0bb2af"]},"all":{"required_absent":[],"required_present":["b76f96dd2bb3e20f33cbeabdc99e5af86b0bb2af"]}},"tags":["broad-quality","secret-family:source-control-token","variation:07"],"secret_fixture":{"family":"source-control-token","role":"preserve"}}, + {"id":"broad-secret-source-control-token-must-detect-08","language":"en","script":"Latin","shape":"log","risk":"critical","reason":"Locked broad source-control-token variation.","text":"level=warn sample=8 message=\"Credential copied from a support reply: \" value=scm_zsgB89pN8H2mxS5l\n5ICGPx2XunxeDlAnpNLd","known_identities":[],"targets":[{"id":"value","kind":"secret","start":77,"end":118,"value":"scm_zsgB89pN8H2mxS5l\n5ICGPx2XunxeDlAnpNLd","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-source-control-token-must-detect-08","recipe":"source-control-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["scm_zsgB89pN8H2mxS5l\n5ICGPx2XunxeDlAnpNLd"]},"customers":{"required_absent":["scm_zsgB89pN8H2mxS5l\n5ICGPx2XunxeDlAnpNLd"],"required_present":[]},"all":{"required_absent":["scm_zsgB89pN8H2mxS5l\n5ICGPx2XunxeDlAnpNLd"],"required_present":[]}},"tags":["broad-quality","secret-family:source-control-token","variation:08"],"secret_fixture":{"family":"source-control-token","role":"must-detect"}}, + {"id":"broad-secret-source-control-token-preserve-08","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad source-control-token variation.","text":"level=warn sample=8 message=\"Public configuration vocabulary: \" value=e3be3cad4e69d95cf1f01cc7d9ade9aacb0ebd3c","known_identities":[],"targets":[{"id":"value","kind":"secret","start":70,"end":110,"value":"e3be3cad4e69d95cf1f01cc7d9ade9aacb0ebd3c","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-source-control-token-preserve-08","recipe":"source-control-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["e3be3cad4e69d95cf1f01cc7d9ade9aacb0ebd3c"]},"customers":{"required_absent":[],"required_present":["e3be3cad4e69d95cf1f01cc7d9ade9aacb0ebd3c"]},"all":{"required_absent":[],"required_present":["e3be3cad4e69d95cf1f01cc7d9ade9aacb0ebd3c"]}},"tags":["broad-quality","secret-family:source-control-token","variation:08"],"secret_fixture":{"family":"source-control-token","role":"preserve"}}, + {"id":"broad-secret-source-control-token-must-detect-09","language":"en","script":"Latin","shape":"stack-trace","risk":"critical","reason":"Locked broad source-control-token variation.","text":"Trace[9]: Authorization header value: scm_3DB4UAoAN7jQnXMM aRARuH40i1CCiLHqmpMz","known_identities":[],"targets":[{"id":"value","kind":"secret","start":38,"end":79,"value":"scm_3DB4UAoAN7jQnXMM aRARuH40i1CCiLHqmpMz","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-source-control-token-must-detect-09","recipe":"source-control-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["scm_3DB4UAoAN7jQnXMM aRARuH40i1CCiLHqmpMz"]},"customers":{"required_absent":["scm_3DB4UAoAN7jQnXMM aRARuH40i1CCiLHqmpMz"],"required_present":[]},"all":{"required_absent":["scm_3DB4UAoAN7jQnXMM aRARuH40i1CCiLHqmpMz"],"required_present":[]}},"tags":["broad-quality","secret-family:source-control-token","variation:09"],"secret_fixture":{"family":"source-control-token","role":"must-detect"}}, + {"id":"broad-secret-source-control-token-preserve-09","language":"en","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad source-control-token variation.","text":"Trace[9]: Documentation syntax: a8eb38c61b97eaeb85d9ccfef21b3bdf2bb1bc9a","known_identities":[],"targets":[{"id":"value","kind":"secret","start":32,"end":72,"value":"a8eb38c61b97eaeb85d9ccfef21b3bdf2bb1bc9a","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-source-control-token-preserve-09","recipe":"source-control-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["a8eb38c61b97eaeb85d9ccfef21b3bdf2bb1bc9a"]},"customers":{"required_absent":[],"required_present":["a8eb38c61b97eaeb85d9ccfef21b3bdf2bb1bc9a"]},"all":{"required_absent":[],"required_present":["a8eb38c61b97eaeb85d9ccfef21b3bdf2bb1bc9a"]}},"tags":["broad-quality","secret-family:source-control-token","variation:09"],"secret_fixture":{"family":"source-control-token","role":"preserve"}}, + {"id":"broad-secret-source-control-token-must-detect-10","language":"en","script":"Latin","shape":"code","risk":"critical","reason":"Locked broad source-control-token variation.","text":"fixture_10 := `Log field auth_value=scm_TX7hk4waBRtF2FL5·aXOBHZUDhCwuzSfAh7ot`","known_identities":[],"targets":[{"id":"value","kind":"secret","start":36,"end":78,"value":"scm_TX7hk4waBRtF2FL5·aXOBHZUDhCwuzSfAh7ot","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-source-control-token-must-detect-10","recipe":"source-control-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["scm_TX7hk4waBRtF2FL5·aXOBHZUDhCwuzSfAh7ot"]},"customers":{"required_absent":["scm_TX7hk4waBRtF2FL5·aXOBHZUDhCwuzSfAh7ot"],"required_present":[]},"all":{"required_absent":["scm_TX7hk4waBRtF2FL5·aXOBHZUDhCwuzSfAh7ot"],"required_present":[]}},"tags":["broad-quality","secret-family:source-control-token","variation:10"],"secret_fixture":{"family":"source-control-token","role":"must-detect"}}, + {"id":"broad-secret-source-control-token-preserve-10","language":"en","script":"Latin","shape":"code","risk":"preservation","reason":"Locked broad source-control-token variation.","text":"fixture_10 := `Public operational identifier: d4ad2aab2fa4f2efebc27ea0ff8ca2a77a05bfbd`","known_identities":[],"targets":[{"id":"value","kind":"secret","start":46,"end":86,"value":"d4ad2aab2fa4f2efebc27ea0ff8ca2a77a05bfbd","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-source-control-token-preserve-10","recipe":"source-control-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["d4ad2aab2fa4f2efebc27ea0ff8ca2a77a05bfbd"]},"customers":{"required_absent":[],"required_present":["d4ad2aab2fa4f2efebc27ea0ff8ca2a77a05bfbd"]},"all":{"required_absent":[],"required_present":["d4ad2aab2fa4f2efebc27ea0ff8ca2a77a05bfbd"]}},"tags":["broad-quality","secret-family:source-control-token","variation:10"],"secret_fixture":{"family":"source-control-token","role":"preserve"}}, + {"id":"broad-secret-source-control-token-must-detect-11","language":"en","script":"Latin","shape":"signature","risk":"critical","reason":"Locked broad source-control-token variation.","text":"--\nRotating this exposed value: scm_rAnFEbS5Fwnsge74\u003cwbr\u003e90FfvmxhMZocrhUW51eX","known_identities":[],"targets":[{"id":"value","kind":"secret","start":32,"end":77,"value":"scm_rAnFEbS5Fwnsge74\u003cwbr\u003e90FfvmxhMZocrhUW51eX","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-source-control-token-must-detect-11","recipe":"source-control-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["scm_rAnFEbS5Fwnsge74\u003cwbr\u003e90FfvmxhMZocrhUW51eX"]},"customers":{"required_absent":["scm_rAnFEbS5Fwnsge74\u003cwbr\u003e90FfvmxhMZocrhUW51eX"],"required_present":[]},"all":{"required_absent":["scm_rAnFEbS5Fwnsge74\u003cwbr\u003e90FfvmxhMZocrhUW51eX"],"required_present":[]}},"tags":["broad-quality","secret-family:source-control-token","variation:11"],"secret_fixture":{"family":"source-control-token","role":"must-detect"}}, + {"id":"broad-secret-source-control-token-preserve-11","language":"en","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad source-control-token variation.","text":"--\nSchema field label: a92ddcd93b04c39faaa66a24e72da2d90c73c7bf","known_identities":[],"targets":[{"id":"value","kind":"secret","start":23,"end":63,"value":"a92ddcd93b04c39faaa66a24e72da2d90c73c7bf","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-source-control-token-preserve-11","recipe":"source-control-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["a92ddcd93b04c39faaa66a24e72da2d90c73c7bf"]},"customers":{"required_absent":[],"required_present":["a92ddcd93b04c39faaa66a24e72da2d90c73c7bf"]},"all":{"required_absent":[],"required_present":["a92ddcd93b04c39faaa66a24e72da2d90c73c7bf"]}},"tags":["broad-quality","secret-family:source-control-token","variation:11"],"secret_fixture":{"family":"source-control-token","role":"preserve"}}, + {"id":"broad-secret-source-control-token-must-detect-12","language":"en","script":"Latin","shape":"long-thread","risk":"critical","reason":"Locked broad source-control-token variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Quoted credential follows: scm_1MrVwlbGIKFtrxAi**TkBfeUi0ZfFvKEGXCHWO","known_identities":[],"targets":[{"id":"value","kind":"secret","start":507,"end":549,"value":"scm_1MrVwlbGIKFtrxAi**TkBfeUi0ZfFvKEGXCHWO","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-source-control-token-must-detect-12","recipe":"source-control-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["scm_1MrVwlbGIKFtrxAi**TkBfeUi0ZfFvKEGXCHWO"]},"customers":{"required_absent":["scm_1MrVwlbGIKFtrxAi**TkBfeUi0ZfFvKEGXCHWO"],"required_present":[]},"all":{"required_absent":["scm_1MrVwlbGIKFtrxAi**TkBfeUi0ZfFvKEGXCHWO"],"required_present":[]}},"tags":["broad-quality","secret-family:source-control-token","variation:12"],"secret_fixture":{"family":"source-control-token","role":"must-detect"}}, + {"id":"broad-secret-source-control-token-preserve-12","language":"en","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad source-control-token variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Non-confidential protocol token: d26b9bedfa1acfec25f5feb3f05b45b63cfbf7de","known_identities":[],"targets":[{"id":"value","kind":"secret","start":513,"end":553,"value":"d26b9bedfa1acfec25f5feb3f05b45b63cfbf7de","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-source-control-token-preserve-12","recipe":"source-control-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["d26b9bedfa1acfec25f5feb3f05b45b63cfbf7de"]},"customers":{"required_absent":[],"required_present":["d26b9bedfa1acfec25f5feb3f05b45b63cfbf7de"]},"all":{"required_absent":[],"required_present":["d26b9bedfa1acfec25f5feb3f05b45b63cfbf7de"]}},"tags":["broad-quality","secret-family:source-control-token","variation:12"],"secret_fixture":{"family":"source-control-token","role":"preserve"}}, + {"id":"broad-secret-source-control-token-must-detect-13","language":"en","script":"Latin","shape":"command-payload","risk":"critical","reason":"Locked broad source-control-token variation.","text":"--sample=13 --message=\"Configuration secret: \" --value=scm_bCgD6Mju4wFuhSlD8UPRBaEXUGJshcRkT6Vs / scm_bCgD6Mju4wFuhSlD8UPRBaEXUGJshcRkT6Vs","known_identities":[],"targets":[{"id":"value","kind":"secret","start":55,"end":138,"value":"scm_bCgD6Mju4wFuhSlD8UPRBaEXUGJshcRkT6Vs / scm_bCgD6Mju4wFuhSlD8UPRBaEXUGJshcRkT6Vs","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-source-control-token-must-detect-13","recipe":"source-control-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["scm_bCgD6Mju4wFuhSlD8UPRBaEXUGJshcRkT6Vs / scm_bCgD6Mju4wFuhSlD8UPRBaEXUGJshcRkT6Vs"]},"customers":{"required_absent":["scm_bCgD6Mju4wFuhSlD8UPRBaEXUGJshcRkT6Vs / scm_bCgD6Mju4wFuhSlD8UPRBaEXUGJshcRkT6Vs"],"required_present":[]},"all":{"required_absent":["scm_bCgD6Mju4wFuhSlD8UPRBaEXUGJshcRkT6Vs / scm_bCgD6Mju4wFuhSlD8UPRBaEXUGJshcRkT6Vs"],"required_present":[]}},"tags":["broad-quality","secret-family:source-control-token","variation:13"],"secret_fixture":{"family":"source-control-token","role":"must-detect"}}, + {"id":"broad-secret-source-control-token-preserve-13","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad source-control-token variation.","text":"--sample=13 --message=\"Release metadata: \" --value=b7bff6f16ae2ec1b0cac0f9fd9edbdf53d6da49b","known_identities":[],"targets":[{"id":"value","kind":"secret","start":51,"end":91,"value":"b7bff6f16ae2ec1b0cac0f9fd9edbdf53d6da49b","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-source-control-token-preserve-13","recipe":"source-control-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["b7bff6f16ae2ec1b0cac0f9fd9edbdf53d6da49b"]},"customers":{"required_absent":[],"required_present":["b7bff6f16ae2ec1b0cac0f9fd9edbdf53d6da49b"]},"all":{"required_absent":[],"required_present":["b7bff6f16ae2ec1b0cac0f9fd9edbdf53d6da49b"]}},"tags":["broad-quality","secret-family:source-control-token","variation:13"],"secret_fixture":{"family":"source-control-token","role":"preserve"}}, + {"id":"broad-secret-payment-credential-must-detect-00","language":"en","script":"Latin","shape":"prose","risk":"critical","reason":"Locked broad payment-credential variation.","text":"Credential copied from a support reply: paylive_77LVl0OwfXdkjXf91lzO6oyh3ipJraPu","known_identities":[],"targets":[{"id":"value","kind":"secret","start":40,"end":80,"value":"paylive_77LVl0OwfXdkjXf91lzO6oyh3ipJraPu","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-payment-credential-must-detect-00","recipe":"payment-credential","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["paylive_77LVl0OwfXdkjXf91lzO6oyh3ipJraPu"]},"customers":{"required_absent":["paylive_77LVl0OwfXdkjXf91lzO6oyh3ipJraPu"],"required_present":[]},"all":{"required_absent":["paylive_77LVl0OwfXdkjXf91lzO6oyh3ipJraPu"],"required_present":[]}},"tags":["broad-quality","secret-family:payment-credential","variation:00"],"secret_fixture":{"family":"payment-credential","role":"must-detect"}}, + {"id":"broad-secret-payment-credential-preserve-00","language":"en","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad payment-credential variation.","text":"Public configuration vocabulary: pk_live_PKA2aGFBU8CVIf697LldwsDEPMCHkMOJ","known_identities":[],"targets":[{"id":"value","kind":"secret","start":33,"end":73,"value":"pk_live_PKA2aGFBU8CVIf697LldwsDEPMCHkMOJ","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-payment-credential-preserve-00","recipe":"payment-credential","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["pk_live_PKA2aGFBU8CVIf697LldwsDEPMCHkMOJ"]},"customers":{"required_absent":[],"required_present":["pk_live_PKA2aGFBU8CVIf697LldwsDEPMCHkMOJ"]},"all":{"required_absent":[],"required_present":["pk_live_PKA2aGFBU8CVIf697LldwsDEPMCHkMOJ"]}},"tags":["broad-quality","secret-family:payment-credential","variation:00"],"secret_fixture":{"family":"payment-credential","role":"preserve"}}, + {"id":"broad-secret-payment-credential-must-detect-01","language":"en","script":"Latin","shape":"json","risk":"critical","reason":"Locked broad payment-credential variation.","text":"{\"message_1\":\"Authorization header value: paylive_UNK6hhu4PLTtREEWEHO53aJPGG7Lh4Z8\"}","known_identities":[],"targets":[{"id":"value","kind":"secret","start":42,"end":82,"value":"paylive_UNK6hhu4PLTtREEWEHO53aJPGG7Lh4Z8","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-payment-credential-must-detect-01","recipe":"payment-credential","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["paylive_UNK6hhu4PLTtREEWEHO53aJPGG7Lh4Z8"]},"customers":{"required_absent":["paylive_UNK6hhu4PLTtREEWEHO53aJPGG7Lh4Z8"],"required_present":[]},"all":{"required_absent":["paylive_UNK6hhu4PLTtREEWEHO53aJPGG7Lh4Z8"],"required_present":[]}},"tags":["broad-quality","secret-family:payment-credential","variation:01"],"secret_fixture":{"family":"payment-credential","role":"must-detect"}}, + {"id":"broad-secret-payment-credential-preserve-01","language":"en","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad payment-credential variation.","text":"{\"message_1\":\"Documentation syntax: pk_live_47F81nLzuPKg2Szf3vMdxf6DygHZ4cvD\"}","known_identities":[],"targets":[{"id":"value","kind":"secret","start":36,"end":76,"value":"pk_live_47F81nLzuPKg2Szf3vMdxf6DygHZ4cvD","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-payment-credential-preserve-01","recipe":"payment-credential","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["pk_live_47F81nLzuPKg2Szf3vMdxf6DygHZ4cvD"]},"customers":{"required_absent":[],"required_present":["pk_live_47F81nLzuPKg2Szf3vMdxf6DygHZ4cvD"]},"all":{"required_absent":[],"required_present":["pk_live_47F81nLzuPKg2Szf3vMdxf6DygHZ4cvD"]}},"tags":["broad-quality","secret-family:payment-credential","variation:01"],"secret_fixture":{"family":"payment-credential","role":"preserve"}}, + {"id":"broad-secret-payment-credential-must-detect-02","language":"en","script":"Latin","shape":"yaml","risk":"critical","reason":"Locked broad payment-credential variation.","text":"message_2: Log field auth_value=paylive_eBvjZHv4m0jmVt7o4bqfO9yocjInAckw","known_identities":[],"targets":[{"id":"value","kind":"secret","start":32,"end":72,"value":"paylive_eBvjZHv4m0jmVt7o4bqfO9yocjInAckw","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-payment-credential-must-detect-02","recipe":"payment-credential","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["paylive_eBvjZHv4m0jmVt7o4bqfO9yocjInAckw"]},"customers":{"required_absent":["paylive_eBvjZHv4m0jmVt7o4bqfO9yocjInAckw"],"required_present":[]},"all":{"required_absent":["paylive_eBvjZHv4m0jmVt7o4bqfO9yocjInAckw"],"required_present":[]}},"tags":["broad-quality","secret-family:payment-credential","variation:02"],"secret_fixture":{"family":"payment-credential","role":"must-detect"}}, + {"id":"broad-secret-payment-credential-preserve-02","language":"en","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad payment-credential variation.","text":"message_2: Public operational identifier: pk_live_meUkNvgDp8CiBIU9c0b9pRZGKBeDAdON","known_identities":[],"targets":[{"id":"value","kind":"secret","start":42,"end":82,"value":"pk_live_meUkNvgDp8CiBIU9c0b9pRZGKBeDAdON","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-payment-credential-preserve-02","recipe":"payment-credential","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["pk_live_meUkNvgDp8CiBIU9c0b9pRZGKBeDAdON"]},"customers":{"required_absent":[],"required_present":["pk_live_meUkNvgDp8CiBIU9c0b9pRZGKBeDAdON"]},"all":{"required_absent":[],"required_present":["pk_live_meUkNvgDp8CiBIU9c0b9pRZGKBeDAdON"]}},"tags":["broad-quality","secret-family:payment-credential","variation:02"],"secret_fixture":{"family":"payment-credential","role":"preserve"}}, + {"id":"broad-secret-payment-credential-must-detect-03","language":"en","script":"Latin","shape":"shell","risk":"critical","reason":"Locked broad payment-credential variation.","text":"MESSAGE_3='Rotating this exposed value: paylive_r3Ssn4zynw63PV0iK7KDZBtKOIvCtr9i'","known_identities":[],"targets":[{"id":"value","kind":"secret","start":40,"end":80,"value":"paylive_r3Ssn4zynw63PV0iK7KDZBtKOIvCtr9i","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-payment-credential-must-detect-03","recipe":"payment-credential","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["paylive_r3Ssn4zynw63PV0iK7KDZBtKOIvCtr9i"]},"customers":{"required_absent":["paylive_r3Ssn4zynw63PV0iK7KDZBtKOIvCtr9i"],"required_present":[]},"all":{"required_absent":["paylive_r3Ssn4zynw63PV0iK7KDZBtKOIvCtr9i"],"required_present":[]}},"tags":["broad-quality","secret-family:payment-credential","variation:03"],"secret_fixture":{"family":"payment-credential","role":"must-detect"}}, + {"id":"broad-secret-payment-credential-preserve-03","language":"en","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad payment-credential variation.","text":"MESSAGE_3='Schema field label: pk_live_755YgqNC5sqdxQ822ffrgZQfFjSAecDA'","known_identities":[],"targets":[{"id":"value","kind":"secret","start":31,"end":71,"value":"pk_live_755YgqNC5sqdxQ822ffrgZQfFjSAecDA","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-payment-credential-preserve-03","recipe":"payment-credential","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["pk_live_755YgqNC5sqdxQ822ffrgZQfFjSAecDA"]},"customers":{"required_absent":[],"required_present":["pk_live_755YgqNC5sqdxQ822ffrgZQfFjSAecDA"]},"all":{"required_absent":[],"required_present":["pk_live_755YgqNC5sqdxQ822ffrgZQfFjSAecDA"]}},"tags":["broad-quality","secret-family:payment-credential","variation:03"],"secret_fixture":{"family":"payment-credential","role":"preserve"}}, + {"id":"broad-secret-payment-credential-must-detect-04","language":"en","script":"Latin","shape":"url","risk":"critical","reason":"Locked broad payment-credential variation.","text":"endpoint=https://192.0.2.10/4 ; Quoted credential follows: paylive_LiWecu9GOqJqVbb44jslWp1fDbn4tSBn","known_identities":[],"targets":[{"id":"value","kind":"secret","start":59,"end":99,"value":"paylive_LiWecu9GOqJqVbb44jslWp1fDbn4tSBn","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-payment-credential-must-detect-04","recipe":"payment-credential","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["paylive_LiWecu9GOqJqVbb44jslWp1fDbn4tSBn"]},"customers":{"required_absent":["paylive_LiWecu9GOqJqVbb44jslWp1fDbn4tSBn"],"required_present":[]},"all":{"required_absent":["paylive_LiWecu9GOqJqVbb44jslWp1fDbn4tSBn"],"required_present":[]}},"tags":["broad-quality","secret-family:payment-credential","variation:04"],"secret_fixture":{"family":"payment-credential","role":"must-detect"}}, + {"id":"broad-secret-payment-credential-preserve-04","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad payment-credential variation.","text":"endpoint=https://192.0.2.10/4 ; Non-confidential protocol token: pk_live_LYgipxicakgYf0hkfHy7HBsDO0pdEugZ","known_identities":[],"targets":[{"id":"value","kind":"secret","start":65,"end":105,"value":"pk_live_LYgipxicakgYf0hkfHy7HBsDO0pdEugZ","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-payment-credential-preserve-04","recipe":"payment-credential","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["pk_live_LYgipxicakgYf0hkfHy7HBsDO0pdEugZ"]},"customers":{"required_absent":[],"required_present":["pk_live_LYgipxicakgYf0hkfHy7HBsDO0pdEugZ"]},"all":{"required_absent":[],"required_present":["pk_live_LYgipxicakgYf0hkfHy7HBsDO0pdEugZ"]}},"tags":["broad-quality","secret-family:payment-credential","variation:04"],"secret_fixture":{"family":"payment-credential","role":"preserve"}}, + {"id":"broad-secret-payment-credential-must-detect-05","language":"en","script":"Latin","shape":"markdown","risk":"critical","reason":"Locked broad payment-credential variation.","text":"**Configuration secret: paylive_EDqPcwPCU2FBK35mjlnp4Em2DppSCnk9**","known_identities":[],"targets":[{"id":"value","kind":"secret","start":24,"end":64,"value":"paylive_EDqPcwPCU2FBK35mjlnp4Em2DppSCnk9","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-payment-credential-must-detect-05","recipe":"payment-credential","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["paylive_EDqPcwPCU2FBK35mjlnp4Em2DppSCnk9"]},"customers":{"required_absent":["paylive_EDqPcwPCU2FBK35mjlnp4Em2DppSCnk9"],"required_present":[]},"all":{"required_absent":["paylive_EDqPcwPCU2FBK35mjlnp4Em2DppSCnk9"],"required_present":[]}},"tags":["broad-quality","secret-family:payment-credential","variation:05"],"secret_fixture":{"family":"payment-credential","role":"must-detect"}}, + {"id":"broad-secret-payment-credential-preserve-05","language":"en","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad payment-credential variation.","text":"**Release metadata: pk_live_zm2mfC1OZFq1EKYzmK1jnFKU4lNP2n6F**","known_identities":[],"targets":[{"id":"value","kind":"secret","start":20,"end":60,"value":"pk_live_zm2mfC1OZFq1EKYzmK1jnFKU4lNP2n6F","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-payment-credential-preserve-05","recipe":"payment-credential","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["pk_live_zm2mfC1OZFq1EKYzmK1jnFKU4lNP2n6F"]},"customers":{"required_absent":[],"required_present":["pk_live_zm2mfC1OZFq1EKYzmK1jnFKU4lNP2n6F"]},"all":{"required_absent":[],"required_present":["pk_live_zm2mfC1OZFq1EKYzmK1jnFKU4lNP2n6F"]}},"tags":["broad-quality","secret-family:payment-credential","variation:05"],"secret_fixture":{"family":"payment-credential","role":"preserve"}}, + {"id":"broad-secret-payment-credential-must-detect-06","language":"en","script":"Latin","shape":"html","risk":"critical","reason":"Locked broad payment-credential variation.","text":"\u003cp\u003eStack trace captured credential paylive_eABCSmj0rrP7DUH7ZqAbS6tCF3P4FzOa\u003c/p\u003e","known_identities":[],"targets":[{"id":"value","kind":"secret","start":35,"end":75,"value":"paylive_eABCSmj0rrP7DUH7ZqAbS6tCF3P4FzOa","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-payment-credential-must-detect-06","recipe":"payment-credential","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["paylive_eABCSmj0rrP7DUH7ZqAbS6tCF3P4FzOa"]},"customers":{"required_absent":["paylive_eABCSmj0rrP7DUH7ZqAbS6tCF3P4FzOa"],"required_present":[]},"all":{"required_absent":["paylive_eABCSmj0rrP7DUH7ZqAbS6tCF3P4FzOa"],"required_present":[]}},"tags":["broad-quality","secret-family:payment-credential","variation:06"],"secret_fixture":{"family":"payment-credential","role":"must-detect"}}, + {"id":"broad-secret-payment-credential-preserve-06","language":"en","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad payment-credential variation.","text":"\u003cp\u003ePublic verification material: pk_live_2uhEUeE7zRvsGI2VWYiqbEoHNz1FfHvw\u003c/p\u003e","known_identities":[],"targets":[{"id":"value","kind":"secret","start":33,"end":73,"value":"pk_live_2uhEUeE7zRvsGI2VWYiqbEoHNz1FfHvw","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-payment-credential-preserve-06","recipe":"payment-credential","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["pk_live_2uhEUeE7zRvsGI2VWYiqbEoHNz1FfHvw"]},"customers":{"required_absent":[],"required_present":["pk_live_2uhEUeE7zRvsGI2VWYiqbEoHNz1FfHvw"]},"all":{"required_absent":[],"required_present":["pk_live_2uhEUeE7zRvsGI2VWYiqbEoHNz1FfHvw"]}},"tags":["broad-quality","secret-family:payment-credential","variation:06"],"secret_fixture":{"family":"payment-credential","role":"preserve"}}, + {"id":"broad-secret-payment-credential-must-detect-07","language":"en","script":"Latin","shape":"quoted-reply","risk":"critical","reason":"Locked broad payment-credential variation.","text":"\u003e Wrapped message credential: paylive_EGiA0xMaTH6ROn3xfPKwP8xTzKVHXusV","known_identities":[],"targets":[{"id":"value","kind":"secret","start":30,"end":70,"value":"paylive_EGiA0xMaTH6ROn3xfPKwP8xTzKVHXusV","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-payment-credential-must-detect-07","recipe":"payment-credential","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["paylive_EGiA0xMaTH6ROn3xfPKwP8xTzKVHXusV"]},"customers":{"required_absent":["paylive_EGiA0xMaTH6ROn3xfPKwP8xTzKVHXusV"],"required_present":[]},"all":{"required_absent":["paylive_EGiA0xMaTH6ROn3xfPKwP8xTzKVHXusV"],"required_present":[]}},"tags":["broad-quality","secret-family:payment-credential","variation:07"],"secret_fixture":{"family":"payment-credential","role":"must-detect"}}, + {"id":"broad-secret-payment-credential-preserve-07","language":"en","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad payment-credential variation.","text":"\u003e Troubleshooting reference: pk_live_83t0xgyoJ4PMtuD1aX7qCqGfZzGhaQL8","known_identities":[],"targets":[{"id":"value","kind":"secret","start":29,"end":69,"value":"pk_live_83t0xgyoJ4PMtuD1aX7qCqGfZzGhaQL8","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-payment-credential-preserve-07","recipe":"payment-credential","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["pk_live_83t0xgyoJ4PMtuD1aX7qCqGfZzGhaQL8"]},"customers":{"required_absent":[],"required_present":["pk_live_83t0xgyoJ4PMtuD1aX7qCqGfZzGhaQL8"]},"all":{"required_absent":[],"required_present":["pk_live_83t0xgyoJ4PMtuD1aX7qCqGfZzGhaQL8"]}},"tags":["broad-quality","secret-family:payment-credential","variation:07"],"secret_fixture":{"family":"payment-credential","role":"preserve"}}, + {"id":"broad-secret-payment-credential-must-detect-08","language":"en","script":"Latin","shape":"log","risk":"critical","reason":"Locked broad payment-credential variation.","text":"level=warn sample=8 message=\"Credential copied from a support reply: \" value=paylive_1K89BwsydnUh\nTzxqT7BpDINV0PuaB5Fg","known_identities":[],"targets":[{"id":"value","kind":"secret","start":77,"end":118,"value":"paylive_1K89BwsydnUh\nTzxqT7BpDINV0PuaB5Fg","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-payment-credential-must-detect-08","recipe":"payment-credential","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["paylive_1K89BwsydnUh\nTzxqT7BpDINV0PuaB5Fg"]},"customers":{"required_absent":["paylive_1K89BwsydnUh\nTzxqT7BpDINV0PuaB5Fg"],"required_present":[]},"all":{"required_absent":["paylive_1K89BwsydnUh\nTzxqT7BpDINV0PuaB5Fg"],"required_present":[]}},"tags":["broad-quality","secret-family:payment-credential","variation:08"],"secret_fixture":{"family":"payment-credential","role":"must-detect"}}, + {"id":"broad-secret-payment-credential-preserve-08","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad payment-credential variation.","text":"level=warn sample=8 message=\"Public configuration vocabulary: \" value=pk_live_zLhD9k4aJqyEJHSBMkwFltzqSW7sRKwl","known_identities":[],"targets":[{"id":"value","kind":"secret","start":70,"end":110,"value":"pk_live_zLhD9k4aJqyEJHSBMkwFltzqSW7sRKwl","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-payment-credential-preserve-08","recipe":"payment-credential","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["pk_live_zLhD9k4aJqyEJHSBMkwFltzqSW7sRKwl"]},"customers":{"required_absent":[],"required_present":["pk_live_zLhD9k4aJqyEJHSBMkwFltzqSW7sRKwl"]},"all":{"required_absent":[],"required_present":["pk_live_zLhD9k4aJqyEJHSBMkwFltzqSW7sRKwl"]}},"tags":["broad-quality","secret-family:payment-credential","variation:08"],"secret_fixture":{"family":"payment-credential","role":"preserve"}}, + {"id":"broad-secret-payment-credential-must-detect-09","language":"en","script":"Latin","shape":"stack-trace","risk":"critical","reason":"Locked broad payment-credential variation.","text":"Trace[9]: Authorization header value: paylive_gU9ATCNuBAm5 EJw6HW2oxnDuil4AVTfD","known_identities":[],"targets":[{"id":"value","kind":"secret","start":38,"end":79,"value":"paylive_gU9ATCNuBAm5 EJw6HW2oxnDuil4AVTfD","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-payment-credential-must-detect-09","recipe":"payment-credential","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["paylive_gU9ATCNuBAm5 EJw6HW2oxnDuil4AVTfD"]},"customers":{"required_absent":["paylive_gU9ATCNuBAm5 EJw6HW2oxnDuil4AVTfD"],"required_present":[]},"all":{"required_absent":["paylive_gU9ATCNuBAm5 EJw6HW2oxnDuil4AVTfD"],"required_present":[]}},"tags":["broad-quality","secret-family:payment-credential","variation:09"],"secret_fixture":{"family":"payment-credential","role":"must-detect"}}, + {"id":"broad-secret-payment-credential-preserve-09","language":"en","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad payment-credential variation.","text":"Trace[9]: Documentation syntax: pk_live_JUniBHtDCNoLCilGEAX6xSVdX5zjAC6G","known_identities":[],"targets":[{"id":"value","kind":"secret","start":32,"end":72,"value":"pk_live_JUniBHtDCNoLCilGEAX6xSVdX5zjAC6G","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-payment-credential-preserve-09","recipe":"payment-credential","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["pk_live_JUniBHtDCNoLCilGEAX6xSVdX5zjAC6G"]},"customers":{"required_absent":[],"required_present":["pk_live_JUniBHtDCNoLCilGEAX6xSVdX5zjAC6G"]},"all":{"required_absent":[],"required_present":["pk_live_JUniBHtDCNoLCilGEAX6xSVdX5zjAC6G"]}},"tags":["broad-quality","secret-family:payment-credential","variation:09"],"secret_fixture":{"family":"payment-credential","role":"preserve"}}, + {"id":"broad-secret-payment-credential-must-detect-10","language":"en","script":"Latin","shape":"code","risk":"critical","reason":"Locked broad payment-credential variation.","text":"fixture_10 := `Log field auth_value=paylive_f9kOYFYsbR0h·ffpHCDlceHsUR5Crijaf`","known_identities":[],"targets":[{"id":"value","kind":"secret","start":36,"end":78,"value":"paylive_f9kOYFYsbR0h·ffpHCDlceHsUR5Crijaf","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-payment-credential-must-detect-10","recipe":"payment-credential","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["paylive_f9kOYFYsbR0h·ffpHCDlceHsUR5Crijaf"]},"customers":{"required_absent":["paylive_f9kOYFYsbR0h·ffpHCDlceHsUR5Crijaf"],"required_present":[]},"all":{"required_absent":["paylive_f9kOYFYsbR0h·ffpHCDlceHsUR5Crijaf"],"required_present":[]}},"tags":["broad-quality","secret-family:payment-credential","variation:10"],"secret_fixture":{"family":"payment-credential","role":"must-detect"}}, + {"id":"broad-secret-payment-credential-preserve-10","language":"en","script":"Latin","shape":"code","risk":"preservation","reason":"Locked broad payment-credential variation.","text":"fixture_10 := `Public operational identifier: pk_live_aE3wDCv2JY6054AH0GevxatCkI6D6SyO`","known_identities":[],"targets":[{"id":"value","kind":"secret","start":46,"end":86,"value":"pk_live_aE3wDCv2JY6054AH0GevxatCkI6D6SyO","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-payment-credential-preserve-10","recipe":"payment-credential","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["pk_live_aE3wDCv2JY6054AH0GevxatCkI6D6SyO"]},"customers":{"required_absent":[],"required_present":["pk_live_aE3wDCv2JY6054AH0GevxatCkI6D6SyO"]},"all":{"required_absent":[],"required_present":["pk_live_aE3wDCv2JY6054AH0GevxatCkI6D6SyO"]}},"tags":["broad-quality","secret-family:payment-credential","variation:10"],"secret_fixture":{"family":"payment-credential","role":"preserve"}}, + {"id":"broad-secret-payment-credential-must-detect-11","language":"en","script":"Latin","shape":"signature","risk":"critical","reason":"Locked broad payment-credential variation.","text":"--\nRotating this exposed value: paylive_I4JIQRSRz6RL\u003cwbr\u003eVPzg2C8p9w4GNyWGmLYH","known_identities":[],"targets":[{"id":"value","kind":"secret","start":32,"end":77,"value":"paylive_I4JIQRSRz6RL\u003cwbr\u003eVPzg2C8p9w4GNyWGmLYH","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-payment-credential-must-detect-11","recipe":"payment-credential","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["paylive_I4JIQRSRz6RL\u003cwbr\u003eVPzg2C8p9w4GNyWGmLYH"]},"customers":{"required_absent":["paylive_I4JIQRSRz6RL\u003cwbr\u003eVPzg2C8p9w4GNyWGmLYH"],"required_present":[]},"all":{"required_absent":["paylive_I4JIQRSRz6RL\u003cwbr\u003eVPzg2C8p9w4GNyWGmLYH"],"required_present":[]}},"tags":["broad-quality","secret-family:payment-credential","variation:11"],"secret_fixture":{"family":"payment-credential","role":"must-detect"}}, + {"id":"broad-secret-payment-credential-preserve-11","language":"en","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad payment-credential variation.","text":"--\nSchema field label: pk_live_E9zyvmD57rjXcbYiBIAjGA6yA1Y6DQ34","known_identities":[],"targets":[{"id":"value","kind":"secret","start":23,"end":63,"value":"pk_live_E9zyvmD57rjXcbYiBIAjGA6yA1Y6DQ34","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-payment-credential-preserve-11","recipe":"payment-credential","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["pk_live_E9zyvmD57rjXcbYiBIAjGA6yA1Y6DQ34"]},"customers":{"required_absent":[],"required_present":["pk_live_E9zyvmD57rjXcbYiBIAjGA6yA1Y6DQ34"]},"all":{"required_absent":[],"required_present":["pk_live_E9zyvmD57rjXcbYiBIAjGA6yA1Y6DQ34"]}},"tags":["broad-quality","secret-family:payment-credential","variation:11"],"secret_fixture":{"family":"payment-credential","role":"preserve"}}, + {"id":"broad-secret-payment-credential-must-detect-12","language":"en","script":"Latin","shape":"long-thread","risk":"critical","reason":"Locked broad payment-credential variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Quoted credential follows: paylive_Tx4XkLW419mM**vzf3DjcTCXnMAGPxXhsF","known_identities":[],"targets":[{"id":"value","kind":"secret","start":507,"end":549,"value":"paylive_Tx4XkLW419mM**vzf3DjcTCXnMAGPxXhsF","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-payment-credential-must-detect-12","recipe":"payment-credential","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["paylive_Tx4XkLW419mM**vzf3DjcTCXnMAGPxXhsF"]},"customers":{"required_absent":["paylive_Tx4XkLW419mM**vzf3DjcTCXnMAGPxXhsF"],"required_present":[]},"all":{"required_absent":["paylive_Tx4XkLW419mM**vzf3DjcTCXnMAGPxXhsF"],"required_present":[]}},"tags":["broad-quality","secret-family:payment-credential","variation:12"],"secret_fixture":{"family":"payment-credential","role":"must-detect"}}, + {"id":"broad-secret-payment-credential-preserve-12","language":"en","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad payment-credential variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Non-confidential protocol token: pk_live_GcC3dl0j0zeLwagikBFrIBHd9sDhO1aA","known_identities":[],"targets":[{"id":"value","kind":"secret","start":513,"end":553,"value":"pk_live_GcC3dl0j0zeLwagikBFrIBHd9sDhO1aA","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-payment-credential-preserve-12","recipe":"payment-credential","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["pk_live_GcC3dl0j0zeLwagikBFrIBHd9sDhO1aA"]},"customers":{"required_absent":[],"required_present":["pk_live_GcC3dl0j0zeLwagikBFrIBHd9sDhO1aA"]},"all":{"required_absent":[],"required_present":["pk_live_GcC3dl0j0zeLwagikBFrIBHd9sDhO1aA"]}},"tags":["broad-quality","secret-family:payment-credential","variation:12"],"secret_fixture":{"family":"payment-credential","role":"preserve"}}, + {"id":"broad-secret-payment-credential-must-detect-13","language":"en","script":"Latin","shape":"command-payload","risk":"critical","reason":"Locked broad payment-credential variation.","text":"--sample=13 --message=\"Configuration secret: \" --value=paylive_LirbgQVySR9dVyWb0Sg0EJZSaoPKu9fd / paylive_LirbgQVySR9dVyWb0Sg0EJZSaoPKu9fd","known_identities":[],"targets":[{"id":"value","kind":"secret","start":55,"end":138,"value":"paylive_LirbgQVySR9dVyWb0Sg0EJZSaoPKu9fd / paylive_LirbgQVySR9dVyWb0Sg0EJZSaoPKu9fd","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-payment-credential-must-detect-13","recipe":"payment-credential","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["paylive_LirbgQVySR9dVyWb0Sg0EJZSaoPKu9fd / paylive_LirbgQVySR9dVyWb0Sg0EJZSaoPKu9fd"]},"customers":{"required_absent":["paylive_LirbgQVySR9dVyWb0Sg0EJZSaoPKu9fd / paylive_LirbgQVySR9dVyWb0Sg0EJZSaoPKu9fd"],"required_present":[]},"all":{"required_absent":["paylive_LirbgQVySR9dVyWb0Sg0EJZSaoPKu9fd / paylive_LirbgQVySR9dVyWb0Sg0EJZSaoPKu9fd"],"required_present":[]}},"tags":["broad-quality","secret-family:payment-credential","variation:13"],"secret_fixture":{"family":"payment-credential","role":"must-detect"}}, + {"id":"broad-secret-payment-credential-preserve-13","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad payment-credential variation.","text":"--sample=13 --message=\"Release metadata: \" --value=pk_live_DtP1bEvoK31ca8gWcGXHU4rRQ5Cp25qd","known_identities":[],"targets":[{"id":"value","kind":"secret","start":51,"end":91,"value":"pk_live_DtP1bEvoK31ca8gWcGXHU4rRQ5Cp25qd","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-payment-credential-preserve-13","recipe":"payment-credential","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["pk_live_DtP1bEvoK31ca8gWcGXHU4rRQ5Cp25qd"]},"customers":{"required_absent":[],"required_present":["pk_live_DtP1bEvoK31ca8gWcGXHU4rRQ5Cp25qd"]},"all":{"required_absent":[],"required_present":["pk_live_DtP1bEvoK31ca8gWcGXHU4rRQ5Cp25qd"]}},"tags":["broad-quality","secret-family:payment-credential","variation:13"],"secret_fixture":{"family":"payment-credential","role":"preserve"}}, + {"id":"broad-secret-observability-token-must-detect-00","language":"en","script":"Latin","shape":"prose","risk":"critical","reason":"Locked broad observability-token variation.","text":"Credential copied from a support reply: obsap_467dfd20dbc1adef94d51a706b6fe937","known_identities":[],"targets":[{"id":"value","kind":"secret","start":40,"end":78,"value":"obsap_467dfd20dbc1adef94d51a706b6fe937","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-observability-token-must-detect-00","recipe":"observability-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["obsap_467dfd20dbc1adef94d51a706b6fe937"]},"customers":{"required_absent":["obsap_467dfd20dbc1adef94d51a706b6fe937"],"required_present":[]},"all":{"required_absent":["obsap_467dfd20dbc1adef94d51a706b6fe937"],"required_present":[]}},"tags":["broad-quality","secret-family:observability-token","variation:00"],"secret_fixture":{"family":"observability-token","role":"must-detect"}}, + {"id":"broad-secret-observability-token-preserve-00","language":"en","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad observability-token variation.","text":"Public configuration vocabulary: eefbf6b91b5fcd6c89b08d90b74c5ca8","known_identities":[],"targets":[{"id":"value","kind":"secret","start":33,"end":65,"value":"eefbf6b91b5fcd6c89b08d90b74c5ca8","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-observability-token-preserve-00","recipe":"observability-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["eefbf6b91b5fcd6c89b08d90b74c5ca8"]},"customers":{"required_absent":[],"required_present":["eefbf6b91b5fcd6c89b08d90b74c5ca8"]},"all":{"required_absent":[],"required_present":["eefbf6b91b5fcd6c89b08d90b74c5ca8"]}},"tags":["broad-quality","secret-family:observability-token","variation:00"],"secret_fixture":{"family":"observability-token","role":"preserve"}}, + {"id":"broad-secret-observability-token-must-detect-01","language":"en","script":"Latin","shape":"json","risk":"critical","reason":"Locked broad observability-token variation.","text":"{\"message_1\":\"Authorization header value: obsap_7cecd20ca6eb2e9821f07fdca28c3269\"}","known_identities":[],"targets":[{"id":"value","kind":"secret","start":42,"end":80,"value":"obsap_7cecd20ca6eb2e9821f07fdca28c3269","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-observability-token-must-detect-01","recipe":"observability-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["obsap_7cecd20ca6eb2e9821f07fdca28c3269"]},"customers":{"required_absent":["obsap_7cecd20ca6eb2e9821f07fdca28c3269"],"required_present":[]},"all":{"required_absent":["obsap_7cecd20ca6eb2e9821f07fdca28c3269"],"required_present":[]}},"tags":["broad-quality","secret-family:observability-token","variation:01"],"secret_fixture":{"family":"observability-token","role":"must-detect"}}, + {"id":"broad-secret-observability-token-preserve-01","language":"en","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad observability-token variation.","text":"{\"message_1\":\"Documentation syntax: e9fe45c64a12cccc79d80ee8d88e5cdd\"}","known_identities":[],"targets":[{"id":"value","kind":"secret","start":36,"end":68,"value":"e9fe45c64a12cccc79d80ee8d88e5cdd","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-observability-token-preserve-01","recipe":"observability-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["e9fe45c64a12cccc79d80ee8d88e5cdd"]},"customers":{"required_absent":[],"required_present":["e9fe45c64a12cccc79d80ee8d88e5cdd"]},"all":{"required_absent":[],"required_present":["e9fe45c64a12cccc79d80ee8d88e5cdd"]}},"tags":["broad-quality","secret-family:observability-token","variation:01"],"secret_fixture":{"family":"observability-token","role":"preserve"}}, + {"id":"broad-secret-observability-token-must-detect-02","language":"en","script":"Latin","shape":"yaml","risk":"critical","reason":"Locked broad observability-token variation.","text":"message_2: Log field auth_value=obsap_d41b620bcaa4e3bf63bedcc2d7913561","known_identities":[],"targets":[{"id":"value","kind":"secret","start":32,"end":70,"value":"obsap_d41b620bcaa4e3bf63bedcc2d7913561","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-observability-token-must-detect-02","recipe":"observability-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["obsap_d41b620bcaa4e3bf63bedcc2d7913561"]},"customers":{"required_absent":["obsap_d41b620bcaa4e3bf63bedcc2d7913561"],"required_present":[]},"all":{"required_absent":["obsap_d41b620bcaa4e3bf63bedcc2d7913561"],"required_present":[]}},"tags":["broad-quality","secret-family:observability-token","variation:02"],"secret_fixture":{"family":"observability-token","role":"must-detect"}}, + {"id":"broad-secret-observability-token-preserve-02","language":"en","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad observability-token variation.","text":"message_2: Public operational identifier: fa8ab0e35b97eecbd1b33fbefadb6ef1","known_identities":[],"targets":[{"id":"value","kind":"secret","start":42,"end":74,"value":"fa8ab0e35b97eecbd1b33fbefadb6ef1","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-observability-token-preserve-02","recipe":"observability-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["fa8ab0e35b97eecbd1b33fbefadb6ef1"]},"customers":{"required_absent":[],"required_present":["fa8ab0e35b97eecbd1b33fbefadb6ef1"]},"all":{"required_absent":[],"required_present":["fa8ab0e35b97eecbd1b33fbefadb6ef1"]}},"tags":["broad-quality","secret-family:observability-token","variation:02"],"secret_fixture":{"family":"observability-token","role":"preserve"}}, + {"id":"broad-secret-observability-token-must-detect-03","language":"en","script":"Latin","shape":"shell","risk":"critical","reason":"Locked broad observability-token variation.","text":"MESSAGE_3='Rotating this exposed value: obsap_8ad9061d382acb4ad876e933a3b13f0c'","known_identities":[],"targets":[{"id":"value","kind":"secret","start":40,"end":78,"value":"obsap_8ad9061d382acb4ad876e933a3b13f0c","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-observability-token-must-detect-03","recipe":"observability-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["obsap_8ad9061d382acb4ad876e933a3b13f0c"]},"customers":{"required_absent":["obsap_8ad9061d382acb4ad876e933a3b13f0c"],"required_present":[]},"all":{"required_absent":["obsap_8ad9061d382acb4ad876e933a3b13f0c"],"required_present":[]}},"tags":["broad-quality","secret-family:observability-token","variation:03"],"secret_fixture":{"family":"observability-token","role":"must-detect"}}, + {"id":"broad-secret-observability-token-preserve-03","language":"en","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad observability-token variation.","text":"MESSAGE_3='Schema field label: ecefd0c5aa76b94a07a84b36df1e26c9'","known_identities":[],"targets":[{"id":"value","kind":"secret","start":31,"end":63,"value":"ecefd0c5aa76b94a07a84b36df1e26c9","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-observability-token-preserve-03","recipe":"observability-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["ecefd0c5aa76b94a07a84b36df1e26c9"]},"customers":{"required_absent":[],"required_present":["ecefd0c5aa76b94a07a84b36df1e26c9"]},"all":{"required_absent":[],"required_present":["ecefd0c5aa76b94a07a84b36df1e26c9"]}},"tags":["broad-quality","secret-family:observability-token","variation:03"],"secret_fixture":{"family":"observability-token","role":"preserve"}}, + {"id":"broad-secret-observability-token-must-detect-04","language":"en","script":"Latin","shape":"url","risk":"critical","reason":"Locked broad observability-token variation.","text":"endpoint=https://192.0.2.10/4 ; Quoted credential follows: obsap_19494d979ffed3a989323819bcfcb2c8","known_identities":[],"targets":[{"id":"value","kind":"secret","start":59,"end":97,"value":"obsap_19494d979ffed3a989323819bcfcb2c8","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-observability-token-must-detect-04","recipe":"observability-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["obsap_19494d979ffed3a989323819bcfcb2c8"]},"customers":{"required_absent":["obsap_19494d979ffed3a989323819bcfcb2c8"],"required_present":[]},"all":{"required_absent":["obsap_19494d979ffed3a989323819bcfcb2c8"],"required_present":[]}},"tags":["broad-quality","secret-family:observability-token","variation:04"],"secret_fixture":{"family":"observability-token","role":"must-detect"}}, + {"id":"broad-secret-observability-token-preserve-04","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad observability-token variation.","text":"endpoint=https://192.0.2.10/4 ; Non-confidential protocol token: a0bb66e76ebbdf6f1bfc3ba3c38dadaf","known_identities":[],"targets":[{"id":"value","kind":"secret","start":65,"end":97,"value":"a0bb66e76ebbdf6f1bfc3ba3c38dadaf","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-observability-token-preserve-04","recipe":"observability-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["a0bb66e76ebbdf6f1bfc3ba3c38dadaf"]},"customers":{"required_absent":[],"required_present":["a0bb66e76ebbdf6f1bfc3ba3c38dadaf"]},"all":{"required_absent":[],"required_present":["a0bb66e76ebbdf6f1bfc3ba3c38dadaf"]}},"tags":["broad-quality","secret-family:observability-token","variation:04"],"secret_fixture":{"family":"observability-token","role":"preserve"}}, + {"id":"broad-secret-observability-token-must-detect-05","language":"en","script":"Latin","shape":"markdown","risk":"critical","reason":"Locked broad observability-token variation.","text":"**Configuration secret: obsap_eb3d03d87632a4ff2493c0015ddb39e1**","known_identities":[],"targets":[{"id":"value","kind":"secret","start":24,"end":62,"value":"obsap_eb3d03d87632a4ff2493c0015ddb39e1","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-observability-token-must-detect-05","recipe":"observability-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["obsap_eb3d03d87632a4ff2493c0015ddb39e1"]},"customers":{"required_absent":["obsap_eb3d03d87632a4ff2493c0015ddb39e1"],"required_present":[]},"all":{"required_absent":["obsap_eb3d03d87632a4ff2493c0015ddb39e1"],"required_present":[]}},"tags":["broad-quality","secret-family:observability-token","variation:05"],"secret_fixture":{"family":"observability-token","role":"must-detect"}}, + {"id":"broad-secret-observability-token-preserve-05","language":"en","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad observability-token variation.","text":"**Release metadata: e30b45d9afd1c87fbec51bf0cf4f18bb**","known_identities":[],"targets":[{"id":"value","kind":"secret","start":20,"end":52,"value":"e30b45d9afd1c87fbec51bf0cf4f18bb","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-observability-token-preserve-05","recipe":"observability-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["e30b45d9afd1c87fbec51bf0cf4f18bb"]},"customers":{"required_absent":[],"required_present":["e30b45d9afd1c87fbec51bf0cf4f18bb"]},"all":{"required_absent":[],"required_present":["e30b45d9afd1c87fbec51bf0cf4f18bb"]}},"tags":["broad-quality","secret-family:observability-token","variation:05"],"secret_fixture":{"family":"observability-token","role":"preserve"}}, + {"id":"broad-secret-observability-token-must-detect-06","language":"en","script":"Latin","shape":"html","risk":"critical","reason":"Locked broad observability-token variation.","text":"\u003cp\u003eStack trace captured credential obsap_2138547ffffc51a3c09b8ac55980739a\u003c/p\u003e","known_identities":[],"targets":[{"id":"value","kind":"secret","start":35,"end":73,"value":"obsap_2138547ffffc51a3c09b8ac55980739a","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-observability-token-must-detect-06","recipe":"observability-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["obsap_2138547ffffc51a3c09b8ac55980739a"]},"customers":{"required_absent":["obsap_2138547ffffc51a3c09b8ac55980739a"],"required_present":[]},"all":{"required_absent":["obsap_2138547ffffc51a3c09b8ac55980739a"],"required_present":[]}},"tags":["broad-quality","secret-family:observability-token","variation:06"],"secret_fixture":{"family":"observability-token","role":"must-detect"}}, + {"id":"broad-secret-observability-token-preserve-06","language":"en","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad observability-token variation.","text":"\u003cp\u003ePublic verification material: a18e28da7ab4dcca58ac5abcf4bcb5fa\u003c/p\u003e","known_identities":[],"targets":[{"id":"value","kind":"secret","start":33,"end":65,"value":"a18e28da7ab4dcca58ac5abcf4bcb5fa","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-observability-token-preserve-06","recipe":"observability-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["a18e28da7ab4dcca58ac5abcf4bcb5fa"]},"customers":{"required_absent":[],"required_present":["a18e28da7ab4dcca58ac5abcf4bcb5fa"]},"all":{"required_absent":[],"required_present":["a18e28da7ab4dcca58ac5abcf4bcb5fa"]}},"tags":["broad-quality","secret-family:observability-token","variation:06"],"secret_fixture":{"family":"observability-token","role":"preserve"}}, + {"id":"broad-secret-observability-token-must-detect-07","language":"en","script":"Latin","shape":"quoted-reply","risk":"critical","reason":"Locked broad observability-token variation.","text":"\u003e Wrapped message credential: obsap_24e8796d4eecfdb2b42f553e5491e7d0","known_identities":[],"targets":[{"id":"value","kind":"secret","start":30,"end":68,"value":"obsap_24e8796d4eecfdb2b42f553e5491e7d0","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-observability-token-must-detect-07","recipe":"observability-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["obsap_24e8796d4eecfdb2b42f553e5491e7d0"]},"customers":{"required_absent":["obsap_24e8796d4eecfdb2b42f553e5491e7d0"],"required_present":[]},"all":{"required_absent":["obsap_24e8796d4eecfdb2b42f553e5491e7d0"],"required_present":[]}},"tags":["broad-quality","secret-family:observability-token","variation:07"],"secret_fixture":{"family":"observability-token","role":"must-detect"}}, + {"id":"broad-secret-observability-token-preserve-07","language":"en","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad observability-token variation.","text":"\u003e Troubleshooting reference: c84d46e1ba62f5ba1abf7ed5f6da41ae","known_identities":[],"targets":[{"id":"value","kind":"secret","start":29,"end":61,"value":"c84d46e1ba62f5ba1abf7ed5f6da41ae","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-observability-token-preserve-07","recipe":"observability-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["c84d46e1ba62f5ba1abf7ed5f6da41ae"]},"customers":{"required_absent":[],"required_present":["c84d46e1ba62f5ba1abf7ed5f6da41ae"]},"all":{"required_absent":[],"required_present":["c84d46e1ba62f5ba1abf7ed5f6da41ae"]}},"tags":["broad-quality","secret-family:observability-token","variation:07"],"secret_fixture":{"family":"observability-token","role":"preserve"}}, + {"id":"broad-secret-observability-token-must-detect-08","language":"en","script":"Latin","shape":"log","risk":"critical","reason":"Locked broad observability-token variation.","text":"level=warn sample=8 message=\"Credential copied from a support reply: \" value=obsap_2e427063027cc\nf581fc310fec0564ede","known_identities":[],"targets":[{"id":"value","kind":"secret","start":77,"end":116,"value":"obsap_2e427063027cc\nf581fc310fec0564ede","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-observability-token-must-detect-08","recipe":"observability-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["obsap_2e427063027cc\nf581fc310fec0564ede"]},"customers":{"required_absent":["obsap_2e427063027cc\nf581fc310fec0564ede"],"required_present":[]},"all":{"required_absent":["obsap_2e427063027cc\nf581fc310fec0564ede"],"required_present":[]}},"tags":["broad-quality","secret-family:observability-token","variation:08"],"secret_fixture":{"family":"observability-token","role":"must-detect"}}, + {"id":"broad-secret-observability-token-preserve-08","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad observability-token variation.","text":"level=warn sample=8 message=\"Public configuration vocabulary: \" value=af0dabef0e4db37fe4af8cd3e05e55ed","known_identities":[],"targets":[{"id":"value","kind":"secret","start":70,"end":102,"value":"af0dabef0e4db37fe4af8cd3e05e55ed","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-observability-token-preserve-08","recipe":"observability-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["af0dabef0e4db37fe4af8cd3e05e55ed"]},"customers":{"required_absent":[],"required_present":["af0dabef0e4db37fe4af8cd3e05e55ed"]},"all":{"required_absent":[],"required_present":["af0dabef0e4db37fe4af8cd3e05e55ed"]}},"tags":["broad-quality","secret-family:observability-token","variation:08"],"secret_fixture":{"family":"observability-token","role":"preserve"}}, + {"id":"broad-secret-observability-token-must-detect-09","language":"en","script":"Latin","shape":"stack-trace","risk":"critical","reason":"Locked broad observability-token variation.","text":"Trace[9]: Authorization header value: obsap_3966841bbb943 c3490643f105f04cde2","known_identities":[],"targets":[{"id":"value","kind":"secret","start":38,"end":77,"value":"obsap_3966841bbb943 c3490643f105f04cde2","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-observability-token-must-detect-09","recipe":"observability-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["obsap_3966841bbb943 c3490643f105f04cde2"]},"customers":{"required_absent":["obsap_3966841bbb943 c3490643f105f04cde2"],"required_present":[]},"all":{"required_absent":["obsap_3966841bbb943 c3490643f105f04cde2"],"required_present":[]}},"tags":["broad-quality","secret-family:observability-token","variation:09"],"secret_fixture":{"family":"observability-token","role":"must-detect"}}, + {"id":"broad-secret-observability-token-preserve-09","language":"en","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad observability-token variation.","text":"Trace[9]: Documentation syntax: debf42b7bc17f14c4ca2dd5ab1fe67ba","known_identities":[],"targets":[{"id":"value","kind":"secret","start":32,"end":64,"value":"debf42b7bc17f14c4ca2dd5ab1fe67ba","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-observability-token-preserve-09","recipe":"observability-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["debf42b7bc17f14c4ca2dd5ab1fe67ba"]},"customers":{"required_absent":[],"required_present":["debf42b7bc17f14c4ca2dd5ab1fe67ba"]},"all":{"required_absent":[],"required_present":["debf42b7bc17f14c4ca2dd5ab1fe67ba"]}},"tags":["broad-quality","secret-family:observability-token","variation:09"],"secret_fixture":{"family":"observability-token","role":"preserve"}}, + {"id":"broad-secret-observability-token-must-detect-10","language":"en","script":"Latin","shape":"code","risk":"critical","reason":"Locked broad observability-token variation.","text":"fixture_10 := `Log field auth_value=obsap_d1083a576d5f9·7853b218b9f5d73a127`","known_identities":[],"targets":[{"id":"value","kind":"secret","start":36,"end":76,"value":"obsap_d1083a576d5f9·7853b218b9f5d73a127","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-observability-token-must-detect-10","recipe":"observability-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["obsap_d1083a576d5f9·7853b218b9f5d73a127"]},"customers":{"required_absent":["obsap_d1083a576d5f9·7853b218b9f5d73a127"],"required_present":[]},"all":{"required_absent":["obsap_d1083a576d5f9·7853b218b9f5d73a127"],"required_present":[]}},"tags":["broad-quality","secret-family:observability-token","variation:10"],"secret_fixture":{"family":"observability-token","role":"must-detect"}}, + {"id":"broad-secret-observability-token-preserve-10","language":"en","script":"Latin","shape":"code","risk":"preservation","reason":"Locked broad observability-token variation.","text":"fixture_10 := `Public operational identifier: f50b3ef3ecd8e4ad6bc98e25c0ecbab1`","known_identities":[],"targets":[{"id":"value","kind":"secret","start":46,"end":78,"value":"f50b3ef3ecd8e4ad6bc98e25c0ecbab1","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-observability-token-preserve-10","recipe":"observability-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["f50b3ef3ecd8e4ad6bc98e25c0ecbab1"]},"customers":{"required_absent":[],"required_present":["f50b3ef3ecd8e4ad6bc98e25c0ecbab1"]},"all":{"required_absent":[],"required_present":["f50b3ef3ecd8e4ad6bc98e25c0ecbab1"]}},"tags":["broad-quality","secret-family:observability-token","variation:10"],"secret_fixture":{"family":"observability-token","role":"preserve"}}, + {"id":"broad-secret-observability-token-must-detect-11","language":"en","script":"Latin","shape":"signature","risk":"critical","reason":"Locked broad observability-token variation.","text":"--\nRotating this exposed value: obsap_4f1e1266742cb\u003cwbr\u003eb12576128778ec6eda2","known_identities":[],"targets":[{"id":"value","kind":"secret","start":32,"end":75,"value":"obsap_4f1e1266742cb\u003cwbr\u003eb12576128778ec6eda2","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-observability-token-must-detect-11","recipe":"observability-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["obsap_4f1e1266742cb\u003cwbr\u003eb12576128778ec6eda2"]},"customers":{"required_absent":["obsap_4f1e1266742cb\u003cwbr\u003eb12576128778ec6eda2"],"required_present":[]},"all":{"required_absent":["obsap_4f1e1266742cb\u003cwbr\u003eb12576128778ec6eda2"],"required_present":[]}},"tags":["broad-quality","secret-family:observability-token","variation:11"],"secret_fixture":{"family":"observability-token","role":"must-detect"}}, + {"id":"broad-secret-observability-token-preserve-11","language":"en","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad observability-token variation.","text":"--\nSchema field label: cb0ff1fc7ef9e73e50d1abc0bcbc26f1","known_identities":[],"targets":[{"id":"value","kind":"secret","start":23,"end":55,"value":"cb0ff1fc7ef9e73e50d1abc0bcbc26f1","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-observability-token-preserve-11","recipe":"observability-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["cb0ff1fc7ef9e73e50d1abc0bcbc26f1"]},"customers":{"required_absent":[],"required_present":["cb0ff1fc7ef9e73e50d1abc0bcbc26f1"]},"all":{"required_absent":[],"required_present":["cb0ff1fc7ef9e73e50d1abc0bcbc26f1"]}},"tags":["broad-quality","secret-family:observability-token","variation:11"],"secret_fixture":{"family":"observability-token","role":"preserve"}}, + {"id":"broad-secret-observability-token-must-detect-12","language":"en","script":"Latin","shape":"long-thread","risk":"critical","reason":"Locked broad observability-token variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Quoted credential follows: obsap_e57527a69b54c**df3dc8efd6811957992","known_identities":[],"targets":[{"id":"value","kind":"secret","start":507,"end":547,"value":"obsap_e57527a69b54c**df3dc8efd6811957992","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-observability-token-must-detect-12","recipe":"observability-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["obsap_e57527a69b54c**df3dc8efd6811957992"]},"customers":{"required_absent":["obsap_e57527a69b54c**df3dc8efd6811957992"],"required_present":[]},"all":{"required_absent":["obsap_e57527a69b54c**df3dc8efd6811957992"],"required_present":[]}},"tags":["broad-quality","secret-family:observability-token","variation:12"],"secret_fixture":{"family":"observability-token","role":"must-detect"}}, + {"id":"broad-secret-observability-token-preserve-12","language":"en","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad observability-token variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Non-confidential protocol token: ba2c15a2bb3aae4a3cb8fc23cf1d08ee","known_identities":[],"targets":[{"id":"value","kind":"secret","start":513,"end":545,"value":"ba2c15a2bb3aae4a3cb8fc23cf1d08ee","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-observability-token-preserve-12","recipe":"observability-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["ba2c15a2bb3aae4a3cb8fc23cf1d08ee"]},"customers":{"required_absent":[],"required_present":["ba2c15a2bb3aae4a3cb8fc23cf1d08ee"]},"all":{"required_absent":[],"required_present":["ba2c15a2bb3aae4a3cb8fc23cf1d08ee"]}},"tags":["broad-quality","secret-family:observability-token","variation:12"],"secret_fixture":{"family":"observability-token","role":"preserve"}}, + {"id":"broad-secret-observability-token-must-detect-13","language":"en","script":"Latin","shape":"command-payload","risk":"critical","reason":"Locked broad observability-token variation.","text":"--sample=13 --message=\"Configuration secret: \" --value=obsap_3022ad0c8f698a1a5d7872541f0f7c0c / obsap_3022ad0c8f698a1a5d7872541f0f7c0c","known_identities":[],"targets":[{"id":"value","kind":"secret","start":55,"end":134,"value":"obsap_3022ad0c8f698a1a5d7872541f0f7c0c / obsap_3022ad0c8f698a1a5d7872541f0f7c0c","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-observability-token-must-detect-13","recipe":"observability-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["obsap_3022ad0c8f698a1a5d7872541f0f7c0c / obsap_3022ad0c8f698a1a5d7872541f0f7c0c"]},"customers":{"required_absent":["obsap_3022ad0c8f698a1a5d7872541f0f7c0c / obsap_3022ad0c8f698a1a5d7872541f0f7c0c"],"required_present":[]},"all":{"required_absent":["obsap_3022ad0c8f698a1a5d7872541f0f7c0c / obsap_3022ad0c8f698a1a5d7872541f0f7c0c"],"required_present":[]}},"tags":["broad-quality","secret-family:observability-token","variation:13"],"secret_fixture":{"family":"observability-token","role":"must-detect"}}, + {"id":"broad-secret-observability-token-preserve-13","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad observability-token variation.","text":"--sample=13 --message=\"Release metadata: \" --value=ae3f08cf6c39ff8ce5e92aabff7bd9e2","known_identities":[],"targets":[{"id":"value","kind":"secret","start":51,"end":83,"value":"ae3f08cf6c39ff8ce5e92aabff7bd9e2","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-observability-token-preserve-13","recipe":"observability-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["ae3f08cf6c39ff8ce5e92aabff7bd9e2"]},"customers":{"required_absent":[],"required_present":["ae3f08cf6c39ff8ce5e92aabff7bd9e2"]},"all":{"required_absent":[],"required_present":["ae3f08cf6c39ff8ce5e92aabff7bd9e2"]}},"tags":["broad-quality","secret-family:observability-token","variation:13"],"secret_fixture":{"family":"observability-token","role":"preserve"}} ] } diff --git a/internal/pii/testdata/privacy-filter/v1/report-schema.json b/internal/pii/testdata/privacy-filter/v1/report-schema.json index fe31f79..f9efdb5 100644 --- a/internal/pii/testdata/privacy-filter/v1/report-schema.json +++ b/internal/pii/testdata/privacy-filter/v1/report-schema.json @@ -92,7 +92,7 @@ "type": "object", "additionalProperties": false, "required": [ "exact", "covering", "required_match", "sensitivity_weighted", "by_kind", "by_risk", - "by_language", "by_script", "by_format", "by_boundary", "by_identity_policy" + "by_language", "by_script", "by_format", "by_corpus", "by_partition", "by_boundary", "by_identity_policy", "by_secret_family" ], "properties": { "exact": {"$ref": "#/$defs/metricSet"}, @@ -104,8 +104,11 @@ "by_language": {"$ref": "#/$defs/metricSlices"}, "by_script": {"$ref": "#/$defs/metricSlices"}, "by_format": {"$ref": "#/$defs/metricSlices"}, + "by_corpus": {"$ref": "#/$defs/metricSlices"}, + "by_partition": {"$ref": "#/$defs/metricSlices"}, "by_boundary": {"$ref": "#/$defs/metricSlices"}, - "by_identity_policy": {"$ref": "#/$defs/metricSlices"} + "by_identity_policy": {"$ref": "#/$defs/metricSlices"}, + "by_secret_family": {"$ref": "#/$defs/metricSlices"} } }, "outputMetrics": { @@ -136,7 +139,7 @@ ], "properties": { "mode": {"enum": ["off", "customers", "all"]}, - "dimension": {"enum": ["kind", "risk", "language", "script", "format", "match_policy", "identity_policy", "boundary"]}, + "dimension": {"enum": ["kind", "risk", "language", "script", "format", "corpus", "partition", "match_policy", "identity_policy", "secret_family", "boundary"]}, "name": {"type": "string", "minLength": 1}, "required_absent": {"type": "integer", "minimum": 0}, "raw_value_leaks": {"type": "integer", "minimum": 0}, diff --git a/internal/pii/testdata/privacy-filter/v1/secrets.json b/internal/pii/testdata/privacy-filter/v1/secrets.json index 9236f57..c08482b 100644 --- a/internal/pii/testdata/privacy-filter/v1/secrets.json +++ b/internal/pii/testdata/privacy-filter/v1/secrets.json @@ -619,15 +619,15 @@ "shape": "prose", "risk": "critical", "reason": "Offline-generated one-time-code must-detect contract fixture.", - "text": "The recovery code is 79112190", + "text": "The recovery code is 791121", "known_identities": [], "targets": [ { "id": "secret-value", "kind": "secret", "start": 21, - "end": 29, - "value": "79112190", + "end": 27, + "value": "791121", "match": "covering", "synthetic": { "generator": "hs-privacy-structural", @@ -647,18 +647,18 @@ "off": { "required_absent": [], "required_present": [ - "79112190" + "791121" ] }, "customers": { "required_absent": [ - "79112190" + "791121" ], "required_present": [] }, "all": { "required_absent": [ - "79112190" + "791121" ], "required_present": [] } diff --git a/scripts/privacy-filter-g0-baseline.sh b/scripts/privacy-filter-g0-baseline.sh index fbb4329..346fb3e 100755 --- a/scripts/privacy-filter-g0-baseline.sh +++ b/scripts/privacy-filter-g0-baseline.sh @@ -46,15 +46,24 @@ fi STAGING="$(mktemp -d "${TMPDIR:-/tmp}/hs-cli-pii-g0-model.XXXXXX")" trap 'rm -rf "$STAGING"' EXIT +ARCHIVE_NAMES="$(tar -tzf "$ARCHIVE_PATH" | sed 's#^\./##' | LC_ALL=C sort)" +while IFS= read -r name; do + [[ -n "$name" && "$name" != */* && "$name" != "." && "$name" != ".." ]] || { + echo "G0 bundle contains an unsafe archive path" >&2 + exit 1 + } +done <<<"$ARCHIVE_NAMES" tar -xzf "$ARCHIVE_PATH" -C "$STAGING" EXPECTED_NAMES="$(jq -r '.files[].name' <<<"$BUNDLE" | LC_ALL=C sort)" -ACTUAL_NAMES="$(find "$STAGING" -mindepth 1 -maxdepth 1 -type f -printf '%f\n' | LC_ALL=C sort)" +ACTUAL_NAMES="$(find "$STAGING" -mindepth 1 -maxdepth 1 -printf '%f\n' | LC_ALL=C sort)" +[[ "$ARCHIVE_NAMES" == "$EXPECTED_NAMES" ]] || { echo "G0 archive index contains unexpected or missing entries" >&2; exit 1; } [[ "$ACTUAL_NAMES" == "$EXPECTED_NAMES" ]] || { echo "G0 bundle contains unexpected or missing files" >&2; exit 1; } while IFS= read -r file; do NAME="$(jq -er '.name' <<<"$file")" EXPECTED_HASH="$(jq -er '.sha256' <<<"$file")" EXPECTED_SIZE="$(jq -er '.size' <<<"$file")" + [[ -f "${STAGING}/${NAME}" && ! -L "${STAGING}/${NAME}" ]] || { echo "G0 bundle entry is not a regular file: $NAME" >&2; exit 1; } [[ "$(stat -c '%s' "${STAGING}/${NAME}")" == "$EXPECTED_SIZE" ]] || { echo "G0 file size mismatch: $NAME" >&2; exit 1; } [[ "$(sha256sum "${STAGING}/${NAME}" | awk '{print $1}')" == "$EXPECTED_HASH" ]] || { echo "G0 file hash mismatch: $NAME" >&2; exit 1; } done < <(jq -c '.files[]' <<<"$BUNDLE") @@ -99,7 +108,7 @@ docker run --rm \ -e HS_PII_G0_GIT_COMMIT="$GIT_COMMIT" \ -e HS_PII_G0_MODEL_REVISION="$MODEL_REVISION" \ -e HS_PII_G0_ARTIFACT_SHA256="$MODEL_SHA256" \ - -e HS_PII_G0_ARTIFACTS_JSON="$ARTIFACTS_JSON" \ + -e HS_PII_G0_ARTIFACTS_JSON="$ARTIFACTS_JSON" \ -e HS_PII_G0_CONTAINER_IMAGE="$IMAGE_ID" \ -e HS_PII_G0_HARDWARE_PROFILE="${HS_PII_G0_HARDWARE_PROFILE:-docker-functional}" \ -e HS_PII_G0_EVIDENCE_AUTHORITY="$AUTHORITY" \ From 325b614bf22a5b38897cc33d6f9471641266a6c6 Mon Sep 17 00:00:00 2001 From: Ross Morsali Date: Sat, 18 Jul 2026 22:50:43 +0200 Subject: [PATCH 27/34] test: harden Privacy Filter G0 adversarial contract --- .../workflows/privacy-filter-evaluation.yml | 6 +- DEVELOPMENT.md | 14 + internal/pii/evaluation/broad_test.go | 85 +- internal/pii/evaluation/corpus.go | 16 +- internal/pii/evaluation/corpus_generator.go | 180 +- internal/pii/evaluation/corpus_test.go | 45 + .../pii/evaluation/docker_contract_test.go | 2 +- internal/pii/evaluation/metrics.go | 12 + internal/pii/evaluation/metrics_test.go | 121 ++ internal/pii/evaluation/synthetic.go | 67 +- .../broad/v1/account-identifiers.json | 168 +- .../privacy-filter/broad/v1/manifest.json | 10 +- .../privacy-filter/broad/v1/multilingual.json | 1680 ++++++++--------- .../privacy-filter/broad/v1/preservation.json | 86 +- .../broad/v1/private-public-dates.json | 172 +- .../privacy-filter/broad/v1/secrets.json | 442 ++--- .../v1/command-output-payloads.json | 153 ++ .../v1/people-third-parties.json | 101 + .../testdata/privacy-filter/v1/secrets.json | 72 +- 19 files changed, 2065 insertions(+), 1367 deletions(-) diff --git a/.github/workflows/privacy-filter-evaluation.yml b/.github/workflows/privacy-filter-evaluation.yml index dc86eec..9dfbb29 100644 --- a/.github/workflows/privacy-filter-evaluation.yml +++ b/.github/workflows/privacy-filter-evaluation.yml @@ -9,8 +9,7 @@ on: - "scripts/privacy-filter-*.sh" - "go.mod" - "go.sum" - - "patches/onnxruntime-purego/go.mod" - - "patches/onnxruntime-purego/go.sum" + - "patches/onnxruntime-purego/**" - ".github/workflows/privacy-filter-evaluation.yml" push: paths: @@ -20,8 +19,7 @@ on: - "scripts/privacy-filter-*.sh" - "go.mod" - "go.sum" - - "patches/onnxruntime-purego/go.mod" - - "patches/onnxruntime-purego/go.sum" + - "patches/onnxruntime-purego/**" - ".github/workflows/privacy-filter-evaluation.yml" schedule: - cron: "17 4 * * 1" diff --git a/DEVELOPMENT.md b/DEVELOPMENT.md index b5536c9..b895909 100644 --- a/DEVELOPMENT.md +++ b/DEVELOPMENT.md @@ -210,6 +210,20 @@ per case and at least 100 independent cases for every percentage-gated kind and language direction. Percentage gates remain `not-run` if those denominators are absent. +Broad format labels are executable: generated JSON and YAML parse, URL targets +live inside a credential parameter, and Markdown, HTML, log, shell, and command +targets are embedded in their advertised structures. Repeated, overlapping, +markup-split, and developer-owned secret scenarios live in the adversarial +smoke corpus instead of distorting one-case/one-target percentage denominators. +Repeated values share one leak sentinel, while split and overlapping values add +fragment sentinels so partial redaction still fails the affected output and +metric slices. + +G0 boundary tags freeze fixture taxonomy and generic `RedactText` expectations; +they are not evidence that each table, JSON, CSV, MCP, error, or diagnostic +renderer was independently integrated. Those concrete presentation-boundary +regressions remain part of G5. + Regenerate deterministic fixtures and byte-exact performance workload identities with: diff --git a/internal/pii/evaluation/broad_test.go b/internal/pii/evaluation/broad_test.go index 9fcda58..e811229 100644 --- a/internal/pii/evaluation/broad_test.go +++ b/internal/pii/evaluation/broad_test.go @@ -2,12 +2,16 @@ package evaluation import ( "bytes" + "encoding/json" "fmt" + "net/url" "os" "path/filepath" "regexp" "strings" "testing" + + "gopkg.in/yaml.v3" ) func broadCorpusDir(t *testing.T) string { @@ -92,7 +96,7 @@ func TestPrivacyFilterCorpusGeneratorIsByteReproducible(t *testing.T) { if err := os.MkdirAll(tempSmoke, 0o755); err != nil { t.Fatal(err) } - for _, name := range []string{"schema.json", "command-output-payloads.json", "preservation.json"} { + for _, name := range []string{"schema.json", "command-output-payloads.json", "people-third-parties.json", "preservation.json"} { raw, readErr := os.ReadFile(filepath.Join(repoRoot, smokeRelative, name)) if readErr != nil { t.Fatal(readErr) @@ -107,6 +111,7 @@ func TestPrivacyFilterCorpusGeneratorIsByteReproducible(t *testing.T) { generated := []string{ filepath.Join(smokeRelative, "secrets.json"), filepath.Join(smokeRelative, "command-output-payloads.json"), + filepath.Join(smokeRelative, "people-third-parties.json"), filepath.Join(smokeRelative, "preservation.json"), } broadFiles := append(append([]string(nil), BroadCorpusPartitions...), "manifest") @@ -129,6 +134,84 @@ func TestPrivacyFilterCorpusGeneratorIsByteReproducible(t *testing.T) { } } +func TestBroadGeneratedFormatsAreSemanticallyStructured(t *testing.T) { + corpus, err := LoadBroadCorpusDir(broadCorpusDir(t)) + if err != nil { + t.Fatal(err) + } + jsonCases, urlCases := 0, 0 + for _, fixture := range corpus.Cases { + target := fixture.Targets[0] + switch fixture.Shape { + case "json": + jsonCases++ + var decoded map[string]string + if !json.Valid([]byte(fixture.Text)) || json.Unmarshal([]byte(fixture.Text), &decoded) != nil || len(decoded) != 1 { + t.Fatalf("case %q advertises invalid or empty JSON", fixture.ID) + } + case "yaml": + var decoded map[string]any + if err := yaml.Unmarshal([]byte(fixture.Text), &decoded); err != nil || len(decoded) != 1 { + t.Fatalf("case %q advertises invalid YAML: %v", fixture.ID, err) + } + case "url": + urlCases++ + rawURL := strings.TrimPrefix(fixture.Text, "endpoint=") + parsed, parseErr := url.Parse(rawURL) + if parseErr != nil || parsed.Scheme != "https" || parsed.Host == "" || parsed.Query().Get("credential") == "" { + t.Fatalf("case %q does not contain a credential inside a valid URL: %v", fixture.ID, parseErr) + } + if !strings.Contains(parsed.RawQuery, "credential="+target.Value) { + t.Fatalf("case %q target is outside the URL credential parameter", fixture.ID) + } + case "markdown": + validMarkdownTarget := strings.Contains(fixture.Text, "`"+target.Value+"`") + if strings.Contains(target.Value, "**") { + validMarkdownTarget = strings.Count(target.Value, "**") == 2 && strings.Contains(fixture.Text, target.Value) + } + if !validMarkdownTarget { + t.Fatalf("case %q target is not embedded in Markdown", fixture.ID) + } + case "html": + if !strings.HasPrefix(fixture.Text, "

") || !strings.Contains(fixture.Text, ""+target.Value+"

") { + t.Fatalf("case %q target is not embedded in the HTML element", fixture.ID) + } + case "shell": + if !strings.HasPrefix(fixture.Text, "MESSAGE_") || !strings.HasSuffix(fixture.Text, "'") { + t.Fatalf("case %q is not a shell assignment", fixture.ID) + } + case "log": + if !strings.Contains(fixture.Text, " credential=\""+target.Value+"\"") { + t.Fatalf("case %q target is not inside the structured log field", fixture.ID) + } + case "command-payload": + if !strings.Contains(fixture.Text, " --credential=\""+target.Value+"\"") { + t.Fatalf("case %q target is not inside the command argument", fixture.ID) + } + } + + if strings.Contains(target.Value, "") && fixture.Shape != "html" { + t.Fatalf("case %q applies HTML obfuscation outside HTML", fixture.ID) + } + if strings.Contains(target.Value, "**") && fixture.Shape != "markdown" { + t.Fatalf("case %q applies Markdown obfuscation outside Markdown", fixture.ID) + } + if fixture.SecretFixture != nil && fixture.SecretFixture.Role == "must-detect" { + variation := syntheticVariation(*target.Synthetic) + for _, fragment := range syntheticLeakFragments(target.Value, variation) { + for _, mode := range []Mode{ModeCustomers, ModeAll} { + if !contains(fixture.Outputs.For(mode).RequiredAbsent, fragment) { + t.Fatalf("case %q lacks %s fragment leak sentinel", fixture.ID, mode) + } + } + } + } + } + if jsonCases == 0 || urlCases == 0 { + t.Fatalf("semantic format validation did not exercise JSON and URL cases") + } +} + func TestCredentialShapedFixtureMaterialIsIndependentlyScannedForProvenance(t *testing.T) { patterns := []*regexp.Regexp{ regexp.MustCompile(`CLDX[A-Z0-9]{16}`), diff --git a/internal/pii/evaluation/corpus.go b/internal/pii/evaluation/corpus.go index 066e414..e06c0b9 100644 --- a/internal/pii/evaluation/corpus.go +++ b/internal/pii/evaluation/corpus.go @@ -404,6 +404,14 @@ func validateCase(fixture *Case) error { if generated != target.Value { return fmt.Errorf("%s: secret target %q does not match its deterministic synthetic provenance", prefix, target.ID) } + if target.Synthetic.Purpose == "must-detect" && + (target.Actions.Customers != ActionRedact || target.Actions.All != ActionRedact) { + return fmt.Errorf("%s: must-detect secret target %q must redact in customers and all", prefix, target.ID) + } + if target.Synthetic.Purpose == "preserve" && + (target.Actions.Customers != ActionPreserve || target.Actions.All != ActionPreserve) { + return fmt.Errorf("%s: preservation secret target %q must preserve in customers and all", prefix, target.ID) + } } else if target.Synthetic != nil { return fmt.Errorf("%s: non-secret target %q declares secret synthetic provenance", prefix, target.ID) } @@ -530,14 +538,6 @@ func validateSecretFixture(prefix string, fixture *Case) error { continue } hasSecret = true - if fixture.SecretFixture.Role == "must-detect" && - (target.Actions.Customers != ActionRedact || target.Actions.All != ActionRedact) { - return fmt.Errorf("%s: must-detect secret target %q must redact in customers and all", prefix, target.ID) - } - if fixture.SecretFixture.Role == "preserve" && - (target.Actions.Customers != ActionPreserve || target.Actions.All != ActionPreserve) { - return fmt.Errorf("%s: near-miss secret target %q must be preserved", prefix, target.ID) - } if target.Synthetic == nil || target.Synthetic.Recipe != fixture.SecretFixture.Family || target.Synthetic.Purpose != fixture.SecretFixture.Role { return fmt.Errorf("%s: secret target %q provenance contradicts the fixture family or role", prefix, target.ID) diff --git a/internal/pii/evaluation/corpus_generator.go b/internal/pii/evaluation/corpus_generator.go index 6777fbd..299bfa6 100644 --- a/internal/pii/evaluation/corpus_generator.go +++ b/internal/pii/evaluation/corpus_generator.go @@ -4,6 +4,7 @@ import ( "bytes" "encoding/json" "fmt" + "net/url" "os" "path/filepath" "sort" @@ -21,6 +22,9 @@ func GeneratePrivacyFilterTestdata(repoRoot string) error { if err := rewriteCommandBoundaryFixtures(filepath.Join(smokeDir, "command-output-payloads.json")); err != nil { return err } + if err := rewritePeopleAdversarialFixtures(filepath.Join(smokeDir, "people-third-parties.json")); err != nil { + return err + } if err := rewriteSupplementalPreservationFixtures(filepath.Join(smokeDir, "preservation.json")); err != nil { return err } @@ -98,7 +102,8 @@ func rewriteCommandBoundaryFixtures(path string) error { retained := make([]Case, 0, len(document.Cases)+len(RequiredOutputBoundaries)*2) for _, fixture := range document.Cases { if fixture.ID == "command-secret-all-boundaries" || strings.HasPrefix(fixture.ID, "command-boundary-") || - strings.HasPrefix(fixture.ID, "command-secret-boundary-") { + strings.HasPrefix(fixture.ID, "command-secret-boundary-") || + fixture.ID == "command-secret-repeated" || fixture.ID == "command-secret-overlapping-account" { continue } retained = append(retained, fixture) @@ -148,10 +153,102 @@ func rewriteCommandBoundaryFixtures(path string) error { generated = append(generated, fixture) } } + generated = append(generated, generateRepeatedSecretFixture(), generateOverlappingSecretFixture()) document.Cases = append(generated, retained...) return writeCorpusDocument(path, document) } +func generateRepeatedSecretFixture() Case { + provenance := SyntheticProvenance{ + Generator: SyntheticSecretGenerator, Version: SyntheticSecretVersion, + Seed: "smoke-repeated-command-secret", Recipe: "command-secret", Purpose: "must-detect", + } + value, err := GenerateSyntheticValue(provenance) + if err != nil { + panic(err) + } + text := "--authorization=\"Bearer " + value + "\" --retry-authorization=\"Bearer " + value + "\"" + first := strings.Index(text, value) + second := strings.LastIndex(text, value) + actions := ModeActions{Off: ActionPreserve, Customers: ActionRedact, All: ActionRedact} + return makeGeneratedMultiTargetCase( + "command-secret-repeated", "en", "Latin", "command-payload", RiskCritical, + "Two occurrences of one credential require two detector spans and one deduplicated leak sentinel.", text, + []Target{ + {ID: "secret-first", Kind: SpanSecret, Start: first, End: first + len(value), Value: value, Match: MatchCovering, Synthetic: &provenance, Actions: actions}, + {ID: "secret-second", Kind: SpanSecret, Start: second, End: second + len(value), Value: value, Match: MatchCovering, Synthetic: &provenance, Actions: actions}, + }, + []string{"command-output", "adversarial", "repeated-secret", "synthetic-generator:v1"}, nil, + ) +} + +func generateOverlappingSecretFixture() Case { + provenance := SyntheticProvenance{ + Generator: SyntheticSecretGenerator, Version: SyntheticSecretVersion, + Seed: "smoke-overlapping-database-secret", Recipe: "database-connection", Purpose: "must-detect", + } + value, err := GenerateSyntheticValue(provenance) + if err != nil { + panic(err) + } + fragmentStartInValue := len("postgresql://") + fragmentEndInValue := fragmentStartInValue + strings.Index(value[fragmentStartInValue:], ":") + fragment := value[fragmentStartInValue:fragmentEndInValue] + text := "level=error credential=\"" + value + "\"" + secretStart := strings.Index(text, value) + fragmentStart := strings.Index(text, fragment) + actions := ModeActions{Off: ActionPreserve, Customers: ActionRedact, All: ActionRedact} + return makeGeneratedMultiTargetCase( + "command-secret-overlapping-account", "en", "Latin", "log", RiskCritical, + "An account-shaped fragment inside a secret must not survive partial redaction.", text, + []Target{ + {ID: "secret", Kind: SpanSecret, Start: secretStart, End: secretStart + len(value), Value: value, Match: MatchCovering, Synthetic: &provenance, Actions: actions}, + {ID: "account-fragment", Kind: SpanAccountNumber, Start: fragmentStart, End: fragmentStart + len(fragment), Value: fragment, Match: MatchExact, Actions: actions}, + }, + []string{"command-output", "adversarial", "overlapping-secret", "fragment-sentinel", "synthetic-generator:v1"}, nil, + ) +} + +func rewritePeopleAdversarialFixtures(path string) error { + document, err := readCorpusDocument(path) + if err != nil { + return err + } + retained := document.Cases[:0] + for _, fixture := range document.Cases { + if fixture.ID != "person-developer-owned-secret" { + retained = append(retained, fixture) + } + } + document.Cases = retained + provenance := SyntheticProvenance{ + Generator: SyntheticSecretGenerator, Version: SyntheticSecretVersion, + Seed: "smoke-developer-owned-secret", Recipe: "source-control-token", Purpose: "must-detect", + } + secret, err := GenerateSyntheticValue(provenance) + if err != nil { + return err + } + customer, developer := "Alice Fixture", "Rowan Exampleton" + text := "Customer " + customer + " said developer " + developer + " pasted repository credential " + secret + "." + actions := ModeActions{Off: ActionPreserve, Customers: ActionRedact, All: ActionRedact} + document.Cases = append(document.Cases, makeGeneratedMultiTargetCase( + "person-developer-owned-secret", "en", "Latin", "prose", RiskCritical, + "A customer mentioning an unknown developer and that developer's credential must protect both identities and the secret.", text, + []Target{ + {ID: "customer", Kind: SpanPerson, Start: strings.Index(text, customer), End: strings.Index(text, customer) + len(customer), Value: customer, Match: MatchExact, IdentityID: "customer-alice", Actions: actions}, + {ID: "developer", Kind: SpanPerson, Start: strings.Index(text, developer), End: strings.Index(text, developer) + len(developer), Value: developer, Match: MatchExact, Actions: actions}, + {ID: "developer-secret", Kind: SpanSecret, Start: strings.Index(text, secret), End: strings.Index(text, secret) + len(secret), Value: secret, Match: MatchCovering, Synthetic: &provenance, Actions: actions}, + }, + []string{"people", "third-party", "developer-owned-secret", "adversarial", "synthetic-generator:v1"}, nil, + )) + document.Cases[len(document.Cases)-1].KnownIdentities = []KnownIdentity{{ + ID: "customer-alice", Type: "customer", First: "Alice", Last: "Fixture", + Email: "alice.fixture@example.invalid", Phone: "", + }} + return writeCorpusDocument(path, document) +} + func rewriteSupplementalPreservationFixtures(path string) error { document, err := readCorpusDocument(path) if err != nil { @@ -324,14 +421,18 @@ func generateBroadSecrets() CorpusDocument { match = MatchExact } text, start := wrapFixtureShape(shape, context, value, variation) - document.Cases = append(document.Cases, makeGeneratedCase( + fixture := makeGeneratedCase( fmt.Sprintf("broad-secret-%s-%s-%02d", family, role, variation), "en", "Latin", shape, risk, "Locked broad "+family+" variation.", text, Target{ID: "value", Kind: SpanSecret, Start: start, End: start + len(value), Value: value, Match: match, Synthetic: &provenance, Actions: actions}, []string{"broad-quality", "secret-family:" + family, fmt.Sprintf("variation:%02d", variation)}, &SecretFixtureRole{Family: family, Role: role}, - )) + ) + if role == "must-detect" { + addLeakSentinels(&fixture, syntheticLeakFragments(value, variation)) + } + document.Cases = append(document.Cases, fixture) } } } @@ -492,22 +593,68 @@ func broadLanguageProfiles() []languageGeneratorProfile { } func makeGeneratedCase(id, language, script, shape string, risk RiskTier, reason, text string, target Target, tags []string, secret *SecretFixtureRole) Case { + return makeGeneratedMultiTargetCase(id, language, script, shape, risk, reason, text, []Target{target}, tags, secret) +} + +func makeGeneratedMultiTargetCase(id, language, script, shape string, risk RiskTier, reason, text string, targets []Target, tags []string, secret *SecretFixtureRole) Case { fixture := Case{ ID: id, Language: language, Script: script, Shape: shape, Risk: risk, Reason: reason, Text: text, - KnownIdentities: []KnownIdentity{}, Targets: []Target{target}, Tags: tags, SecretFixture: secret, + KnownIdentities: []KnownIdentity{}, Targets: targets, Tags: tags, SecretFixture: secret, } for _, mode := range Modes { expected := OutputExpectation{RequiredAbsent: []string{}, RequiredPresent: []string{}} - if target.Actions.For(mode) == ActionRedact { - expected.RequiredAbsent = append(expected.RequiredAbsent, target.Value) - } else { - expected.RequiredPresent = append(expected.RequiredPresent, target.Value) + for _, target := range targets { + if target.Actions.For(mode) == ActionRedact { + expected.RequiredAbsent = appendUnique(expected.RequiredAbsent, target.Value) + } else { + expected.RequiredPresent = appendUnique(expected.RequiredPresent, target.Value) + } } setOutputExpectation(&fixture.Outputs, mode, expected) } return fixture } +func addLeakSentinels(fixture *Case, sentinels []string) { + for _, mode := range []Mode{ModeCustomers, ModeAll} { + expected := fixture.Outputs.For(mode) + for _, sentinel := range sentinels { + expected.RequiredAbsent = appendUnique(expected.RequiredAbsent, sentinel) + } + setOutputExpectation(&fixture.Outputs, mode, expected) + } +} + +func syntheticLeakFragments(value string, variation int) []string { + marker := "" + switch variation { + case 5: + marker = "**" + value = strings.TrimSuffix(value, marker) + case 6: + marker = "" + case 9: + marker = "\t" + case 10: + marker = "·" + } + if marker == "" { + return nil + } + parts := strings.SplitN(value, marker, 2) + if len(parts) != 2 || parts[0] == "" || parts[1] == "" { + return nil + } + return []string{parts[0], parts[1]} +} + +func appendUnique(values []string, value string) []string { + if contains(values, value) { + return values + } + return append(values, value) +} + func setOutputExpectation(outputs *ModeOutputs, mode Mode, expected OutputExpectation) { switch mode { case ModeOff: @@ -525,19 +672,24 @@ func wrapFixtureShape(shape, context, value string, variation int) (string, int) case "json": prefix, suffix = fmt.Sprintf(`{"message_%d":"%s`, variation, context), `"}` case "yaml": - prefix = fmt.Sprintf("message_%d: %s", variation, context) + prefix, suffix = fmt.Sprintf("message_%d: \"%s", variation, context), "\"" case "shell": prefix, suffix = fmt.Sprintf("MESSAGE_%d='%s", variation, context), "'" case "url": - prefix = fmt.Sprintf("endpoint=https://192.0.2.10/%d ; %s", variation, context) + prefix = fmt.Sprintf("endpoint=https://192.0.2.10/%d?credential=", variation) + suffix = "¬e=" + url.QueryEscape(context) case "markdown": - prefix, suffix = "**"+context, "**" + if strings.Contains(value, "**") { + prefix = context + } else { + prefix, suffix = context+"`", "`" + } case "html": - prefix, suffix = "

"+context, "

" + prefix, suffix = "

"+context+"", "

" case "quoted-reply": prefix = "> " + context case "log": - prefix = fmt.Sprintf("level=warn sample=%d message=%q value=", variation, context) + prefix, suffix = fmt.Sprintf("level=warn sample=%d message=%q credential=\"", variation, context), "\"" case "stack-trace": prefix = fmt.Sprintf("Trace[%d]: %s", variation, context) case "code": @@ -547,7 +699,7 @@ func wrapFixtureShape(shape, context, value string, variation int) (string, int) case "long-thread": prefix = strings.Repeat("Earlier public context. ", 20) + context case "command-payload": - prefix = fmt.Sprintf("--sample=%d --message=%q --value=", variation, context) + prefix, suffix = fmt.Sprintf("--sample=%d --message=%q --credential=\"", variation, context), "\"" } text := prefix + value + suffix return text, len(prefix) diff --git a/internal/pii/evaluation/corpus_test.go b/internal/pii/evaluation/corpus_test.go index 81c7471..d103086 100644 --- a/internal/pii/evaluation/corpus_test.go +++ b/internal/pii/evaluation/corpus_test.go @@ -112,6 +112,22 @@ func TestPrivacyCorpusSchemaIsStrictAndSelfConsistent(t *testing.T) { t.Fatalf("multi-boundary tag shortcut was not rejected: %v", err) } }) + t.Run("must-detect purpose binds actions without secret fixture metadata", func(t *testing.T) { + fixture := findCase(t, corpus, "command-boundary-table-must-detect") + fixture.Targets[1].Actions.Customers = ActionPreserve + fixture.Targets[1].Actions.All = ActionPreserve + if err := validateCase(&fixture); err == nil || !strings.Contains(err.Error(), "must-detect") { + t.Fatalf("must-detect purpose weakening was not rejected: %v", err) + } + }) + t.Run("preservation purpose binds actions without secret fixture metadata", func(t *testing.T) { + fixture := findCase(t, corpus, "command-boundary-table-preserve") + fixture.Targets[1].Actions.Customers = ActionRedact + fixture.Targets[1].Actions.All = ActionRedact + if err := validateCase(&fixture); err == nil || !strings.Contains(err.Error(), "preservation secret") { + t.Fatalf("preservation purpose weakening was not rejected: %v", err) + } + }) t.Run("duplicate case IDs", func(t *testing.T) { tempDir := t.TempDir() if err := os.WriteFile(filepath.Join(tempDir, "schema.json"), schemaRaw, 0o600); err != nil { @@ -143,6 +159,35 @@ func TestPrivacyCorpusSchemaIsStrictAndSelfConsistent(t *testing.T) { }) } +func TestAdversarialSecretFixturesFreezeRepeatedOverlapAndOwnershipSemantics(t *testing.T) { + corpus, err := LoadCorpusDir(corpusDir(t)) + if err != nil { + t.Fatal(err) + } + repeated := findCase(t, corpus, "command-secret-repeated") + if len(repeated.Targets) != 2 || repeated.Targets[0].Value != repeated.Targets[1].Value || repeated.Targets[0].Start == repeated.Targets[1].Start { + t.Fatalf("repeated-secret fixture must contain two spans for one value: %+v", repeated.Targets) + } + for _, mode := range []Mode{ModeCustomers, ModeAll} { + if got := repeated.Outputs.For(mode).RequiredAbsent; len(got) != 1 || got[0] != repeated.Targets[0].Value { + t.Fatalf("repeated-secret %s leak sentinel is not deduplicated: %v", mode, got) + } + } + overlap := findCase(t, corpus, "command-secret-overlapping-account") + if len(overlap.Targets) != 2 || overlap.Targets[0].Start > overlap.Targets[1].Start || overlap.Targets[0].End < overlap.Targets[1].End { + t.Fatalf("overlapping secret/account fixture is not genuinely overlapping: %+v", overlap.Targets) + } + for _, mode := range []Mode{ModeCustomers, ModeAll} { + if !contains(overlap.Outputs.For(mode).RequiredAbsent, overlap.Targets[1].Value) { + t.Fatalf("overlapping fixture lacks its fragment sentinel in %s", mode) + } + } + owned := findCase(t, corpus, "person-developer-owned-secret") + if len(owned.KnownIdentities) != 1 || len(owned.Targets) != 3 || owned.Targets[2].Kind != SpanSecret { + t.Fatalf("developer-owned-secret scenario is incomplete: %+v", owned) + } +} + func TestPrivacyCorpusContainsRequiredRiskLanguageAndFormatSlices(t *testing.T) { corpus, err := LoadCorpusDir(corpusDir(t)) if err != nil { diff --git a/internal/pii/evaluation/docker_contract_test.go b/internal/pii/evaluation/docker_contract_test.go index 4bb3f10..cd74fa1 100644 --- a/internal/pii/evaluation/docker_contract_test.go +++ b/internal/pii/evaluation/docker_contract_test.go @@ -32,7 +32,7 @@ func TestG0DockerBaselineKeepsWeightsReadOnlyAndInferenceOffline(t *testing.T) { for _, required := range []string{ "needs: hermetic", "HS_PII_G0_EVIDENCE_AUTHORITY: docker-ci", "HS_PII_G0_AUTHORITATIVE: \"true\"", "distilbert-baseline.json", "any(.gates[]; .gate == \"G0\" and .state == \"pass\")", - "if: always()", "go.mod", "go.sum", "patches/onnxruntime-purego/go.mod", + "if: always()", "go.mod", "go.sum", "patches/onnxruntime-purego/**", } { if !strings.Contains(workflow, required) { t.Fatalf("G0 evaluation workflow is missing required ordering/evidence control %q", required) diff --git a/internal/pii/evaluation/metrics.go b/internal/pii/evaluation/metrics.go index d2501ba..f041e80 100644 --- a/internal/pii/evaluation/metrics.go +++ b/internal/pii/evaluation/metrics.go @@ -355,6 +355,9 @@ func Evaluate(corpus *Corpus, observations []CaseObservation, metadata EvidenceM } for _, target := range fixture.Targets { observed := strings.Contains(output, target.Value) + if target.Actions.For(mode) == ActionRedact { + observed = targetLeakObserved(output, target, expected.RequiredAbsent) + } for _, slice := range outputDimensions(fixture, target) { counts := outputSlice(outputSlices, mode, slice.dimension, slice.name) if target.Actions.For(mode) == ActionRedact { @@ -428,6 +431,15 @@ func Evaluate(corpus *Corpus, observations []CaseObservation, metadata EvidenceM return report, nil } +func targetLeakObserved(output string, target Target, requiredAbsent []string) bool { + for _, sentinel := range requiredAbsent { + if strings.Contains(target.Value, sentinel) && strings.Contains(output, sentinel) { + return true + } + } + return false +} + func validateEvidenceMetadata(metadata EvidenceMetadata) error { for name, value := range map[string]string{ "git commit": metadata.GitCommit, "backend": metadata.Backend, "model revision": metadata.ModelRevision, diff --git a/internal/pii/evaluation/metrics_test.go b/internal/pii/evaluation/metrics_test.go index 7d30d27..dc323bc 100644 --- a/internal/pii/evaluation/metrics_test.go +++ b/internal/pii/evaluation/metrics_test.go @@ -181,6 +181,116 @@ func TestMetricMatchingUsesMaximumOneToOneAssignment(t *testing.T) { } } +func TestRepeatedSecretMetricsRequireTwoSpansAndCatchEitherLeakedCopy(t *testing.T) { + fixture := generateRepeatedSecretFixture() + value := fixture.Targets[0].Value + safeOutput := strings.ReplaceAll(fixture.Text, value, SecretMarker) + complete := CaseObservation{ + CaseID: fixture.ID, + Predictions: []PredictedSpan{ + {Kind: SpanSecret, Start: fixture.Targets[0].Start, End: fixture.Targets[0].End}, + {Kind: SpanSecret, Start: fixture.Targets[1].Start, End: fixture.Targets[1].End}, + }, + Outputs: map[Mode]string{ModeOff: fixture.Text, ModeCustomers: safeOutput, ModeAll: safeOutput}, + } + report, err := Evaluate(&Corpus{Cases: []Case{fixture}}, []CaseObservation{complete}, testMetadata()) + if err != nil { + t.Fatal(err) + } + if report.Detector.RequiredMatch.TruePositive != 2 || report.Detector.RequiredMatch.FalseNegative != 0 || report.Detector.RequiredMatch.FalsePositive != 0 { + t.Fatalf("two correct repeated-secret predictions did not pass: %+v", report.Detector.RequiredMatch) + } + if outputMetricsForMode(t, report, ModeCustomers).RawValueLeaks != 0 { + t.Fatalf("fully removed repeated secret was reported as leaked") + } + + missed := complete + missed.Predictions = missed.Predictions[:1] + report, err = Evaluate(&Corpus{Cases: []Case{fixture}}, []CaseObservation{missed}, testMetadata()) + if err != nil { + t.Fatal(err) + } + if report.Detector.RequiredMatch.TruePositive != 1 || report.Detector.RequiredMatch.FalseNegative != 1 { + t.Fatalf("a missing repeated-secret prediction was not scored as a miss: %+v", report.Detector.RequiredMatch) + } + + secondStart := strings.LastIndex(fixture.Text, value) + leakyOutputs := []string{ + strings.Replace(fixture.Text, value, SecretMarker, 1), + fixture.Text[:secondStart] + SecretMarker + fixture.Text[secondStart+len(value):], + } + for index, leakyOutput := range leakyOutputs { + leaked := complete + leaked.Outputs = map[Mode]string{ModeOff: fixture.Text, ModeCustomers: leakyOutput, ModeAll: safeOutput} + report, err = Evaluate(&Corpus{Cases: []Case{fixture}}, []CaseObservation{leaked}, testMetadata()) + if err != nil { + t.Fatal(err) + } + if output := outputMetricsForMode(t, report, ModeCustomers); output.RequiredAbsent != 1 || output.RawValueLeaks != 1 { + t.Fatalf("surviving repeated credential copy %d was not caught by the deduplicated sentinel: %+v", index, output) + } + } +} + +func TestOverlappingSecretFragmentSentinelCatchesPartialLeak(t *testing.T) { + fixture := generateOverlappingSecretFixture() + fragment := fixture.Targets[1].Value + observation := CaseObservation{ + CaseID: fixture.ID, + Predictions: []PredictedSpan{ + {Kind: SpanSecret, Start: fixture.Targets[0].Start, End: fixture.Targets[0].End}, + {Kind: SpanAccountNumber, Start: fixture.Targets[1].Start, End: fixture.Targets[1].End}, + }, + Outputs: map[Mode]string{ + ModeOff: fixture.Text, ModeCustomers: SecretMarker + " partial=" + fragment, ModeAll: SecretMarker, + }, + } + report, err := Evaluate(&Corpus{Cases: []Case{fixture}}, []CaseObservation{observation}, testMetadata()) + if err != nil { + t.Fatal(err) + } + if output := outputMetricsForMode(t, report, ModeCustomers); output.RawValueLeaks != 1 { + t.Fatalf("overlapping account fragment leak was not caught: %+v", output) + } + if secretSlice := findOutputSlice(t, report.FinalOutputSlices, ModeCustomers, "kind", string(SpanSecret)); secretSlice.RawValueLeaks != 1 { + t.Fatalf("fragment leak did not fail the secret output slice: %+v", secretSlice) + } +} + +func TestMarkupSplitSecretFragmentFailsAggregateAndKindSlice(t *testing.T) { + var fixture Case + for _, candidate := range generateBroadSecrets().Cases { + if candidate.ID == "broad-secret-api-key-must-detect-05" { + fixture = candidate + break + } + } + if fixture.ID == "" { + t.Fatal("generated Markdown split fixture not found") + } + fragments := syntheticLeakFragments(fixture.Targets[0].Value, 5) + if len(fragments) != 2 { + t.Fatalf("Markdown split fixture lacks fragment expectations: %v", fragments) + } + observation := CaseObservation{ + CaseID: fixture.ID, + Predictions: []PredictedSpan{{ + Kind: SpanSecret, Start: fixture.Targets[0].Start, End: fixture.Targets[0].End, + }}, + Outputs: map[Mode]string{ModeOff: fixture.Text, ModeCustomers: SecretMarker + fragments[1], ModeAll: SecretMarker}, + } + report, err := Evaluate(&Corpus{Cases: []Case{fixture}}, []CaseObservation{observation}, testMetadata()) + if err != nil { + t.Fatal(err) + } + if output := outputMetricsForMode(t, report, ModeCustomers); output.RawValueLeaks != 1 { + t.Fatalf("split credential fragment did not fail aggregate output metrics: %+v", output) + } + if secretSlice := findOutputSlice(t, report.FinalOutputSlices, ModeCustomers, "kind", string(SpanSecret)); secretSlice.RawValueLeaks != 1 { + t.Fatalf("split credential fragment did not fail the secret output slice: %+v", secretSlice) + } +} + func TestMetricReportFreezesRequiredMatchAndEndToEndSlices(t *testing.T) { text := "Engineer Rowan Vale joined the thread." value := "Rowan Vale" @@ -256,6 +366,17 @@ func findOutputSlice(t *testing.T, slices []OutputMetricSlice, mode Mode, dimens return OutputMetricSlice{} } +func outputMetricsForMode(t *testing.T, report *Report, mode Mode) OutputMetrics { + t.Helper() + for _, output := range report.FinalOutput { + if output.Mode == mode { + return output + } + } + t.Fatalf("output metrics for mode %q not found", mode) + return OutputMetrics{} +} + func testMetadata() EvidenceMetadata { hash := strings.Repeat("a", 64) return EvidenceMetadata{ diff --git a/internal/pii/evaluation/synthetic.go b/internal/pii/evaluation/synthetic.go index 92293ec..a6e641c 100644 --- a/internal/pii/evaluation/synthetic.go +++ b/internal/pii/evaluation/synthetic.go @@ -4,7 +4,9 @@ import ( "crypto/sha256" "encoding/base64" "encoding/hex" + "encoding/json" "fmt" + "net/url" "strconv" "strings" ) @@ -50,26 +52,34 @@ func GenerateSyntheticValue(provenance SyntheticProvenance) (string, error) { return "", fmt.Errorf("unsupported synthetic purpose %q", provenance.Purpose) } if provenance.Purpose == "preserve" { - return generateSyntheticNearMiss(provenance) + value, err := generateSyntheticNearMiss(provenance) + if err != nil { + return "", err + } + return representSyntheticValue(provenance, value), nil + } + value, err := generateSyntheticCredential(provenance) + if err != nil { + return "", err } - return generateSyntheticCredential(provenance) + return representSyntheticValue(provenance, value), nil } func generateSyntheticCredential(provenance SyntheticProvenance) (string, error) { switch provenance.Recipe { case "api-key": - return varySyntheticCredential(provenance, "ak_"+syntheticAlphabet(provenance, "api", upperAlphaNumeric, 32)), nil + return "ak_" + syntheticAlphabet(provenance, "api", upperAlphaNumeric, 32), nil case "access-token": - return varySyntheticCredential(provenance, "access_token_"+syntheticAlphabet(provenance, "access", alphaNumeric, 40)), nil + return "access_token_" + syntheticAlphabet(provenance, "access", alphaNumeric, 40), nil case "oauth-token": - return varySyntheticCredential(provenance, "oat2_"+syntheticAlphabet(provenance, "oauth", alphaNumericDash, 52)), nil + return "oat2_" + syntheticAlphabet(provenance, "oauth", alphaNumericDash, 52), nil case "password": - return varySyntheticCredential(provenance, "R7!"+syntheticAlphabet(provenance, "password", alphaNumeric, 14)+"#q2"), nil + return "R7!" + syntheticAlphabet(provenance, "password", alphaNumeric, 14) + "#q2", nil case "jwt": header := base64.RawURLEncoding.EncodeToString([]byte(`{"alg":"HS256","typ":"JWT"}`)) payload := base64.RawURLEncoding.EncodeToString([]byte(`{"sub":"offline-fixture","aud":"privacy-eval"}`)) signature := syntheticAlphabet(provenance, "jwt-signature", alphaNumericDash, 43) - return varySyntheticCredential(provenance, header+"."+payload+"."+signature), nil + return header + "." + payload + "." + signature, nil case "one-time-code": switch syntheticVariation(provenance) % 5 { case 0: @@ -91,19 +101,19 @@ func generateSyntheticCredential(provenance SyntheticProvenance) (string, error) case "database-connection": user := "svc_" + syntheticAlphabet(provenance, "db-user", lowerAlphaNumeric, 8) password := "P9!" + syntheticAlphabet(provenance, "db-password", alphaNumeric, 18) - return varySyntheticCredential(provenance, "postgresql://"+user+":"+password+"@192.0.2.42:5432/support"), nil + return "postgresql://" + user + ":" + password + "@192.0.2.42:5432/support", nil case "cookie-authorization": - return varySyntheticCredential(provenance, "session="+syntheticAlphabet(provenance, "cookie", alphaNumericDash, 48)), nil + return "session=" + syntheticAlphabet(provenance, "cookie", alphaNumericDash, 48), nil case "webhook-secret": - return varySyntheticCredential(provenance, "whsig_"+syntheticAlphabet(provenance, "webhook", alphaNumeric, 40)), nil + return "whsig_" + syntheticAlphabet(provenance, "webhook", alphaNumeric, 40), nil case "cloud-credential": - return varySyntheticCredential(provenance, "CLDX"+syntheticAlphabet(provenance, "cloud", upperAlphaNumeric, 16)), nil + return "CLDX" + syntheticAlphabet(provenance, "cloud", upperAlphaNumeric, 16), nil case "source-control-token": - return varySyntheticCredential(provenance, "scm_"+syntheticAlphabet(provenance, "source-control", alphaNumeric, 36)), nil + return "scm_" + syntheticAlphabet(provenance, "source-control", alphaNumeric, 36), nil case "payment-credential": - return varySyntheticCredential(provenance, "paylive_"+syntheticAlphabet(provenance, "payment", alphaNumeric, 32)), nil + return "paylive_" + syntheticAlphabet(provenance, "payment", alphaNumeric, 32), nil case "observability-token": - return varySyntheticCredential(provenance, "obsap_"+syntheticHex(provenance, "observability", 32)), nil + return "obsap_" + syntheticHex(provenance, "observability", 32), nil case "command-secret": return "cmdtok_" + syntheticAlphabet(provenance, "command", alphaNumericDash, 40), nil default: @@ -231,28 +241,37 @@ func syntheticVariation(provenance SyntheticProvenance) int { return variation } -func varySyntheticCredential(provenance SyntheticProvenance, value string) string { +// representSyntheticValue returns the exact bytes placed in a generated +// fixture. Structured formats deliberately use their serialized form so the +// provenance check and byte spans describe what the detector actually sees. +func representSyntheticValue(provenance SyntheticProvenance, value string) string { if !strings.HasPrefix(provenance.Seed, "broad-secret-") { return value } variation := syntheticVariation(provenance) - if variation < 8 || len(value) < 8 { + switch variation { + case 1, 2, 8, 13: + encoded, err := json.Marshal(value) + if err != nil { + panic(err) + } + return string(encoded[1 : len(encoded)-1]) + case 4: + return url.QueryEscape(value) + } + if provenance.Purpose != "must-detect" || len(value) < 8 { return value } middle := len(value) / 2 switch variation { - case 8: - return value[:middle] + "\n" + value[middle:] case 9: - return value[:middle] + " " + value[middle:] + return value[:middle] + "\t" + value[middle:] case 10: return value[:middle] + "·" + value[middle:] - case 11: + case 5: + return value[:middle] + "**" + value[middle:] + "**" + case 6: return value[:middle] + "" + value[middle:] - case 12: - return value[:middle] + "**" + value[middle:] - case 13: - return value + " / " + value default: return value } diff --git a/internal/pii/testdata/privacy-filter/broad/v1/account-identifiers.json b/internal/pii/testdata/privacy-filter/broad/v1/account-identifiers.json index d2777a9..32ee5e7 100644 --- a/internal/pii/testdata/privacy-filter/broad/v1/account-identifiers.json +++ b/internal/pii/testdata/privacy-filter/broad/v1/account-identifiers.json @@ -6,20 +6,20 @@ {"id":"broad-account-preserve-000","language":"en","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad account identifier variation.","text":"Published documentation reference: DOC-0000-0TXWZKB4","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":35,"end":52,"value":"DOC-0000-0TXWZKB4","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0000-0TXWZKB4"]},"customers":{"required_absent":[],"required_present":["DOC-0000-0TXWZKB4"]},"all":{"required_absent":[],"required_present":["DOC-0000-0TXWZKB4"]}},"tags":["broad-quality","account-identifier"]}, {"id":"broad-account-redact-001","language":"en","script":"Latin","shape":"json","risk":"high","reason":"Locked broad account identifier variation.","text":"{\"message_1\":\"Customer account reference: CUST-0001-3STQMQ8L\"}","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":42,"end":60,"value":"CUST-0001-3STQMQ8L","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0001-3STQMQ8L"]},"customers":{"required_absent":["CUST-0001-3STQMQ8L"],"required_present":[]},"all":{"required_absent":["CUST-0001-3STQMQ8L"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, {"id":"broad-account-preserve-001","language":"en","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad account identifier variation.","text":"{\"message_1\":\"Published documentation reference: DOC-0001-WMPL60F1\"}","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":49,"end":66,"value":"DOC-0001-WMPL60F1","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0001-WMPL60F1"]},"customers":{"required_absent":[],"required_present":["DOC-0001-WMPL60F1"]},"all":{"required_absent":[],"required_present":["DOC-0001-WMPL60F1"]}},"tags":["broad-quality","account-identifier"]}, - {"id":"broad-account-redact-002","language":"en","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad account identifier variation.","text":"message_2: Customer account reference: CUST-0002-MDS6LULB","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":39,"end":57,"value":"CUST-0002-MDS6LULB","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0002-MDS6LULB"]},"customers":{"required_absent":["CUST-0002-MDS6LULB"],"required_present":[]},"all":{"required_absent":["CUST-0002-MDS6LULB"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, - {"id":"broad-account-preserve-002","language":"en","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad account identifier variation.","text":"message_2: Published documentation reference: DOC-0002-M6DKJTE3","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":46,"end":63,"value":"DOC-0002-M6DKJTE3","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0002-M6DKJTE3"]},"customers":{"required_absent":[],"required_present":["DOC-0002-M6DKJTE3"]},"all":{"required_absent":[],"required_present":["DOC-0002-M6DKJTE3"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-002","language":"en","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad account identifier variation.","text":"message_2: \"Customer account reference: CUST-0002-MDS6LULB\"","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":40,"end":58,"value":"CUST-0002-MDS6LULB","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0002-MDS6LULB"]},"customers":{"required_absent":["CUST-0002-MDS6LULB"],"required_present":[]},"all":{"required_absent":["CUST-0002-MDS6LULB"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-002","language":"en","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad account identifier variation.","text":"message_2: \"Published documentation reference: DOC-0002-M6DKJTE3\"","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":47,"end":64,"value":"DOC-0002-M6DKJTE3","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0002-M6DKJTE3"]},"customers":{"required_absent":[],"required_present":["DOC-0002-M6DKJTE3"]},"all":{"required_absent":[],"required_present":["DOC-0002-M6DKJTE3"]}},"tags":["broad-quality","account-identifier"]}, {"id":"broad-account-redact-003","language":"en","script":"Latin","shape":"shell","risk":"high","reason":"Locked broad account identifier variation.","text":"MESSAGE_3='Customer account reference: CUST-0003-ZWXH0SFM'","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":39,"end":57,"value":"CUST-0003-ZWXH0SFM","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0003-ZWXH0SFM"]},"customers":{"required_absent":["CUST-0003-ZWXH0SFM"],"required_present":[]},"all":{"required_absent":["CUST-0003-ZWXH0SFM"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, {"id":"broad-account-preserve-003","language":"en","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad account identifier variation.","text":"MESSAGE_3='Published documentation reference: DOC-0003-PH23PHFY'","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":46,"end":63,"value":"DOC-0003-PH23PHFY","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0003-PH23PHFY"]},"customers":{"required_absent":[],"required_present":["DOC-0003-PH23PHFY"]},"all":{"required_absent":[],"required_present":["DOC-0003-PH23PHFY"]}},"tags":["broad-quality","account-identifier"]}, - {"id":"broad-account-redact-004","language":"en","script":"Latin","shape":"url","risk":"high","reason":"Locked broad account identifier variation.","text":"endpoint=https://192.0.2.10/4 ; Customer account reference: CUST-0004-Y8VVQXIC","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":60,"end":78,"value":"CUST-0004-Y8VVQXIC","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0004-Y8VVQXIC"]},"customers":{"required_absent":["CUST-0004-Y8VVQXIC"],"required_present":[]},"all":{"required_absent":["CUST-0004-Y8VVQXIC"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, - {"id":"broad-account-preserve-004","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad account identifier variation.","text":"endpoint=https://192.0.2.10/4 ; Published documentation reference: DOC-0004-KOHMLNMI","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":67,"end":84,"value":"DOC-0004-KOHMLNMI","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0004-KOHMLNMI"]},"customers":{"required_absent":[],"required_present":["DOC-0004-KOHMLNMI"]},"all":{"required_absent":[],"required_present":["DOC-0004-KOHMLNMI"]}},"tags":["broad-quality","account-identifier"]}, - {"id":"broad-account-redact-005","language":"en","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad account identifier variation.","text":"**Customer account reference: CUST-0005-07SJ18MJ**","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":30,"end":48,"value":"CUST-0005-07SJ18MJ","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0005-07SJ18MJ"]},"customers":{"required_absent":["CUST-0005-07SJ18MJ"],"required_present":[]},"all":{"required_absent":["CUST-0005-07SJ18MJ"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, - {"id":"broad-account-preserve-005","language":"en","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad account identifier variation.","text":"**Published documentation reference: DOC-0005-MO2ZL8ZG**","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":37,"end":54,"value":"DOC-0005-MO2ZL8ZG","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0005-MO2ZL8ZG"]},"customers":{"required_absent":[],"required_present":["DOC-0005-MO2ZL8ZG"]},"all":{"required_absent":[],"required_present":["DOC-0005-MO2ZL8ZG"]}},"tags":["broad-quality","account-identifier"]}, - {"id":"broad-account-redact-006","language":"en","script":"Latin","shape":"html","risk":"high","reason":"Locked broad account identifier variation.","text":"\u003cp\u003eCustomer account reference: CUST-0006-MGT6FRVY\u003c/p\u003e","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":31,"end":49,"value":"CUST-0006-MGT6FRVY","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0006-MGT6FRVY"]},"customers":{"required_absent":["CUST-0006-MGT6FRVY"],"required_present":[]},"all":{"required_absent":["CUST-0006-MGT6FRVY"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, - {"id":"broad-account-preserve-006","language":"en","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad account identifier variation.","text":"\u003cp\u003ePublished documentation reference: DOC-0006-QM0ETO9J\u003c/p\u003e","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":38,"end":55,"value":"DOC-0006-QM0ETO9J","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0006-QM0ETO9J"]},"customers":{"required_absent":[],"required_present":["DOC-0006-QM0ETO9J"]},"all":{"required_absent":[],"required_present":["DOC-0006-QM0ETO9J"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-004","language":"en","script":"Latin","shape":"url","risk":"high","reason":"Locked broad account identifier variation.","text":"endpoint=https://192.0.2.10/4?credential=CUST-0004-Y8VVQXIC\u0026note=Customer+account+reference%3A+","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":41,"end":59,"value":"CUST-0004-Y8VVQXIC","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0004-Y8VVQXIC"]},"customers":{"required_absent":["CUST-0004-Y8VVQXIC"],"required_present":[]},"all":{"required_absent":["CUST-0004-Y8VVQXIC"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-004","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad account identifier variation.","text":"endpoint=https://192.0.2.10/4?credential=DOC-0004-KOHMLNMI\u0026note=Published+documentation+reference%3A+","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":41,"end":58,"value":"DOC-0004-KOHMLNMI","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0004-KOHMLNMI"]},"customers":{"required_absent":[],"required_present":["DOC-0004-KOHMLNMI"]},"all":{"required_absent":[],"required_present":["DOC-0004-KOHMLNMI"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-005","language":"en","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad account identifier variation.","text":"Customer account reference: `CUST-0005-07SJ18MJ`","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":29,"end":47,"value":"CUST-0005-07SJ18MJ","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0005-07SJ18MJ"]},"customers":{"required_absent":["CUST-0005-07SJ18MJ"],"required_present":[]},"all":{"required_absent":["CUST-0005-07SJ18MJ"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-005","language":"en","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad account identifier variation.","text":"Published documentation reference: `DOC-0005-MO2ZL8ZG`","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":36,"end":53,"value":"DOC-0005-MO2ZL8ZG","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0005-MO2ZL8ZG"]},"customers":{"required_absent":[],"required_present":["DOC-0005-MO2ZL8ZG"]},"all":{"required_absent":[],"required_present":["DOC-0005-MO2ZL8ZG"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-006","language":"en","script":"Latin","shape":"html","risk":"high","reason":"Locked broad account identifier variation.","text":"\u003cp\u003eCustomer account reference: \u003ccode\u003eCUST-0006-MGT6FRVY\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":37,"end":55,"value":"CUST-0006-MGT6FRVY","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0006-MGT6FRVY"]},"customers":{"required_absent":["CUST-0006-MGT6FRVY"],"required_present":[]},"all":{"required_absent":["CUST-0006-MGT6FRVY"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-006","language":"en","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad account identifier variation.","text":"\u003cp\u003ePublished documentation reference: \u003ccode\u003eDOC-0006-QM0ETO9J\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":44,"end":61,"value":"DOC-0006-QM0ETO9J","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0006-QM0ETO9J"]},"customers":{"required_absent":[],"required_present":["DOC-0006-QM0ETO9J"]},"all":{"required_absent":[],"required_present":["DOC-0006-QM0ETO9J"]}},"tags":["broad-quality","account-identifier"]}, {"id":"broad-account-redact-007","language":"en","script":"Latin","shape":"quoted-reply","risk":"high","reason":"Locked broad account identifier variation.","text":"\u003e Customer account reference: CUST-0007-04LJBYKE","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":30,"end":48,"value":"CUST-0007-04LJBYKE","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0007-04LJBYKE"]},"customers":{"required_absent":["CUST-0007-04LJBYKE"],"required_present":[]},"all":{"required_absent":["CUST-0007-04LJBYKE"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, {"id":"broad-account-preserve-007","language":"en","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad account identifier variation.","text":"\u003e Published documentation reference: DOC-0007-K83ILMB7","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":37,"end":54,"value":"DOC-0007-K83ILMB7","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0007-K83ILMB7"]},"customers":{"required_absent":[],"required_present":["DOC-0007-K83ILMB7"]},"all":{"required_absent":[],"required_present":["DOC-0007-K83ILMB7"]}},"tags":["broad-quality","account-identifier"]}, - {"id":"broad-account-redact-008","language":"en","script":"Latin","shape":"log","risk":"high","reason":"Locked broad account identifier variation.","text":"level=warn sample=8 message=\"Customer account reference: \" value=CUST-0008-BJZQP73E","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":65,"end":83,"value":"CUST-0008-BJZQP73E","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0008-BJZQP73E"]},"customers":{"required_absent":["CUST-0008-BJZQP73E"],"required_present":[]},"all":{"required_absent":["CUST-0008-BJZQP73E"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, - {"id":"broad-account-preserve-008","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad account identifier variation.","text":"level=warn sample=8 message=\"Published documentation reference: \" value=DOC-0008-Y681WTI8","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":72,"end":89,"value":"DOC-0008-Y681WTI8","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0008-Y681WTI8"]},"customers":{"required_absent":[],"required_present":["DOC-0008-Y681WTI8"]},"all":{"required_absent":[],"required_present":["DOC-0008-Y681WTI8"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-008","language":"en","script":"Latin","shape":"log","risk":"high","reason":"Locked broad account identifier variation.","text":"level=warn sample=8 message=\"Customer account reference: \" credential=\"CUST-0008-BJZQP73E\"","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":71,"end":89,"value":"CUST-0008-BJZQP73E","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0008-BJZQP73E"]},"customers":{"required_absent":["CUST-0008-BJZQP73E"],"required_present":[]},"all":{"required_absent":["CUST-0008-BJZQP73E"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-008","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad account identifier variation.","text":"level=warn sample=8 message=\"Published documentation reference: \" credential=\"DOC-0008-Y681WTI8\"","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":78,"end":95,"value":"DOC-0008-Y681WTI8","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0008-Y681WTI8"]},"customers":{"required_absent":[],"required_present":["DOC-0008-Y681WTI8"]},"all":{"required_absent":[],"required_present":["DOC-0008-Y681WTI8"]}},"tags":["broad-quality","account-identifier"]}, {"id":"broad-account-redact-009","language":"en","script":"Latin","shape":"stack-trace","risk":"high","reason":"Locked broad account identifier variation.","text":"Trace[9]: Customer account reference: CUST-0009-ZUYEDVSM","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":38,"end":56,"value":"CUST-0009-ZUYEDVSM","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0009-ZUYEDVSM"]},"customers":{"required_absent":["CUST-0009-ZUYEDVSM"],"required_present":[]},"all":{"required_absent":["CUST-0009-ZUYEDVSM"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, {"id":"broad-account-preserve-009","language":"en","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad account identifier variation.","text":"Trace[9]: Published documentation reference: DOC-0009-Z8GUK1Y6","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":45,"end":62,"value":"DOC-0009-Z8GUK1Y6","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0009-Z8GUK1Y6"]},"customers":{"required_absent":[],"required_present":["DOC-0009-Z8GUK1Y6"]},"all":{"required_absent":[],"required_present":["DOC-0009-Z8GUK1Y6"]}},"tags":["broad-quality","account-identifier"]}, {"id":"broad-account-redact-010","language":"en","script":"Latin","shape":"code","risk":"high","reason":"Locked broad account identifier variation.","text":"fixture_10 := `Customer account reference: CUST-0010-FJ8D9ETB`","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":43,"end":61,"value":"CUST-0010-FJ8D9ETB","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0010-FJ8D9ETB"]},"customers":{"required_absent":["CUST-0010-FJ8D9ETB"],"required_present":[]},"all":{"required_absent":["CUST-0010-FJ8D9ETB"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, @@ -28,26 +28,26 @@ {"id":"broad-account-preserve-011","language":"en","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad account identifier variation.","text":"--\nPublished documentation reference: DOC-0011-OIT7Q1S1","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":38,"end":55,"value":"DOC-0011-OIT7Q1S1","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0011-OIT7Q1S1"]},"customers":{"required_absent":[],"required_present":["DOC-0011-OIT7Q1S1"]},"all":{"required_absent":[],"required_present":["DOC-0011-OIT7Q1S1"]}},"tags":["broad-quality","account-identifier"]}, {"id":"broad-account-redact-012","language":"en","script":"Latin","shape":"long-thread","risk":"high","reason":"Locked broad account identifier variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Customer account reference: CUST-0012-SBBRFZB9","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":508,"end":526,"value":"CUST-0012-SBBRFZB9","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0012-SBBRFZB9"]},"customers":{"required_absent":["CUST-0012-SBBRFZB9"],"required_present":[]},"all":{"required_absent":["CUST-0012-SBBRFZB9"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, {"id":"broad-account-preserve-012","language":"en","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad account identifier variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Published documentation reference: DOC-0012-9I2ECLOM","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":515,"end":532,"value":"DOC-0012-9I2ECLOM","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0012-9I2ECLOM"]},"customers":{"required_absent":[],"required_present":["DOC-0012-9I2ECLOM"]},"all":{"required_absent":[],"required_present":["DOC-0012-9I2ECLOM"]}},"tags":["broad-quality","account-identifier"]}, - {"id":"broad-account-redact-013","language":"en","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad account identifier variation.","text":"--sample=13 --message=\"Customer account reference: \" --value=CUST-0013-LEE7NYXX","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":61,"end":79,"value":"CUST-0013-LEE7NYXX","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0013-LEE7NYXX"]},"customers":{"required_absent":["CUST-0013-LEE7NYXX"],"required_present":[]},"all":{"required_absent":["CUST-0013-LEE7NYXX"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, - {"id":"broad-account-preserve-013","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad account identifier variation.","text":"--sample=13 --message=\"Published documentation reference: \" --value=DOC-0013-GYHOVEGG","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":68,"end":85,"value":"DOC-0013-GYHOVEGG","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0013-GYHOVEGG"]},"customers":{"required_absent":[],"required_present":["DOC-0013-GYHOVEGG"]},"all":{"required_absent":[],"required_present":["DOC-0013-GYHOVEGG"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-013","language":"en","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad account identifier variation.","text":"--sample=13 --message=\"Customer account reference: \" --credential=\"CUST-0013-LEE7NYXX\"","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":67,"end":85,"value":"CUST-0013-LEE7NYXX","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0013-LEE7NYXX"]},"customers":{"required_absent":["CUST-0013-LEE7NYXX"],"required_present":[]},"all":{"required_absent":["CUST-0013-LEE7NYXX"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-013","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad account identifier variation.","text":"--sample=13 --message=\"Published documentation reference: \" --credential=\"DOC-0013-GYHOVEGG\"","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":74,"end":91,"value":"DOC-0013-GYHOVEGG","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0013-GYHOVEGG"]},"customers":{"required_absent":[],"required_present":["DOC-0013-GYHOVEGG"]},"all":{"required_absent":[],"required_present":["DOC-0013-GYHOVEGG"]}},"tags":["broad-quality","account-identifier"]}, {"id":"broad-account-redact-014","language":"en","script":"Latin","shape":"prose","risk":"high","reason":"Locked broad account identifier variation.","text":"Customer account reference: CUST-0014-GM2WQTFS","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":28,"end":46,"value":"CUST-0014-GM2WQTFS","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0014-GM2WQTFS"]},"customers":{"required_absent":["CUST-0014-GM2WQTFS"],"required_present":[]},"all":{"required_absent":["CUST-0014-GM2WQTFS"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, {"id":"broad-account-preserve-014","language":"en","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad account identifier variation.","text":"Published documentation reference: DOC-0014-SNSAWJ4W","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":35,"end":52,"value":"DOC-0014-SNSAWJ4W","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0014-SNSAWJ4W"]},"customers":{"required_absent":[],"required_present":["DOC-0014-SNSAWJ4W"]},"all":{"required_absent":[],"required_present":["DOC-0014-SNSAWJ4W"]}},"tags":["broad-quality","account-identifier"]}, {"id":"broad-account-redact-015","language":"en","script":"Latin","shape":"json","risk":"high","reason":"Locked broad account identifier variation.","text":"{\"message_15\":\"Customer account reference: CUST-0015-2W20LZAZ\"}","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":43,"end":61,"value":"CUST-0015-2W20LZAZ","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0015-2W20LZAZ"]},"customers":{"required_absent":["CUST-0015-2W20LZAZ"],"required_present":[]},"all":{"required_absent":["CUST-0015-2W20LZAZ"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, {"id":"broad-account-preserve-015","language":"en","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad account identifier variation.","text":"{\"message_15\":\"Published documentation reference: DOC-0015-D2BTMRYJ\"}","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":50,"end":67,"value":"DOC-0015-D2BTMRYJ","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0015-D2BTMRYJ"]},"customers":{"required_absent":[],"required_present":["DOC-0015-D2BTMRYJ"]},"all":{"required_absent":[],"required_present":["DOC-0015-D2BTMRYJ"]}},"tags":["broad-quality","account-identifier"]}, - {"id":"broad-account-redact-016","language":"en","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad account identifier variation.","text":"message_16: Customer account reference: CUST-0016-KVTT4CZQ","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":40,"end":58,"value":"CUST-0016-KVTT4CZQ","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0016-KVTT4CZQ"]},"customers":{"required_absent":["CUST-0016-KVTT4CZQ"],"required_present":[]},"all":{"required_absent":["CUST-0016-KVTT4CZQ"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, - {"id":"broad-account-preserve-016","language":"en","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad account identifier variation.","text":"message_16: Published documentation reference: DOC-0016-YPDF30BF","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":47,"end":64,"value":"DOC-0016-YPDF30BF","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0016-YPDF30BF"]},"customers":{"required_absent":[],"required_present":["DOC-0016-YPDF30BF"]},"all":{"required_absent":[],"required_present":["DOC-0016-YPDF30BF"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-016","language":"en","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad account identifier variation.","text":"message_16: \"Customer account reference: CUST-0016-KVTT4CZQ\"","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":41,"end":59,"value":"CUST-0016-KVTT4CZQ","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0016-KVTT4CZQ"]},"customers":{"required_absent":["CUST-0016-KVTT4CZQ"],"required_present":[]},"all":{"required_absent":["CUST-0016-KVTT4CZQ"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-016","language":"en","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad account identifier variation.","text":"message_16: \"Published documentation reference: DOC-0016-YPDF30BF\"","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":48,"end":65,"value":"DOC-0016-YPDF30BF","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0016-YPDF30BF"]},"customers":{"required_absent":[],"required_present":["DOC-0016-YPDF30BF"]},"all":{"required_absent":[],"required_present":["DOC-0016-YPDF30BF"]}},"tags":["broad-quality","account-identifier"]}, {"id":"broad-account-redact-017","language":"en","script":"Latin","shape":"shell","risk":"high","reason":"Locked broad account identifier variation.","text":"MESSAGE_17='Customer account reference: CUST-0017-AQPCMOG9'","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":40,"end":58,"value":"CUST-0017-AQPCMOG9","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0017-AQPCMOG9"]},"customers":{"required_absent":["CUST-0017-AQPCMOG9"],"required_present":[]},"all":{"required_absent":["CUST-0017-AQPCMOG9"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, {"id":"broad-account-preserve-017","language":"en","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad account identifier variation.","text":"MESSAGE_17='Published documentation reference: DOC-0017-EAQ021T6'","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":47,"end":64,"value":"DOC-0017-EAQ021T6","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0017-EAQ021T6"]},"customers":{"required_absent":[],"required_present":["DOC-0017-EAQ021T6"]},"all":{"required_absent":[],"required_present":["DOC-0017-EAQ021T6"]}},"tags":["broad-quality","account-identifier"]}, - {"id":"broad-account-redact-018","language":"en","script":"Latin","shape":"url","risk":"high","reason":"Locked broad account identifier variation.","text":"endpoint=https://192.0.2.10/18 ; Customer account reference: CUST-0018-8W1ZU6AO","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":61,"end":79,"value":"CUST-0018-8W1ZU6AO","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0018-8W1ZU6AO"]},"customers":{"required_absent":["CUST-0018-8W1ZU6AO"],"required_present":[]},"all":{"required_absent":["CUST-0018-8W1ZU6AO"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, - {"id":"broad-account-preserve-018","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad account identifier variation.","text":"endpoint=https://192.0.2.10/18 ; Published documentation reference: DOC-0018-S49PTPIS","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":68,"end":85,"value":"DOC-0018-S49PTPIS","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0018-S49PTPIS"]},"customers":{"required_absent":[],"required_present":["DOC-0018-S49PTPIS"]},"all":{"required_absent":[],"required_present":["DOC-0018-S49PTPIS"]}},"tags":["broad-quality","account-identifier"]}, - {"id":"broad-account-redact-019","language":"en","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad account identifier variation.","text":"**Customer account reference: CUST-0019-XOD6EX03**","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":30,"end":48,"value":"CUST-0019-XOD6EX03","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0019-XOD6EX03"]},"customers":{"required_absent":["CUST-0019-XOD6EX03"],"required_present":[]},"all":{"required_absent":["CUST-0019-XOD6EX03"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, - {"id":"broad-account-preserve-019","language":"en","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad account identifier variation.","text":"**Published documentation reference: DOC-0019-MRHAP1O6**","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":37,"end":54,"value":"DOC-0019-MRHAP1O6","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0019-MRHAP1O6"]},"customers":{"required_absent":[],"required_present":["DOC-0019-MRHAP1O6"]},"all":{"required_absent":[],"required_present":["DOC-0019-MRHAP1O6"]}},"tags":["broad-quality","account-identifier"]}, - {"id":"broad-account-redact-020","language":"en","script":"Latin","shape":"html","risk":"high","reason":"Locked broad account identifier variation.","text":"\u003cp\u003eCustomer account reference: CUST-0020-E7QVMNSG\u003c/p\u003e","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":31,"end":49,"value":"CUST-0020-E7QVMNSG","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0020-E7QVMNSG"]},"customers":{"required_absent":["CUST-0020-E7QVMNSG"],"required_present":[]},"all":{"required_absent":["CUST-0020-E7QVMNSG"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, - {"id":"broad-account-preserve-020","language":"en","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad account identifier variation.","text":"\u003cp\u003ePublished documentation reference: DOC-0020-08U3NETB\u003c/p\u003e","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":38,"end":55,"value":"DOC-0020-08U3NETB","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0020-08U3NETB"]},"customers":{"required_absent":[],"required_present":["DOC-0020-08U3NETB"]},"all":{"required_absent":[],"required_present":["DOC-0020-08U3NETB"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-018","language":"en","script":"Latin","shape":"url","risk":"high","reason":"Locked broad account identifier variation.","text":"endpoint=https://192.0.2.10/18?credential=CUST-0018-8W1ZU6AO\u0026note=Customer+account+reference%3A+","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":42,"end":60,"value":"CUST-0018-8W1ZU6AO","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0018-8W1ZU6AO"]},"customers":{"required_absent":["CUST-0018-8W1ZU6AO"],"required_present":[]},"all":{"required_absent":["CUST-0018-8W1ZU6AO"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-018","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad account identifier variation.","text":"endpoint=https://192.0.2.10/18?credential=DOC-0018-S49PTPIS\u0026note=Published+documentation+reference%3A+","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":42,"end":59,"value":"DOC-0018-S49PTPIS","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0018-S49PTPIS"]},"customers":{"required_absent":[],"required_present":["DOC-0018-S49PTPIS"]},"all":{"required_absent":[],"required_present":["DOC-0018-S49PTPIS"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-019","language":"en","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad account identifier variation.","text":"Customer account reference: `CUST-0019-XOD6EX03`","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":29,"end":47,"value":"CUST-0019-XOD6EX03","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0019-XOD6EX03"]},"customers":{"required_absent":["CUST-0019-XOD6EX03"],"required_present":[]},"all":{"required_absent":["CUST-0019-XOD6EX03"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-019","language":"en","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad account identifier variation.","text":"Published documentation reference: `DOC-0019-MRHAP1O6`","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":36,"end":53,"value":"DOC-0019-MRHAP1O6","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0019-MRHAP1O6"]},"customers":{"required_absent":[],"required_present":["DOC-0019-MRHAP1O6"]},"all":{"required_absent":[],"required_present":["DOC-0019-MRHAP1O6"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-020","language":"en","script":"Latin","shape":"html","risk":"high","reason":"Locked broad account identifier variation.","text":"\u003cp\u003eCustomer account reference: \u003ccode\u003eCUST-0020-E7QVMNSG\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":37,"end":55,"value":"CUST-0020-E7QVMNSG","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0020-E7QVMNSG"]},"customers":{"required_absent":["CUST-0020-E7QVMNSG"],"required_present":[]},"all":{"required_absent":["CUST-0020-E7QVMNSG"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-020","language":"en","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad account identifier variation.","text":"\u003cp\u003ePublished documentation reference: \u003ccode\u003eDOC-0020-08U3NETB\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":44,"end":61,"value":"DOC-0020-08U3NETB","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0020-08U3NETB"]},"customers":{"required_absent":[],"required_present":["DOC-0020-08U3NETB"]},"all":{"required_absent":[],"required_present":["DOC-0020-08U3NETB"]}},"tags":["broad-quality","account-identifier"]}, {"id":"broad-account-redact-021","language":"en","script":"Latin","shape":"quoted-reply","risk":"high","reason":"Locked broad account identifier variation.","text":"\u003e Customer account reference: CUST-0021-Q2JTQ7BY","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":30,"end":48,"value":"CUST-0021-Q2JTQ7BY","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0021-Q2JTQ7BY"]},"customers":{"required_absent":["CUST-0021-Q2JTQ7BY"],"required_present":[]},"all":{"required_absent":["CUST-0021-Q2JTQ7BY"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, {"id":"broad-account-preserve-021","language":"en","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad account identifier variation.","text":"\u003e Published documentation reference: DOC-0021-FO9NQKIG","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":37,"end":54,"value":"DOC-0021-FO9NQKIG","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0021-FO9NQKIG"]},"customers":{"required_absent":[],"required_present":["DOC-0021-FO9NQKIG"]},"all":{"required_absent":[],"required_present":["DOC-0021-FO9NQKIG"]}},"tags":["broad-quality","account-identifier"]}, - {"id":"broad-account-redact-022","language":"en","script":"Latin","shape":"log","risk":"high","reason":"Locked broad account identifier variation.","text":"level=warn sample=22 message=\"Customer account reference: \" value=CUST-0022-UCNVCIV0","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":66,"end":84,"value":"CUST-0022-UCNVCIV0","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0022-UCNVCIV0"]},"customers":{"required_absent":["CUST-0022-UCNVCIV0"],"required_present":[]},"all":{"required_absent":["CUST-0022-UCNVCIV0"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, - {"id":"broad-account-preserve-022","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad account identifier variation.","text":"level=warn sample=22 message=\"Published documentation reference: \" value=DOC-0022-UN7Z9167","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":73,"end":90,"value":"DOC-0022-UN7Z9167","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0022-UN7Z9167"]},"customers":{"required_absent":[],"required_present":["DOC-0022-UN7Z9167"]},"all":{"required_absent":[],"required_present":["DOC-0022-UN7Z9167"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-022","language":"en","script":"Latin","shape":"log","risk":"high","reason":"Locked broad account identifier variation.","text":"level=warn sample=22 message=\"Customer account reference: \" credential=\"CUST-0022-UCNVCIV0\"","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":72,"end":90,"value":"CUST-0022-UCNVCIV0","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0022-UCNVCIV0"]},"customers":{"required_absent":["CUST-0022-UCNVCIV0"],"required_present":[]},"all":{"required_absent":["CUST-0022-UCNVCIV0"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-022","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad account identifier variation.","text":"level=warn sample=22 message=\"Published documentation reference: \" credential=\"DOC-0022-UN7Z9167\"","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":79,"end":96,"value":"DOC-0022-UN7Z9167","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0022-UN7Z9167"]},"customers":{"required_absent":[],"required_present":["DOC-0022-UN7Z9167"]},"all":{"required_absent":[],"required_present":["DOC-0022-UN7Z9167"]}},"tags":["broad-quality","account-identifier"]}, {"id":"broad-account-redact-023","language":"en","script":"Latin","shape":"stack-trace","risk":"high","reason":"Locked broad account identifier variation.","text":"Trace[23]: Customer account reference: CUST-0023-Q664HPCT","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":39,"end":57,"value":"CUST-0023-Q664HPCT","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0023-Q664HPCT"]},"customers":{"required_absent":["CUST-0023-Q664HPCT"],"required_present":[]},"all":{"required_absent":["CUST-0023-Q664HPCT"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, {"id":"broad-account-preserve-023","language":"en","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad account identifier variation.","text":"Trace[23]: Published documentation reference: DOC-0023-HHLUPVQD","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":46,"end":63,"value":"DOC-0023-HHLUPVQD","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0023-HHLUPVQD"]},"customers":{"required_absent":[],"required_present":["DOC-0023-HHLUPVQD"]},"all":{"required_absent":[],"required_present":["DOC-0023-HHLUPVQD"]}},"tags":["broad-quality","account-identifier"]}, {"id":"broad-account-redact-024","language":"en","script":"Latin","shape":"code","risk":"high","reason":"Locked broad account identifier variation.","text":"fixture_24 := `Customer account reference: CUST-0024-PO3EB4GF`","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":43,"end":61,"value":"CUST-0024-PO3EB4GF","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0024-PO3EB4GF"]},"customers":{"required_absent":["CUST-0024-PO3EB4GF"],"required_present":[]},"all":{"required_absent":["CUST-0024-PO3EB4GF"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, @@ -56,26 +56,26 @@ {"id":"broad-account-preserve-025","language":"en","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad account identifier variation.","text":"--\nPublished documentation reference: DOC-0025-9EVFNGYZ","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":38,"end":55,"value":"DOC-0025-9EVFNGYZ","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0025-9EVFNGYZ"]},"customers":{"required_absent":[],"required_present":["DOC-0025-9EVFNGYZ"]},"all":{"required_absent":[],"required_present":["DOC-0025-9EVFNGYZ"]}},"tags":["broad-quality","account-identifier"]}, {"id":"broad-account-redact-026","language":"en","script":"Latin","shape":"long-thread","risk":"high","reason":"Locked broad account identifier variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Customer account reference: CUST-0026-8OU4PFHH","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":508,"end":526,"value":"CUST-0026-8OU4PFHH","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0026-8OU4PFHH"]},"customers":{"required_absent":["CUST-0026-8OU4PFHH"],"required_present":[]},"all":{"required_absent":["CUST-0026-8OU4PFHH"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, {"id":"broad-account-preserve-026","language":"en","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad account identifier variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Published documentation reference: DOC-0026-4BKHOOAQ","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":515,"end":532,"value":"DOC-0026-4BKHOOAQ","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0026-4BKHOOAQ"]},"customers":{"required_absent":[],"required_present":["DOC-0026-4BKHOOAQ"]},"all":{"required_absent":[],"required_present":["DOC-0026-4BKHOOAQ"]}},"tags":["broad-quality","account-identifier"]}, - {"id":"broad-account-redact-027","language":"en","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad account identifier variation.","text":"--sample=27 --message=\"Customer account reference: \" --value=CUST-0027-V27QCSX8","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":61,"end":79,"value":"CUST-0027-V27QCSX8","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0027-V27QCSX8"]},"customers":{"required_absent":["CUST-0027-V27QCSX8"],"required_present":[]},"all":{"required_absent":["CUST-0027-V27QCSX8"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, - {"id":"broad-account-preserve-027","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad account identifier variation.","text":"--sample=27 --message=\"Published documentation reference: \" --value=DOC-0027-QAN2HWH2","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":68,"end":85,"value":"DOC-0027-QAN2HWH2","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0027-QAN2HWH2"]},"customers":{"required_absent":[],"required_present":["DOC-0027-QAN2HWH2"]},"all":{"required_absent":[],"required_present":["DOC-0027-QAN2HWH2"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-027","language":"en","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad account identifier variation.","text":"--sample=27 --message=\"Customer account reference: \" --credential=\"CUST-0027-V27QCSX8\"","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":67,"end":85,"value":"CUST-0027-V27QCSX8","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0027-V27QCSX8"]},"customers":{"required_absent":["CUST-0027-V27QCSX8"],"required_present":[]},"all":{"required_absent":["CUST-0027-V27QCSX8"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-027","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad account identifier variation.","text":"--sample=27 --message=\"Published documentation reference: \" --credential=\"DOC-0027-QAN2HWH2\"","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":74,"end":91,"value":"DOC-0027-QAN2HWH2","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0027-QAN2HWH2"]},"customers":{"required_absent":[],"required_present":["DOC-0027-QAN2HWH2"]},"all":{"required_absent":[],"required_present":["DOC-0027-QAN2HWH2"]}},"tags":["broad-quality","account-identifier"]}, {"id":"broad-account-redact-028","language":"en","script":"Latin","shape":"prose","risk":"high","reason":"Locked broad account identifier variation.","text":"Customer account reference: CUST-0028-TUMHZQ1F","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":28,"end":46,"value":"CUST-0028-TUMHZQ1F","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0028-TUMHZQ1F"]},"customers":{"required_absent":["CUST-0028-TUMHZQ1F"],"required_present":[]},"all":{"required_absent":["CUST-0028-TUMHZQ1F"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, {"id":"broad-account-preserve-028","language":"en","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad account identifier variation.","text":"Published documentation reference: DOC-0028-QVVLAJZZ","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":35,"end":52,"value":"DOC-0028-QVVLAJZZ","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0028-QVVLAJZZ"]},"customers":{"required_absent":[],"required_present":["DOC-0028-QVVLAJZZ"]},"all":{"required_absent":[],"required_present":["DOC-0028-QVVLAJZZ"]}},"tags":["broad-quality","account-identifier"]}, {"id":"broad-account-redact-029","language":"en","script":"Latin","shape":"json","risk":"high","reason":"Locked broad account identifier variation.","text":"{\"message_29\":\"Customer account reference: CUST-0029-HS306DGP\"}","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":43,"end":61,"value":"CUST-0029-HS306DGP","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0029-HS306DGP"]},"customers":{"required_absent":["CUST-0029-HS306DGP"],"required_present":[]},"all":{"required_absent":["CUST-0029-HS306DGP"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, {"id":"broad-account-preserve-029","language":"en","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad account identifier variation.","text":"{\"message_29\":\"Published documentation reference: DOC-0029-88OIRA38\"}","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":50,"end":67,"value":"DOC-0029-88OIRA38","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0029-88OIRA38"]},"customers":{"required_absent":[],"required_present":["DOC-0029-88OIRA38"]},"all":{"required_absent":[],"required_present":["DOC-0029-88OIRA38"]}},"tags":["broad-quality","account-identifier"]}, - {"id":"broad-account-redact-030","language":"en","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad account identifier variation.","text":"message_30: Customer account reference: CUST-0030-T4SQNVP3","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":40,"end":58,"value":"CUST-0030-T4SQNVP3","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0030-T4SQNVP3"]},"customers":{"required_absent":["CUST-0030-T4SQNVP3"],"required_present":[]},"all":{"required_absent":["CUST-0030-T4SQNVP3"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, - {"id":"broad-account-preserve-030","language":"en","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad account identifier variation.","text":"message_30: Published documentation reference: DOC-0030-U5K08GQ0","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":47,"end":64,"value":"DOC-0030-U5K08GQ0","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0030-U5K08GQ0"]},"customers":{"required_absent":[],"required_present":["DOC-0030-U5K08GQ0"]},"all":{"required_absent":[],"required_present":["DOC-0030-U5K08GQ0"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-030","language":"en","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad account identifier variation.","text":"message_30: \"Customer account reference: CUST-0030-T4SQNVP3\"","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":41,"end":59,"value":"CUST-0030-T4SQNVP3","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0030-T4SQNVP3"]},"customers":{"required_absent":["CUST-0030-T4SQNVP3"],"required_present":[]},"all":{"required_absent":["CUST-0030-T4SQNVP3"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-030","language":"en","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad account identifier variation.","text":"message_30: \"Published documentation reference: DOC-0030-U5K08GQ0\"","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":48,"end":65,"value":"DOC-0030-U5K08GQ0","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0030-U5K08GQ0"]},"customers":{"required_absent":[],"required_present":["DOC-0030-U5K08GQ0"]},"all":{"required_absent":[],"required_present":["DOC-0030-U5K08GQ0"]}},"tags":["broad-quality","account-identifier"]}, {"id":"broad-account-redact-031","language":"en","script":"Latin","shape":"shell","risk":"high","reason":"Locked broad account identifier variation.","text":"MESSAGE_31='Customer account reference: CUST-0031-RZC6GF2C'","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":40,"end":58,"value":"CUST-0031-RZC6GF2C","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0031-RZC6GF2C"]},"customers":{"required_absent":["CUST-0031-RZC6GF2C"],"required_present":[]},"all":{"required_absent":["CUST-0031-RZC6GF2C"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, {"id":"broad-account-preserve-031","language":"en","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad account identifier variation.","text":"MESSAGE_31='Published documentation reference: DOC-0031-UVP0EWBK'","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":47,"end":64,"value":"DOC-0031-UVP0EWBK","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0031-UVP0EWBK"]},"customers":{"required_absent":[],"required_present":["DOC-0031-UVP0EWBK"]},"all":{"required_absent":[],"required_present":["DOC-0031-UVP0EWBK"]}},"tags":["broad-quality","account-identifier"]}, - {"id":"broad-account-redact-032","language":"en","script":"Latin","shape":"url","risk":"high","reason":"Locked broad account identifier variation.","text":"endpoint=https://192.0.2.10/32 ; Customer account reference: CUST-0032-M3UHDN62","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":61,"end":79,"value":"CUST-0032-M3UHDN62","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0032-M3UHDN62"]},"customers":{"required_absent":["CUST-0032-M3UHDN62"],"required_present":[]},"all":{"required_absent":["CUST-0032-M3UHDN62"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, - {"id":"broad-account-preserve-032","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad account identifier variation.","text":"endpoint=https://192.0.2.10/32 ; Published documentation reference: DOC-0032-2VJRS3BT","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":68,"end":85,"value":"DOC-0032-2VJRS3BT","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0032-2VJRS3BT"]},"customers":{"required_absent":[],"required_present":["DOC-0032-2VJRS3BT"]},"all":{"required_absent":[],"required_present":["DOC-0032-2VJRS3BT"]}},"tags":["broad-quality","account-identifier"]}, - {"id":"broad-account-redact-033","language":"en","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad account identifier variation.","text":"**Customer account reference: CUST-0033-J79EFKH4**","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":30,"end":48,"value":"CUST-0033-J79EFKH4","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0033-J79EFKH4"]},"customers":{"required_absent":["CUST-0033-J79EFKH4"],"required_present":[]},"all":{"required_absent":["CUST-0033-J79EFKH4"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, - {"id":"broad-account-preserve-033","language":"en","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad account identifier variation.","text":"**Published documentation reference: DOC-0033-BG8AGYUI**","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":37,"end":54,"value":"DOC-0033-BG8AGYUI","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0033-BG8AGYUI"]},"customers":{"required_absent":[],"required_present":["DOC-0033-BG8AGYUI"]},"all":{"required_absent":[],"required_present":["DOC-0033-BG8AGYUI"]}},"tags":["broad-quality","account-identifier"]}, - {"id":"broad-account-redact-034","language":"en","script":"Latin","shape":"html","risk":"high","reason":"Locked broad account identifier variation.","text":"\u003cp\u003eCustomer account reference: CUST-0034-4Q9JBNWJ\u003c/p\u003e","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":31,"end":49,"value":"CUST-0034-4Q9JBNWJ","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0034-4Q9JBNWJ"]},"customers":{"required_absent":["CUST-0034-4Q9JBNWJ"],"required_present":[]},"all":{"required_absent":["CUST-0034-4Q9JBNWJ"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, - {"id":"broad-account-preserve-034","language":"en","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad account identifier variation.","text":"\u003cp\u003ePublished documentation reference: DOC-0034-BWD091J8\u003c/p\u003e","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":38,"end":55,"value":"DOC-0034-BWD091J8","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0034-BWD091J8"]},"customers":{"required_absent":[],"required_present":["DOC-0034-BWD091J8"]},"all":{"required_absent":[],"required_present":["DOC-0034-BWD091J8"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-032","language":"en","script":"Latin","shape":"url","risk":"high","reason":"Locked broad account identifier variation.","text":"endpoint=https://192.0.2.10/32?credential=CUST-0032-M3UHDN62\u0026note=Customer+account+reference%3A+","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":42,"end":60,"value":"CUST-0032-M3UHDN62","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0032-M3UHDN62"]},"customers":{"required_absent":["CUST-0032-M3UHDN62"],"required_present":[]},"all":{"required_absent":["CUST-0032-M3UHDN62"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-032","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad account identifier variation.","text":"endpoint=https://192.0.2.10/32?credential=DOC-0032-2VJRS3BT\u0026note=Published+documentation+reference%3A+","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":42,"end":59,"value":"DOC-0032-2VJRS3BT","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0032-2VJRS3BT"]},"customers":{"required_absent":[],"required_present":["DOC-0032-2VJRS3BT"]},"all":{"required_absent":[],"required_present":["DOC-0032-2VJRS3BT"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-033","language":"en","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad account identifier variation.","text":"Customer account reference: `CUST-0033-J79EFKH4`","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":29,"end":47,"value":"CUST-0033-J79EFKH4","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0033-J79EFKH4"]},"customers":{"required_absent":["CUST-0033-J79EFKH4"],"required_present":[]},"all":{"required_absent":["CUST-0033-J79EFKH4"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-033","language":"en","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad account identifier variation.","text":"Published documentation reference: `DOC-0033-BG8AGYUI`","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":36,"end":53,"value":"DOC-0033-BG8AGYUI","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0033-BG8AGYUI"]},"customers":{"required_absent":[],"required_present":["DOC-0033-BG8AGYUI"]},"all":{"required_absent":[],"required_present":["DOC-0033-BG8AGYUI"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-034","language":"en","script":"Latin","shape":"html","risk":"high","reason":"Locked broad account identifier variation.","text":"\u003cp\u003eCustomer account reference: \u003ccode\u003eCUST-0034-4Q9JBNWJ\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":37,"end":55,"value":"CUST-0034-4Q9JBNWJ","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0034-4Q9JBNWJ"]},"customers":{"required_absent":["CUST-0034-4Q9JBNWJ"],"required_present":[]},"all":{"required_absent":["CUST-0034-4Q9JBNWJ"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-034","language":"en","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad account identifier variation.","text":"\u003cp\u003ePublished documentation reference: \u003ccode\u003eDOC-0034-BWD091J8\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":44,"end":61,"value":"DOC-0034-BWD091J8","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0034-BWD091J8"]},"customers":{"required_absent":[],"required_present":["DOC-0034-BWD091J8"]},"all":{"required_absent":[],"required_present":["DOC-0034-BWD091J8"]}},"tags":["broad-quality","account-identifier"]}, {"id":"broad-account-redact-035","language":"en","script":"Latin","shape":"quoted-reply","risk":"high","reason":"Locked broad account identifier variation.","text":"\u003e Customer account reference: CUST-0035-QCNHSDAO","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":30,"end":48,"value":"CUST-0035-QCNHSDAO","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0035-QCNHSDAO"]},"customers":{"required_absent":["CUST-0035-QCNHSDAO"],"required_present":[]},"all":{"required_absent":["CUST-0035-QCNHSDAO"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, {"id":"broad-account-preserve-035","language":"en","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad account identifier variation.","text":"\u003e Published documentation reference: DOC-0035-TSQ0JAE3","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":37,"end":54,"value":"DOC-0035-TSQ0JAE3","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0035-TSQ0JAE3"]},"customers":{"required_absent":[],"required_present":["DOC-0035-TSQ0JAE3"]},"all":{"required_absent":[],"required_present":["DOC-0035-TSQ0JAE3"]}},"tags":["broad-quality","account-identifier"]}, - {"id":"broad-account-redact-036","language":"en","script":"Latin","shape":"log","risk":"high","reason":"Locked broad account identifier variation.","text":"level=warn sample=36 message=\"Customer account reference: \" value=CUST-0036-00N1YK74","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":66,"end":84,"value":"CUST-0036-00N1YK74","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0036-00N1YK74"]},"customers":{"required_absent":["CUST-0036-00N1YK74"],"required_present":[]},"all":{"required_absent":["CUST-0036-00N1YK74"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, - {"id":"broad-account-preserve-036","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad account identifier variation.","text":"level=warn sample=36 message=\"Published documentation reference: \" value=DOC-0036-K701KTVD","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":73,"end":90,"value":"DOC-0036-K701KTVD","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0036-K701KTVD"]},"customers":{"required_absent":[],"required_present":["DOC-0036-K701KTVD"]},"all":{"required_absent":[],"required_present":["DOC-0036-K701KTVD"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-036","language":"en","script":"Latin","shape":"log","risk":"high","reason":"Locked broad account identifier variation.","text":"level=warn sample=36 message=\"Customer account reference: \" credential=\"CUST-0036-00N1YK74\"","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":72,"end":90,"value":"CUST-0036-00N1YK74","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0036-00N1YK74"]},"customers":{"required_absent":["CUST-0036-00N1YK74"],"required_present":[]},"all":{"required_absent":["CUST-0036-00N1YK74"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-036","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad account identifier variation.","text":"level=warn sample=36 message=\"Published documentation reference: \" credential=\"DOC-0036-K701KTVD\"","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":79,"end":96,"value":"DOC-0036-K701KTVD","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0036-K701KTVD"]},"customers":{"required_absent":[],"required_present":["DOC-0036-K701KTVD"]},"all":{"required_absent":[],"required_present":["DOC-0036-K701KTVD"]}},"tags":["broad-quality","account-identifier"]}, {"id":"broad-account-redact-037","language":"en","script":"Latin","shape":"stack-trace","risk":"high","reason":"Locked broad account identifier variation.","text":"Trace[37]: Customer account reference: CUST-0037-JMV78UCM","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":39,"end":57,"value":"CUST-0037-JMV78UCM","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0037-JMV78UCM"]},"customers":{"required_absent":["CUST-0037-JMV78UCM"],"required_present":[]},"all":{"required_absent":["CUST-0037-JMV78UCM"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, {"id":"broad-account-preserve-037","language":"en","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad account identifier variation.","text":"Trace[37]: Published documentation reference: DOC-0037-WU7FWKLA","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":46,"end":63,"value":"DOC-0037-WU7FWKLA","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0037-WU7FWKLA"]},"customers":{"required_absent":[],"required_present":["DOC-0037-WU7FWKLA"]},"all":{"required_absent":[],"required_present":["DOC-0037-WU7FWKLA"]}},"tags":["broad-quality","account-identifier"]}, {"id":"broad-account-redact-038","language":"en","script":"Latin","shape":"code","risk":"high","reason":"Locked broad account identifier variation.","text":"fixture_38 := `Customer account reference: CUST-0038-JEJJB2H8`","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":43,"end":61,"value":"CUST-0038-JEJJB2H8","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0038-JEJJB2H8"]},"customers":{"required_absent":["CUST-0038-JEJJB2H8"],"required_present":[]},"all":{"required_absent":["CUST-0038-JEJJB2H8"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, @@ -84,26 +84,26 @@ {"id":"broad-account-preserve-039","language":"en","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad account identifier variation.","text":"--\nPublished documentation reference: DOC-0039-DJBKFQ6T","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":38,"end":55,"value":"DOC-0039-DJBKFQ6T","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0039-DJBKFQ6T"]},"customers":{"required_absent":[],"required_present":["DOC-0039-DJBKFQ6T"]},"all":{"required_absent":[],"required_present":["DOC-0039-DJBKFQ6T"]}},"tags":["broad-quality","account-identifier"]}, {"id":"broad-account-redact-040","language":"en","script":"Latin","shape":"long-thread","risk":"high","reason":"Locked broad account identifier variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Customer account reference: CUST-0040-8B9USM5O","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":508,"end":526,"value":"CUST-0040-8B9USM5O","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0040-8B9USM5O"]},"customers":{"required_absent":["CUST-0040-8B9USM5O"],"required_present":[]},"all":{"required_absent":["CUST-0040-8B9USM5O"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, {"id":"broad-account-preserve-040","language":"en","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad account identifier variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Published documentation reference: DOC-0040-J8J9L73Q","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":515,"end":532,"value":"DOC-0040-J8J9L73Q","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0040-J8J9L73Q"]},"customers":{"required_absent":[],"required_present":["DOC-0040-J8J9L73Q"]},"all":{"required_absent":[],"required_present":["DOC-0040-J8J9L73Q"]}},"tags":["broad-quality","account-identifier"]}, - {"id":"broad-account-redact-041","language":"en","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad account identifier variation.","text":"--sample=41 --message=\"Customer account reference: \" --value=CUST-0041-ICRJXDPQ","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":61,"end":79,"value":"CUST-0041-ICRJXDPQ","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0041-ICRJXDPQ"]},"customers":{"required_absent":["CUST-0041-ICRJXDPQ"],"required_present":[]},"all":{"required_absent":["CUST-0041-ICRJXDPQ"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, - {"id":"broad-account-preserve-041","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad account identifier variation.","text":"--sample=41 --message=\"Published documentation reference: \" --value=DOC-0041-Q5574NPY","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":68,"end":85,"value":"DOC-0041-Q5574NPY","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0041-Q5574NPY"]},"customers":{"required_absent":[],"required_present":["DOC-0041-Q5574NPY"]},"all":{"required_absent":[],"required_present":["DOC-0041-Q5574NPY"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-041","language":"en","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad account identifier variation.","text":"--sample=41 --message=\"Customer account reference: \" --credential=\"CUST-0041-ICRJXDPQ\"","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":67,"end":85,"value":"CUST-0041-ICRJXDPQ","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0041-ICRJXDPQ"]},"customers":{"required_absent":["CUST-0041-ICRJXDPQ"],"required_present":[]},"all":{"required_absent":["CUST-0041-ICRJXDPQ"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-041","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad account identifier variation.","text":"--sample=41 --message=\"Published documentation reference: \" --credential=\"DOC-0041-Q5574NPY\"","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":74,"end":91,"value":"DOC-0041-Q5574NPY","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0041-Q5574NPY"]},"customers":{"required_absent":[],"required_present":["DOC-0041-Q5574NPY"]},"all":{"required_absent":[],"required_present":["DOC-0041-Q5574NPY"]}},"tags":["broad-quality","account-identifier"]}, {"id":"broad-account-redact-042","language":"en","script":"Latin","shape":"prose","risk":"high","reason":"Locked broad account identifier variation.","text":"Customer account reference: CUST-0042-QVX8M4YN","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":28,"end":46,"value":"CUST-0042-QVX8M4YN","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0042-QVX8M4YN"]},"customers":{"required_absent":["CUST-0042-QVX8M4YN"],"required_present":[]},"all":{"required_absent":["CUST-0042-QVX8M4YN"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, {"id":"broad-account-preserve-042","language":"en","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad account identifier variation.","text":"Published documentation reference: DOC-0042-6LLGFMWB","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":35,"end":52,"value":"DOC-0042-6LLGFMWB","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0042-6LLGFMWB"]},"customers":{"required_absent":[],"required_present":["DOC-0042-6LLGFMWB"]},"all":{"required_absent":[],"required_present":["DOC-0042-6LLGFMWB"]}},"tags":["broad-quality","account-identifier"]}, {"id":"broad-account-redact-043","language":"en","script":"Latin","shape":"json","risk":"high","reason":"Locked broad account identifier variation.","text":"{\"message_43\":\"Customer account reference: CUST-0043-WTDQSJ22\"}","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":43,"end":61,"value":"CUST-0043-WTDQSJ22","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0043-WTDQSJ22"]},"customers":{"required_absent":["CUST-0043-WTDQSJ22"],"required_present":[]},"all":{"required_absent":["CUST-0043-WTDQSJ22"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, {"id":"broad-account-preserve-043","language":"en","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad account identifier variation.","text":"{\"message_43\":\"Published documentation reference: DOC-0043-I13KK3OZ\"}","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":50,"end":67,"value":"DOC-0043-I13KK3OZ","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0043-I13KK3OZ"]},"customers":{"required_absent":[],"required_present":["DOC-0043-I13KK3OZ"]},"all":{"required_absent":[],"required_present":["DOC-0043-I13KK3OZ"]}},"tags":["broad-quality","account-identifier"]}, - {"id":"broad-account-redact-044","language":"en","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad account identifier variation.","text":"message_44: Customer account reference: CUST-0044-3XJPR1Y2","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":40,"end":58,"value":"CUST-0044-3XJPR1Y2","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0044-3XJPR1Y2"]},"customers":{"required_absent":["CUST-0044-3XJPR1Y2"],"required_present":[]},"all":{"required_absent":["CUST-0044-3XJPR1Y2"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, - {"id":"broad-account-preserve-044","language":"en","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad account identifier variation.","text":"message_44: Published documentation reference: DOC-0044-5QRDMKO5","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":47,"end":64,"value":"DOC-0044-5QRDMKO5","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0044-5QRDMKO5"]},"customers":{"required_absent":[],"required_present":["DOC-0044-5QRDMKO5"]},"all":{"required_absent":[],"required_present":["DOC-0044-5QRDMKO5"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-044","language":"en","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad account identifier variation.","text":"message_44: \"Customer account reference: CUST-0044-3XJPR1Y2\"","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":41,"end":59,"value":"CUST-0044-3XJPR1Y2","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0044-3XJPR1Y2"]},"customers":{"required_absent":["CUST-0044-3XJPR1Y2"],"required_present":[]},"all":{"required_absent":["CUST-0044-3XJPR1Y2"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-044","language":"en","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad account identifier variation.","text":"message_44: \"Published documentation reference: DOC-0044-5QRDMKO5\"","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":48,"end":65,"value":"DOC-0044-5QRDMKO5","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0044-5QRDMKO5"]},"customers":{"required_absent":[],"required_present":["DOC-0044-5QRDMKO5"]},"all":{"required_absent":[],"required_present":["DOC-0044-5QRDMKO5"]}},"tags":["broad-quality","account-identifier"]}, {"id":"broad-account-redact-045","language":"en","script":"Latin","shape":"shell","risk":"high","reason":"Locked broad account identifier variation.","text":"MESSAGE_45='Customer account reference: CUST-0045-GNEVFQF1'","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":40,"end":58,"value":"CUST-0045-GNEVFQF1","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0045-GNEVFQF1"]},"customers":{"required_absent":["CUST-0045-GNEVFQF1"],"required_present":[]},"all":{"required_absent":["CUST-0045-GNEVFQF1"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, {"id":"broad-account-preserve-045","language":"en","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad account identifier variation.","text":"MESSAGE_45='Published documentation reference: DOC-0045-R615UP9M'","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":47,"end":64,"value":"DOC-0045-R615UP9M","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0045-R615UP9M"]},"customers":{"required_absent":[],"required_present":["DOC-0045-R615UP9M"]},"all":{"required_absent":[],"required_present":["DOC-0045-R615UP9M"]}},"tags":["broad-quality","account-identifier"]}, - {"id":"broad-account-redact-046","language":"en","script":"Latin","shape":"url","risk":"high","reason":"Locked broad account identifier variation.","text":"endpoint=https://192.0.2.10/46 ; Customer account reference: CUST-0046-XQ8F4QM8","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":61,"end":79,"value":"CUST-0046-XQ8F4QM8","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0046-XQ8F4QM8"]},"customers":{"required_absent":["CUST-0046-XQ8F4QM8"],"required_present":[]},"all":{"required_absent":["CUST-0046-XQ8F4QM8"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, - {"id":"broad-account-preserve-046","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad account identifier variation.","text":"endpoint=https://192.0.2.10/46 ; Published documentation reference: DOC-0046-CDDFHJ8B","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":68,"end":85,"value":"DOC-0046-CDDFHJ8B","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0046-CDDFHJ8B"]},"customers":{"required_absent":[],"required_present":["DOC-0046-CDDFHJ8B"]},"all":{"required_absent":[],"required_present":["DOC-0046-CDDFHJ8B"]}},"tags":["broad-quality","account-identifier"]}, - {"id":"broad-account-redact-047","language":"en","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad account identifier variation.","text":"**Customer account reference: CUST-0047-6K6UZ99P**","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":30,"end":48,"value":"CUST-0047-6K6UZ99P","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0047-6K6UZ99P"]},"customers":{"required_absent":["CUST-0047-6K6UZ99P"],"required_present":[]},"all":{"required_absent":["CUST-0047-6K6UZ99P"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, - {"id":"broad-account-preserve-047","language":"en","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad account identifier variation.","text":"**Published documentation reference: DOC-0047-L7VEJ30F**","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":37,"end":54,"value":"DOC-0047-L7VEJ30F","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0047-L7VEJ30F"]},"customers":{"required_absent":[],"required_present":["DOC-0047-L7VEJ30F"]},"all":{"required_absent":[],"required_present":["DOC-0047-L7VEJ30F"]}},"tags":["broad-quality","account-identifier"]}, - {"id":"broad-account-redact-048","language":"en","script":"Latin","shape":"html","risk":"high","reason":"Locked broad account identifier variation.","text":"\u003cp\u003eCustomer account reference: CUST-0048-7DCB2UBO\u003c/p\u003e","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":31,"end":49,"value":"CUST-0048-7DCB2UBO","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0048-7DCB2UBO"]},"customers":{"required_absent":["CUST-0048-7DCB2UBO"],"required_present":[]},"all":{"required_absent":["CUST-0048-7DCB2UBO"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, - {"id":"broad-account-preserve-048","language":"en","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad account identifier variation.","text":"\u003cp\u003ePublished documentation reference: DOC-0048-9LV2DZMN\u003c/p\u003e","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":38,"end":55,"value":"DOC-0048-9LV2DZMN","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0048-9LV2DZMN"]},"customers":{"required_absent":[],"required_present":["DOC-0048-9LV2DZMN"]},"all":{"required_absent":[],"required_present":["DOC-0048-9LV2DZMN"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-046","language":"en","script":"Latin","shape":"url","risk":"high","reason":"Locked broad account identifier variation.","text":"endpoint=https://192.0.2.10/46?credential=CUST-0046-XQ8F4QM8\u0026note=Customer+account+reference%3A+","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":42,"end":60,"value":"CUST-0046-XQ8F4QM8","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0046-XQ8F4QM8"]},"customers":{"required_absent":["CUST-0046-XQ8F4QM8"],"required_present":[]},"all":{"required_absent":["CUST-0046-XQ8F4QM8"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-046","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad account identifier variation.","text":"endpoint=https://192.0.2.10/46?credential=DOC-0046-CDDFHJ8B\u0026note=Published+documentation+reference%3A+","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":42,"end":59,"value":"DOC-0046-CDDFHJ8B","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0046-CDDFHJ8B"]},"customers":{"required_absent":[],"required_present":["DOC-0046-CDDFHJ8B"]},"all":{"required_absent":[],"required_present":["DOC-0046-CDDFHJ8B"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-047","language":"en","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad account identifier variation.","text":"Customer account reference: `CUST-0047-6K6UZ99P`","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":29,"end":47,"value":"CUST-0047-6K6UZ99P","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0047-6K6UZ99P"]},"customers":{"required_absent":["CUST-0047-6K6UZ99P"],"required_present":[]},"all":{"required_absent":["CUST-0047-6K6UZ99P"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-047","language":"en","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad account identifier variation.","text":"Published documentation reference: `DOC-0047-L7VEJ30F`","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":36,"end":53,"value":"DOC-0047-L7VEJ30F","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0047-L7VEJ30F"]},"customers":{"required_absent":[],"required_present":["DOC-0047-L7VEJ30F"]},"all":{"required_absent":[],"required_present":["DOC-0047-L7VEJ30F"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-048","language":"en","script":"Latin","shape":"html","risk":"high","reason":"Locked broad account identifier variation.","text":"\u003cp\u003eCustomer account reference: \u003ccode\u003eCUST-0048-7DCB2UBO\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":37,"end":55,"value":"CUST-0048-7DCB2UBO","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0048-7DCB2UBO"]},"customers":{"required_absent":["CUST-0048-7DCB2UBO"],"required_present":[]},"all":{"required_absent":["CUST-0048-7DCB2UBO"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-048","language":"en","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad account identifier variation.","text":"\u003cp\u003ePublished documentation reference: \u003ccode\u003eDOC-0048-9LV2DZMN\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":44,"end":61,"value":"DOC-0048-9LV2DZMN","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0048-9LV2DZMN"]},"customers":{"required_absent":[],"required_present":["DOC-0048-9LV2DZMN"]},"all":{"required_absent":[],"required_present":["DOC-0048-9LV2DZMN"]}},"tags":["broad-quality","account-identifier"]}, {"id":"broad-account-redact-049","language":"en","script":"Latin","shape":"quoted-reply","risk":"high","reason":"Locked broad account identifier variation.","text":"\u003e Customer account reference: CUST-0049-HQBFJC2V","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":30,"end":48,"value":"CUST-0049-HQBFJC2V","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0049-HQBFJC2V"]},"customers":{"required_absent":["CUST-0049-HQBFJC2V"],"required_present":[]},"all":{"required_absent":["CUST-0049-HQBFJC2V"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, {"id":"broad-account-preserve-049","language":"en","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad account identifier variation.","text":"\u003e Published documentation reference: DOC-0049-ZZG2DJCM","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":37,"end":54,"value":"DOC-0049-ZZG2DJCM","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0049-ZZG2DJCM"]},"customers":{"required_absent":[],"required_present":["DOC-0049-ZZG2DJCM"]},"all":{"required_absent":[],"required_present":["DOC-0049-ZZG2DJCM"]}},"tags":["broad-quality","account-identifier"]}, - {"id":"broad-account-redact-050","language":"en","script":"Latin","shape":"log","risk":"high","reason":"Locked broad account identifier variation.","text":"level=warn sample=50 message=\"Customer account reference: \" value=CUST-0050-5F8FYP8S","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":66,"end":84,"value":"CUST-0050-5F8FYP8S","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0050-5F8FYP8S"]},"customers":{"required_absent":["CUST-0050-5F8FYP8S"],"required_present":[]},"all":{"required_absent":["CUST-0050-5F8FYP8S"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, - {"id":"broad-account-preserve-050","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad account identifier variation.","text":"level=warn sample=50 message=\"Published documentation reference: \" value=DOC-0050-YPT8IKV6","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":73,"end":90,"value":"DOC-0050-YPT8IKV6","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0050-YPT8IKV6"]},"customers":{"required_absent":[],"required_present":["DOC-0050-YPT8IKV6"]},"all":{"required_absent":[],"required_present":["DOC-0050-YPT8IKV6"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-050","language":"en","script":"Latin","shape":"log","risk":"high","reason":"Locked broad account identifier variation.","text":"level=warn sample=50 message=\"Customer account reference: \" credential=\"CUST-0050-5F8FYP8S\"","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":72,"end":90,"value":"CUST-0050-5F8FYP8S","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0050-5F8FYP8S"]},"customers":{"required_absent":["CUST-0050-5F8FYP8S"],"required_present":[]},"all":{"required_absent":["CUST-0050-5F8FYP8S"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-050","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad account identifier variation.","text":"level=warn sample=50 message=\"Published documentation reference: \" credential=\"DOC-0050-YPT8IKV6\"","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":79,"end":96,"value":"DOC-0050-YPT8IKV6","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0050-YPT8IKV6"]},"customers":{"required_absent":[],"required_present":["DOC-0050-YPT8IKV6"]},"all":{"required_absent":[],"required_present":["DOC-0050-YPT8IKV6"]}},"tags":["broad-quality","account-identifier"]}, {"id":"broad-account-redact-051","language":"en","script":"Latin","shape":"stack-trace","risk":"high","reason":"Locked broad account identifier variation.","text":"Trace[51]: Customer account reference: CUST-0051-0KA73YYK","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":39,"end":57,"value":"CUST-0051-0KA73YYK","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0051-0KA73YYK"]},"customers":{"required_absent":["CUST-0051-0KA73YYK"],"required_present":[]},"all":{"required_absent":["CUST-0051-0KA73YYK"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, {"id":"broad-account-preserve-051","language":"en","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad account identifier variation.","text":"Trace[51]: Published documentation reference: DOC-0051-D19G5DJT","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":46,"end":63,"value":"DOC-0051-D19G5DJT","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0051-D19G5DJT"]},"customers":{"required_absent":[],"required_present":["DOC-0051-D19G5DJT"]},"all":{"required_absent":[],"required_present":["DOC-0051-D19G5DJT"]}},"tags":["broad-quality","account-identifier"]}, {"id":"broad-account-redact-052","language":"en","script":"Latin","shape":"code","risk":"high","reason":"Locked broad account identifier variation.","text":"fixture_52 := `Customer account reference: CUST-0052-W1FC4KC2`","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":43,"end":61,"value":"CUST-0052-W1FC4KC2","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0052-W1FC4KC2"]},"customers":{"required_absent":["CUST-0052-W1FC4KC2"],"required_present":[]},"all":{"required_absent":["CUST-0052-W1FC4KC2"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, @@ -112,26 +112,26 @@ {"id":"broad-account-preserve-053","language":"en","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad account identifier variation.","text":"--\nPublished documentation reference: DOC-0053-AGDXTFUB","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":38,"end":55,"value":"DOC-0053-AGDXTFUB","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0053-AGDXTFUB"]},"customers":{"required_absent":[],"required_present":["DOC-0053-AGDXTFUB"]},"all":{"required_absent":[],"required_present":["DOC-0053-AGDXTFUB"]}},"tags":["broad-quality","account-identifier"]}, {"id":"broad-account-redact-054","language":"en","script":"Latin","shape":"long-thread","risk":"high","reason":"Locked broad account identifier variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Customer account reference: CUST-0054-ZLXG8IBB","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":508,"end":526,"value":"CUST-0054-ZLXG8IBB","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0054-ZLXG8IBB"]},"customers":{"required_absent":["CUST-0054-ZLXG8IBB"],"required_present":[]},"all":{"required_absent":["CUST-0054-ZLXG8IBB"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, {"id":"broad-account-preserve-054","language":"en","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad account identifier variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Published documentation reference: DOC-0054-V245FT3Y","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":515,"end":532,"value":"DOC-0054-V245FT3Y","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0054-V245FT3Y"]},"customers":{"required_absent":[],"required_present":["DOC-0054-V245FT3Y"]},"all":{"required_absent":[],"required_present":["DOC-0054-V245FT3Y"]}},"tags":["broad-quality","account-identifier"]}, - {"id":"broad-account-redact-055","language":"en","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad account identifier variation.","text":"--sample=55 --message=\"Customer account reference: \" --value=CUST-0055-0XD798I1","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":61,"end":79,"value":"CUST-0055-0XD798I1","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0055-0XD798I1"]},"customers":{"required_absent":["CUST-0055-0XD798I1"],"required_present":[]},"all":{"required_absent":["CUST-0055-0XD798I1"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, - {"id":"broad-account-preserve-055","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad account identifier variation.","text":"--sample=55 --message=\"Published documentation reference: \" --value=DOC-0055-O1HZ2A19","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":68,"end":85,"value":"DOC-0055-O1HZ2A19","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0055-O1HZ2A19"]},"customers":{"required_absent":[],"required_present":["DOC-0055-O1HZ2A19"]},"all":{"required_absent":[],"required_present":["DOC-0055-O1HZ2A19"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-055","language":"en","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad account identifier variation.","text":"--sample=55 --message=\"Customer account reference: \" --credential=\"CUST-0055-0XD798I1\"","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":67,"end":85,"value":"CUST-0055-0XD798I1","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0055-0XD798I1"]},"customers":{"required_absent":["CUST-0055-0XD798I1"],"required_present":[]},"all":{"required_absent":["CUST-0055-0XD798I1"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-055","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad account identifier variation.","text":"--sample=55 --message=\"Published documentation reference: \" --credential=\"DOC-0055-O1HZ2A19\"","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":74,"end":91,"value":"DOC-0055-O1HZ2A19","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0055-O1HZ2A19"]},"customers":{"required_absent":[],"required_present":["DOC-0055-O1HZ2A19"]},"all":{"required_absent":[],"required_present":["DOC-0055-O1HZ2A19"]}},"tags":["broad-quality","account-identifier"]}, {"id":"broad-account-redact-056","language":"en","script":"Latin","shape":"prose","risk":"high","reason":"Locked broad account identifier variation.","text":"Customer account reference: CUST-0056-D7TL2BOD","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":28,"end":46,"value":"CUST-0056-D7TL2BOD","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0056-D7TL2BOD"]},"customers":{"required_absent":["CUST-0056-D7TL2BOD"],"required_present":[]},"all":{"required_absent":["CUST-0056-D7TL2BOD"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, {"id":"broad-account-preserve-056","language":"en","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad account identifier variation.","text":"Published documentation reference: DOC-0056-J05QNUGY","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":35,"end":52,"value":"DOC-0056-J05QNUGY","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0056-J05QNUGY"]},"customers":{"required_absent":[],"required_present":["DOC-0056-J05QNUGY"]},"all":{"required_absent":[],"required_present":["DOC-0056-J05QNUGY"]}},"tags":["broad-quality","account-identifier"]}, {"id":"broad-account-redact-057","language":"en","script":"Latin","shape":"json","risk":"high","reason":"Locked broad account identifier variation.","text":"{\"message_57\":\"Customer account reference: CUST-0057-PPNNHGNY\"}","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":43,"end":61,"value":"CUST-0057-PPNNHGNY","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0057-PPNNHGNY"]},"customers":{"required_absent":["CUST-0057-PPNNHGNY"],"required_present":[]},"all":{"required_absent":["CUST-0057-PPNNHGNY"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, {"id":"broad-account-preserve-057","language":"en","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad account identifier variation.","text":"{\"message_57\":\"Published documentation reference: DOC-0057-OKVOW3LZ\"}","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":50,"end":67,"value":"DOC-0057-OKVOW3LZ","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0057-OKVOW3LZ"]},"customers":{"required_absent":[],"required_present":["DOC-0057-OKVOW3LZ"]},"all":{"required_absent":[],"required_present":["DOC-0057-OKVOW3LZ"]}},"tags":["broad-quality","account-identifier"]}, - {"id":"broad-account-redact-058","language":"en","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad account identifier variation.","text":"message_58: Customer account reference: CUST-0058-PW17D3DK","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":40,"end":58,"value":"CUST-0058-PW17D3DK","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0058-PW17D3DK"]},"customers":{"required_absent":["CUST-0058-PW17D3DK"],"required_present":[]},"all":{"required_absent":["CUST-0058-PW17D3DK"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, - {"id":"broad-account-preserve-058","language":"en","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad account identifier variation.","text":"message_58: Published documentation reference: DOC-0058-8A7DGLF2","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":47,"end":64,"value":"DOC-0058-8A7DGLF2","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0058-8A7DGLF2"]},"customers":{"required_absent":[],"required_present":["DOC-0058-8A7DGLF2"]},"all":{"required_absent":[],"required_present":["DOC-0058-8A7DGLF2"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-058","language":"en","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad account identifier variation.","text":"message_58: \"Customer account reference: CUST-0058-PW17D3DK\"","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":41,"end":59,"value":"CUST-0058-PW17D3DK","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0058-PW17D3DK"]},"customers":{"required_absent":["CUST-0058-PW17D3DK"],"required_present":[]},"all":{"required_absent":["CUST-0058-PW17D3DK"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-058","language":"en","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad account identifier variation.","text":"message_58: \"Published documentation reference: DOC-0058-8A7DGLF2\"","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":48,"end":65,"value":"DOC-0058-8A7DGLF2","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0058-8A7DGLF2"]},"customers":{"required_absent":[],"required_present":["DOC-0058-8A7DGLF2"]},"all":{"required_absent":[],"required_present":["DOC-0058-8A7DGLF2"]}},"tags":["broad-quality","account-identifier"]}, {"id":"broad-account-redact-059","language":"en","script":"Latin","shape":"shell","risk":"high","reason":"Locked broad account identifier variation.","text":"MESSAGE_59='Customer account reference: CUST-0059-NYQDJSJ6'","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":40,"end":58,"value":"CUST-0059-NYQDJSJ6","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0059-NYQDJSJ6"]},"customers":{"required_absent":["CUST-0059-NYQDJSJ6"],"required_present":[]},"all":{"required_absent":["CUST-0059-NYQDJSJ6"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, {"id":"broad-account-preserve-059","language":"en","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad account identifier variation.","text":"MESSAGE_59='Published documentation reference: DOC-0059-KM4ALHCM'","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":47,"end":64,"value":"DOC-0059-KM4ALHCM","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0059-KM4ALHCM"]},"customers":{"required_absent":[],"required_present":["DOC-0059-KM4ALHCM"]},"all":{"required_absent":[],"required_present":["DOC-0059-KM4ALHCM"]}},"tags":["broad-quality","account-identifier"]}, - {"id":"broad-account-redact-060","language":"en","script":"Latin","shape":"url","risk":"high","reason":"Locked broad account identifier variation.","text":"endpoint=https://192.0.2.10/60 ; Customer account reference: CUST-0060-7LUXALFF","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":61,"end":79,"value":"CUST-0060-7LUXALFF","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0060-7LUXALFF"]},"customers":{"required_absent":["CUST-0060-7LUXALFF"],"required_present":[]},"all":{"required_absent":["CUST-0060-7LUXALFF"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, - {"id":"broad-account-preserve-060","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad account identifier variation.","text":"endpoint=https://192.0.2.10/60 ; Published documentation reference: DOC-0060-HU7JAPMS","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":68,"end":85,"value":"DOC-0060-HU7JAPMS","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0060-HU7JAPMS"]},"customers":{"required_absent":[],"required_present":["DOC-0060-HU7JAPMS"]},"all":{"required_absent":[],"required_present":["DOC-0060-HU7JAPMS"]}},"tags":["broad-quality","account-identifier"]}, - {"id":"broad-account-redact-061","language":"en","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad account identifier variation.","text":"**Customer account reference: CUST-0061-QJUIP9I2**","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":30,"end":48,"value":"CUST-0061-QJUIP9I2","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0061-QJUIP9I2"]},"customers":{"required_absent":["CUST-0061-QJUIP9I2"],"required_present":[]},"all":{"required_absent":["CUST-0061-QJUIP9I2"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, - {"id":"broad-account-preserve-061","language":"en","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad account identifier variation.","text":"**Published documentation reference: DOC-0061-K39HA0I6**","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":37,"end":54,"value":"DOC-0061-K39HA0I6","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0061-K39HA0I6"]},"customers":{"required_absent":[],"required_present":["DOC-0061-K39HA0I6"]},"all":{"required_absent":[],"required_present":["DOC-0061-K39HA0I6"]}},"tags":["broad-quality","account-identifier"]}, - {"id":"broad-account-redact-062","language":"en","script":"Latin","shape":"html","risk":"high","reason":"Locked broad account identifier variation.","text":"\u003cp\u003eCustomer account reference: CUST-0062-1PIANGBM\u003c/p\u003e","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":31,"end":49,"value":"CUST-0062-1PIANGBM","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0062-1PIANGBM"]},"customers":{"required_absent":["CUST-0062-1PIANGBM"],"required_present":[]},"all":{"required_absent":["CUST-0062-1PIANGBM"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, - {"id":"broad-account-preserve-062","language":"en","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad account identifier variation.","text":"\u003cp\u003ePublished documentation reference: DOC-0062-GTL00X1W\u003c/p\u003e","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":38,"end":55,"value":"DOC-0062-GTL00X1W","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0062-GTL00X1W"]},"customers":{"required_absent":[],"required_present":["DOC-0062-GTL00X1W"]},"all":{"required_absent":[],"required_present":["DOC-0062-GTL00X1W"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-060","language":"en","script":"Latin","shape":"url","risk":"high","reason":"Locked broad account identifier variation.","text":"endpoint=https://192.0.2.10/60?credential=CUST-0060-7LUXALFF\u0026note=Customer+account+reference%3A+","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":42,"end":60,"value":"CUST-0060-7LUXALFF","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0060-7LUXALFF"]},"customers":{"required_absent":["CUST-0060-7LUXALFF"],"required_present":[]},"all":{"required_absent":["CUST-0060-7LUXALFF"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-060","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad account identifier variation.","text":"endpoint=https://192.0.2.10/60?credential=DOC-0060-HU7JAPMS\u0026note=Published+documentation+reference%3A+","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":42,"end":59,"value":"DOC-0060-HU7JAPMS","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0060-HU7JAPMS"]},"customers":{"required_absent":[],"required_present":["DOC-0060-HU7JAPMS"]},"all":{"required_absent":[],"required_present":["DOC-0060-HU7JAPMS"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-061","language":"en","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad account identifier variation.","text":"Customer account reference: `CUST-0061-QJUIP9I2`","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":29,"end":47,"value":"CUST-0061-QJUIP9I2","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0061-QJUIP9I2"]},"customers":{"required_absent":["CUST-0061-QJUIP9I2"],"required_present":[]},"all":{"required_absent":["CUST-0061-QJUIP9I2"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-061","language":"en","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad account identifier variation.","text":"Published documentation reference: `DOC-0061-K39HA0I6`","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":36,"end":53,"value":"DOC-0061-K39HA0I6","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0061-K39HA0I6"]},"customers":{"required_absent":[],"required_present":["DOC-0061-K39HA0I6"]},"all":{"required_absent":[],"required_present":["DOC-0061-K39HA0I6"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-062","language":"en","script":"Latin","shape":"html","risk":"high","reason":"Locked broad account identifier variation.","text":"\u003cp\u003eCustomer account reference: \u003ccode\u003eCUST-0062-1PIANGBM\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":37,"end":55,"value":"CUST-0062-1PIANGBM","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0062-1PIANGBM"]},"customers":{"required_absent":["CUST-0062-1PIANGBM"],"required_present":[]},"all":{"required_absent":["CUST-0062-1PIANGBM"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-062","language":"en","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad account identifier variation.","text":"\u003cp\u003ePublished documentation reference: \u003ccode\u003eDOC-0062-GTL00X1W\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":44,"end":61,"value":"DOC-0062-GTL00X1W","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0062-GTL00X1W"]},"customers":{"required_absent":[],"required_present":["DOC-0062-GTL00X1W"]},"all":{"required_absent":[],"required_present":["DOC-0062-GTL00X1W"]}},"tags":["broad-quality","account-identifier"]}, {"id":"broad-account-redact-063","language":"en","script":"Latin","shape":"quoted-reply","risk":"high","reason":"Locked broad account identifier variation.","text":"\u003e Customer account reference: CUST-0063-V6AR4XSO","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":30,"end":48,"value":"CUST-0063-V6AR4XSO","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0063-V6AR4XSO"]},"customers":{"required_absent":["CUST-0063-V6AR4XSO"],"required_present":[]},"all":{"required_absent":["CUST-0063-V6AR4XSO"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, {"id":"broad-account-preserve-063","language":"en","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad account identifier variation.","text":"\u003e Published documentation reference: DOC-0063-UZOH1CZP","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":37,"end":54,"value":"DOC-0063-UZOH1CZP","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0063-UZOH1CZP"]},"customers":{"required_absent":[],"required_present":["DOC-0063-UZOH1CZP"]},"all":{"required_absent":[],"required_present":["DOC-0063-UZOH1CZP"]}},"tags":["broad-quality","account-identifier"]}, - {"id":"broad-account-redact-064","language":"en","script":"Latin","shape":"log","risk":"high","reason":"Locked broad account identifier variation.","text":"level=warn sample=64 message=\"Customer account reference: \" value=CUST-0064-5CYN6IMU","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":66,"end":84,"value":"CUST-0064-5CYN6IMU","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0064-5CYN6IMU"]},"customers":{"required_absent":["CUST-0064-5CYN6IMU"],"required_present":[]},"all":{"required_absent":["CUST-0064-5CYN6IMU"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, - {"id":"broad-account-preserve-064","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad account identifier variation.","text":"level=warn sample=64 message=\"Published documentation reference: \" value=DOC-0064-ETADRH35","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":73,"end":90,"value":"DOC-0064-ETADRH35","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0064-ETADRH35"]},"customers":{"required_absent":[],"required_present":["DOC-0064-ETADRH35"]},"all":{"required_absent":[],"required_present":["DOC-0064-ETADRH35"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-064","language":"en","script":"Latin","shape":"log","risk":"high","reason":"Locked broad account identifier variation.","text":"level=warn sample=64 message=\"Customer account reference: \" credential=\"CUST-0064-5CYN6IMU\"","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":72,"end":90,"value":"CUST-0064-5CYN6IMU","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0064-5CYN6IMU"]},"customers":{"required_absent":["CUST-0064-5CYN6IMU"],"required_present":[]},"all":{"required_absent":["CUST-0064-5CYN6IMU"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-064","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad account identifier variation.","text":"level=warn sample=64 message=\"Published documentation reference: \" credential=\"DOC-0064-ETADRH35\"","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":79,"end":96,"value":"DOC-0064-ETADRH35","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0064-ETADRH35"]},"customers":{"required_absent":[],"required_present":["DOC-0064-ETADRH35"]},"all":{"required_absent":[],"required_present":["DOC-0064-ETADRH35"]}},"tags":["broad-quality","account-identifier"]}, {"id":"broad-account-redact-065","language":"en","script":"Latin","shape":"stack-trace","risk":"high","reason":"Locked broad account identifier variation.","text":"Trace[65]: Customer account reference: CUST-0065-T7ER9V85","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":39,"end":57,"value":"CUST-0065-T7ER9V85","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0065-T7ER9V85"]},"customers":{"required_absent":["CUST-0065-T7ER9V85"],"required_present":[]},"all":{"required_absent":["CUST-0065-T7ER9V85"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, {"id":"broad-account-preserve-065","language":"en","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad account identifier variation.","text":"Trace[65]: Published documentation reference: DOC-0065-TCHVV883","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":46,"end":63,"value":"DOC-0065-TCHVV883","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0065-TCHVV883"]},"customers":{"required_absent":[],"required_present":["DOC-0065-TCHVV883"]},"all":{"required_absent":[],"required_present":["DOC-0065-TCHVV883"]}},"tags":["broad-quality","account-identifier"]}, {"id":"broad-account-redact-066","language":"en","script":"Latin","shape":"code","risk":"high","reason":"Locked broad account identifier variation.","text":"fixture_66 := `Customer account reference: CUST-0066-XB1TUYU0`","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":43,"end":61,"value":"CUST-0066-XB1TUYU0","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0066-XB1TUYU0"]},"customers":{"required_absent":["CUST-0066-XB1TUYU0"],"required_present":[]},"all":{"required_absent":["CUST-0066-XB1TUYU0"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, @@ -140,26 +140,26 @@ {"id":"broad-account-preserve-067","language":"en","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad account identifier variation.","text":"--\nPublished documentation reference: DOC-0067-QQUZ4SX7","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":38,"end":55,"value":"DOC-0067-QQUZ4SX7","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0067-QQUZ4SX7"]},"customers":{"required_absent":[],"required_present":["DOC-0067-QQUZ4SX7"]},"all":{"required_absent":[],"required_present":["DOC-0067-QQUZ4SX7"]}},"tags":["broad-quality","account-identifier"]}, {"id":"broad-account-redact-068","language":"en","script":"Latin","shape":"long-thread","risk":"high","reason":"Locked broad account identifier variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Customer account reference: CUST-0068-PLVBUXG0","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":508,"end":526,"value":"CUST-0068-PLVBUXG0","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0068-PLVBUXG0"]},"customers":{"required_absent":["CUST-0068-PLVBUXG0"],"required_present":[]},"all":{"required_absent":["CUST-0068-PLVBUXG0"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, {"id":"broad-account-preserve-068","language":"en","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad account identifier variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Published documentation reference: DOC-0068-4C6DOOZ4","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":515,"end":532,"value":"DOC-0068-4C6DOOZ4","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0068-4C6DOOZ4"]},"customers":{"required_absent":[],"required_present":["DOC-0068-4C6DOOZ4"]},"all":{"required_absent":[],"required_present":["DOC-0068-4C6DOOZ4"]}},"tags":["broad-quality","account-identifier"]}, - {"id":"broad-account-redact-069","language":"en","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad account identifier variation.","text":"--sample=69 --message=\"Customer account reference: \" --value=CUST-0069-81GO6DZN","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":61,"end":79,"value":"CUST-0069-81GO6DZN","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0069-81GO6DZN"]},"customers":{"required_absent":["CUST-0069-81GO6DZN"],"required_present":[]},"all":{"required_absent":["CUST-0069-81GO6DZN"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, - {"id":"broad-account-preserve-069","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad account identifier variation.","text":"--sample=69 --message=\"Published documentation reference: \" --value=DOC-0069-7IXGYGQC","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":68,"end":85,"value":"DOC-0069-7IXGYGQC","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0069-7IXGYGQC"]},"customers":{"required_absent":[],"required_present":["DOC-0069-7IXGYGQC"]},"all":{"required_absent":[],"required_present":["DOC-0069-7IXGYGQC"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-069","language":"en","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad account identifier variation.","text":"--sample=69 --message=\"Customer account reference: \" --credential=\"CUST-0069-81GO6DZN\"","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":67,"end":85,"value":"CUST-0069-81GO6DZN","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0069-81GO6DZN"]},"customers":{"required_absent":["CUST-0069-81GO6DZN"],"required_present":[]},"all":{"required_absent":["CUST-0069-81GO6DZN"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-069","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad account identifier variation.","text":"--sample=69 --message=\"Published documentation reference: \" --credential=\"DOC-0069-7IXGYGQC\"","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":74,"end":91,"value":"DOC-0069-7IXGYGQC","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0069-7IXGYGQC"]},"customers":{"required_absent":[],"required_present":["DOC-0069-7IXGYGQC"]},"all":{"required_absent":[],"required_present":["DOC-0069-7IXGYGQC"]}},"tags":["broad-quality","account-identifier"]}, {"id":"broad-account-redact-070","language":"en","script":"Latin","shape":"prose","risk":"high","reason":"Locked broad account identifier variation.","text":"Customer account reference: CUST-0070-J94N34NK","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":28,"end":46,"value":"CUST-0070-J94N34NK","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0070-J94N34NK"]},"customers":{"required_absent":["CUST-0070-J94N34NK"],"required_present":[]},"all":{"required_absent":["CUST-0070-J94N34NK"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, {"id":"broad-account-preserve-070","language":"en","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad account identifier variation.","text":"Published documentation reference: DOC-0070-4SZCSPSV","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":35,"end":52,"value":"DOC-0070-4SZCSPSV","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0070-4SZCSPSV"]},"customers":{"required_absent":[],"required_present":["DOC-0070-4SZCSPSV"]},"all":{"required_absent":[],"required_present":["DOC-0070-4SZCSPSV"]}},"tags":["broad-quality","account-identifier"]}, {"id":"broad-account-redact-071","language":"en","script":"Latin","shape":"json","risk":"high","reason":"Locked broad account identifier variation.","text":"{\"message_71\":\"Customer account reference: CUST-0071-P7WHQAX4\"}","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":43,"end":61,"value":"CUST-0071-P7WHQAX4","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0071-P7WHQAX4"]},"customers":{"required_absent":["CUST-0071-P7WHQAX4"],"required_present":[]},"all":{"required_absent":["CUST-0071-P7WHQAX4"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, {"id":"broad-account-preserve-071","language":"en","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad account identifier variation.","text":"{\"message_71\":\"Published documentation reference: DOC-0071-6ZL1KVXE\"}","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":50,"end":67,"value":"DOC-0071-6ZL1KVXE","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0071-6ZL1KVXE"]},"customers":{"required_absent":[],"required_present":["DOC-0071-6ZL1KVXE"]},"all":{"required_absent":[],"required_present":["DOC-0071-6ZL1KVXE"]}},"tags":["broad-quality","account-identifier"]}, - {"id":"broad-account-redact-072","language":"en","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad account identifier variation.","text":"message_72: Customer account reference: CUST-0072-L37X2IL0","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":40,"end":58,"value":"CUST-0072-L37X2IL0","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0072-L37X2IL0"]},"customers":{"required_absent":["CUST-0072-L37X2IL0"],"required_present":[]},"all":{"required_absent":["CUST-0072-L37X2IL0"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, - {"id":"broad-account-preserve-072","language":"en","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad account identifier variation.","text":"message_72: Published documentation reference: DOC-0072-TXKUCV0R","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":47,"end":64,"value":"DOC-0072-TXKUCV0R","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0072-TXKUCV0R"]},"customers":{"required_absent":[],"required_present":["DOC-0072-TXKUCV0R"]},"all":{"required_absent":[],"required_present":["DOC-0072-TXKUCV0R"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-072","language":"en","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad account identifier variation.","text":"message_72: \"Customer account reference: CUST-0072-L37X2IL0\"","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":41,"end":59,"value":"CUST-0072-L37X2IL0","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0072-L37X2IL0"]},"customers":{"required_absent":["CUST-0072-L37X2IL0"],"required_present":[]},"all":{"required_absent":["CUST-0072-L37X2IL0"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-072","language":"en","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad account identifier variation.","text":"message_72: \"Published documentation reference: DOC-0072-TXKUCV0R\"","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":48,"end":65,"value":"DOC-0072-TXKUCV0R","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0072-TXKUCV0R"]},"customers":{"required_absent":[],"required_present":["DOC-0072-TXKUCV0R"]},"all":{"required_absent":[],"required_present":["DOC-0072-TXKUCV0R"]}},"tags":["broad-quality","account-identifier"]}, {"id":"broad-account-redact-073","language":"en","script":"Latin","shape":"shell","risk":"high","reason":"Locked broad account identifier variation.","text":"MESSAGE_73='Customer account reference: CUST-0073-TRM90U9Q'","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":40,"end":58,"value":"CUST-0073-TRM90U9Q","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0073-TRM90U9Q"]},"customers":{"required_absent":["CUST-0073-TRM90U9Q"],"required_present":[]},"all":{"required_absent":["CUST-0073-TRM90U9Q"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, {"id":"broad-account-preserve-073","language":"en","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad account identifier variation.","text":"MESSAGE_73='Published documentation reference: DOC-0073-1ZZYHLRY'","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":47,"end":64,"value":"DOC-0073-1ZZYHLRY","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0073-1ZZYHLRY"]},"customers":{"required_absent":[],"required_present":["DOC-0073-1ZZYHLRY"]},"all":{"required_absent":[],"required_present":["DOC-0073-1ZZYHLRY"]}},"tags":["broad-quality","account-identifier"]}, - {"id":"broad-account-redact-074","language":"en","script":"Latin","shape":"url","risk":"high","reason":"Locked broad account identifier variation.","text":"endpoint=https://192.0.2.10/74 ; Customer account reference: CUST-0074-1PNIVG1V","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":61,"end":79,"value":"CUST-0074-1PNIVG1V","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0074-1PNIVG1V"]},"customers":{"required_absent":["CUST-0074-1PNIVG1V"],"required_present":[]},"all":{"required_absent":["CUST-0074-1PNIVG1V"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, - {"id":"broad-account-preserve-074","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad account identifier variation.","text":"endpoint=https://192.0.2.10/74 ; Published documentation reference: DOC-0074-JND9Q3VP","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":68,"end":85,"value":"DOC-0074-JND9Q3VP","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0074-JND9Q3VP"]},"customers":{"required_absent":[],"required_present":["DOC-0074-JND9Q3VP"]},"all":{"required_absent":[],"required_present":["DOC-0074-JND9Q3VP"]}},"tags":["broad-quality","account-identifier"]}, - {"id":"broad-account-redact-075","language":"en","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad account identifier variation.","text":"**Customer account reference: CUST-0075-8RHBRYHH**","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":30,"end":48,"value":"CUST-0075-8RHBRYHH","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0075-8RHBRYHH"]},"customers":{"required_absent":["CUST-0075-8RHBRYHH"],"required_present":[]},"all":{"required_absent":["CUST-0075-8RHBRYHH"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, - {"id":"broad-account-preserve-075","language":"en","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad account identifier variation.","text":"**Published documentation reference: DOC-0075-MQF1VVKK**","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":37,"end":54,"value":"DOC-0075-MQF1VVKK","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0075-MQF1VVKK"]},"customers":{"required_absent":[],"required_present":["DOC-0075-MQF1VVKK"]},"all":{"required_absent":[],"required_present":["DOC-0075-MQF1VVKK"]}},"tags":["broad-quality","account-identifier"]}, - {"id":"broad-account-redact-076","language":"en","script":"Latin","shape":"html","risk":"high","reason":"Locked broad account identifier variation.","text":"\u003cp\u003eCustomer account reference: CUST-0076-85VETVAI\u003c/p\u003e","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":31,"end":49,"value":"CUST-0076-85VETVAI","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0076-85VETVAI"]},"customers":{"required_absent":["CUST-0076-85VETVAI"],"required_present":[]},"all":{"required_absent":["CUST-0076-85VETVAI"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, - {"id":"broad-account-preserve-076","language":"en","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad account identifier variation.","text":"\u003cp\u003ePublished documentation reference: DOC-0076-DRQV9RN5\u003c/p\u003e","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":38,"end":55,"value":"DOC-0076-DRQV9RN5","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0076-DRQV9RN5"]},"customers":{"required_absent":[],"required_present":["DOC-0076-DRQV9RN5"]},"all":{"required_absent":[],"required_present":["DOC-0076-DRQV9RN5"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-074","language":"en","script":"Latin","shape":"url","risk":"high","reason":"Locked broad account identifier variation.","text":"endpoint=https://192.0.2.10/74?credential=CUST-0074-1PNIVG1V\u0026note=Customer+account+reference%3A+","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":42,"end":60,"value":"CUST-0074-1PNIVG1V","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0074-1PNIVG1V"]},"customers":{"required_absent":["CUST-0074-1PNIVG1V"],"required_present":[]},"all":{"required_absent":["CUST-0074-1PNIVG1V"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-074","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad account identifier variation.","text":"endpoint=https://192.0.2.10/74?credential=DOC-0074-JND9Q3VP\u0026note=Published+documentation+reference%3A+","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":42,"end":59,"value":"DOC-0074-JND9Q3VP","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0074-JND9Q3VP"]},"customers":{"required_absent":[],"required_present":["DOC-0074-JND9Q3VP"]},"all":{"required_absent":[],"required_present":["DOC-0074-JND9Q3VP"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-075","language":"en","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad account identifier variation.","text":"Customer account reference: `CUST-0075-8RHBRYHH`","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":29,"end":47,"value":"CUST-0075-8RHBRYHH","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0075-8RHBRYHH"]},"customers":{"required_absent":["CUST-0075-8RHBRYHH"],"required_present":[]},"all":{"required_absent":["CUST-0075-8RHBRYHH"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-075","language":"en","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad account identifier variation.","text":"Published documentation reference: `DOC-0075-MQF1VVKK`","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":36,"end":53,"value":"DOC-0075-MQF1VVKK","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0075-MQF1VVKK"]},"customers":{"required_absent":[],"required_present":["DOC-0075-MQF1VVKK"]},"all":{"required_absent":[],"required_present":["DOC-0075-MQF1VVKK"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-076","language":"en","script":"Latin","shape":"html","risk":"high","reason":"Locked broad account identifier variation.","text":"\u003cp\u003eCustomer account reference: \u003ccode\u003eCUST-0076-85VETVAI\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":37,"end":55,"value":"CUST-0076-85VETVAI","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0076-85VETVAI"]},"customers":{"required_absent":["CUST-0076-85VETVAI"],"required_present":[]},"all":{"required_absent":["CUST-0076-85VETVAI"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-076","language":"en","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad account identifier variation.","text":"\u003cp\u003ePublished documentation reference: \u003ccode\u003eDOC-0076-DRQV9RN5\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":44,"end":61,"value":"DOC-0076-DRQV9RN5","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0076-DRQV9RN5"]},"customers":{"required_absent":[],"required_present":["DOC-0076-DRQV9RN5"]},"all":{"required_absent":[],"required_present":["DOC-0076-DRQV9RN5"]}},"tags":["broad-quality","account-identifier"]}, {"id":"broad-account-redact-077","language":"en","script":"Latin","shape":"quoted-reply","risk":"high","reason":"Locked broad account identifier variation.","text":"\u003e Customer account reference: CUST-0077-7HFNOVGW","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":30,"end":48,"value":"CUST-0077-7HFNOVGW","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0077-7HFNOVGW"]},"customers":{"required_absent":["CUST-0077-7HFNOVGW"],"required_present":[]},"all":{"required_absent":["CUST-0077-7HFNOVGW"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, {"id":"broad-account-preserve-077","language":"en","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad account identifier variation.","text":"\u003e Published documentation reference: DOC-0077-AQD44ZA7","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":37,"end":54,"value":"DOC-0077-AQD44ZA7","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0077-AQD44ZA7"]},"customers":{"required_absent":[],"required_present":["DOC-0077-AQD44ZA7"]},"all":{"required_absent":[],"required_present":["DOC-0077-AQD44ZA7"]}},"tags":["broad-quality","account-identifier"]}, - {"id":"broad-account-redact-078","language":"en","script":"Latin","shape":"log","risk":"high","reason":"Locked broad account identifier variation.","text":"level=warn sample=78 message=\"Customer account reference: \" value=CUST-0078-OP8BLH9L","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":66,"end":84,"value":"CUST-0078-OP8BLH9L","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0078-OP8BLH9L"]},"customers":{"required_absent":["CUST-0078-OP8BLH9L"],"required_present":[]},"all":{"required_absent":["CUST-0078-OP8BLH9L"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, - {"id":"broad-account-preserve-078","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad account identifier variation.","text":"level=warn sample=78 message=\"Published documentation reference: \" value=DOC-0078-RMXXL0DQ","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":73,"end":90,"value":"DOC-0078-RMXXL0DQ","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0078-RMXXL0DQ"]},"customers":{"required_absent":[],"required_present":["DOC-0078-RMXXL0DQ"]},"all":{"required_absent":[],"required_present":["DOC-0078-RMXXL0DQ"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-078","language":"en","script":"Latin","shape":"log","risk":"high","reason":"Locked broad account identifier variation.","text":"level=warn sample=78 message=\"Customer account reference: \" credential=\"CUST-0078-OP8BLH9L\"","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":72,"end":90,"value":"CUST-0078-OP8BLH9L","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0078-OP8BLH9L"]},"customers":{"required_absent":["CUST-0078-OP8BLH9L"],"required_present":[]},"all":{"required_absent":["CUST-0078-OP8BLH9L"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-078","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad account identifier variation.","text":"level=warn sample=78 message=\"Published documentation reference: \" credential=\"DOC-0078-RMXXL0DQ\"","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":79,"end":96,"value":"DOC-0078-RMXXL0DQ","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0078-RMXXL0DQ"]},"customers":{"required_absent":[],"required_present":["DOC-0078-RMXXL0DQ"]},"all":{"required_absent":[],"required_present":["DOC-0078-RMXXL0DQ"]}},"tags":["broad-quality","account-identifier"]}, {"id":"broad-account-redact-079","language":"en","script":"Latin","shape":"stack-trace","risk":"high","reason":"Locked broad account identifier variation.","text":"Trace[79]: Customer account reference: CUST-0079-SZZKVGZL","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":39,"end":57,"value":"CUST-0079-SZZKVGZL","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0079-SZZKVGZL"]},"customers":{"required_absent":["CUST-0079-SZZKVGZL"],"required_present":[]},"all":{"required_absent":["CUST-0079-SZZKVGZL"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, {"id":"broad-account-preserve-079","language":"en","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad account identifier variation.","text":"Trace[79]: Published documentation reference: DOC-0079-633I4J6F","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":46,"end":63,"value":"DOC-0079-633I4J6F","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0079-633I4J6F"]},"customers":{"required_absent":[],"required_present":["DOC-0079-633I4J6F"]},"all":{"required_absent":[],"required_present":["DOC-0079-633I4J6F"]}},"tags":["broad-quality","account-identifier"]}, {"id":"broad-account-redact-080","language":"en","script":"Latin","shape":"code","risk":"high","reason":"Locked broad account identifier variation.","text":"fixture_80 := `Customer account reference: CUST-0080-L6R87XFT`","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":43,"end":61,"value":"CUST-0080-L6R87XFT","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0080-L6R87XFT"]},"customers":{"required_absent":["CUST-0080-L6R87XFT"],"required_present":[]},"all":{"required_absent":["CUST-0080-L6R87XFT"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, @@ -168,26 +168,26 @@ {"id":"broad-account-preserve-081","language":"en","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad account identifier variation.","text":"--\nPublished documentation reference: DOC-0081-NPOONWSG","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":38,"end":55,"value":"DOC-0081-NPOONWSG","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0081-NPOONWSG"]},"customers":{"required_absent":[],"required_present":["DOC-0081-NPOONWSG"]},"all":{"required_absent":[],"required_present":["DOC-0081-NPOONWSG"]}},"tags":["broad-quality","account-identifier"]}, {"id":"broad-account-redact-082","language":"en","script":"Latin","shape":"long-thread","risk":"high","reason":"Locked broad account identifier variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Customer account reference: CUST-0082-4BLQ3YLB","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":508,"end":526,"value":"CUST-0082-4BLQ3YLB","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0082-4BLQ3YLB"]},"customers":{"required_absent":["CUST-0082-4BLQ3YLB"],"required_present":[]},"all":{"required_absent":["CUST-0082-4BLQ3YLB"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, {"id":"broad-account-preserve-082","language":"en","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad account identifier variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Published documentation reference: DOC-0082-XCUUF3LA","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":515,"end":532,"value":"DOC-0082-XCUUF3LA","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0082-XCUUF3LA"]},"customers":{"required_absent":[],"required_present":["DOC-0082-XCUUF3LA"]},"all":{"required_absent":[],"required_present":["DOC-0082-XCUUF3LA"]}},"tags":["broad-quality","account-identifier"]}, - {"id":"broad-account-redact-083","language":"en","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad account identifier variation.","text":"--sample=83 --message=\"Customer account reference: \" --value=CUST-0083-T3G8VNJQ","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":61,"end":79,"value":"CUST-0083-T3G8VNJQ","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0083-T3G8VNJQ"]},"customers":{"required_absent":["CUST-0083-T3G8VNJQ"],"required_present":[]},"all":{"required_absent":["CUST-0083-T3G8VNJQ"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, - {"id":"broad-account-preserve-083","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad account identifier variation.","text":"--sample=83 --message=\"Published documentation reference: \" --value=DOC-0083-TWXGIRZG","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":68,"end":85,"value":"DOC-0083-TWXGIRZG","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0083-TWXGIRZG"]},"customers":{"required_absent":[],"required_present":["DOC-0083-TWXGIRZG"]},"all":{"required_absent":[],"required_present":["DOC-0083-TWXGIRZG"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-083","language":"en","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad account identifier variation.","text":"--sample=83 --message=\"Customer account reference: \" --credential=\"CUST-0083-T3G8VNJQ\"","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":67,"end":85,"value":"CUST-0083-T3G8VNJQ","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0083-T3G8VNJQ"]},"customers":{"required_absent":["CUST-0083-T3G8VNJQ"],"required_present":[]},"all":{"required_absent":["CUST-0083-T3G8VNJQ"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-083","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad account identifier variation.","text":"--sample=83 --message=\"Published documentation reference: \" --credential=\"DOC-0083-TWXGIRZG\"","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":74,"end":91,"value":"DOC-0083-TWXGIRZG","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0083-TWXGIRZG"]},"customers":{"required_absent":[],"required_present":["DOC-0083-TWXGIRZG"]},"all":{"required_absent":[],"required_present":["DOC-0083-TWXGIRZG"]}},"tags":["broad-quality","account-identifier"]}, {"id":"broad-account-redact-084","language":"en","script":"Latin","shape":"prose","risk":"high","reason":"Locked broad account identifier variation.","text":"Customer account reference: CUST-0084-T7V0ULI9","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":28,"end":46,"value":"CUST-0084-T7V0ULI9","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0084-T7V0ULI9"]},"customers":{"required_absent":["CUST-0084-T7V0ULI9"],"required_present":[]},"all":{"required_absent":["CUST-0084-T7V0ULI9"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, {"id":"broad-account-preserve-084","language":"en","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad account identifier variation.","text":"Published documentation reference: DOC-0084-QV56I1C1","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":35,"end":52,"value":"DOC-0084-QV56I1C1","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0084-QV56I1C1"]},"customers":{"required_absent":[],"required_present":["DOC-0084-QV56I1C1"]},"all":{"required_absent":[],"required_present":["DOC-0084-QV56I1C1"]}},"tags":["broad-quality","account-identifier"]}, {"id":"broad-account-redact-085","language":"en","script":"Latin","shape":"json","risk":"high","reason":"Locked broad account identifier variation.","text":"{\"message_85\":\"Customer account reference: CUST-0085-JUX1RRKG\"}","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":43,"end":61,"value":"CUST-0085-JUX1RRKG","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0085-JUX1RRKG"]},"customers":{"required_absent":["CUST-0085-JUX1RRKG"],"required_present":[]},"all":{"required_absent":["CUST-0085-JUX1RRKG"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, {"id":"broad-account-preserve-085","language":"en","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad account identifier variation.","text":"{\"message_85\":\"Published documentation reference: DOC-0085-384OOQX0\"}","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":50,"end":67,"value":"DOC-0085-384OOQX0","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0085-384OOQX0"]},"customers":{"required_absent":[],"required_present":["DOC-0085-384OOQX0"]},"all":{"required_absent":[],"required_present":["DOC-0085-384OOQX0"]}},"tags":["broad-quality","account-identifier"]}, - {"id":"broad-account-redact-086","language":"en","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad account identifier variation.","text":"message_86: Customer account reference: CUST-0086-FWCBHESN","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":40,"end":58,"value":"CUST-0086-FWCBHESN","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0086-FWCBHESN"]},"customers":{"required_absent":["CUST-0086-FWCBHESN"],"required_present":[]},"all":{"required_absent":["CUST-0086-FWCBHESN"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, - {"id":"broad-account-preserve-086","language":"en","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad account identifier variation.","text":"message_86: Published documentation reference: DOC-0086-MVD1ZHAM","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":47,"end":64,"value":"DOC-0086-MVD1ZHAM","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0086-MVD1ZHAM"]},"customers":{"required_absent":[],"required_present":["DOC-0086-MVD1ZHAM"]},"all":{"required_absent":[],"required_present":["DOC-0086-MVD1ZHAM"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-086","language":"en","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad account identifier variation.","text":"message_86: \"Customer account reference: CUST-0086-FWCBHESN\"","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":41,"end":59,"value":"CUST-0086-FWCBHESN","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0086-FWCBHESN"]},"customers":{"required_absent":["CUST-0086-FWCBHESN"],"required_present":[]},"all":{"required_absent":["CUST-0086-FWCBHESN"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-086","language":"en","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad account identifier variation.","text":"message_86: \"Published documentation reference: DOC-0086-MVD1ZHAM\"","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":48,"end":65,"value":"DOC-0086-MVD1ZHAM","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0086-MVD1ZHAM"]},"customers":{"required_absent":[],"required_present":["DOC-0086-MVD1ZHAM"]},"all":{"required_absent":[],"required_present":["DOC-0086-MVD1ZHAM"]}},"tags":["broad-quality","account-identifier"]}, {"id":"broad-account-redact-087","language":"en","script":"Latin","shape":"shell","risk":"high","reason":"Locked broad account identifier variation.","text":"MESSAGE_87='Customer account reference: CUST-0087-85X9PQJB'","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":40,"end":58,"value":"CUST-0087-85X9PQJB","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0087-85X9PQJB"]},"customers":{"required_absent":["CUST-0087-85X9PQJB"],"required_present":[]},"all":{"required_absent":["CUST-0087-85X9PQJB"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, {"id":"broad-account-preserve-087","language":"en","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad account identifier variation.","text":"MESSAGE_87='Published documentation reference: DOC-0087-O4Y8FMMS'","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":47,"end":64,"value":"DOC-0087-O4Y8FMMS","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0087-O4Y8FMMS"]},"customers":{"required_absent":[],"required_present":["DOC-0087-O4Y8FMMS"]},"all":{"required_absent":[],"required_present":["DOC-0087-O4Y8FMMS"]}},"tags":["broad-quality","account-identifier"]}, - {"id":"broad-account-redact-088","language":"en","script":"Latin","shape":"url","risk":"high","reason":"Locked broad account identifier variation.","text":"endpoint=https://192.0.2.10/88 ; Customer account reference: CUST-0088-4JWLS406","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":61,"end":79,"value":"CUST-0088-4JWLS406","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0088-4JWLS406"]},"customers":{"required_absent":["CUST-0088-4JWLS406"],"required_present":[]},"all":{"required_absent":["CUST-0088-4JWLS406"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, - {"id":"broad-account-preserve-088","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad account identifier variation.","text":"endpoint=https://192.0.2.10/88 ; Published documentation reference: DOC-0088-L2X9NEGF","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":68,"end":85,"value":"DOC-0088-L2X9NEGF","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0088-L2X9NEGF"]},"customers":{"required_absent":[],"required_present":["DOC-0088-L2X9NEGF"]},"all":{"required_absent":[],"required_present":["DOC-0088-L2X9NEGF"]}},"tags":["broad-quality","account-identifier"]}, - {"id":"broad-account-redact-089","language":"en","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad account identifier variation.","text":"**Customer account reference: CUST-0089-VZ9CLQ36**","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":30,"end":48,"value":"CUST-0089-VZ9CLQ36","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0089-VZ9CLQ36"]},"customers":{"required_absent":["CUST-0089-VZ9CLQ36"],"required_present":[]},"all":{"required_absent":["CUST-0089-VZ9CLQ36"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, - {"id":"broad-account-preserve-089","language":"en","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad account identifier variation.","text":"**Published documentation reference: DOC-0089-PKLQ6P3Y**","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":37,"end":54,"value":"DOC-0089-PKLQ6P3Y","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0089-PKLQ6P3Y"]},"customers":{"required_absent":[],"required_present":["DOC-0089-PKLQ6P3Y"]},"all":{"required_absent":[],"required_present":["DOC-0089-PKLQ6P3Y"]}},"tags":["broad-quality","account-identifier"]}, - {"id":"broad-account-redact-090","language":"en","script":"Latin","shape":"html","risk":"high","reason":"Locked broad account identifier variation.","text":"\u003cp\u003eCustomer account reference: CUST-0090-NBTLOLDU\u003c/p\u003e","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":31,"end":49,"value":"CUST-0090-NBTLOLDU","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0090-NBTLOLDU"]},"customers":{"required_absent":["CUST-0090-NBTLOLDU"],"required_present":[]},"all":{"required_absent":["CUST-0090-NBTLOLDU"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, - {"id":"broad-account-preserve-090","language":"en","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad account identifier variation.","text":"\u003cp\u003ePublished documentation reference: DOC-0090-G6N0QYPI\u003c/p\u003e","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":38,"end":55,"value":"DOC-0090-G6N0QYPI","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0090-G6N0QYPI"]},"customers":{"required_absent":[],"required_present":["DOC-0090-G6N0QYPI"]},"all":{"required_absent":[],"required_present":["DOC-0090-G6N0QYPI"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-088","language":"en","script":"Latin","shape":"url","risk":"high","reason":"Locked broad account identifier variation.","text":"endpoint=https://192.0.2.10/88?credential=CUST-0088-4JWLS406\u0026note=Customer+account+reference%3A+","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":42,"end":60,"value":"CUST-0088-4JWLS406","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0088-4JWLS406"]},"customers":{"required_absent":["CUST-0088-4JWLS406"],"required_present":[]},"all":{"required_absent":["CUST-0088-4JWLS406"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-088","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad account identifier variation.","text":"endpoint=https://192.0.2.10/88?credential=DOC-0088-L2X9NEGF\u0026note=Published+documentation+reference%3A+","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":42,"end":59,"value":"DOC-0088-L2X9NEGF","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0088-L2X9NEGF"]},"customers":{"required_absent":[],"required_present":["DOC-0088-L2X9NEGF"]},"all":{"required_absent":[],"required_present":["DOC-0088-L2X9NEGF"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-089","language":"en","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad account identifier variation.","text":"Customer account reference: `CUST-0089-VZ9CLQ36`","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":29,"end":47,"value":"CUST-0089-VZ9CLQ36","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0089-VZ9CLQ36"]},"customers":{"required_absent":["CUST-0089-VZ9CLQ36"],"required_present":[]},"all":{"required_absent":["CUST-0089-VZ9CLQ36"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-089","language":"en","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad account identifier variation.","text":"Published documentation reference: `DOC-0089-PKLQ6P3Y`","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":36,"end":53,"value":"DOC-0089-PKLQ6P3Y","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0089-PKLQ6P3Y"]},"customers":{"required_absent":[],"required_present":["DOC-0089-PKLQ6P3Y"]},"all":{"required_absent":[],"required_present":["DOC-0089-PKLQ6P3Y"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-090","language":"en","script":"Latin","shape":"html","risk":"high","reason":"Locked broad account identifier variation.","text":"\u003cp\u003eCustomer account reference: \u003ccode\u003eCUST-0090-NBTLOLDU\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":37,"end":55,"value":"CUST-0090-NBTLOLDU","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0090-NBTLOLDU"]},"customers":{"required_absent":["CUST-0090-NBTLOLDU"],"required_present":[]},"all":{"required_absent":["CUST-0090-NBTLOLDU"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-090","language":"en","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad account identifier variation.","text":"\u003cp\u003ePublished documentation reference: \u003ccode\u003eDOC-0090-G6N0QYPI\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":44,"end":61,"value":"DOC-0090-G6N0QYPI","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0090-G6N0QYPI"]},"customers":{"required_absent":[],"required_present":["DOC-0090-G6N0QYPI"]},"all":{"required_absent":[],"required_present":["DOC-0090-G6N0QYPI"]}},"tags":["broad-quality","account-identifier"]}, {"id":"broad-account-redact-091","language":"en","script":"Latin","shape":"quoted-reply","risk":"high","reason":"Locked broad account identifier variation.","text":"\u003e Customer account reference: CUST-0091-H4Q7XBBJ","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":30,"end":48,"value":"CUST-0091-H4Q7XBBJ","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0091-H4Q7XBBJ"]},"customers":{"required_absent":["CUST-0091-H4Q7XBBJ"],"required_present":[]},"all":{"required_absent":["CUST-0091-H4Q7XBBJ"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, {"id":"broad-account-preserve-091","language":"en","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad account identifier variation.","text":"\u003e Published documentation reference: DOC-0091-QKARJBMB","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":37,"end":54,"value":"DOC-0091-QKARJBMB","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0091-QKARJBMB"]},"customers":{"required_absent":[],"required_present":["DOC-0091-QKARJBMB"]},"all":{"required_absent":[],"required_present":["DOC-0091-QKARJBMB"]}},"tags":["broad-quality","account-identifier"]}, - {"id":"broad-account-redact-092","language":"en","script":"Latin","shape":"log","risk":"high","reason":"Locked broad account identifier variation.","text":"level=warn sample=92 message=\"Customer account reference: \" value=CUST-0092-TRD6B7NC","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":66,"end":84,"value":"CUST-0092-TRD6B7NC","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0092-TRD6B7NC"]},"customers":{"required_absent":["CUST-0092-TRD6B7NC"],"required_present":[]},"all":{"required_absent":["CUST-0092-TRD6B7NC"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, - {"id":"broad-account-preserve-092","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad account identifier variation.","text":"level=warn sample=92 message=\"Published documentation reference: \" value=DOC-0092-6OOSQXOL","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":73,"end":90,"value":"DOC-0092-6OOSQXOL","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0092-6OOSQXOL"]},"customers":{"required_absent":[],"required_present":["DOC-0092-6OOSQXOL"]},"all":{"required_absent":[],"required_present":["DOC-0092-6OOSQXOL"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-092","language":"en","script":"Latin","shape":"log","risk":"high","reason":"Locked broad account identifier variation.","text":"level=warn sample=92 message=\"Customer account reference: \" credential=\"CUST-0092-TRD6B7NC\"","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":72,"end":90,"value":"CUST-0092-TRD6B7NC","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0092-TRD6B7NC"]},"customers":{"required_absent":["CUST-0092-TRD6B7NC"],"required_present":[]},"all":{"required_absent":["CUST-0092-TRD6B7NC"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-092","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad account identifier variation.","text":"level=warn sample=92 message=\"Published documentation reference: \" credential=\"DOC-0092-6OOSQXOL\"","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":79,"end":96,"value":"DOC-0092-6OOSQXOL","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0092-6OOSQXOL"]},"customers":{"required_absent":[],"required_present":["DOC-0092-6OOSQXOL"]},"all":{"required_absent":[],"required_present":["DOC-0092-6OOSQXOL"]}},"tags":["broad-quality","account-identifier"]}, {"id":"broad-account-redact-093","language":"en","script":"Latin","shape":"stack-trace","risk":"high","reason":"Locked broad account identifier variation.","text":"Trace[93]: Customer account reference: CUST-0093-9ADAJC5O","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":39,"end":57,"value":"CUST-0093-9ADAJC5O","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0093-9ADAJC5O"]},"customers":{"required_absent":["CUST-0093-9ADAJC5O"],"required_present":[]},"all":{"required_absent":["CUST-0093-9ADAJC5O"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, {"id":"broad-account-preserve-093","language":"en","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad account identifier variation.","text":"Trace[93]: Published documentation reference: DOC-0093-Z8DB9G2U","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":46,"end":63,"value":"DOC-0093-Z8DB9G2U","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0093-Z8DB9G2U"]},"customers":{"required_absent":[],"required_present":["DOC-0093-Z8DB9G2U"]},"all":{"required_absent":[],"required_present":["DOC-0093-Z8DB9G2U"]}},"tags":["broad-quality","account-identifier"]}, {"id":"broad-account-redact-094","language":"en","script":"Latin","shape":"code","risk":"high","reason":"Locked broad account identifier variation.","text":"fixture_94 := `Customer account reference: CUST-0094-0DDX85H3`","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":43,"end":61,"value":"CUST-0094-0DDX85H3","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0094-0DDX85H3"]},"customers":{"required_absent":["CUST-0094-0DDX85H3"],"required_present":[]},"all":{"required_absent":["CUST-0094-0DDX85H3"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, @@ -196,8 +196,8 @@ {"id":"broad-account-preserve-095","language":"en","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad account identifier variation.","text":"--\nPublished documentation reference: DOC-0095-1UXQDE07","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":38,"end":55,"value":"DOC-0095-1UXQDE07","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0095-1UXQDE07"]},"customers":{"required_absent":[],"required_present":["DOC-0095-1UXQDE07"]},"all":{"required_absent":[],"required_present":["DOC-0095-1UXQDE07"]}},"tags":["broad-quality","account-identifier"]}, {"id":"broad-account-redact-096","language":"en","script":"Latin","shape":"long-thread","risk":"high","reason":"Locked broad account identifier variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Customer account reference: CUST-0096-0TK7VW2I","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":508,"end":526,"value":"CUST-0096-0TK7VW2I","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0096-0TK7VW2I"]},"customers":{"required_absent":["CUST-0096-0TK7VW2I"],"required_present":[]},"all":{"required_absent":["CUST-0096-0TK7VW2I"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, {"id":"broad-account-preserve-096","language":"en","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad account identifier variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Published documentation reference: DOC-0096-MI129B07","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":515,"end":532,"value":"DOC-0096-MI129B07","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0096-MI129B07"]},"customers":{"required_absent":[],"required_present":["DOC-0096-MI129B07"]},"all":{"required_absent":[],"required_present":["DOC-0096-MI129B07"]}},"tags":["broad-quality","account-identifier"]}, - {"id":"broad-account-redact-097","language":"en","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad account identifier variation.","text":"--sample=97 --message=\"Customer account reference: \" --value=CUST-0097-TQNZFQW0","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":61,"end":79,"value":"CUST-0097-TQNZFQW0","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0097-TQNZFQW0"]},"customers":{"required_absent":["CUST-0097-TQNZFQW0"],"required_present":[]},"all":{"required_absent":["CUST-0097-TQNZFQW0"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, - {"id":"broad-account-preserve-097","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad account identifier variation.","text":"--sample=97 --message=\"Published documentation reference: \" --value=DOC-0097-A6G4FE6E","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":68,"end":85,"value":"DOC-0097-A6G4FE6E","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0097-A6G4FE6E"]},"customers":{"required_absent":[],"required_present":["DOC-0097-A6G4FE6E"]},"all":{"required_absent":[],"required_present":["DOC-0097-A6G4FE6E"]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-redact-097","language":"en","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad account identifier variation.","text":"--sample=97 --message=\"Customer account reference: \" --credential=\"CUST-0097-TQNZFQW0\"","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":67,"end":85,"value":"CUST-0097-TQNZFQW0","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0097-TQNZFQW0"]},"customers":{"required_absent":["CUST-0097-TQNZFQW0"],"required_present":[]},"all":{"required_absent":["CUST-0097-TQNZFQW0"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, + {"id":"broad-account-preserve-097","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad account identifier variation.","text":"--sample=97 --message=\"Published documentation reference: \" --credential=\"DOC-0097-A6G4FE6E\"","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":74,"end":91,"value":"DOC-0097-A6G4FE6E","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0097-A6G4FE6E"]},"customers":{"required_absent":[],"required_present":["DOC-0097-A6G4FE6E"]},"all":{"required_absent":[],"required_present":["DOC-0097-A6G4FE6E"]}},"tags":["broad-quality","account-identifier"]}, {"id":"broad-account-redact-098","language":"en","script":"Latin","shape":"prose","risk":"high","reason":"Locked broad account identifier variation.","text":"Customer account reference: CUST-0098-4YRYIAD3","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":28,"end":46,"value":"CUST-0098-4YRYIAD3","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0098-4YRYIAD3"]},"customers":{"required_absent":["CUST-0098-4YRYIAD3"],"required_present":[]},"all":{"required_absent":["CUST-0098-4YRYIAD3"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, {"id":"broad-account-preserve-098","language":"en","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad account identifier variation.","text":"Published documentation reference: DOC-0098-JEB5IWGQ","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":35,"end":52,"value":"DOC-0098-JEB5IWGQ","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["DOC-0098-JEB5IWGQ"]},"customers":{"required_absent":[],"required_present":["DOC-0098-JEB5IWGQ"]},"all":{"required_absent":[],"required_present":["DOC-0098-JEB5IWGQ"]}},"tags":["broad-quality","account-identifier"]}, {"id":"broad-account-redact-099","language":"en","script":"Latin","shape":"json","risk":"high","reason":"Locked broad account identifier variation.","text":"{\"message_99\":\"Customer account reference: CUST-0099-IB2S8AIZ\"}","known_identities":[],"targets":[{"id":"account","kind":"account_number","start":43,"end":61,"value":"CUST-0099-IB2S8AIZ","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CUST-0099-IB2S8AIZ"]},"customers":{"required_absent":["CUST-0099-IB2S8AIZ"],"required_present":[]},"all":{"required_absent":["CUST-0099-IB2S8AIZ"],"required_present":[]}},"tags":["broad-quality","account-identifier"]}, diff --git a/internal/pii/testdata/privacy-filter/broad/v1/manifest.json b/internal/pii/testdata/privacy-filter/broad/v1/manifest.json index 4570380..e8e6e1b 100644 --- a/internal/pii/testdata/privacy-filter/broad/v1/manifest.json +++ b/internal/pii/testdata/privacy-filter/broad/v1/manifest.json @@ -22,35 +22,35 @@ { "name": "secrets", "file": "secrets.json", - "sha256": "a9e66ece7cf42089e15f628ba9e89e64a75f3a0219b0f778a633dafd0c96c505", + "sha256": "ffc8d19f6ac60cf02fb5eee1a063a987b3353f554aba27b70e84ea26d9fc2504", "cases": 392, "targets": 392 }, { "name": "account-identifiers", "file": "account-identifiers.json", - "sha256": "1673af4a577dea8c7fac93629b8124d405e91d452988908178501add6a746e4d", + "sha256": "200706e4aac65b9425306f3cd8008792d1d6d9f71083104b823572bca0db1100", "cases": 200, "targets": 200 }, { "name": "private-public-dates", "file": "private-public-dates.json", - "sha256": "93e90cf5c56f6bd69ceeaa1c35d10dafaa968ae951c9e03907f028661e159f38", + "sha256": "d2196b09c82305cf3e8bb75a697b497d8767e76681d967231d7d7995ecbe447f", "cases": 200, "targets": 200 }, { "name": "multilingual", "file": "multilingual.json", - "sha256": "29acae80717b878b7374d20273c150e31cc99f013e4cdd3b74b5159f8b722532", + "sha256": "ac05c80ef45d21e40a878fffe70c5d6c61ef0a905a9c1af62675a5af498ebc45", "cases": 2000, "targets": 2000 }, { "name": "preservation", "file": "preservation.json", - "sha256": "9f79836b23e7b3703debc975135a72b9fd03c1423a5be95fcae690151ba4a390", + "sha256": "7675d469c64774afa296ca17e85be783a3bf76f18f12ba9e9ac60e44bfc46c6b", "cases": 100, "targets": 100 } diff --git a/internal/pii/testdata/privacy-filter/broad/v1/multilingual.json b/internal/pii/testdata/privacy-filter/broad/v1/multilingual.json index 9206104..0af75c6 100644 --- a/internal/pii/testdata/privacy-filter/broad/v1/multilingual.json +++ b/internal/pii/testdata/privacy-filter/broad/v1/multilingual.json @@ -6,20 +6,20 @@ {"id":"broad-language-en-preserve-000","language":"en","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Public organization Atlas Labs","known_identities":[],"targets":[{"id":"person","kind":"person","start":20,"end":30,"value":"Atlas Labs","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Atlas Labs"]},"customers":{"required_absent":[],"required_present":["Atlas Labs"]},"all":{"required_absent":[],"required_present":["Atlas Labs"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-en-redact-001","language":"en","script":"Latin","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_1\":\"Customer mentioned Amina Borel\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":33,"end":44,"value":"Amina Borel","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Amina Borel"]},"customers":{"required_absent":["Amina Borel"],"required_present":[]},"all":{"required_absent":["Amina Borel"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-en-preserve-001","language":"en","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_1\":\"Public organization Atlas Works\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":34,"end":45,"value":"Atlas Works","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Atlas Works"]},"customers":{"required_absent":[],"required_present":["Atlas Works"]},"all":{"required_absent":[],"required_present":["Atlas Works"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-en-redact-002","language":"en","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_2: Customer mentioned Amina Costa","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":41,"value":"Amina Costa","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Amina Costa"]},"customers":{"required_absent":["Amina Costa"],"required_present":[]},"all":{"required_absent":["Amina Costa"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-en-preserve-002","language":"en","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_2: Public organization Atlas Studio","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":43,"value":"Atlas Studio","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Atlas Studio"]},"customers":{"required_absent":[],"required_present":["Atlas Studio"]},"all":{"required_absent":[],"required_present":["Atlas Studio"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-002","language":"en","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_2: \"Customer mentioned Amina Costa\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":42,"value":"Amina Costa","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Amina Costa"]},"customers":{"required_absent":["Amina Costa"],"required_present":[]},"all":{"required_absent":["Amina Costa"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-002","language":"en","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_2: \"Public organization Atlas Studio\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":44,"value":"Atlas Studio","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Atlas Studio"]},"customers":{"required_absent":[],"required_present":["Atlas Studio"]},"all":{"required_absent":[],"required_present":["Atlas Studio"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-en-redact-003","language":"en","script":"Latin","shape":"shell","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_3='Customer mentioned Amina Durand'","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":42,"value":"Amina Durand","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Amina Durand"]},"customers":{"required_absent":["Amina Durand"],"required_present":[]},"all":{"required_absent":["Amina Durand"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-en-preserve-003","language":"en","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_3='Public organization Atlas Systems'","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":44,"value":"Atlas Systems","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Atlas Systems"]},"customers":{"required_absent":[],"required_present":["Atlas Systems"]},"all":{"required_absent":[],"required_present":["Atlas Systems"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-en-redact-004","language":"en","script":"Latin","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/4 ; Customer mentioned Amina Esteves","known_identities":[],"targets":[{"id":"person","kind":"person","start":51,"end":64,"value":"Amina Esteves","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Amina Esteves"]},"customers":{"required_absent":["Amina Esteves"],"required_present":[]},"all":{"required_absent":["Amina Esteves"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-en-preserve-004","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/4 ; Public organization Atlas Collective","known_identities":[],"targets":[{"id":"person","kind":"person","start":52,"end":68,"value":"Atlas Collective","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Atlas Collective"]},"customers":{"required_absent":[],"required_present":["Atlas Collective"]},"all":{"required_absent":[],"required_present":["Atlas Collective"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-en-redact-005","language":"en","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"**Customer mentioned Amina Fischer**","known_identities":[],"targets":[{"id":"person","kind":"person","start":21,"end":34,"value":"Amina Fischer","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Amina Fischer"]},"customers":{"required_absent":["Amina Fischer"],"required_present":[]},"all":{"required_absent":["Amina Fischer"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-en-preserve-005","language":"en","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"**Public organization Atlas Foundation**","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":38,"value":"Atlas Foundation","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Atlas Foundation"]},"customers":{"required_absent":[],"required_present":["Atlas Foundation"]},"all":{"required_absent":[],"required_present":["Atlas Foundation"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-en-redact-006","language":"en","script":"Latin","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eCustomer mentioned Amina Garcia\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":34,"value":"Amina Garcia","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Amina Garcia"]},"customers":{"required_absent":["Amina Garcia"],"required_present":[]},"all":{"required_absent":["Amina Garcia"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-en-preserve-006","language":"en","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003ePublic organization Atlas Network\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":36,"value":"Atlas Network","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Atlas Network"]},"customers":{"required_absent":[],"required_present":["Atlas Network"]},"all":{"required_absent":[],"required_present":["Atlas Network"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-004","language":"en","script":"Latin","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/4?credential=Amina Esteves\u0026note=Customer+mentioned+","known_identities":[],"targets":[{"id":"person","kind":"person","start":41,"end":54,"value":"Amina Esteves","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Amina Esteves"]},"customers":{"required_absent":["Amina Esteves"],"required_present":[]},"all":{"required_absent":["Amina Esteves"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-004","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/4?credential=Atlas Collective\u0026note=Public+organization+","known_identities":[],"targets":[{"id":"person","kind":"person","start":41,"end":57,"value":"Atlas Collective","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Atlas Collective"]},"customers":{"required_absent":[],"required_present":["Atlas Collective"]},"all":{"required_absent":[],"required_present":["Atlas Collective"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-005","language":"en","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Customer mentioned `Amina Fischer`","known_identities":[],"targets":[{"id":"person","kind":"person","start":20,"end":33,"value":"Amina Fischer","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Amina Fischer"]},"customers":{"required_absent":["Amina Fischer"],"required_present":[]},"all":{"required_absent":["Amina Fischer"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-005","language":"en","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Public organization `Atlas Foundation`","known_identities":[],"targets":[{"id":"person","kind":"person","start":21,"end":37,"value":"Atlas Foundation","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Atlas Foundation"]},"customers":{"required_absent":[],"required_present":["Atlas Foundation"]},"all":{"required_absent":[],"required_present":["Atlas Foundation"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-006","language":"en","script":"Latin","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eCustomer mentioned \u003ccode\u003eAmina Garcia\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":28,"end":40,"value":"Amina Garcia","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Amina Garcia"]},"customers":{"required_absent":["Amina Garcia"],"required_present":[]},"all":{"required_absent":["Amina Garcia"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-006","language":"en","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003ePublic organization \u003ccode\u003eAtlas Network\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":29,"end":42,"value":"Atlas Network","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Atlas Network"]},"customers":{"required_absent":[],"required_present":["Atlas Network"]},"all":{"required_absent":[],"required_present":["Atlas Network"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-en-redact-007","language":"en","script":"Latin","shape":"quoted-reply","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e Customer mentioned Amina Holm","known_identities":[],"targets":[{"id":"person","kind":"person","start":21,"end":31,"value":"Amina Holm","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Amina Holm"]},"customers":{"required_absent":["Amina Holm"],"required_present":[]},"all":{"required_absent":["Amina Holm"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-en-preserve-007","language":"en","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e Public organization Atlas Group","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":33,"value":"Atlas Group","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Atlas Group"]},"customers":{"required_absent":[],"required_present":["Atlas Group"]},"all":{"required_absent":[],"required_present":["Atlas Group"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-en-redact-008","language":"en","script":"Latin","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=8 message=\"Customer mentioned \" value=Amina Ibarra","known_identities":[],"targets":[{"id":"person","kind":"person","start":56,"end":68,"value":"Amina Ibarra","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Amina Ibarra"]},"customers":{"required_absent":["Amina Ibarra"],"required_present":[]},"all":{"required_absent":["Amina Ibarra"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-en-preserve-008","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=8 message=\"Public organization \" value=Atlas Project","known_identities":[],"targets":[{"id":"person","kind":"person","start":57,"end":70,"value":"Atlas Project","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Atlas Project"]},"customers":{"required_absent":[],"required_present":["Atlas Project"]},"all":{"required_absent":[],"required_present":["Atlas Project"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-008","language":"en","script":"Latin","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=8 message=\"Customer mentioned \" credential=\"Amina Ibarra\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":62,"end":74,"value":"Amina Ibarra","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Amina Ibarra"]},"customers":{"required_absent":["Amina Ibarra"],"required_present":[]},"all":{"required_absent":["Amina Ibarra"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-008","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=8 message=\"Public organization \" credential=\"Atlas Project\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":63,"end":76,"value":"Atlas Project","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Atlas Project"]},"customers":{"required_absent":[],"required_present":["Atlas Project"]},"all":{"required_absent":[],"required_present":["Atlas Project"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-en-redact-009","language":"en","script":"Latin","shape":"stack-trace","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[9]: Customer mentioned Amina Jensen","known_identities":[],"targets":[{"id":"person","kind":"person","start":29,"end":41,"value":"Amina Jensen","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Amina Jensen"]},"customers":{"required_absent":["Amina Jensen"],"required_present":[]},"all":{"required_absent":["Amina Jensen"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-en-preserve-009","language":"en","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[9]: Public organization Atlas Press","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":41,"value":"Atlas Press","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Atlas Press"]},"customers":{"required_absent":[],"required_present":["Atlas Press"]},"all":{"required_absent":[],"required_present":["Atlas Press"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-en-redact-010","language":"en","script":"Latin","shape":"code","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_10 := `Customer mentioned Bruno Arden`","known_identities":[],"targets":[{"id":"person","kind":"person","start":34,"end":45,"value":"Bruno Arden","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bruno Arden"]},"customers":{"required_absent":["Bruno Arden"],"required_present":[]},"all":{"required_absent":["Bruno Arden"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, @@ -28,26 +28,26 @@ {"id":"broad-language-en-preserve-011","language":"en","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--\nPublic organization Boreal Works","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":35,"value":"Boreal Works","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Boreal Works"]},"customers":{"required_absent":[],"required_present":["Boreal Works"]},"all":{"required_absent":[],"required_present":["Boreal Works"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-en-redact-012","language":"en","script":"Latin","shape":"long-thread","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Customer mentioned Bruno Costa","known_identities":[],"targets":[{"id":"person","kind":"person","start":499,"end":510,"value":"Bruno Costa","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bruno Costa"]},"customers":{"required_absent":["Bruno Costa"],"required_present":[]},"all":{"required_absent":["Bruno Costa"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-en-preserve-012","language":"en","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Public organization Boreal Studio","known_identities":[],"targets":[{"id":"person","kind":"person","start":500,"end":513,"value":"Boreal Studio","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Boreal Studio"]},"customers":{"required_absent":[],"required_present":["Boreal Studio"]},"all":{"required_absent":[],"required_present":["Boreal Studio"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-en-redact-013","language":"en","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=13 --message=\"Customer mentioned \" --value=Bruno Durand","known_identities":[],"targets":[{"id":"person","kind":"person","start":52,"end":64,"value":"Bruno Durand","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bruno Durand"]},"customers":{"required_absent":["Bruno Durand"],"required_present":[]},"all":{"required_absent":["Bruno Durand"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-en-preserve-013","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=13 --message=\"Public organization \" --value=Boreal Systems","known_identities":[],"targets":[{"id":"person","kind":"person","start":53,"end":67,"value":"Boreal Systems","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Boreal Systems"]},"customers":{"required_absent":[],"required_present":["Boreal Systems"]},"all":{"required_absent":[],"required_present":["Boreal Systems"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-013","language":"en","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=13 --message=\"Customer mentioned \" --credential=\"Bruno Durand\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":58,"end":70,"value":"Bruno Durand","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bruno Durand"]},"customers":{"required_absent":["Bruno Durand"],"required_present":[]},"all":{"required_absent":["Bruno Durand"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-013","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=13 --message=\"Public organization \" --credential=\"Boreal Systems\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":59,"end":73,"value":"Boreal Systems","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Boreal Systems"]},"customers":{"required_absent":[],"required_present":["Boreal Systems"]},"all":{"required_absent":[],"required_present":["Boreal Systems"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-en-redact-014","language":"en","script":"Latin","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Customer mentioned Bruno Esteves","known_identities":[],"targets":[{"id":"person","kind":"person","start":19,"end":32,"value":"Bruno Esteves","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bruno Esteves"]},"customers":{"required_absent":["Bruno Esteves"],"required_present":[]},"all":{"required_absent":["Bruno Esteves"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-en-preserve-014","language":"en","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Public organization Boreal Collective","known_identities":[],"targets":[{"id":"person","kind":"person","start":20,"end":37,"value":"Boreal Collective","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Boreal Collective"]},"customers":{"required_absent":[],"required_present":["Boreal Collective"]},"all":{"required_absent":[],"required_present":["Boreal Collective"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-en-redact-015","language":"en","script":"Latin","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_15\":\"Customer mentioned Bruno Fischer\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":34,"end":47,"value":"Bruno Fischer","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bruno Fischer"]},"customers":{"required_absent":["Bruno Fischer"],"required_present":[]},"all":{"required_absent":["Bruno Fischer"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-en-preserve-015","language":"en","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_15\":\"Public organization Boreal Foundation\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":52,"value":"Boreal Foundation","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Boreal Foundation"]},"customers":{"required_absent":[],"required_present":["Boreal Foundation"]},"all":{"required_absent":[],"required_present":["Boreal Foundation"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-en-redact-016","language":"en","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_16: Customer mentioned Bruno Garcia","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":43,"value":"Bruno Garcia","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bruno Garcia"]},"customers":{"required_absent":["Bruno Garcia"],"required_present":[]},"all":{"required_absent":["Bruno Garcia"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-en-preserve-016","language":"en","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_16: Public organization Boreal Network","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":46,"value":"Boreal Network","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Boreal Network"]},"customers":{"required_absent":[],"required_present":["Boreal Network"]},"all":{"required_absent":[],"required_present":["Boreal Network"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-016","language":"en","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_16: \"Customer mentioned Bruno Garcia\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":44,"value":"Bruno Garcia","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bruno Garcia"]},"customers":{"required_absent":["Bruno Garcia"],"required_present":[]},"all":{"required_absent":["Bruno Garcia"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-016","language":"en","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_16: \"Public organization Boreal Network\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":33,"end":47,"value":"Boreal Network","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Boreal Network"]},"customers":{"required_absent":[],"required_present":["Boreal Network"]},"all":{"required_absent":[],"required_present":["Boreal Network"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-en-redact-017","language":"en","script":"Latin","shape":"shell","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_17='Customer mentioned Bruno Holm'","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":41,"value":"Bruno Holm","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bruno Holm"]},"customers":{"required_absent":["Bruno Holm"],"required_present":[]},"all":{"required_absent":["Bruno Holm"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-en-preserve-017","language":"en","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_17='Public organization Boreal Group'","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":44,"value":"Boreal Group","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Boreal Group"]},"customers":{"required_absent":[],"required_present":["Boreal Group"]},"all":{"required_absent":[],"required_present":["Boreal Group"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-en-redact-018","language":"en","script":"Latin","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/18 ; Customer mentioned Bruno Ibarra","known_identities":[],"targets":[{"id":"person","kind":"person","start":52,"end":64,"value":"Bruno Ibarra","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bruno Ibarra"]},"customers":{"required_absent":["Bruno Ibarra"],"required_present":[]},"all":{"required_absent":["Bruno Ibarra"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-en-preserve-018","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/18 ; Public organization Boreal Project","known_identities":[],"targets":[{"id":"person","kind":"person","start":53,"end":67,"value":"Boreal Project","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Boreal Project"]},"customers":{"required_absent":[],"required_present":["Boreal Project"]},"all":{"required_absent":[],"required_present":["Boreal Project"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-en-redact-019","language":"en","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"**Customer mentioned Bruno Jensen**","known_identities":[],"targets":[{"id":"person","kind":"person","start":21,"end":33,"value":"Bruno Jensen","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bruno Jensen"]},"customers":{"required_absent":["Bruno Jensen"],"required_present":[]},"all":{"required_absent":["Bruno Jensen"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-en-preserve-019","language":"en","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"**Public organization Boreal Press**","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":34,"value":"Boreal Press","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Boreal Press"]},"customers":{"required_absent":[],"required_present":["Boreal Press"]},"all":{"required_absent":[],"required_present":["Boreal Press"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-en-redact-020","language":"en","script":"Latin","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eCustomer mentioned Clara Arden\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":33,"value":"Clara Arden","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Clara Arden"]},"customers":{"required_absent":["Clara Arden"],"required_present":[]},"all":{"required_absent":["Clara Arden"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-en-preserve-020","language":"en","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003ePublic organization Cedar Labs\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":33,"value":"Cedar Labs","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Cedar Labs"]},"customers":{"required_absent":[],"required_present":["Cedar Labs"]},"all":{"required_absent":[],"required_present":["Cedar Labs"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-018","language":"en","script":"Latin","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/18?credential=Bruno Ibarra\u0026note=Customer+mentioned+","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":54,"value":"Bruno Ibarra","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bruno Ibarra"]},"customers":{"required_absent":["Bruno Ibarra"],"required_present":[]},"all":{"required_absent":["Bruno Ibarra"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-018","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/18?credential=Boreal Project\u0026note=Public+organization+","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":56,"value":"Boreal Project","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Boreal Project"]},"customers":{"required_absent":[],"required_present":["Boreal Project"]},"all":{"required_absent":[],"required_present":["Boreal Project"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-019","language":"en","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Customer mentioned `Bruno Jensen`","known_identities":[],"targets":[{"id":"person","kind":"person","start":20,"end":32,"value":"Bruno Jensen","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bruno Jensen"]},"customers":{"required_absent":["Bruno Jensen"],"required_present":[]},"all":{"required_absent":["Bruno Jensen"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-019","language":"en","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Public organization `Boreal Press`","known_identities":[],"targets":[{"id":"person","kind":"person","start":21,"end":33,"value":"Boreal Press","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Boreal Press"]},"customers":{"required_absent":[],"required_present":["Boreal Press"]},"all":{"required_absent":[],"required_present":["Boreal Press"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-020","language":"en","script":"Latin","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eCustomer mentioned \u003ccode\u003eClara Arden\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":28,"end":39,"value":"Clara Arden","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Clara Arden"]},"customers":{"required_absent":["Clara Arden"],"required_present":[]},"all":{"required_absent":["Clara Arden"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-020","language":"en","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003ePublic organization \u003ccode\u003eCedar Labs\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":29,"end":39,"value":"Cedar Labs","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Cedar Labs"]},"customers":{"required_absent":[],"required_present":["Cedar Labs"]},"all":{"required_absent":[],"required_present":["Cedar Labs"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-en-redact-021","language":"en","script":"Latin","shape":"quoted-reply","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e Customer mentioned Clara Borel","known_identities":[],"targets":[{"id":"person","kind":"person","start":21,"end":32,"value":"Clara Borel","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Clara Borel"]},"customers":{"required_absent":["Clara Borel"],"required_present":[]},"all":{"required_absent":["Clara Borel"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-en-preserve-021","language":"en","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e Public organization Cedar Works","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":33,"value":"Cedar Works","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Cedar Works"]},"customers":{"required_absent":[],"required_present":["Cedar Works"]},"all":{"required_absent":[],"required_present":["Cedar Works"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-en-redact-022","language":"en","script":"Latin","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=22 message=\"Customer mentioned \" value=Clara Costa","known_identities":[],"targets":[{"id":"person","kind":"person","start":57,"end":68,"value":"Clara Costa","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Clara Costa"]},"customers":{"required_absent":["Clara Costa"],"required_present":[]},"all":{"required_absent":["Clara Costa"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-en-preserve-022","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=22 message=\"Public organization \" value=Cedar Studio","known_identities":[],"targets":[{"id":"person","kind":"person","start":58,"end":70,"value":"Cedar Studio","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Cedar Studio"]},"customers":{"required_absent":[],"required_present":["Cedar Studio"]},"all":{"required_absent":[],"required_present":["Cedar Studio"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-022","language":"en","script":"Latin","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=22 message=\"Customer mentioned \" credential=\"Clara Costa\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":63,"end":74,"value":"Clara Costa","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Clara Costa"]},"customers":{"required_absent":["Clara Costa"],"required_present":[]},"all":{"required_absent":["Clara Costa"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-022","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=22 message=\"Public organization \" credential=\"Cedar Studio\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":64,"end":76,"value":"Cedar Studio","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Cedar Studio"]},"customers":{"required_absent":[],"required_present":["Cedar Studio"]},"all":{"required_absent":[],"required_present":["Cedar Studio"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-en-redact-023","language":"en","script":"Latin","shape":"stack-trace","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[23]: Customer mentioned Clara Durand","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":42,"value":"Clara Durand","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Clara Durand"]},"customers":{"required_absent":["Clara Durand"],"required_present":[]},"all":{"required_absent":["Clara Durand"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-en-preserve-023","language":"en","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[23]: Public organization Cedar Systems","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":44,"value":"Cedar Systems","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Cedar Systems"]},"customers":{"required_absent":[],"required_present":["Cedar Systems"]},"all":{"required_absent":[],"required_present":["Cedar Systems"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-en-redact-024","language":"en","script":"Latin","shape":"code","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_24 := `Customer mentioned Clara Esteves`","known_identities":[],"targets":[{"id":"person","kind":"person","start":34,"end":47,"value":"Clara Esteves","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Clara Esteves"]},"customers":{"required_absent":["Clara Esteves"],"required_present":[]},"all":{"required_absent":["Clara Esteves"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, @@ -56,26 +56,26 @@ {"id":"broad-language-en-preserve-025","language":"en","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--\nPublic organization Cedar Foundation","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":39,"value":"Cedar Foundation","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Cedar Foundation"]},"customers":{"required_absent":[],"required_present":["Cedar Foundation"]},"all":{"required_absent":[],"required_present":["Cedar Foundation"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-en-redact-026","language":"en","script":"Latin","shape":"long-thread","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Customer mentioned Clara Garcia","known_identities":[],"targets":[{"id":"person","kind":"person","start":499,"end":511,"value":"Clara Garcia","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Clara Garcia"]},"customers":{"required_absent":["Clara Garcia"],"required_present":[]},"all":{"required_absent":["Clara Garcia"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-en-preserve-026","language":"en","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Public organization Cedar Network","known_identities":[],"targets":[{"id":"person","kind":"person","start":500,"end":513,"value":"Cedar Network","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Cedar Network"]},"customers":{"required_absent":[],"required_present":["Cedar Network"]},"all":{"required_absent":[],"required_present":["Cedar Network"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-en-redact-027","language":"en","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=27 --message=\"Customer mentioned \" --value=Clara Holm","known_identities":[],"targets":[{"id":"person","kind":"person","start":52,"end":62,"value":"Clara Holm","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Clara Holm"]},"customers":{"required_absent":["Clara Holm"],"required_present":[]},"all":{"required_absent":["Clara Holm"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-en-preserve-027","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=27 --message=\"Public organization \" --value=Cedar Group","known_identities":[],"targets":[{"id":"person","kind":"person","start":53,"end":64,"value":"Cedar Group","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Cedar Group"]},"customers":{"required_absent":[],"required_present":["Cedar Group"]},"all":{"required_absent":[],"required_present":["Cedar Group"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-027","language":"en","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=27 --message=\"Customer mentioned \" --credential=\"Clara Holm\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":58,"end":68,"value":"Clara Holm","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Clara Holm"]},"customers":{"required_absent":["Clara Holm"],"required_present":[]},"all":{"required_absent":["Clara Holm"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-027","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=27 --message=\"Public organization \" --credential=\"Cedar Group\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":59,"end":70,"value":"Cedar Group","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Cedar Group"]},"customers":{"required_absent":[],"required_present":["Cedar Group"]},"all":{"required_absent":[],"required_present":["Cedar Group"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-en-redact-028","language":"en","script":"Latin","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Customer mentioned Clara Ibarra","known_identities":[],"targets":[{"id":"person","kind":"person","start":19,"end":31,"value":"Clara Ibarra","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Clara Ibarra"]},"customers":{"required_absent":["Clara Ibarra"],"required_present":[]},"all":{"required_absent":["Clara Ibarra"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-en-preserve-028","language":"en","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Public organization Cedar Project","known_identities":[],"targets":[{"id":"person","kind":"person","start":20,"end":33,"value":"Cedar Project","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Cedar Project"]},"customers":{"required_absent":[],"required_present":["Cedar Project"]},"all":{"required_absent":[],"required_present":["Cedar Project"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-en-redact-029","language":"en","script":"Latin","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_29\":\"Customer mentioned Clara Jensen\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":34,"end":46,"value":"Clara Jensen","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Clara Jensen"]},"customers":{"required_absent":["Clara Jensen"],"required_present":[]},"all":{"required_absent":["Clara Jensen"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-en-preserve-029","language":"en","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_29\":\"Public organization Cedar Press\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":46,"value":"Cedar Press","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Cedar Press"]},"customers":{"required_absent":[],"required_present":["Cedar Press"]},"all":{"required_absent":[],"required_present":["Cedar Press"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-en-redact-030","language":"en","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_30: Customer mentioned Diego Arden","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":42,"value":"Diego Arden","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Diego Arden"]},"customers":{"required_absent":["Diego Arden"],"required_present":[]},"all":{"required_absent":["Diego Arden"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-en-preserve-030","language":"en","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_30: Public organization Delta Labs","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":42,"value":"Delta Labs","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Delta Labs"]},"customers":{"required_absent":[],"required_present":["Delta Labs"]},"all":{"required_absent":[],"required_present":["Delta Labs"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-030","language":"en","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_30: \"Customer mentioned Diego Arden\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":43,"value":"Diego Arden","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Diego Arden"]},"customers":{"required_absent":["Diego Arden"],"required_present":[]},"all":{"required_absent":["Diego Arden"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-030","language":"en","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_30: \"Public organization Delta Labs\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":33,"end":43,"value":"Delta Labs","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Delta Labs"]},"customers":{"required_absent":[],"required_present":["Delta Labs"]},"all":{"required_absent":[],"required_present":["Delta Labs"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-en-redact-031","language":"en","script":"Latin","shape":"shell","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_31='Customer mentioned Diego Borel'","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":42,"value":"Diego Borel","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Diego Borel"]},"customers":{"required_absent":["Diego Borel"],"required_present":[]},"all":{"required_absent":["Diego Borel"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-en-preserve-031","language":"en","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_31='Public organization Delta Works'","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":43,"value":"Delta Works","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Delta Works"]},"customers":{"required_absent":[],"required_present":["Delta Works"]},"all":{"required_absent":[],"required_present":["Delta Works"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-en-redact-032","language":"en","script":"Latin","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/32 ; Customer mentioned Diego Costa","known_identities":[],"targets":[{"id":"person","kind":"person","start":52,"end":63,"value":"Diego Costa","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Diego Costa"]},"customers":{"required_absent":["Diego Costa"],"required_present":[]},"all":{"required_absent":["Diego Costa"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-en-preserve-032","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/32 ; Public organization Delta Studio","known_identities":[],"targets":[{"id":"person","kind":"person","start":53,"end":65,"value":"Delta Studio","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Delta Studio"]},"customers":{"required_absent":[],"required_present":["Delta Studio"]},"all":{"required_absent":[],"required_present":["Delta Studio"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-en-redact-033","language":"en","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"**Customer mentioned Diego Durand**","known_identities":[],"targets":[{"id":"person","kind":"person","start":21,"end":33,"value":"Diego Durand","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Diego Durand"]},"customers":{"required_absent":["Diego Durand"],"required_present":[]},"all":{"required_absent":["Diego Durand"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-en-preserve-033","language":"en","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"**Public organization Delta Systems**","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":35,"value":"Delta Systems","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Delta Systems"]},"customers":{"required_absent":[],"required_present":["Delta Systems"]},"all":{"required_absent":[],"required_present":["Delta Systems"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-en-redact-034","language":"en","script":"Latin","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eCustomer mentioned Diego Esteves\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":35,"value":"Diego Esteves","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Diego Esteves"]},"customers":{"required_absent":["Diego Esteves"],"required_present":[]},"all":{"required_absent":["Diego Esteves"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-en-preserve-034","language":"en","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003ePublic organization Delta Collective\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":39,"value":"Delta Collective","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Delta Collective"]},"customers":{"required_absent":[],"required_present":["Delta Collective"]},"all":{"required_absent":[],"required_present":["Delta Collective"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-032","language":"en","script":"Latin","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/32?credential=Diego Costa\u0026note=Customer+mentioned+","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":53,"value":"Diego Costa","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Diego Costa"]},"customers":{"required_absent":["Diego Costa"],"required_present":[]},"all":{"required_absent":["Diego Costa"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-032","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/32?credential=Delta Studio\u0026note=Public+organization+","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":54,"value":"Delta Studio","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Delta Studio"]},"customers":{"required_absent":[],"required_present":["Delta Studio"]},"all":{"required_absent":[],"required_present":["Delta Studio"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-033","language":"en","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Customer mentioned `Diego Durand`","known_identities":[],"targets":[{"id":"person","kind":"person","start":20,"end":32,"value":"Diego Durand","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Diego Durand"]},"customers":{"required_absent":["Diego Durand"],"required_present":[]},"all":{"required_absent":["Diego Durand"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-033","language":"en","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Public organization `Delta Systems`","known_identities":[],"targets":[{"id":"person","kind":"person","start":21,"end":34,"value":"Delta Systems","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Delta Systems"]},"customers":{"required_absent":[],"required_present":["Delta Systems"]},"all":{"required_absent":[],"required_present":["Delta Systems"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-034","language":"en","script":"Latin","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eCustomer mentioned \u003ccode\u003eDiego Esteves\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":28,"end":41,"value":"Diego Esteves","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Diego Esteves"]},"customers":{"required_absent":["Diego Esteves"],"required_present":[]},"all":{"required_absent":["Diego Esteves"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-034","language":"en","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003ePublic organization \u003ccode\u003eDelta Collective\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":29,"end":45,"value":"Delta Collective","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Delta Collective"]},"customers":{"required_absent":[],"required_present":["Delta Collective"]},"all":{"required_absent":[],"required_present":["Delta Collective"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-en-redact-035","language":"en","script":"Latin","shape":"quoted-reply","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e Customer mentioned Diego Fischer","known_identities":[],"targets":[{"id":"person","kind":"person","start":21,"end":34,"value":"Diego Fischer","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Diego Fischer"]},"customers":{"required_absent":["Diego Fischer"],"required_present":[]},"all":{"required_absent":["Diego Fischer"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-en-preserve-035","language":"en","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e Public organization Delta Foundation","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":38,"value":"Delta Foundation","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Delta Foundation"]},"customers":{"required_absent":[],"required_present":["Delta Foundation"]},"all":{"required_absent":[],"required_present":["Delta Foundation"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-en-redact-036","language":"en","script":"Latin","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=36 message=\"Customer mentioned \" value=Diego Garcia","known_identities":[],"targets":[{"id":"person","kind":"person","start":57,"end":69,"value":"Diego Garcia","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Diego Garcia"]},"customers":{"required_absent":["Diego Garcia"],"required_present":[]},"all":{"required_absent":["Diego Garcia"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-en-preserve-036","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=36 message=\"Public organization \" value=Delta Network","known_identities":[],"targets":[{"id":"person","kind":"person","start":58,"end":71,"value":"Delta Network","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Delta Network"]},"customers":{"required_absent":[],"required_present":["Delta Network"]},"all":{"required_absent":[],"required_present":["Delta Network"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-036","language":"en","script":"Latin","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=36 message=\"Customer mentioned \" credential=\"Diego Garcia\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":63,"end":75,"value":"Diego Garcia","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Diego Garcia"]},"customers":{"required_absent":["Diego Garcia"],"required_present":[]},"all":{"required_absent":["Diego Garcia"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-036","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=36 message=\"Public organization \" credential=\"Delta Network\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":64,"end":77,"value":"Delta Network","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Delta Network"]},"customers":{"required_absent":[],"required_present":["Delta Network"]},"all":{"required_absent":[],"required_present":["Delta Network"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-en-redact-037","language":"en","script":"Latin","shape":"stack-trace","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[37]: Customer mentioned Diego Holm","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":40,"value":"Diego Holm","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Diego Holm"]},"customers":{"required_absent":["Diego Holm"],"required_present":[]},"all":{"required_absent":["Diego Holm"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-en-preserve-037","language":"en","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[37]: Public organization Delta Group","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":42,"value":"Delta Group","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Delta Group"]},"customers":{"required_absent":[],"required_present":["Delta Group"]},"all":{"required_absent":[],"required_present":["Delta Group"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-en-redact-038","language":"en","script":"Latin","shape":"code","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_38 := `Customer mentioned Diego Ibarra`","known_identities":[],"targets":[{"id":"person","kind":"person","start":34,"end":46,"value":"Diego Ibarra","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Diego Ibarra"]},"customers":{"required_absent":["Diego Ibarra"],"required_present":[]},"all":{"required_absent":["Diego Ibarra"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, @@ -84,26 +84,26 @@ {"id":"broad-language-en-preserve-039","language":"en","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--\nPublic organization Delta Press","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":34,"value":"Delta Press","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Delta Press"]},"customers":{"required_absent":[],"required_present":["Delta Press"]},"all":{"required_absent":[],"required_present":["Delta Press"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-en-redact-040","language":"en","script":"Latin","shape":"long-thread","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Customer mentioned Elena Arden","known_identities":[],"targets":[{"id":"person","kind":"person","start":499,"end":510,"value":"Elena Arden","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Elena Arden"]},"customers":{"required_absent":["Elena Arden"],"required_present":[]},"all":{"required_absent":["Elena Arden"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-en-preserve-040","language":"en","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Public organization Ember Labs","known_identities":[],"targets":[{"id":"person","kind":"person","start":500,"end":510,"value":"Ember Labs","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ember Labs"]},"customers":{"required_absent":[],"required_present":["Ember Labs"]},"all":{"required_absent":[],"required_present":["Ember Labs"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-en-redact-041","language":"en","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=41 --message=\"Customer mentioned \" --value=Elena Borel","known_identities":[],"targets":[{"id":"person","kind":"person","start":52,"end":63,"value":"Elena Borel","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Elena Borel"]},"customers":{"required_absent":["Elena Borel"],"required_present":[]},"all":{"required_absent":["Elena Borel"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-en-preserve-041","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=41 --message=\"Public organization \" --value=Ember Works","known_identities":[],"targets":[{"id":"person","kind":"person","start":53,"end":64,"value":"Ember Works","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ember Works"]},"customers":{"required_absent":[],"required_present":["Ember Works"]},"all":{"required_absent":[],"required_present":["Ember Works"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-041","language":"en","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=41 --message=\"Customer mentioned \" --credential=\"Elena Borel\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":58,"end":69,"value":"Elena Borel","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Elena Borel"]},"customers":{"required_absent":["Elena Borel"],"required_present":[]},"all":{"required_absent":["Elena Borel"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-041","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=41 --message=\"Public organization \" --credential=\"Ember Works\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":59,"end":70,"value":"Ember Works","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ember Works"]},"customers":{"required_absent":[],"required_present":["Ember Works"]},"all":{"required_absent":[],"required_present":["Ember Works"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-en-redact-042","language":"en","script":"Latin","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Customer mentioned Elena Costa","known_identities":[],"targets":[{"id":"person","kind":"person","start":19,"end":30,"value":"Elena Costa","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Elena Costa"]},"customers":{"required_absent":["Elena Costa"],"required_present":[]},"all":{"required_absent":["Elena Costa"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-en-preserve-042","language":"en","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Public organization Ember Studio","known_identities":[],"targets":[{"id":"person","kind":"person","start":20,"end":32,"value":"Ember Studio","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ember Studio"]},"customers":{"required_absent":[],"required_present":["Ember Studio"]},"all":{"required_absent":[],"required_present":["Ember Studio"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-en-redact-043","language":"en","script":"Latin","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_43\":\"Customer mentioned Elena Durand\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":34,"end":46,"value":"Elena Durand","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Elena Durand"]},"customers":{"required_absent":["Elena Durand"],"required_present":[]},"all":{"required_absent":["Elena Durand"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-en-preserve-043","language":"en","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_43\":\"Public organization Ember Systems\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":48,"value":"Ember Systems","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ember Systems"]},"customers":{"required_absent":[],"required_present":["Ember Systems"]},"all":{"required_absent":[],"required_present":["Ember Systems"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-en-redact-044","language":"en","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_44: Customer mentioned Elena Esteves","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":44,"value":"Elena Esteves","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Elena Esteves"]},"customers":{"required_absent":["Elena Esteves"],"required_present":[]},"all":{"required_absent":["Elena Esteves"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-en-preserve-044","language":"en","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_44: Public organization Ember Collective","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":48,"value":"Ember Collective","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ember Collective"]},"customers":{"required_absent":[],"required_present":["Ember Collective"]},"all":{"required_absent":[],"required_present":["Ember Collective"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-044","language":"en","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_44: \"Customer mentioned Elena Esteves\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":45,"value":"Elena Esteves","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Elena Esteves"]},"customers":{"required_absent":["Elena Esteves"],"required_present":[]},"all":{"required_absent":["Elena Esteves"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-044","language":"en","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_44: \"Public organization Ember Collective\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":33,"end":49,"value":"Ember Collective","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ember Collective"]},"customers":{"required_absent":[],"required_present":["Ember Collective"]},"all":{"required_absent":[],"required_present":["Ember Collective"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-en-redact-045","language":"en","script":"Latin","shape":"shell","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_45='Customer mentioned Elena Fischer'","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":44,"value":"Elena Fischer","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Elena Fischer"]},"customers":{"required_absent":["Elena Fischer"],"required_present":[]},"all":{"required_absent":["Elena Fischer"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-en-preserve-045","language":"en","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_45='Public organization Ember Foundation'","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":48,"value":"Ember Foundation","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ember Foundation"]},"customers":{"required_absent":[],"required_present":["Ember Foundation"]},"all":{"required_absent":[],"required_present":["Ember Foundation"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-en-redact-046","language":"en","script":"Latin","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/46 ; Customer mentioned Elena Garcia","known_identities":[],"targets":[{"id":"person","kind":"person","start":52,"end":64,"value":"Elena Garcia","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Elena Garcia"]},"customers":{"required_absent":["Elena Garcia"],"required_present":[]},"all":{"required_absent":["Elena Garcia"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-en-preserve-046","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/46 ; Public organization Ember Network","known_identities":[],"targets":[{"id":"person","kind":"person","start":53,"end":66,"value":"Ember Network","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ember Network"]},"customers":{"required_absent":[],"required_present":["Ember Network"]},"all":{"required_absent":[],"required_present":["Ember Network"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-en-redact-047","language":"en","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"**Customer mentioned Elena Holm**","known_identities":[],"targets":[{"id":"person","kind":"person","start":21,"end":31,"value":"Elena Holm","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Elena Holm"]},"customers":{"required_absent":["Elena Holm"],"required_present":[]},"all":{"required_absent":["Elena Holm"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-en-preserve-047","language":"en","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"**Public organization Ember Group**","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":33,"value":"Ember Group","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ember Group"]},"customers":{"required_absent":[],"required_present":["Ember Group"]},"all":{"required_absent":[],"required_present":["Ember Group"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-en-redact-048","language":"en","script":"Latin","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eCustomer mentioned Elena Ibarra\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":34,"value":"Elena Ibarra","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Elena Ibarra"]},"customers":{"required_absent":["Elena Ibarra"],"required_present":[]},"all":{"required_absent":["Elena Ibarra"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-en-preserve-048","language":"en","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003ePublic organization Ember Project\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":36,"value":"Ember Project","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ember Project"]},"customers":{"required_absent":[],"required_present":["Ember Project"]},"all":{"required_absent":[],"required_present":["Ember Project"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-046","language":"en","script":"Latin","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/46?credential=Elena Garcia\u0026note=Customer+mentioned+","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":54,"value":"Elena Garcia","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Elena Garcia"]},"customers":{"required_absent":["Elena Garcia"],"required_present":[]},"all":{"required_absent":["Elena Garcia"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-046","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/46?credential=Ember Network\u0026note=Public+organization+","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":55,"value":"Ember Network","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ember Network"]},"customers":{"required_absent":[],"required_present":["Ember Network"]},"all":{"required_absent":[],"required_present":["Ember Network"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-047","language":"en","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Customer mentioned `Elena Holm`","known_identities":[],"targets":[{"id":"person","kind":"person","start":20,"end":30,"value":"Elena Holm","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Elena Holm"]},"customers":{"required_absent":["Elena Holm"],"required_present":[]},"all":{"required_absent":["Elena Holm"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-047","language":"en","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Public organization `Ember Group`","known_identities":[],"targets":[{"id":"person","kind":"person","start":21,"end":32,"value":"Ember Group","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ember Group"]},"customers":{"required_absent":[],"required_present":["Ember Group"]},"all":{"required_absent":[],"required_present":["Ember Group"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-048","language":"en","script":"Latin","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eCustomer mentioned \u003ccode\u003eElena Ibarra\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":28,"end":40,"value":"Elena Ibarra","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Elena Ibarra"]},"customers":{"required_absent":["Elena Ibarra"],"required_present":[]},"all":{"required_absent":["Elena Ibarra"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-048","language":"en","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003ePublic organization \u003ccode\u003eEmber Project\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":29,"end":42,"value":"Ember Project","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ember Project"]},"customers":{"required_absent":[],"required_present":["Ember Project"]},"all":{"required_absent":[],"required_present":["Ember Project"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-en-redact-049","language":"en","script":"Latin","shape":"quoted-reply","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e Customer mentioned Elena Jensen","known_identities":[],"targets":[{"id":"person","kind":"person","start":21,"end":33,"value":"Elena Jensen","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Elena Jensen"]},"customers":{"required_absent":["Elena Jensen"],"required_present":[]},"all":{"required_absent":["Elena Jensen"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-en-preserve-049","language":"en","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e Public organization Ember Press","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":33,"value":"Ember Press","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ember Press"]},"customers":{"required_absent":[],"required_present":["Ember Press"]},"all":{"required_absent":[],"required_present":["Ember Press"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-en-redact-050","language":"en","script":"Latin","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=50 message=\"Customer mentioned \" value=Farid Arden","known_identities":[],"targets":[{"id":"person","kind":"person","start":57,"end":68,"value":"Farid Arden","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Farid Arden"]},"customers":{"required_absent":["Farid Arden"],"required_present":[]},"all":{"required_absent":["Farid Arden"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-en-preserve-050","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=50 message=\"Public organization \" value=Flora Labs","known_identities":[],"targets":[{"id":"person","kind":"person","start":58,"end":68,"value":"Flora Labs","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Flora Labs"]},"customers":{"required_absent":[],"required_present":["Flora Labs"]},"all":{"required_absent":[],"required_present":["Flora Labs"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-050","language":"en","script":"Latin","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=50 message=\"Customer mentioned \" credential=\"Farid Arden\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":63,"end":74,"value":"Farid Arden","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Farid Arden"]},"customers":{"required_absent":["Farid Arden"],"required_present":[]},"all":{"required_absent":["Farid Arden"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-050","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=50 message=\"Public organization \" credential=\"Flora Labs\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":64,"end":74,"value":"Flora Labs","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Flora Labs"]},"customers":{"required_absent":[],"required_present":["Flora Labs"]},"all":{"required_absent":[],"required_present":["Flora Labs"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-en-redact-051","language":"en","script":"Latin","shape":"stack-trace","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[51]: Customer mentioned Farid Borel","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":41,"value":"Farid Borel","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Farid Borel"]},"customers":{"required_absent":["Farid Borel"],"required_present":[]},"all":{"required_absent":["Farid Borel"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-en-preserve-051","language":"en","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[51]: Public organization Flora Works","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":42,"value":"Flora Works","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Flora Works"]},"customers":{"required_absent":[],"required_present":["Flora Works"]},"all":{"required_absent":[],"required_present":["Flora Works"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-en-redact-052","language":"en","script":"Latin","shape":"code","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_52 := `Customer mentioned Farid Costa`","known_identities":[],"targets":[{"id":"person","kind":"person","start":34,"end":45,"value":"Farid Costa","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Farid Costa"]},"customers":{"required_absent":["Farid Costa"],"required_present":[]},"all":{"required_absent":["Farid Costa"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, @@ -112,26 +112,26 @@ {"id":"broad-language-en-preserve-053","language":"en","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--\nPublic organization Flora Systems","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":36,"value":"Flora Systems","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Flora Systems"]},"customers":{"required_absent":[],"required_present":["Flora Systems"]},"all":{"required_absent":[],"required_present":["Flora Systems"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-en-redact-054","language":"en","script":"Latin","shape":"long-thread","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Customer mentioned Farid Esteves","known_identities":[],"targets":[{"id":"person","kind":"person","start":499,"end":512,"value":"Farid Esteves","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Farid Esteves"]},"customers":{"required_absent":["Farid Esteves"],"required_present":[]},"all":{"required_absent":["Farid Esteves"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-en-preserve-054","language":"en","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Public organization Flora Collective","known_identities":[],"targets":[{"id":"person","kind":"person","start":500,"end":516,"value":"Flora Collective","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Flora Collective"]},"customers":{"required_absent":[],"required_present":["Flora Collective"]},"all":{"required_absent":[],"required_present":["Flora Collective"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-en-redact-055","language":"en","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=55 --message=\"Customer mentioned \" --value=Farid Fischer","known_identities":[],"targets":[{"id":"person","kind":"person","start":52,"end":65,"value":"Farid Fischer","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Farid Fischer"]},"customers":{"required_absent":["Farid Fischer"],"required_present":[]},"all":{"required_absent":["Farid Fischer"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-en-preserve-055","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=55 --message=\"Public organization \" --value=Flora Foundation","known_identities":[],"targets":[{"id":"person","kind":"person","start":53,"end":69,"value":"Flora Foundation","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Flora Foundation"]},"customers":{"required_absent":[],"required_present":["Flora Foundation"]},"all":{"required_absent":[],"required_present":["Flora Foundation"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-055","language":"en","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=55 --message=\"Customer mentioned \" --credential=\"Farid Fischer\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":58,"end":71,"value":"Farid Fischer","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Farid Fischer"]},"customers":{"required_absent":["Farid Fischer"],"required_present":[]},"all":{"required_absent":["Farid Fischer"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-055","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=55 --message=\"Public organization \" --credential=\"Flora Foundation\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":59,"end":75,"value":"Flora Foundation","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Flora Foundation"]},"customers":{"required_absent":[],"required_present":["Flora Foundation"]},"all":{"required_absent":[],"required_present":["Flora Foundation"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-en-redact-056","language":"en","script":"Latin","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Customer mentioned Farid Garcia","known_identities":[],"targets":[{"id":"person","kind":"person","start":19,"end":31,"value":"Farid Garcia","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Farid Garcia"]},"customers":{"required_absent":["Farid Garcia"],"required_present":[]},"all":{"required_absent":["Farid Garcia"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-en-preserve-056","language":"en","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Public organization Flora Network","known_identities":[],"targets":[{"id":"person","kind":"person","start":20,"end":33,"value":"Flora Network","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Flora Network"]},"customers":{"required_absent":[],"required_present":["Flora Network"]},"all":{"required_absent":[],"required_present":["Flora Network"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-en-redact-057","language":"en","script":"Latin","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_57\":\"Customer mentioned Farid Holm\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":34,"end":44,"value":"Farid Holm","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Farid Holm"]},"customers":{"required_absent":["Farid Holm"],"required_present":[]},"all":{"required_absent":["Farid Holm"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-en-preserve-057","language":"en","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_57\":\"Public organization Flora Group\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":46,"value":"Flora Group","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Flora Group"]},"customers":{"required_absent":[],"required_present":["Flora Group"]},"all":{"required_absent":[],"required_present":["Flora Group"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-en-redact-058","language":"en","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_58: Customer mentioned Farid Ibarra","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":43,"value":"Farid Ibarra","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Farid Ibarra"]},"customers":{"required_absent":["Farid Ibarra"],"required_present":[]},"all":{"required_absent":["Farid Ibarra"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-en-preserve-058","language":"en","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_58: Public organization Flora Project","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":45,"value":"Flora Project","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Flora Project"]},"customers":{"required_absent":[],"required_present":["Flora Project"]},"all":{"required_absent":[],"required_present":["Flora Project"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-058","language":"en","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_58: \"Customer mentioned Farid Ibarra\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":44,"value":"Farid Ibarra","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Farid Ibarra"]},"customers":{"required_absent":["Farid Ibarra"],"required_present":[]},"all":{"required_absent":["Farid Ibarra"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-058","language":"en","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_58: \"Public organization Flora Project\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":33,"end":46,"value":"Flora Project","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Flora Project"]},"customers":{"required_absent":[],"required_present":["Flora Project"]},"all":{"required_absent":[],"required_present":["Flora Project"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-en-redact-059","language":"en","script":"Latin","shape":"shell","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_59='Customer mentioned Farid Jensen'","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":43,"value":"Farid Jensen","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Farid Jensen"]},"customers":{"required_absent":["Farid Jensen"],"required_present":[]},"all":{"required_absent":["Farid Jensen"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-en-preserve-059","language":"en","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_59='Public organization Flora Press'","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":43,"value":"Flora Press","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Flora Press"]},"customers":{"required_absent":[],"required_present":["Flora Press"]},"all":{"required_absent":[],"required_present":["Flora Press"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-en-redact-060","language":"en","script":"Latin","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/60 ; Customer mentioned Greta Arden","known_identities":[],"targets":[{"id":"person","kind":"person","start":52,"end":63,"value":"Greta Arden","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Greta Arden"]},"customers":{"required_absent":["Greta Arden"],"required_present":[]},"all":{"required_absent":["Greta Arden"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-en-preserve-060","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/60 ; Public organization Gaia Labs","known_identities":[],"targets":[{"id":"person","kind":"person","start":53,"end":62,"value":"Gaia Labs","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Gaia Labs"]},"customers":{"required_absent":[],"required_present":["Gaia Labs"]},"all":{"required_absent":[],"required_present":["Gaia Labs"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-en-redact-061","language":"en","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"**Customer mentioned Greta Borel**","known_identities":[],"targets":[{"id":"person","kind":"person","start":21,"end":32,"value":"Greta Borel","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Greta Borel"]},"customers":{"required_absent":["Greta Borel"],"required_present":[]},"all":{"required_absent":["Greta Borel"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-en-preserve-061","language":"en","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"**Public organization Gaia Works**","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":32,"value":"Gaia Works","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Gaia Works"]},"customers":{"required_absent":[],"required_present":["Gaia Works"]},"all":{"required_absent":[],"required_present":["Gaia Works"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-en-redact-062","language":"en","script":"Latin","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eCustomer mentioned Greta Costa\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":33,"value":"Greta Costa","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Greta Costa"]},"customers":{"required_absent":["Greta Costa"],"required_present":[]},"all":{"required_absent":["Greta Costa"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-en-preserve-062","language":"en","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003ePublic organization Gaia Studio\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":34,"value":"Gaia Studio","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Gaia Studio"]},"customers":{"required_absent":[],"required_present":["Gaia Studio"]},"all":{"required_absent":[],"required_present":["Gaia Studio"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-060","language":"en","script":"Latin","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/60?credential=Greta Arden\u0026note=Customer+mentioned+","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":53,"value":"Greta Arden","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Greta Arden"]},"customers":{"required_absent":["Greta Arden"],"required_present":[]},"all":{"required_absent":["Greta Arden"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-060","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/60?credential=Gaia Labs\u0026note=Public+organization+","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":51,"value":"Gaia Labs","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Gaia Labs"]},"customers":{"required_absent":[],"required_present":["Gaia Labs"]},"all":{"required_absent":[],"required_present":["Gaia Labs"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-061","language":"en","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Customer mentioned `Greta Borel`","known_identities":[],"targets":[{"id":"person","kind":"person","start":20,"end":31,"value":"Greta Borel","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Greta Borel"]},"customers":{"required_absent":["Greta Borel"],"required_present":[]},"all":{"required_absent":["Greta Borel"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-061","language":"en","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Public organization `Gaia Works`","known_identities":[],"targets":[{"id":"person","kind":"person","start":21,"end":31,"value":"Gaia Works","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Gaia Works"]},"customers":{"required_absent":[],"required_present":["Gaia Works"]},"all":{"required_absent":[],"required_present":["Gaia Works"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-062","language":"en","script":"Latin","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eCustomer mentioned \u003ccode\u003eGreta Costa\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":28,"end":39,"value":"Greta Costa","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Greta Costa"]},"customers":{"required_absent":["Greta Costa"],"required_present":[]},"all":{"required_absent":["Greta Costa"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-062","language":"en","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003ePublic organization \u003ccode\u003eGaia Studio\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":29,"end":40,"value":"Gaia Studio","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Gaia Studio"]},"customers":{"required_absent":[],"required_present":["Gaia Studio"]},"all":{"required_absent":[],"required_present":["Gaia Studio"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-en-redact-063","language":"en","script":"Latin","shape":"quoted-reply","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e Customer mentioned Greta Durand","known_identities":[],"targets":[{"id":"person","kind":"person","start":21,"end":33,"value":"Greta Durand","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Greta Durand"]},"customers":{"required_absent":["Greta Durand"],"required_present":[]},"all":{"required_absent":["Greta Durand"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-en-preserve-063","language":"en","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e Public organization Gaia Systems","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":34,"value":"Gaia Systems","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Gaia Systems"]},"customers":{"required_absent":[],"required_present":["Gaia Systems"]},"all":{"required_absent":[],"required_present":["Gaia Systems"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-en-redact-064","language":"en","script":"Latin","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=64 message=\"Customer mentioned \" value=Greta Esteves","known_identities":[],"targets":[{"id":"person","kind":"person","start":57,"end":70,"value":"Greta Esteves","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Greta Esteves"]},"customers":{"required_absent":["Greta Esteves"],"required_present":[]},"all":{"required_absent":["Greta Esteves"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-en-preserve-064","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=64 message=\"Public organization \" value=Gaia Collective","known_identities":[],"targets":[{"id":"person","kind":"person","start":58,"end":73,"value":"Gaia Collective","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Gaia Collective"]},"customers":{"required_absent":[],"required_present":["Gaia Collective"]},"all":{"required_absent":[],"required_present":["Gaia Collective"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-064","language":"en","script":"Latin","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=64 message=\"Customer mentioned \" credential=\"Greta Esteves\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":63,"end":76,"value":"Greta Esteves","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Greta Esteves"]},"customers":{"required_absent":["Greta Esteves"],"required_present":[]},"all":{"required_absent":["Greta Esteves"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-064","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=64 message=\"Public organization \" credential=\"Gaia Collective\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":64,"end":79,"value":"Gaia Collective","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Gaia Collective"]},"customers":{"required_absent":[],"required_present":["Gaia Collective"]},"all":{"required_absent":[],"required_present":["Gaia Collective"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-en-redact-065","language":"en","script":"Latin","shape":"stack-trace","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[65]: Customer mentioned Greta Fischer","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":43,"value":"Greta Fischer","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Greta Fischer"]},"customers":{"required_absent":["Greta Fischer"],"required_present":[]},"all":{"required_absent":["Greta Fischer"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-en-preserve-065","language":"en","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[65]: Public organization Gaia Foundation","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":46,"value":"Gaia Foundation","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Gaia Foundation"]},"customers":{"required_absent":[],"required_present":["Gaia Foundation"]},"all":{"required_absent":[],"required_present":["Gaia Foundation"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-en-redact-066","language":"en","script":"Latin","shape":"code","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_66 := `Customer mentioned Greta Garcia`","known_identities":[],"targets":[{"id":"person","kind":"person","start":34,"end":46,"value":"Greta Garcia","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Greta Garcia"]},"customers":{"required_absent":["Greta Garcia"],"required_present":[]},"all":{"required_absent":["Greta Garcia"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, @@ -140,26 +140,26 @@ {"id":"broad-language-en-preserve-067","language":"en","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--\nPublic organization Gaia Group","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":33,"value":"Gaia Group","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Gaia Group"]},"customers":{"required_absent":[],"required_present":["Gaia Group"]},"all":{"required_absent":[],"required_present":["Gaia Group"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-en-redact-068","language":"en","script":"Latin","shape":"long-thread","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Customer mentioned Greta Ibarra","known_identities":[],"targets":[{"id":"person","kind":"person","start":499,"end":511,"value":"Greta Ibarra","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Greta Ibarra"]},"customers":{"required_absent":["Greta Ibarra"],"required_present":[]},"all":{"required_absent":["Greta Ibarra"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-en-preserve-068","language":"en","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Public organization Gaia Project","known_identities":[],"targets":[{"id":"person","kind":"person","start":500,"end":512,"value":"Gaia Project","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Gaia Project"]},"customers":{"required_absent":[],"required_present":["Gaia Project"]},"all":{"required_absent":[],"required_present":["Gaia Project"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-en-redact-069","language":"en","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=69 --message=\"Customer mentioned \" --value=Greta Jensen","known_identities":[],"targets":[{"id":"person","kind":"person","start":52,"end":64,"value":"Greta Jensen","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Greta Jensen"]},"customers":{"required_absent":["Greta Jensen"],"required_present":[]},"all":{"required_absent":["Greta Jensen"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-en-preserve-069","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=69 --message=\"Public organization \" --value=Gaia Press","known_identities":[],"targets":[{"id":"person","kind":"person","start":53,"end":63,"value":"Gaia Press","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Gaia Press"]},"customers":{"required_absent":[],"required_present":["Gaia Press"]},"all":{"required_absent":[],"required_present":["Gaia Press"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-069","language":"en","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=69 --message=\"Customer mentioned \" --credential=\"Greta Jensen\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":58,"end":70,"value":"Greta Jensen","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Greta Jensen"]},"customers":{"required_absent":["Greta Jensen"],"required_present":[]},"all":{"required_absent":["Greta Jensen"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-069","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=69 --message=\"Public organization \" --credential=\"Gaia Press\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":59,"end":69,"value":"Gaia Press","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Gaia Press"]},"customers":{"required_absent":[],"required_present":["Gaia Press"]},"all":{"required_absent":[],"required_present":["Gaia Press"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-en-redact-070","language":"en","script":"Latin","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Customer mentioned Hugo Arden","known_identities":[],"targets":[{"id":"person","kind":"person","start":19,"end":29,"value":"Hugo Arden","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Hugo Arden"]},"customers":{"required_absent":["Hugo Arden"],"required_present":[]},"all":{"required_absent":["Hugo Arden"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-en-preserve-070","language":"en","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Public organization Helios Labs","known_identities":[],"targets":[{"id":"person","kind":"person","start":20,"end":31,"value":"Helios Labs","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Helios Labs"]},"customers":{"required_absent":[],"required_present":["Helios Labs"]},"all":{"required_absent":[],"required_present":["Helios Labs"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-en-redact-071","language":"en","script":"Latin","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_71\":\"Customer mentioned Hugo Borel\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":34,"end":44,"value":"Hugo Borel","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Hugo Borel"]},"customers":{"required_absent":["Hugo Borel"],"required_present":[]},"all":{"required_absent":["Hugo Borel"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-en-preserve-071","language":"en","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_71\":\"Public organization Helios Works\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":47,"value":"Helios Works","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Helios Works"]},"customers":{"required_absent":[],"required_present":["Helios Works"]},"all":{"required_absent":[],"required_present":["Helios Works"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-en-redact-072","language":"en","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_72: Customer mentioned Hugo Costa","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":41,"value":"Hugo Costa","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Hugo Costa"]},"customers":{"required_absent":["Hugo Costa"],"required_present":[]},"all":{"required_absent":["Hugo Costa"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-en-preserve-072","language":"en","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_72: Public organization Helios Studio","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":45,"value":"Helios Studio","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Helios Studio"]},"customers":{"required_absent":[],"required_present":["Helios Studio"]},"all":{"required_absent":[],"required_present":["Helios Studio"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-072","language":"en","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_72: \"Customer mentioned Hugo Costa\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":42,"value":"Hugo Costa","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Hugo Costa"]},"customers":{"required_absent":["Hugo Costa"],"required_present":[]},"all":{"required_absent":["Hugo Costa"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-072","language":"en","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_72: \"Public organization Helios Studio\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":33,"end":46,"value":"Helios Studio","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Helios Studio"]},"customers":{"required_absent":[],"required_present":["Helios Studio"]},"all":{"required_absent":[],"required_present":["Helios Studio"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-en-redact-073","language":"en","script":"Latin","shape":"shell","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_73='Customer mentioned Hugo Durand'","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":42,"value":"Hugo Durand","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Hugo Durand"]},"customers":{"required_absent":["Hugo Durand"],"required_present":[]},"all":{"required_absent":["Hugo Durand"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-en-preserve-073","language":"en","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_73='Public organization Helios Systems'","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":46,"value":"Helios Systems","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Helios Systems"]},"customers":{"required_absent":[],"required_present":["Helios Systems"]},"all":{"required_absent":[],"required_present":["Helios Systems"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-en-redact-074","language":"en","script":"Latin","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/74 ; Customer mentioned Hugo Esteves","known_identities":[],"targets":[{"id":"person","kind":"person","start":52,"end":64,"value":"Hugo Esteves","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Hugo Esteves"]},"customers":{"required_absent":["Hugo Esteves"],"required_present":[]},"all":{"required_absent":["Hugo Esteves"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-en-preserve-074","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/74 ; Public organization Helios Collective","known_identities":[],"targets":[{"id":"person","kind":"person","start":53,"end":70,"value":"Helios Collective","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Helios Collective"]},"customers":{"required_absent":[],"required_present":["Helios Collective"]},"all":{"required_absent":[],"required_present":["Helios Collective"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-en-redact-075","language":"en","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"**Customer mentioned Hugo Fischer**","known_identities":[],"targets":[{"id":"person","kind":"person","start":21,"end":33,"value":"Hugo Fischer","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Hugo Fischer"]},"customers":{"required_absent":["Hugo Fischer"],"required_present":[]},"all":{"required_absent":["Hugo Fischer"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-en-preserve-075","language":"en","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"**Public organization Helios Foundation**","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":39,"value":"Helios Foundation","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Helios Foundation"]},"customers":{"required_absent":[],"required_present":["Helios Foundation"]},"all":{"required_absent":[],"required_present":["Helios Foundation"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-en-redact-076","language":"en","script":"Latin","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eCustomer mentioned Hugo Garcia\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":33,"value":"Hugo Garcia","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Hugo Garcia"]},"customers":{"required_absent":["Hugo Garcia"],"required_present":[]},"all":{"required_absent":["Hugo Garcia"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-en-preserve-076","language":"en","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003ePublic organization Helios Network\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":37,"value":"Helios Network","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Helios Network"]},"customers":{"required_absent":[],"required_present":["Helios Network"]},"all":{"required_absent":[],"required_present":["Helios Network"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-074","language":"en","script":"Latin","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/74?credential=Hugo Esteves\u0026note=Customer+mentioned+","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":54,"value":"Hugo Esteves","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Hugo Esteves"]},"customers":{"required_absent":["Hugo Esteves"],"required_present":[]},"all":{"required_absent":["Hugo Esteves"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-074","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/74?credential=Helios Collective\u0026note=Public+organization+","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":59,"value":"Helios Collective","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Helios Collective"]},"customers":{"required_absent":[],"required_present":["Helios Collective"]},"all":{"required_absent":[],"required_present":["Helios Collective"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-075","language":"en","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Customer mentioned `Hugo Fischer`","known_identities":[],"targets":[{"id":"person","kind":"person","start":20,"end":32,"value":"Hugo Fischer","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Hugo Fischer"]},"customers":{"required_absent":["Hugo Fischer"],"required_present":[]},"all":{"required_absent":["Hugo Fischer"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-075","language":"en","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Public organization `Helios Foundation`","known_identities":[],"targets":[{"id":"person","kind":"person","start":21,"end":38,"value":"Helios Foundation","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Helios Foundation"]},"customers":{"required_absent":[],"required_present":["Helios Foundation"]},"all":{"required_absent":[],"required_present":["Helios Foundation"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-076","language":"en","script":"Latin","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eCustomer mentioned \u003ccode\u003eHugo Garcia\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":28,"end":39,"value":"Hugo Garcia","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Hugo Garcia"]},"customers":{"required_absent":["Hugo Garcia"],"required_present":[]},"all":{"required_absent":["Hugo Garcia"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-076","language":"en","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003ePublic organization \u003ccode\u003eHelios Network\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":29,"end":43,"value":"Helios Network","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Helios Network"]},"customers":{"required_absent":[],"required_present":["Helios Network"]},"all":{"required_absent":[],"required_present":["Helios Network"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-en-redact-077","language":"en","script":"Latin","shape":"quoted-reply","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e Customer mentioned Hugo Holm","known_identities":[],"targets":[{"id":"person","kind":"person","start":21,"end":30,"value":"Hugo Holm","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Hugo Holm"]},"customers":{"required_absent":["Hugo Holm"],"required_present":[]},"all":{"required_absent":["Hugo Holm"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-en-preserve-077","language":"en","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e Public organization Helios Group","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":34,"value":"Helios Group","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Helios Group"]},"customers":{"required_absent":[],"required_present":["Helios Group"]},"all":{"required_absent":[],"required_present":["Helios Group"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-en-redact-078","language":"en","script":"Latin","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=78 message=\"Customer mentioned \" value=Hugo Ibarra","known_identities":[],"targets":[{"id":"person","kind":"person","start":57,"end":68,"value":"Hugo Ibarra","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Hugo Ibarra"]},"customers":{"required_absent":["Hugo Ibarra"],"required_present":[]},"all":{"required_absent":["Hugo Ibarra"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-en-preserve-078","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=78 message=\"Public organization \" value=Helios Project","known_identities":[],"targets":[{"id":"person","kind":"person","start":58,"end":72,"value":"Helios Project","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Helios Project"]},"customers":{"required_absent":[],"required_present":["Helios Project"]},"all":{"required_absent":[],"required_present":["Helios Project"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-078","language":"en","script":"Latin","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=78 message=\"Customer mentioned \" credential=\"Hugo Ibarra\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":63,"end":74,"value":"Hugo Ibarra","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Hugo Ibarra"]},"customers":{"required_absent":["Hugo Ibarra"],"required_present":[]},"all":{"required_absent":["Hugo Ibarra"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-078","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=78 message=\"Public organization \" credential=\"Helios Project\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":64,"end":78,"value":"Helios Project","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Helios Project"]},"customers":{"required_absent":[],"required_present":["Helios Project"]},"all":{"required_absent":[],"required_present":["Helios Project"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-en-redact-079","language":"en","script":"Latin","shape":"stack-trace","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[79]: Customer mentioned Hugo Jensen","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":41,"value":"Hugo Jensen","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Hugo Jensen"]},"customers":{"required_absent":["Hugo Jensen"],"required_present":[]},"all":{"required_absent":["Hugo Jensen"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-en-preserve-079","language":"en","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[79]: Public organization Helios Press","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":43,"value":"Helios Press","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Helios Press"]},"customers":{"required_absent":[],"required_present":["Helios Press"]},"all":{"required_absent":[],"required_present":["Helios Press"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-en-redact-080","language":"en","script":"Latin","shape":"code","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_80 := `Customer mentioned Ines Arden`","known_identities":[],"targets":[{"id":"person","kind":"person","start":34,"end":44,"value":"Ines Arden","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ines Arden"]},"customers":{"required_absent":["Ines Arden"],"required_present":[]},"all":{"required_absent":["Ines Arden"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, @@ -168,26 +168,26 @@ {"id":"broad-language-en-preserve-081","language":"en","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--\nPublic organization Ion Works","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":32,"value":"Ion Works","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ion Works"]},"customers":{"required_absent":[],"required_present":["Ion Works"]},"all":{"required_absent":[],"required_present":["Ion Works"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-en-redact-082","language":"en","script":"Latin","shape":"long-thread","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Customer mentioned Ines Costa","known_identities":[],"targets":[{"id":"person","kind":"person","start":499,"end":509,"value":"Ines Costa","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ines Costa"]},"customers":{"required_absent":["Ines Costa"],"required_present":[]},"all":{"required_absent":["Ines Costa"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-en-preserve-082","language":"en","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Public organization Ion Studio","known_identities":[],"targets":[{"id":"person","kind":"person","start":500,"end":510,"value":"Ion Studio","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ion Studio"]},"customers":{"required_absent":[],"required_present":["Ion Studio"]},"all":{"required_absent":[],"required_present":["Ion Studio"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-en-redact-083","language":"en","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=83 --message=\"Customer mentioned \" --value=Ines Durand","known_identities":[],"targets":[{"id":"person","kind":"person","start":52,"end":63,"value":"Ines Durand","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ines Durand"]},"customers":{"required_absent":["Ines Durand"],"required_present":[]},"all":{"required_absent":["Ines Durand"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-en-preserve-083","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=83 --message=\"Public organization \" --value=Ion Systems","known_identities":[],"targets":[{"id":"person","kind":"person","start":53,"end":64,"value":"Ion Systems","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ion Systems"]},"customers":{"required_absent":[],"required_present":["Ion Systems"]},"all":{"required_absent":[],"required_present":["Ion Systems"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-083","language":"en","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=83 --message=\"Customer mentioned \" --credential=\"Ines Durand\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":58,"end":69,"value":"Ines Durand","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ines Durand"]},"customers":{"required_absent":["Ines Durand"],"required_present":[]},"all":{"required_absent":["Ines Durand"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-083","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=83 --message=\"Public organization \" --credential=\"Ion Systems\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":59,"end":70,"value":"Ion Systems","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ion Systems"]},"customers":{"required_absent":[],"required_present":["Ion Systems"]},"all":{"required_absent":[],"required_present":["Ion Systems"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-en-redact-084","language":"en","script":"Latin","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Customer mentioned Ines Esteves","known_identities":[],"targets":[{"id":"person","kind":"person","start":19,"end":31,"value":"Ines Esteves","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ines Esteves"]},"customers":{"required_absent":["Ines Esteves"],"required_present":[]},"all":{"required_absent":["Ines Esteves"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-en-preserve-084","language":"en","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Public organization Ion Collective","known_identities":[],"targets":[{"id":"person","kind":"person","start":20,"end":34,"value":"Ion Collective","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ion Collective"]},"customers":{"required_absent":[],"required_present":["Ion Collective"]},"all":{"required_absent":[],"required_present":["Ion Collective"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-en-redact-085","language":"en","script":"Latin","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_85\":\"Customer mentioned Ines Fischer\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":34,"end":46,"value":"Ines Fischer","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ines Fischer"]},"customers":{"required_absent":["Ines Fischer"],"required_present":[]},"all":{"required_absent":["Ines Fischer"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-en-preserve-085","language":"en","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_85\":\"Public organization Ion Foundation\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":49,"value":"Ion Foundation","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ion Foundation"]},"customers":{"required_absent":[],"required_present":["Ion Foundation"]},"all":{"required_absent":[],"required_present":["Ion Foundation"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-en-redact-086","language":"en","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_86: Customer mentioned Ines Garcia","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":42,"value":"Ines Garcia","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ines Garcia"]},"customers":{"required_absent":["Ines Garcia"],"required_present":[]},"all":{"required_absent":["Ines Garcia"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-en-preserve-086","language":"en","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_86: Public organization Ion Network","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":43,"value":"Ion Network","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ion Network"]},"customers":{"required_absent":[],"required_present":["Ion Network"]},"all":{"required_absent":[],"required_present":["Ion Network"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-086","language":"en","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_86: \"Customer mentioned Ines Garcia\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":43,"value":"Ines Garcia","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ines Garcia"]},"customers":{"required_absent":["Ines Garcia"],"required_present":[]},"all":{"required_absent":["Ines Garcia"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-086","language":"en","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_86: \"Public organization Ion Network\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":33,"end":44,"value":"Ion Network","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ion Network"]},"customers":{"required_absent":[],"required_present":["Ion Network"]},"all":{"required_absent":[],"required_present":["Ion Network"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-en-redact-087","language":"en","script":"Latin","shape":"shell","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_87='Customer mentioned Ines Holm'","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":40,"value":"Ines Holm","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ines Holm"]},"customers":{"required_absent":["Ines Holm"],"required_present":[]},"all":{"required_absent":["Ines Holm"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-en-preserve-087","language":"en","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_87='Public organization Ion Group'","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":41,"value":"Ion Group","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ion Group"]},"customers":{"required_absent":[],"required_present":["Ion Group"]},"all":{"required_absent":[],"required_present":["Ion Group"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-en-redact-088","language":"en","script":"Latin","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/88 ; Customer mentioned Ines Ibarra","known_identities":[],"targets":[{"id":"person","kind":"person","start":52,"end":63,"value":"Ines Ibarra","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ines Ibarra"]},"customers":{"required_absent":["Ines Ibarra"],"required_present":[]},"all":{"required_absent":["Ines Ibarra"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-en-preserve-088","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/88 ; Public organization Ion Project","known_identities":[],"targets":[{"id":"person","kind":"person","start":53,"end":64,"value":"Ion Project","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ion Project"]},"customers":{"required_absent":[],"required_present":["Ion Project"]},"all":{"required_absent":[],"required_present":["Ion Project"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-en-redact-089","language":"en","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"**Customer mentioned Ines Jensen**","known_identities":[],"targets":[{"id":"person","kind":"person","start":21,"end":32,"value":"Ines Jensen","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ines Jensen"]},"customers":{"required_absent":["Ines Jensen"],"required_present":[]},"all":{"required_absent":["Ines Jensen"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-en-preserve-089","language":"en","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"**Public organization Ion Press**","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":31,"value":"Ion Press","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ion Press"]},"customers":{"required_absent":[],"required_present":["Ion Press"]},"all":{"required_absent":[],"required_present":["Ion Press"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-en-redact-090","language":"en","script":"Latin","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eCustomer mentioned Jonas Arden\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":33,"value":"Jonas Arden","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Jonas Arden"]},"customers":{"required_absent":["Jonas Arden"],"required_present":[]},"all":{"required_absent":["Jonas Arden"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-en-preserve-090","language":"en","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003ePublic organization Juniper Labs\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":35,"value":"Juniper Labs","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Juniper Labs"]},"customers":{"required_absent":[],"required_present":["Juniper Labs"]},"all":{"required_absent":[],"required_present":["Juniper Labs"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-088","language":"en","script":"Latin","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/88?credential=Ines Ibarra\u0026note=Customer+mentioned+","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":53,"value":"Ines Ibarra","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ines Ibarra"]},"customers":{"required_absent":["Ines Ibarra"],"required_present":[]},"all":{"required_absent":["Ines Ibarra"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-088","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/88?credential=Ion Project\u0026note=Public+organization+","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":53,"value":"Ion Project","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ion Project"]},"customers":{"required_absent":[],"required_present":["Ion Project"]},"all":{"required_absent":[],"required_present":["Ion Project"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-089","language":"en","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Customer mentioned `Ines Jensen`","known_identities":[],"targets":[{"id":"person","kind":"person","start":20,"end":31,"value":"Ines Jensen","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ines Jensen"]},"customers":{"required_absent":["Ines Jensen"],"required_present":[]},"all":{"required_absent":["Ines Jensen"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-089","language":"en","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Public organization `Ion Press`","known_identities":[],"targets":[{"id":"person","kind":"person","start":21,"end":30,"value":"Ion Press","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ion Press"]},"customers":{"required_absent":[],"required_present":["Ion Press"]},"all":{"required_absent":[],"required_present":["Ion Press"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-090","language":"en","script":"Latin","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eCustomer mentioned \u003ccode\u003eJonas Arden\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":28,"end":39,"value":"Jonas Arden","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Jonas Arden"]},"customers":{"required_absent":["Jonas Arden"],"required_present":[]},"all":{"required_absent":["Jonas Arden"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-090","language":"en","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003ePublic organization \u003ccode\u003eJuniper Labs\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":29,"end":41,"value":"Juniper Labs","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Juniper Labs"]},"customers":{"required_absent":[],"required_present":["Juniper Labs"]},"all":{"required_absent":[],"required_present":["Juniper Labs"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-en-redact-091","language":"en","script":"Latin","shape":"quoted-reply","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e Customer mentioned Jonas Borel","known_identities":[],"targets":[{"id":"person","kind":"person","start":21,"end":32,"value":"Jonas Borel","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Jonas Borel"]},"customers":{"required_absent":["Jonas Borel"],"required_present":[]},"all":{"required_absent":["Jonas Borel"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-en-preserve-091","language":"en","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e Public organization Juniper Works","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":35,"value":"Juniper Works","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Juniper Works"]},"customers":{"required_absent":[],"required_present":["Juniper Works"]},"all":{"required_absent":[],"required_present":["Juniper Works"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-en-redact-092","language":"en","script":"Latin","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=92 message=\"Customer mentioned \" value=Jonas Costa","known_identities":[],"targets":[{"id":"person","kind":"person","start":57,"end":68,"value":"Jonas Costa","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Jonas Costa"]},"customers":{"required_absent":["Jonas Costa"],"required_present":[]},"all":{"required_absent":["Jonas Costa"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-en-preserve-092","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=92 message=\"Public organization \" value=Juniper Studio","known_identities":[],"targets":[{"id":"person","kind":"person","start":58,"end":72,"value":"Juniper Studio","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Juniper Studio"]},"customers":{"required_absent":[],"required_present":["Juniper Studio"]},"all":{"required_absent":[],"required_present":["Juniper Studio"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-092","language":"en","script":"Latin","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=92 message=\"Customer mentioned \" credential=\"Jonas Costa\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":63,"end":74,"value":"Jonas Costa","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Jonas Costa"]},"customers":{"required_absent":["Jonas Costa"],"required_present":[]},"all":{"required_absent":["Jonas Costa"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-092","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=92 message=\"Public organization \" credential=\"Juniper Studio\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":64,"end":78,"value":"Juniper Studio","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Juniper Studio"]},"customers":{"required_absent":[],"required_present":["Juniper Studio"]},"all":{"required_absent":[],"required_present":["Juniper Studio"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-en-redact-093","language":"en","script":"Latin","shape":"stack-trace","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[93]: Customer mentioned Jonas Durand","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":42,"value":"Jonas Durand","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Jonas Durand"]},"customers":{"required_absent":["Jonas Durand"],"required_present":[]},"all":{"required_absent":["Jonas Durand"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-en-preserve-093","language":"en","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[93]: Public organization Juniper Systems","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":46,"value":"Juniper Systems","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Juniper Systems"]},"customers":{"required_absent":[],"required_present":["Juniper Systems"]},"all":{"required_absent":[],"required_present":["Juniper Systems"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-en-redact-094","language":"en","script":"Latin","shape":"code","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_94 := `Customer mentioned Jonas Esteves`","known_identities":[],"targets":[{"id":"person","kind":"person","start":34,"end":47,"value":"Jonas Esteves","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Jonas Esteves"]},"customers":{"required_absent":["Jonas Esteves"],"required_present":[]},"all":{"required_absent":["Jonas Esteves"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, @@ -196,8 +196,8 @@ {"id":"broad-language-en-preserve-095","language":"en","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--\nPublic organization Juniper Foundation","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":41,"value":"Juniper Foundation","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Juniper Foundation"]},"customers":{"required_absent":[],"required_present":["Juniper Foundation"]},"all":{"required_absent":[],"required_present":["Juniper Foundation"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-en-redact-096","language":"en","script":"Latin","shape":"long-thread","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Customer mentioned Jonas Garcia","known_identities":[],"targets":[{"id":"person","kind":"person","start":499,"end":511,"value":"Jonas Garcia","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Jonas Garcia"]},"customers":{"required_absent":["Jonas Garcia"],"required_present":[]},"all":{"required_absent":["Jonas Garcia"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-en-preserve-096","language":"en","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Public organization Juniper Network","known_identities":[],"targets":[{"id":"person","kind":"person","start":500,"end":515,"value":"Juniper Network","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Juniper Network"]},"customers":{"required_absent":[],"required_present":["Juniper Network"]},"all":{"required_absent":[],"required_present":["Juniper Network"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-en-redact-097","language":"en","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=97 --message=\"Customer mentioned \" --value=Jonas Holm","known_identities":[],"targets":[{"id":"person","kind":"person","start":52,"end":62,"value":"Jonas Holm","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Jonas Holm"]},"customers":{"required_absent":["Jonas Holm"],"required_present":[]},"all":{"required_absent":["Jonas Holm"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-en-preserve-097","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=97 --message=\"Public organization \" --value=Juniper Group","known_identities":[],"targets":[{"id":"person","kind":"person","start":53,"end":66,"value":"Juniper Group","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Juniper Group"]},"customers":{"required_absent":[],"required_present":["Juniper Group"]},"all":{"required_absent":[],"required_present":["Juniper Group"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-redact-097","language":"en","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=97 --message=\"Customer mentioned \" --credential=\"Jonas Holm\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":58,"end":68,"value":"Jonas Holm","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Jonas Holm"]},"customers":{"required_absent":["Jonas Holm"],"required_present":[]},"all":{"required_absent":["Jonas Holm"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-en-preserve-097","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=97 --message=\"Public organization \" --credential=\"Juniper Group\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":59,"end":72,"value":"Juniper Group","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Juniper Group"]},"customers":{"required_absent":[],"required_present":["Juniper Group"]},"all":{"required_absent":[],"required_present":["Juniper Group"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-en-redact-098","language":"en","script":"Latin","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Customer mentioned Jonas Ibarra","known_identities":[],"targets":[{"id":"person","kind":"person","start":19,"end":31,"value":"Jonas Ibarra","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Jonas Ibarra"]},"customers":{"required_absent":["Jonas Ibarra"],"required_present":[]},"all":{"required_absent":["Jonas Ibarra"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-en-preserve-098","language":"en","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Public organization Juniper Project","known_identities":[],"targets":[{"id":"person","kind":"person","start":20,"end":35,"value":"Juniper Project","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Juniper Project"]},"customers":{"required_absent":[],"required_present":["Juniper Project"]},"all":{"required_absent":[],"required_present":["Juniper Project"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-en-redact-099","language":"en","script":"Latin","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_99\":\"Customer mentioned Jonas Jensen\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":34,"end":46,"value":"Jonas Jensen","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Jonas Jensen"]},"customers":{"required_absent":["Jonas Jensen"],"required_present":[]},"all":{"required_absent":["Jonas Jensen"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, @@ -206,20 +206,20 @@ {"id":"broad-language-fr-preserve-000","language":"fr","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Organisation publique Atlas Labs","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":32,"value":"Atlas Labs","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Atlas Labs"]},"customers":{"required_absent":[],"required_present":["Atlas Labs"]},"all":{"required_absent":[],"required_present":["Atlas Labs"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-fr-redact-001","language":"fr","script":"Latin","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_1\":\"Le client mentionne Amina Borel\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":34,"end":45,"value":"Amina Borel","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Amina Borel"]},"customers":{"required_absent":["Amina Borel"],"required_present":[]},"all":{"required_absent":["Amina Borel"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-fr-preserve-001","language":"fr","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_1\":\"Organisation publique Atlas Works\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":36,"end":47,"value":"Atlas Works","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Atlas Works"]},"customers":{"required_absent":[],"required_present":["Atlas Works"]},"all":{"required_absent":[],"required_present":["Atlas Works"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-fr-redact-002","language":"fr","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_2: Le client mentionne Amina Costa","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":42,"value":"Amina Costa","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Amina Costa"]},"customers":{"required_absent":["Amina Costa"],"required_present":[]},"all":{"required_absent":["Amina Costa"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-fr-preserve-002","language":"fr","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_2: Organisation publique Atlas Studio","known_identities":[],"targets":[{"id":"person","kind":"person","start":33,"end":45,"value":"Atlas Studio","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Atlas Studio"]},"customers":{"required_absent":[],"required_present":["Atlas Studio"]},"all":{"required_absent":[],"required_present":["Atlas Studio"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-002","language":"fr","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_2: \"Le client mentionne Amina Costa\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":43,"value":"Amina Costa","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Amina Costa"]},"customers":{"required_absent":["Amina Costa"],"required_present":[]},"all":{"required_absent":["Amina Costa"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-002","language":"fr","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_2: \"Organisation publique Atlas Studio\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":34,"end":46,"value":"Atlas Studio","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Atlas Studio"]},"customers":{"required_absent":[],"required_present":["Atlas Studio"]},"all":{"required_absent":[],"required_present":["Atlas Studio"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-fr-redact-003","language":"fr","script":"Latin","shape":"shell","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_3='Le client mentionne Amina Durand'","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":43,"value":"Amina Durand","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Amina Durand"]},"customers":{"required_absent":["Amina Durand"],"required_present":[]},"all":{"required_absent":["Amina Durand"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-fr-preserve-003","language":"fr","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_3='Organisation publique Atlas Systems'","known_identities":[],"targets":[{"id":"person","kind":"person","start":33,"end":46,"value":"Atlas Systems","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Atlas Systems"]},"customers":{"required_absent":[],"required_present":["Atlas Systems"]},"all":{"required_absent":[],"required_present":["Atlas Systems"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-fr-redact-004","language":"fr","script":"Latin","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/4 ; Le client mentionne Amina Esteves","known_identities":[],"targets":[{"id":"person","kind":"person","start":52,"end":65,"value":"Amina Esteves","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Amina Esteves"]},"customers":{"required_absent":["Amina Esteves"],"required_present":[]},"all":{"required_absent":["Amina Esteves"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-fr-preserve-004","language":"fr","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/4 ; Organisation publique Atlas Collective","known_identities":[],"targets":[{"id":"person","kind":"person","start":54,"end":70,"value":"Atlas Collective","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Atlas Collective"]},"customers":{"required_absent":[],"required_present":["Atlas Collective"]},"all":{"required_absent":[],"required_present":["Atlas Collective"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-fr-redact-005","language":"fr","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"**Le client mentionne Amina Fischer**","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":35,"value":"Amina Fischer","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Amina Fischer"]},"customers":{"required_absent":["Amina Fischer"],"required_present":[]},"all":{"required_absent":["Amina Fischer"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-fr-preserve-005","language":"fr","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"**Organisation publique Atlas Foundation**","known_identities":[],"targets":[{"id":"person","kind":"person","start":24,"end":40,"value":"Atlas Foundation","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Atlas Foundation"]},"customers":{"required_absent":[],"required_present":["Atlas Foundation"]},"all":{"required_absent":[],"required_present":["Atlas Foundation"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-fr-redact-006","language":"fr","script":"Latin","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eLe client mentionne Amina Garcia\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":35,"value":"Amina Garcia","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Amina Garcia"]},"customers":{"required_absent":["Amina Garcia"],"required_present":[]},"all":{"required_absent":["Amina Garcia"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-fr-preserve-006","language":"fr","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eOrganisation publique Atlas Network\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":25,"end":38,"value":"Atlas Network","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Atlas Network"]},"customers":{"required_absent":[],"required_present":["Atlas Network"]},"all":{"required_absent":[],"required_present":["Atlas Network"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-004","language":"fr","script":"Latin","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/4?credential=Amina Esteves\u0026note=Le+client+mentionne+","known_identities":[],"targets":[{"id":"person","kind":"person","start":41,"end":54,"value":"Amina Esteves","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Amina Esteves"]},"customers":{"required_absent":["Amina Esteves"],"required_present":[]},"all":{"required_absent":["Amina Esteves"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-004","language":"fr","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/4?credential=Atlas Collective\u0026note=Organisation+publique+","known_identities":[],"targets":[{"id":"person","kind":"person","start":41,"end":57,"value":"Atlas Collective","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Atlas Collective"]},"customers":{"required_absent":[],"required_present":["Atlas Collective"]},"all":{"required_absent":[],"required_present":["Atlas Collective"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-005","language":"fr","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Le client mentionne `Amina Fischer`","known_identities":[],"targets":[{"id":"person","kind":"person","start":21,"end":34,"value":"Amina Fischer","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Amina Fischer"]},"customers":{"required_absent":["Amina Fischer"],"required_present":[]},"all":{"required_absent":["Amina Fischer"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-005","language":"fr","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Organisation publique `Atlas Foundation`","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":39,"value":"Atlas Foundation","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Atlas Foundation"]},"customers":{"required_absent":[],"required_present":["Atlas Foundation"]},"all":{"required_absent":[],"required_present":["Atlas Foundation"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-006","language":"fr","script":"Latin","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eLe client mentionne \u003ccode\u003eAmina Garcia\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":29,"end":41,"value":"Amina Garcia","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Amina Garcia"]},"customers":{"required_absent":["Amina Garcia"],"required_present":[]},"all":{"required_absent":["Amina Garcia"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-006","language":"fr","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eOrganisation publique \u003ccode\u003eAtlas Network\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":44,"value":"Atlas Network","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Atlas Network"]},"customers":{"required_absent":[],"required_present":["Atlas Network"]},"all":{"required_absent":[],"required_present":["Atlas Network"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-fr-redact-007","language":"fr","script":"Latin","shape":"quoted-reply","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e Le client mentionne Amina Holm","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":32,"value":"Amina Holm","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Amina Holm"]},"customers":{"required_absent":["Amina Holm"],"required_present":[]},"all":{"required_absent":["Amina Holm"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-fr-preserve-007","language":"fr","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e Organisation publique Atlas Group","known_identities":[],"targets":[{"id":"person","kind":"person","start":24,"end":35,"value":"Atlas Group","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Atlas Group"]},"customers":{"required_absent":[],"required_present":["Atlas Group"]},"all":{"required_absent":[],"required_present":["Atlas Group"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-fr-redact-008","language":"fr","script":"Latin","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=8 message=\"Le client mentionne \" value=Amina Ibarra","known_identities":[],"targets":[{"id":"person","kind":"person","start":57,"end":69,"value":"Amina Ibarra","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Amina Ibarra"]},"customers":{"required_absent":["Amina Ibarra"],"required_present":[]},"all":{"required_absent":["Amina Ibarra"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-fr-preserve-008","language":"fr","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=8 message=\"Organisation publique \" value=Atlas Project","known_identities":[],"targets":[{"id":"person","kind":"person","start":59,"end":72,"value":"Atlas Project","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Atlas Project"]},"customers":{"required_absent":[],"required_present":["Atlas Project"]},"all":{"required_absent":[],"required_present":["Atlas Project"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-008","language":"fr","script":"Latin","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=8 message=\"Le client mentionne \" credential=\"Amina Ibarra\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":63,"end":75,"value":"Amina Ibarra","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Amina Ibarra"]},"customers":{"required_absent":["Amina Ibarra"],"required_present":[]},"all":{"required_absent":["Amina Ibarra"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-008","language":"fr","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=8 message=\"Organisation publique \" credential=\"Atlas Project\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":65,"end":78,"value":"Atlas Project","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Atlas Project"]},"customers":{"required_absent":[],"required_present":["Atlas Project"]},"all":{"required_absent":[],"required_present":["Atlas Project"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-fr-redact-009","language":"fr","script":"Latin","shape":"stack-trace","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[9]: Le client mentionne Amina Jensen","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":42,"value":"Amina Jensen","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Amina Jensen"]},"customers":{"required_absent":["Amina Jensen"],"required_present":[]},"all":{"required_absent":["Amina Jensen"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-fr-preserve-009","language":"fr","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[9]: Organisation publique Atlas Press","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":43,"value":"Atlas Press","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Atlas Press"]},"customers":{"required_absent":[],"required_present":["Atlas Press"]},"all":{"required_absent":[],"required_present":["Atlas Press"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-fr-redact-010","language":"fr","script":"Latin","shape":"code","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_10 := `Le client mentionne Bruno Arden`","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":46,"value":"Bruno Arden","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bruno Arden"]},"customers":{"required_absent":["Bruno Arden"],"required_present":[]},"all":{"required_absent":["Bruno Arden"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, @@ -228,26 +228,26 @@ {"id":"broad-language-fr-preserve-011","language":"fr","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--\nOrganisation publique Boreal Works","known_identities":[],"targets":[{"id":"person","kind":"person","start":25,"end":37,"value":"Boreal Works","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Boreal Works"]},"customers":{"required_absent":[],"required_present":["Boreal Works"]},"all":{"required_absent":[],"required_present":["Boreal Works"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-fr-redact-012","language":"fr","script":"Latin","shape":"long-thread","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Le client mentionne Bruno Costa","known_identities":[],"targets":[{"id":"person","kind":"person","start":500,"end":511,"value":"Bruno Costa","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bruno Costa"]},"customers":{"required_absent":["Bruno Costa"],"required_present":[]},"all":{"required_absent":["Bruno Costa"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-fr-preserve-012","language":"fr","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Organisation publique Boreal Studio","known_identities":[],"targets":[{"id":"person","kind":"person","start":502,"end":515,"value":"Boreal Studio","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Boreal Studio"]},"customers":{"required_absent":[],"required_present":["Boreal Studio"]},"all":{"required_absent":[],"required_present":["Boreal Studio"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-fr-redact-013","language":"fr","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=13 --message=\"Le client mentionne \" --value=Bruno Durand","known_identities":[],"targets":[{"id":"person","kind":"person","start":53,"end":65,"value":"Bruno Durand","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bruno Durand"]},"customers":{"required_absent":["Bruno Durand"],"required_present":[]},"all":{"required_absent":["Bruno Durand"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-fr-preserve-013","language":"fr","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=13 --message=\"Organisation publique \" --value=Boreal Systems","known_identities":[],"targets":[{"id":"person","kind":"person","start":55,"end":69,"value":"Boreal Systems","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Boreal Systems"]},"customers":{"required_absent":[],"required_present":["Boreal Systems"]},"all":{"required_absent":[],"required_present":["Boreal Systems"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-013","language":"fr","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=13 --message=\"Le client mentionne \" --credential=\"Bruno Durand\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":59,"end":71,"value":"Bruno Durand","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bruno Durand"]},"customers":{"required_absent":["Bruno Durand"],"required_present":[]},"all":{"required_absent":["Bruno Durand"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-013","language":"fr","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=13 --message=\"Organisation publique \" --credential=\"Boreal Systems\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":61,"end":75,"value":"Boreal Systems","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Boreal Systems"]},"customers":{"required_absent":[],"required_present":["Boreal Systems"]},"all":{"required_absent":[],"required_present":["Boreal Systems"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-fr-redact-014","language":"fr","script":"Latin","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Le client mentionne Bruno Esteves","known_identities":[],"targets":[{"id":"person","kind":"person","start":20,"end":33,"value":"Bruno Esteves","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bruno Esteves"]},"customers":{"required_absent":["Bruno Esteves"],"required_present":[]},"all":{"required_absent":["Bruno Esteves"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-fr-preserve-014","language":"fr","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Organisation publique Boreal Collective","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":39,"value":"Boreal Collective","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Boreal Collective"]},"customers":{"required_absent":[],"required_present":["Boreal Collective"]},"all":{"required_absent":[],"required_present":["Boreal Collective"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-fr-redact-015","language":"fr","script":"Latin","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_15\":\"Le client mentionne Bruno Fischer\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":48,"value":"Bruno Fischer","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bruno Fischer"]},"customers":{"required_absent":["Bruno Fischer"],"required_present":[]},"all":{"required_absent":["Bruno Fischer"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-fr-preserve-015","language":"fr","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_15\":\"Organisation publique Boreal Foundation\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":37,"end":54,"value":"Boreal Foundation","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Boreal Foundation"]},"customers":{"required_absent":[],"required_present":["Boreal Foundation"]},"all":{"required_absent":[],"required_present":["Boreal Foundation"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-fr-redact-016","language":"fr","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_16: Le client mentionne Bruno Garcia","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":44,"value":"Bruno Garcia","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bruno Garcia"]},"customers":{"required_absent":["Bruno Garcia"],"required_present":[]},"all":{"required_absent":["Bruno Garcia"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-fr-preserve-016","language":"fr","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_16: Organisation publique Boreal Network","known_identities":[],"targets":[{"id":"person","kind":"person","start":34,"end":48,"value":"Boreal Network","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Boreal Network"]},"customers":{"required_absent":[],"required_present":["Boreal Network"]},"all":{"required_absent":[],"required_present":["Boreal Network"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-016","language":"fr","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_16: \"Le client mentionne Bruno Garcia\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":33,"end":45,"value":"Bruno Garcia","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bruno Garcia"]},"customers":{"required_absent":["Bruno Garcia"],"required_present":[]},"all":{"required_absent":["Bruno Garcia"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-016","language":"fr","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_16: \"Organisation publique Boreal Network\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":49,"value":"Boreal Network","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Boreal Network"]},"customers":{"required_absent":[],"required_present":["Boreal Network"]},"all":{"required_absent":[],"required_present":["Boreal Network"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-fr-redact-017","language":"fr","script":"Latin","shape":"shell","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_17='Le client mentionne Bruno Holm'","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":42,"value":"Bruno Holm","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bruno Holm"]},"customers":{"required_absent":["Bruno Holm"],"required_present":[]},"all":{"required_absent":["Bruno Holm"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-fr-preserve-017","language":"fr","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_17='Organisation publique Boreal Group'","known_identities":[],"targets":[{"id":"person","kind":"person","start":34,"end":46,"value":"Boreal Group","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Boreal Group"]},"customers":{"required_absent":[],"required_present":["Boreal Group"]},"all":{"required_absent":[],"required_present":["Boreal Group"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-fr-redact-018","language":"fr","script":"Latin","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/18 ; Le client mentionne Bruno Ibarra","known_identities":[],"targets":[{"id":"person","kind":"person","start":53,"end":65,"value":"Bruno Ibarra","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bruno Ibarra"]},"customers":{"required_absent":["Bruno Ibarra"],"required_present":[]},"all":{"required_absent":["Bruno Ibarra"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-fr-preserve-018","language":"fr","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/18 ; Organisation publique Boreal Project","known_identities":[],"targets":[{"id":"person","kind":"person","start":55,"end":69,"value":"Boreal Project","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Boreal Project"]},"customers":{"required_absent":[],"required_present":["Boreal Project"]},"all":{"required_absent":[],"required_present":["Boreal Project"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-fr-redact-019","language":"fr","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"**Le client mentionne Bruno Jensen**","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":34,"value":"Bruno Jensen","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bruno Jensen"]},"customers":{"required_absent":["Bruno Jensen"],"required_present":[]},"all":{"required_absent":["Bruno Jensen"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-fr-preserve-019","language":"fr","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"**Organisation publique Boreal Press**","known_identities":[],"targets":[{"id":"person","kind":"person","start":24,"end":36,"value":"Boreal Press","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Boreal Press"]},"customers":{"required_absent":[],"required_present":["Boreal Press"]},"all":{"required_absent":[],"required_present":["Boreal Press"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-fr-redact-020","language":"fr","script":"Latin","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eLe client mentionne Clara Arden\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":34,"value":"Clara Arden","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Clara Arden"]},"customers":{"required_absent":["Clara Arden"],"required_present":[]},"all":{"required_absent":["Clara Arden"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-fr-preserve-020","language":"fr","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eOrganisation publique Cedar Labs\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":25,"end":35,"value":"Cedar Labs","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Cedar Labs"]},"customers":{"required_absent":[],"required_present":["Cedar Labs"]},"all":{"required_absent":[],"required_present":["Cedar Labs"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-018","language":"fr","script":"Latin","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/18?credential=Bruno Ibarra\u0026note=Le+client+mentionne+","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":54,"value":"Bruno Ibarra","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bruno Ibarra"]},"customers":{"required_absent":["Bruno Ibarra"],"required_present":[]},"all":{"required_absent":["Bruno Ibarra"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-018","language":"fr","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/18?credential=Boreal Project\u0026note=Organisation+publique+","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":56,"value":"Boreal Project","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Boreal Project"]},"customers":{"required_absent":[],"required_present":["Boreal Project"]},"all":{"required_absent":[],"required_present":["Boreal Project"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-019","language":"fr","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Le client mentionne `Bruno Jensen`","known_identities":[],"targets":[{"id":"person","kind":"person","start":21,"end":33,"value":"Bruno Jensen","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bruno Jensen"]},"customers":{"required_absent":["Bruno Jensen"],"required_present":[]},"all":{"required_absent":["Bruno Jensen"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-019","language":"fr","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Organisation publique `Boreal Press`","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":35,"value":"Boreal Press","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Boreal Press"]},"customers":{"required_absent":[],"required_present":["Boreal Press"]},"all":{"required_absent":[],"required_present":["Boreal Press"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-020","language":"fr","script":"Latin","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eLe client mentionne \u003ccode\u003eClara Arden\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":29,"end":40,"value":"Clara Arden","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Clara Arden"]},"customers":{"required_absent":["Clara Arden"],"required_present":[]},"all":{"required_absent":["Clara Arden"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-020","language":"fr","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eOrganisation publique \u003ccode\u003eCedar Labs\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":41,"value":"Cedar Labs","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Cedar Labs"]},"customers":{"required_absent":[],"required_present":["Cedar Labs"]},"all":{"required_absent":[],"required_present":["Cedar Labs"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-fr-redact-021","language":"fr","script":"Latin","shape":"quoted-reply","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e Le client mentionne Clara Borel","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":33,"value":"Clara Borel","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Clara Borel"]},"customers":{"required_absent":["Clara Borel"],"required_present":[]},"all":{"required_absent":["Clara Borel"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-fr-preserve-021","language":"fr","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e Organisation publique Cedar Works","known_identities":[],"targets":[{"id":"person","kind":"person","start":24,"end":35,"value":"Cedar Works","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Cedar Works"]},"customers":{"required_absent":[],"required_present":["Cedar Works"]},"all":{"required_absent":[],"required_present":["Cedar Works"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-fr-redact-022","language":"fr","script":"Latin","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=22 message=\"Le client mentionne \" value=Clara Costa","known_identities":[],"targets":[{"id":"person","kind":"person","start":58,"end":69,"value":"Clara Costa","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Clara Costa"]},"customers":{"required_absent":["Clara Costa"],"required_present":[]},"all":{"required_absent":["Clara Costa"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-fr-preserve-022","language":"fr","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=22 message=\"Organisation publique \" value=Cedar Studio","known_identities":[],"targets":[{"id":"person","kind":"person","start":60,"end":72,"value":"Cedar Studio","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Cedar Studio"]},"customers":{"required_absent":[],"required_present":["Cedar Studio"]},"all":{"required_absent":[],"required_present":["Cedar Studio"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-022","language":"fr","script":"Latin","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=22 message=\"Le client mentionne \" credential=\"Clara Costa\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":64,"end":75,"value":"Clara Costa","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Clara Costa"]},"customers":{"required_absent":["Clara Costa"],"required_present":[]},"all":{"required_absent":["Clara Costa"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-022","language":"fr","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=22 message=\"Organisation publique \" credential=\"Cedar Studio\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":66,"end":78,"value":"Cedar Studio","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Cedar Studio"]},"customers":{"required_absent":[],"required_present":["Cedar Studio"]},"all":{"required_absent":[],"required_present":["Cedar Studio"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-fr-redact-023","language":"fr","script":"Latin","shape":"stack-trace","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[23]: Le client mentionne Clara Durand","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":43,"value":"Clara Durand","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Clara Durand"]},"customers":{"required_absent":["Clara Durand"],"required_present":[]},"all":{"required_absent":["Clara Durand"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-fr-preserve-023","language":"fr","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[23]: Organisation publique Cedar Systems","known_identities":[],"targets":[{"id":"person","kind":"person","start":33,"end":46,"value":"Cedar Systems","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Cedar Systems"]},"customers":{"required_absent":[],"required_present":["Cedar Systems"]},"all":{"required_absent":[],"required_present":["Cedar Systems"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-fr-redact-024","language":"fr","script":"Latin","shape":"code","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_24 := `Le client mentionne Clara Esteves`","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":48,"value":"Clara Esteves","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Clara Esteves"]},"customers":{"required_absent":["Clara Esteves"],"required_present":[]},"all":{"required_absent":["Clara Esteves"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, @@ -256,26 +256,26 @@ {"id":"broad-language-fr-preserve-025","language":"fr","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--\nOrganisation publique Cedar Foundation","known_identities":[],"targets":[{"id":"person","kind":"person","start":25,"end":41,"value":"Cedar Foundation","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Cedar Foundation"]},"customers":{"required_absent":[],"required_present":["Cedar Foundation"]},"all":{"required_absent":[],"required_present":["Cedar Foundation"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-fr-redact-026","language":"fr","script":"Latin","shape":"long-thread","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Le client mentionne Clara Garcia","known_identities":[],"targets":[{"id":"person","kind":"person","start":500,"end":512,"value":"Clara Garcia","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Clara Garcia"]},"customers":{"required_absent":["Clara Garcia"],"required_present":[]},"all":{"required_absent":["Clara Garcia"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-fr-preserve-026","language":"fr","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Organisation publique Cedar Network","known_identities":[],"targets":[{"id":"person","kind":"person","start":502,"end":515,"value":"Cedar Network","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Cedar Network"]},"customers":{"required_absent":[],"required_present":["Cedar Network"]},"all":{"required_absent":[],"required_present":["Cedar Network"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-fr-redact-027","language":"fr","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=27 --message=\"Le client mentionne \" --value=Clara Holm","known_identities":[],"targets":[{"id":"person","kind":"person","start":53,"end":63,"value":"Clara Holm","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Clara Holm"]},"customers":{"required_absent":["Clara Holm"],"required_present":[]},"all":{"required_absent":["Clara Holm"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-fr-preserve-027","language":"fr","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=27 --message=\"Organisation publique \" --value=Cedar Group","known_identities":[],"targets":[{"id":"person","kind":"person","start":55,"end":66,"value":"Cedar Group","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Cedar Group"]},"customers":{"required_absent":[],"required_present":["Cedar Group"]},"all":{"required_absent":[],"required_present":["Cedar Group"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-027","language":"fr","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=27 --message=\"Le client mentionne \" --credential=\"Clara Holm\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":59,"end":69,"value":"Clara Holm","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Clara Holm"]},"customers":{"required_absent":["Clara Holm"],"required_present":[]},"all":{"required_absent":["Clara Holm"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-027","language":"fr","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=27 --message=\"Organisation publique \" --credential=\"Cedar Group\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":61,"end":72,"value":"Cedar Group","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Cedar Group"]},"customers":{"required_absent":[],"required_present":["Cedar Group"]},"all":{"required_absent":[],"required_present":["Cedar Group"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-fr-redact-028","language":"fr","script":"Latin","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Le client mentionne Clara Ibarra","known_identities":[],"targets":[{"id":"person","kind":"person","start":20,"end":32,"value":"Clara Ibarra","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Clara Ibarra"]},"customers":{"required_absent":["Clara Ibarra"],"required_present":[]},"all":{"required_absent":["Clara Ibarra"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-fr-preserve-028","language":"fr","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Organisation publique Cedar Project","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":35,"value":"Cedar Project","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Cedar Project"]},"customers":{"required_absent":[],"required_present":["Cedar Project"]},"all":{"required_absent":[],"required_present":["Cedar Project"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-fr-redact-029","language":"fr","script":"Latin","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_29\":\"Le client mentionne Clara Jensen\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":47,"value":"Clara Jensen","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Clara Jensen"]},"customers":{"required_absent":["Clara Jensen"],"required_present":[]},"all":{"required_absent":["Clara Jensen"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-fr-preserve-029","language":"fr","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_29\":\"Organisation publique Cedar Press\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":37,"end":48,"value":"Cedar Press","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Cedar Press"]},"customers":{"required_absent":[],"required_present":["Cedar Press"]},"all":{"required_absent":[],"required_present":["Cedar Press"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-fr-redact-030","language":"fr","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_30: Le client mentionne Diego Arden","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":43,"value":"Diego Arden","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Diego Arden"]},"customers":{"required_absent":["Diego Arden"],"required_present":[]},"all":{"required_absent":["Diego Arden"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-fr-preserve-030","language":"fr","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_30: Organisation publique Delta Labs","known_identities":[],"targets":[{"id":"person","kind":"person","start":34,"end":44,"value":"Delta Labs","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Delta Labs"]},"customers":{"required_absent":[],"required_present":["Delta Labs"]},"all":{"required_absent":[],"required_present":["Delta Labs"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-030","language":"fr","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_30: \"Le client mentionne Diego Arden\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":33,"end":44,"value":"Diego Arden","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Diego Arden"]},"customers":{"required_absent":["Diego Arden"],"required_present":[]},"all":{"required_absent":["Diego Arden"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-030","language":"fr","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_30: \"Organisation publique Delta Labs\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":45,"value":"Delta Labs","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Delta Labs"]},"customers":{"required_absent":[],"required_present":["Delta Labs"]},"all":{"required_absent":[],"required_present":["Delta Labs"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-fr-redact-031","language":"fr","script":"Latin","shape":"shell","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_31='Le client mentionne Diego Borel'","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":43,"value":"Diego Borel","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Diego Borel"]},"customers":{"required_absent":["Diego Borel"],"required_present":[]},"all":{"required_absent":["Diego Borel"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-fr-preserve-031","language":"fr","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_31='Organisation publique Delta Works'","known_identities":[],"targets":[{"id":"person","kind":"person","start":34,"end":45,"value":"Delta Works","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Delta Works"]},"customers":{"required_absent":[],"required_present":["Delta Works"]},"all":{"required_absent":[],"required_present":["Delta Works"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-fr-redact-032","language":"fr","script":"Latin","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/32 ; Le client mentionne Diego Costa","known_identities":[],"targets":[{"id":"person","kind":"person","start":53,"end":64,"value":"Diego Costa","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Diego Costa"]},"customers":{"required_absent":["Diego Costa"],"required_present":[]},"all":{"required_absent":["Diego Costa"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-fr-preserve-032","language":"fr","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/32 ; Organisation publique Delta Studio","known_identities":[],"targets":[{"id":"person","kind":"person","start":55,"end":67,"value":"Delta Studio","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Delta Studio"]},"customers":{"required_absent":[],"required_present":["Delta Studio"]},"all":{"required_absent":[],"required_present":["Delta Studio"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-fr-redact-033","language":"fr","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"**Le client mentionne Diego Durand**","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":34,"value":"Diego Durand","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Diego Durand"]},"customers":{"required_absent":["Diego Durand"],"required_present":[]},"all":{"required_absent":["Diego Durand"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-fr-preserve-033","language":"fr","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"**Organisation publique Delta Systems**","known_identities":[],"targets":[{"id":"person","kind":"person","start":24,"end":37,"value":"Delta Systems","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Delta Systems"]},"customers":{"required_absent":[],"required_present":["Delta Systems"]},"all":{"required_absent":[],"required_present":["Delta Systems"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-fr-redact-034","language":"fr","script":"Latin","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eLe client mentionne Diego Esteves\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":36,"value":"Diego Esteves","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Diego Esteves"]},"customers":{"required_absent":["Diego Esteves"],"required_present":[]},"all":{"required_absent":["Diego Esteves"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-fr-preserve-034","language":"fr","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eOrganisation publique Delta Collective\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":25,"end":41,"value":"Delta Collective","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Delta Collective"]},"customers":{"required_absent":[],"required_present":["Delta Collective"]},"all":{"required_absent":[],"required_present":["Delta Collective"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-032","language":"fr","script":"Latin","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/32?credential=Diego Costa\u0026note=Le+client+mentionne+","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":53,"value":"Diego Costa","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Diego Costa"]},"customers":{"required_absent":["Diego Costa"],"required_present":[]},"all":{"required_absent":["Diego Costa"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-032","language":"fr","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/32?credential=Delta Studio\u0026note=Organisation+publique+","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":54,"value":"Delta Studio","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Delta Studio"]},"customers":{"required_absent":[],"required_present":["Delta Studio"]},"all":{"required_absent":[],"required_present":["Delta Studio"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-033","language":"fr","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Le client mentionne `Diego Durand`","known_identities":[],"targets":[{"id":"person","kind":"person","start":21,"end":33,"value":"Diego Durand","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Diego Durand"]},"customers":{"required_absent":["Diego Durand"],"required_present":[]},"all":{"required_absent":["Diego Durand"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-033","language":"fr","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Organisation publique `Delta Systems`","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":36,"value":"Delta Systems","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Delta Systems"]},"customers":{"required_absent":[],"required_present":["Delta Systems"]},"all":{"required_absent":[],"required_present":["Delta Systems"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-034","language":"fr","script":"Latin","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eLe client mentionne \u003ccode\u003eDiego Esteves\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":29,"end":42,"value":"Diego Esteves","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Diego Esteves"]},"customers":{"required_absent":["Diego Esteves"],"required_present":[]},"all":{"required_absent":["Diego Esteves"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-034","language":"fr","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eOrganisation publique \u003ccode\u003eDelta Collective\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":47,"value":"Delta Collective","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Delta Collective"]},"customers":{"required_absent":[],"required_present":["Delta Collective"]},"all":{"required_absent":[],"required_present":["Delta Collective"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-fr-redact-035","language":"fr","script":"Latin","shape":"quoted-reply","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e Le client mentionne Diego Fischer","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":35,"value":"Diego Fischer","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Diego Fischer"]},"customers":{"required_absent":["Diego Fischer"],"required_present":[]},"all":{"required_absent":["Diego Fischer"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-fr-preserve-035","language":"fr","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e Organisation publique Delta Foundation","known_identities":[],"targets":[{"id":"person","kind":"person","start":24,"end":40,"value":"Delta Foundation","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Delta Foundation"]},"customers":{"required_absent":[],"required_present":["Delta Foundation"]},"all":{"required_absent":[],"required_present":["Delta Foundation"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-fr-redact-036","language":"fr","script":"Latin","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=36 message=\"Le client mentionne \" value=Diego Garcia","known_identities":[],"targets":[{"id":"person","kind":"person","start":58,"end":70,"value":"Diego Garcia","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Diego Garcia"]},"customers":{"required_absent":["Diego Garcia"],"required_present":[]},"all":{"required_absent":["Diego Garcia"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-fr-preserve-036","language":"fr","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=36 message=\"Organisation publique \" value=Delta Network","known_identities":[],"targets":[{"id":"person","kind":"person","start":60,"end":73,"value":"Delta Network","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Delta Network"]},"customers":{"required_absent":[],"required_present":["Delta Network"]},"all":{"required_absent":[],"required_present":["Delta Network"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-036","language":"fr","script":"Latin","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=36 message=\"Le client mentionne \" credential=\"Diego Garcia\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":64,"end":76,"value":"Diego Garcia","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Diego Garcia"]},"customers":{"required_absent":["Diego Garcia"],"required_present":[]},"all":{"required_absent":["Diego Garcia"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-036","language":"fr","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=36 message=\"Organisation publique \" credential=\"Delta Network\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":66,"end":79,"value":"Delta Network","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Delta Network"]},"customers":{"required_absent":[],"required_present":["Delta Network"]},"all":{"required_absent":[],"required_present":["Delta Network"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-fr-redact-037","language":"fr","script":"Latin","shape":"stack-trace","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[37]: Le client mentionne Diego Holm","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":41,"value":"Diego Holm","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Diego Holm"]},"customers":{"required_absent":["Diego Holm"],"required_present":[]},"all":{"required_absent":["Diego Holm"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-fr-preserve-037","language":"fr","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[37]: Organisation publique Delta Group","known_identities":[],"targets":[{"id":"person","kind":"person","start":33,"end":44,"value":"Delta Group","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Delta Group"]},"customers":{"required_absent":[],"required_present":["Delta Group"]},"all":{"required_absent":[],"required_present":["Delta Group"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-fr-redact-038","language":"fr","script":"Latin","shape":"code","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_38 := `Le client mentionne Diego Ibarra`","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":47,"value":"Diego Ibarra","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Diego Ibarra"]},"customers":{"required_absent":["Diego Ibarra"],"required_present":[]},"all":{"required_absent":["Diego Ibarra"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, @@ -284,26 +284,26 @@ {"id":"broad-language-fr-preserve-039","language":"fr","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--\nOrganisation publique Delta Press","known_identities":[],"targets":[{"id":"person","kind":"person","start":25,"end":36,"value":"Delta Press","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Delta Press"]},"customers":{"required_absent":[],"required_present":["Delta Press"]},"all":{"required_absent":[],"required_present":["Delta Press"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-fr-redact-040","language":"fr","script":"Latin","shape":"long-thread","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Le client mentionne Elena Arden","known_identities":[],"targets":[{"id":"person","kind":"person","start":500,"end":511,"value":"Elena Arden","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Elena Arden"]},"customers":{"required_absent":["Elena Arden"],"required_present":[]},"all":{"required_absent":["Elena Arden"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-fr-preserve-040","language":"fr","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Organisation publique Ember Labs","known_identities":[],"targets":[{"id":"person","kind":"person","start":502,"end":512,"value":"Ember Labs","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ember Labs"]},"customers":{"required_absent":[],"required_present":["Ember Labs"]},"all":{"required_absent":[],"required_present":["Ember Labs"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-fr-redact-041","language":"fr","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=41 --message=\"Le client mentionne \" --value=Elena Borel","known_identities":[],"targets":[{"id":"person","kind":"person","start":53,"end":64,"value":"Elena Borel","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Elena Borel"]},"customers":{"required_absent":["Elena Borel"],"required_present":[]},"all":{"required_absent":["Elena Borel"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-fr-preserve-041","language":"fr","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=41 --message=\"Organisation publique \" --value=Ember Works","known_identities":[],"targets":[{"id":"person","kind":"person","start":55,"end":66,"value":"Ember Works","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ember Works"]},"customers":{"required_absent":[],"required_present":["Ember Works"]},"all":{"required_absent":[],"required_present":["Ember Works"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-041","language":"fr","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=41 --message=\"Le client mentionne \" --credential=\"Elena Borel\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":59,"end":70,"value":"Elena Borel","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Elena Borel"]},"customers":{"required_absent":["Elena Borel"],"required_present":[]},"all":{"required_absent":["Elena Borel"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-041","language":"fr","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=41 --message=\"Organisation publique \" --credential=\"Ember Works\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":61,"end":72,"value":"Ember Works","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ember Works"]},"customers":{"required_absent":[],"required_present":["Ember Works"]},"all":{"required_absent":[],"required_present":["Ember Works"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-fr-redact-042","language":"fr","script":"Latin","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Le client mentionne Elena Costa","known_identities":[],"targets":[{"id":"person","kind":"person","start":20,"end":31,"value":"Elena Costa","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Elena Costa"]},"customers":{"required_absent":["Elena Costa"],"required_present":[]},"all":{"required_absent":["Elena Costa"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-fr-preserve-042","language":"fr","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Organisation publique Ember Studio","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":34,"value":"Ember Studio","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ember Studio"]},"customers":{"required_absent":[],"required_present":["Ember Studio"]},"all":{"required_absent":[],"required_present":["Ember Studio"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-fr-redact-043","language":"fr","script":"Latin","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_43\":\"Le client mentionne Elena Durand\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":47,"value":"Elena Durand","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Elena Durand"]},"customers":{"required_absent":["Elena Durand"],"required_present":[]},"all":{"required_absent":["Elena Durand"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-fr-preserve-043","language":"fr","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_43\":\"Organisation publique Ember Systems\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":37,"end":50,"value":"Ember Systems","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ember Systems"]},"customers":{"required_absent":[],"required_present":["Ember Systems"]},"all":{"required_absent":[],"required_present":["Ember Systems"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-fr-redact-044","language":"fr","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_44: Le client mentionne Elena Esteves","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":45,"value":"Elena Esteves","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Elena Esteves"]},"customers":{"required_absent":["Elena Esteves"],"required_present":[]},"all":{"required_absent":["Elena Esteves"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-fr-preserve-044","language":"fr","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_44: Organisation publique Ember Collective","known_identities":[],"targets":[{"id":"person","kind":"person","start":34,"end":50,"value":"Ember Collective","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ember Collective"]},"customers":{"required_absent":[],"required_present":["Ember Collective"]},"all":{"required_absent":[],"required_present":["Ember Collective"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-044","language":"fr","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_44: \"Le client mentionne Elena Esteves\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":33,"end":46,"value":"Elena Esteves","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Elena Esteves"]},"customers":{"required_absent":["Elena Esteves"],"required_present":[]},"all":{"required_absent":["Elena Esteves"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-044","language":"fr","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_44: \"Organisation publique Ember Collective\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":51,"value":"Ember Collective","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ember Collective"]},"customers":{"required_absent":[],"required_present":["Ember Collective"]},"all":{"required_absent":[],"required_present":["Ember Collective"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-fr-redact-045","language":"fr","script":"Latin","shape":"shell","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_45='Le client mentionne Elena Fischer'","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":45,"value":"Elena Fischer","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Elena Fischer"]},"customers":{"required_absent":["Elena Fischer"],"required_present":[]},"all":{"required_absent":["Elena Fischer"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-fr-preserve-045","language":"fr","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_45='Organisation publique Ember Foundation'","known_identities":[],"targets":[{"id":"person","kind":"person","start":34,"end":50,"value":"Ember Foundation","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ember Foundation"]},"customers":{"required_absent":[],"required_present":["Ember Foundation"]},"all":{"required_absent":[],"required_present":["Ember Foundation"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-fr-redact-046","language":"fr","script":"Latin","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/46 ; Le client mentionne Elena Garcia","known_identities":[],"targets":[{"id":"person","kind":"person","start":53,"end":65,"value":"Elena Garcia","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Elena Garcia"]},"customers":{"required_absent":["Elena Garcia"],"required_present":[]},"all":{"required_absent":["Elena Garcia"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-fr-preserve-046","language":"fr","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/46 ; Organisation publique Ember Network","known_identities":[],"targets":[{"id":"person","kind":"person","start":55,"end":68,"value":"Ember Network","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ember Network"]},"customers":{"required_absent":[],"required_present":["Ember Network"]},"all":{"required_absent":[],"required_present":["Ember Network"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-fr-redact-047","language":"fr","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"**Le client mentionne Elena Holm**","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":32,"value":"Elena Holm","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Elena Holm"]},"customers":{"required_absent":["Elena Holm"],"required_present":[]},"all":{"required_absent":["Elena Holm"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-fr-preserve-047","language":"fr","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"**Organisation publique Ember Group**","known_identities":[],"targets":[{"id":"person","kind":"person","start":24,"end":35,"value":"Ember Group","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ember Group"]},"customers":{"required_absent":[],"required_present":["Ember Group"]},"all":{"required_absent":[],"required_present":["Ember Group"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-fr-redact-048","language":"fr","script":"Latin","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eLe client mentionne Elena Ibarra\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":35,"value":"Elena Ibarra","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Elena Ibarra"]},"customers":{"required_absent":["Elena Ibarra"],"required_present":[]},"all":{"required_absent":["Elena Ibarra"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-fr-preserve-048","language":"fr","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eOrganisation publique Ember Project\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":25,"end":38,"value":"Ember Project","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ember Project"]},"customers":{"required_absent":[],"required_present":["Ember Project"]},"all":{"required_absent":[],"required_present":["Ember Project"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-046","language":"fr","script":"Latin","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/46?credential=Elena Garcia\u0026note=Le+client+mentionne+","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":54,"value":"Elena Garcia","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Elena Garcia"]},"customers":{"required_absent":["Elena Garcia"],"required_present":[]},"all":{"required_absent":["Elena Garcia"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-046","language":"fr","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/46?credential=Ember Network\u0026note=Organisation+publique+","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":55,"value":"Ember Network","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ember Network"]},"customers":{"required_absent":[],"required_present":["Ember Network"]},"all":{"required_absent":[],"required_present":["Ember Network"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-047","language":"fr","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Le client mentionne `Elena Holm`","known_identities":[],"targets":[{"id":"person","kind":"person","start":21,"end":31,"value":"Elena Holm","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Elena Holm"]},"customers":{"required_absent":["Elena Holm"],"required_present":[]},"all":{"required_absent":["Elena Holm"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-047","language":"fr","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Organisation publique `Ember Group`","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":34,"value":"Ember Group","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ember Group"]},"customers":{"required_absent":[],"required_present":["Ember Group"]},"all":{"required_absent":[],"required_present":["Ember Group"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-048","language":"fr","script":"Latin","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eLe client mentionne \u003ccode\u003eElena Ibarra\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":29,"end":41,"value":"Elena Ibarra","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Elena Ibarra"]},"customers":{"required_absent":["Elena Ibarra"],"required_present":[]},"all":{"required_absent":["Elena Ibarra"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-048","language":"fr","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eOrganisation publique \u003ccode\u003eEmber Project\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":44,"value":"Ember Project","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ember Project"]},"customers":{"required_absent":[],"required_present":["Ember Project"]},"all":{"required_absent":[],"required_present":["Ember Project"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-fr-redact-049","language":"fr","script":"Latin","shape":"quoted-reply","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e Le client mentionne Elena Jensen","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":34,"value":"Elena Jensen","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Elena Jensen"]},"customers":{"required_absent":["Elena Jensen"],"required_present":[]},"all":{"required_absent":["Elena Jensen"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-fr-preserve-049","language":"fr","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e Organisation publique Ember Press","known_identities":[],"targets":[{"id":"person","kind":"person","start":24,"end":35,"value":"Ember Press","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ember Press"]},"customers":{"required_absent":[],"required_present":["Ember Press"]},"all":{"required_absent":[],"required_present":["Ember Press"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-fr-redact-050","language":"fr","script":"Latin","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=50 message=\"Le client mentionne \" value=Farid Arden","known_identities":[],"targets":[{"id":"person","kind":"person","start":58,"end":69,"value":"Farid Arden","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Farid Arden"]},"customers":{"required_absent":["Farid Arden"],"required_present":[]},"all":{"required_absent":["Farid Arden"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-fr-preserve-050","language":"fr","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=50 message=\"Organisation publique \" value=Flora Labs","known_identities":[],"targets":[{"id":"person","kind":"person","start":60,"end":70,"value":"Flora Labs","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Flora Labs"]},"customers":{"required_absent":[],"required_present":["Flora Labs"]},"all":{"required_absent":[],"required_present":["Flora Labs"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-050","language":"fr","script":"Latin","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=50 message=\"Le client mentionne \" credential=\"Farid Arden\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":64,"end":75,"value":"Farid Arden","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Farid Arden"]},"customers":{"required_absent":["Farid Arden"],"required_present":[]},"all":{"required_absent":["Farid Arden"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-050","language":"fr","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=50 message=\"Organisation publique \" credential=\"Flora Labs\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":66,"end":76,"value":"Flora Labs","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Flora Labs"]},"customers":{"required_absent":[],"required_present":["Flora Labs"]},"all":{"required_absent":[],"required_present":["Flora Labs"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-fr-redact-051","language":"fr","script":"Latin","shape":"stack-trace","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[51]: Le client mentionne Farid Borel","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":42,"value":"Farid Borel","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Farid Borel"]},"customers":{"required_absent":["Farid Borel"],"required_present":[]},"all":{"required_absent":["Farid Borel"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-fr-preserve-051","language":"fr","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[51]: Organisation publique Flora Works","known_identities":[],"targets":[{"id":"person","kind":"person","start":33,"end":44,"value":"Flora Works","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Flora Works"]},"customers":{"required_absent":[],"required_present":["Flora Works"]},"all":{"required_absent":[],"required_present":["Flora Works"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-fr-redact-052","language":"fr","script":"Latin","shape":"code","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_52 := `Le client mentionne Farid Costa`","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":46,"value":"Farid Costa","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Farid Costa"]},"customers":{"required_absent":["Farid Costa"],"required_present":[]},"all":{"required_absent":["Farid Costa"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, @@ -312,26 +312,26 @@ {"id":"broad-language-fr-preserve-053","language":"fr","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--\nOrganisation publique Flora Systems","known_identities":[],"targets":[{"id":"person","kind":"person","start":25,"end":38,"value":"Flora Systems","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Flora Systems"]},"customers":{"required_absent":[],"required_present":["Flora Systems"]},"all":{"required_absent":[],"required_present":["Flora Systems"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-fr-redact-054","language":"fr","script":"Latin","shape":"long-thread","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Le client mentionne Farid Esteves","known_identities":[],"targets":[{"id":"person","kind":"person","start":500,"end":513,"value":"Farid Esteves","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Farid Esteves"]},"customers":{"required_absent":["Farid Esteves"],"required_present":[]},"all":{"required_absent":["Farid Esteves"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-fr-preserve-054","language":"fr","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Organisation publique Flora Collective","known_identities":[],"targets":[{"id":"person","kind":"person","start":502,"end":518,"value":"Flora Collective","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Flora Collective"]},"customers":{"required_absent":[],"required_present":["Flora Collective"]},"all":{"required_absent":[],"required_present":["Flora Collective"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-fr-redact-055","language":"fr","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=55 --message=\"Le client mentionne \" --value=Farid Fischer","known_identities":[],"targets":[{"id":"person","kind":"person","start":53,"end":66,"value":"Farid Fischer","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Farid Fischer"]},"customers":{"required_absent":["Farid Fischer"],"required_present":[]},"all":{"required_absent":["Farid Fischer"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-fr-preserve-055","language":"fr","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=55 --message=\"Organisation publique \" --value=Flora Foundation","known_identities":[],"targets":[{"id":"person","kind":"person","start":55,"end":71,"value":"Flora Foundation","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Flora Foundation"]},"customers":{"required_absent":[],"required_present":["Flora Foundation"]},"all":{"required_absent":[],"required_present":["Flora Foundation"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-055","language":"fr","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=55 --message=\"Le client mentionne \" --credential=\"Farid Fischer\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":59,"end":72,"value":"Farid Fischer","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Farid Fischer"]},"customers":{"required_absent":["Farid Fischer"],"required_present":[]},"all":{"required_absent":["Farid Fischer"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-055","language":"fr","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=55 --message=\"Organisation publique \" --credential=\"Flora Foundation\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":61,"end":77,"value":"Flora Foundation","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Flora Foundation"]},"customers":{"required_absent":[],"required_present":["Flora Foundation"]},"all":{"required_absent":[],"required_present":["Flora Foundation"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-fr-redact-056","language":"fr","script":"Latin","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Le client mentionne Farid Garcia","known_identities":[],"targets":[{"id":"person","kind":"person","start":20,"end":32,"value":"Farid Garcia","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Farid Garcia"]},"customers":{"required_absent":["Farid Garcia"],"required_present":[]},"all":{"required_absent":["Farid Garcia"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-fr-preserve-056","language":"fr","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Organisation publique Flora Network","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":35,"value":"Flora Network","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Flora Network"]},"customers":{"required_absent":[],"required_present":["Flora Network"]},"all":{"required_absent":[],"required_present":["Flora Network"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-fr-redact-057","language":"fr","script":"Latin","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_57\":\"Le client mentionne Farid Holm\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":45,"value":"Farid Holm","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Farid Holm"]},"customers":{"required_absent":["Farid Holm"],"required_present":[]},"all":{"required_absent":["Farid Holm"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-fr-preserve-057","language":"fr","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_57\":\"Organisation publique Flora Group\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":37,"end":48,"value":"Flora Group","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Flora Group"]},"customers":{"required_absent":[],"required_present":["Flora Group"]},"all":{"required_absent":[],"required_present":["Flora Group"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-fr-redact-058","language":"fr","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_58: Le client mentionne Farid Ibarra","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":44,"value":"Farid Ibarra","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Farid Ibarra"]},"customers":{"required_absent":["Farid Ibarra"],"required_present":[]},"all":{"required_absent":["Farid Ibarra"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-fr-preserve-058","language":"fr","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_58: Organisation publique Flora Project","known_identities":[],"targets":[{"id":"person","kind":"person","start":34,"end":47,"value":"Flora Project","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Flora Project"]},"customers":{"required_absent":[],"required_present":["Flora Project"]},"all":{"required_absent":[],"required_present":["Flora Project"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-058","language":"fr","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_58: \"Le client mentionne Farid Ibarra\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":33,"end":45,"value":"Farid Ibarra","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Farid Ibarra"]},"customers":{"required_absent":["Farid Ibarra"],"required_present":[]},"all":{"required_absent":["Farid Ibarra"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-058","language":"fr","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_58: \"Organisation publique Flora Project\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":48,"value":"Flora Project","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Flora Project"]},"customers":{"required_absent":[],"required_present":["Flora Project"]},"all":{"required_absent":[],"required_present":["Flora Project"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-fr-redact-059","language":"fr","script":"Latin","shape":"shell","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_59='Le client mentionne Farid Jensen'","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":44,"value":"Farid Jensen","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Farid Jensen"]},"customers":{"required_absent":["Farid Jensen"],"required_present":[]},"all":{"required_absent":["Farid Jensen"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-fr-preserve-059","language":"fr","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_59='Organisation publique Flora Press'","known_identities":[],"targets":[{"id":"person","kind":"person","start":34,"end":45,"value":"Flora Press","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Flora Press"]},"customers":{"required_absent":[],"required_present":["Flora Press"]},"all":{"required_absent":[],"required_present":["Flora Press"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-fr-redact-060","language":"fr","script":"Latin","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/60 ; Le client mentionne Greta Arden","known_identities":[],"targets":[{"id":"person","kind":"person","start":53,"end":64,"value":"Greta Arden","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Greta Arden"]},"customers":{"required_absent":["Greta Arden"],"required_present":[]},"all":{"required_absent":["Greta Arden"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-fr-preserve-060","language":"fr","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/60 ; Organisation publique Gaia Labs","known_identities":[],"targets":[{"id":"person","kind":"person","start":55,"end":64,"value":"Gaia Labs","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Gaia Labs"]},"customers":{"required_absent":[],"required_present":["Gaia Labs"]},"all":{"required_absent":[],"required_present":["Gaia Labs"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-fr-redact-061","language":"fr","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"**Le client mentionne Greta Borel**","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":33,"value":"Greta Borel","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Greta Borel"]},"customers":{"required_absent":["Greta Borel"],"required_present":[]},"all":{"required_absent":["Greta Borel"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-fr-preserve-061","language":"fr","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"**Organisation publique Gaia Works**","known_identities":[],"targets":[{"id":"person","kind":"person","start":24,"end":34,"value":"Gaia Works","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Gaia Works"]},"customers":{"required_absent":[],"required_present":["Gaia Works"]},"all":{"required_absent":[],"required_present":["Gaia Works"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-fr-redact-062","language":"fr","script":"Latin","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eLe client mentionne Greta Costa\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":34,"value":"Greta Costa","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Greta Costa"]},"customers":{"required_absent":["Greta Costa"],"required_present":[]},"all":{"required_absent":["Greta Costa"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-fr-preserve-062","language":"fr","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eOrganisation publique Gaia Studio\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":25,"end":36,"value":"Gaia Studio","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Gaia Studio"]},"customers":{"required_absent":[],"required_present":["Gaia Studio"]},"all":{"required_absent":[],"required_present":["Gaia Studio"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-060","language":"fr","script":"Latin","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/60?credential=Greta Arden\u0026note=Le+client+mentionne+","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":53,"value":"Greta Arden","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Greta Arden"]},"customers":{"required_absent":["Greta Arden"],"required_present":[]},"all":{"required_absent":["Greta Arden"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-060","language":"fr","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/60?credential=Gaia Labs\u0026note=Organisation+publique+","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":51,"value":"Gaia Labs","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Gaia Labs"]},"customers":{"required_absent":[],"required_present":["Gaia Labs"]},"all":{"required_absent":[],"required_present":["Gaia Labs"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-061","language":"fr","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Le client mentionne `Greta Borel`","known_identities":[],"targets":[{"id":"person","kind":"person","start":21,"end":32,"value":"Greta Borel","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Greta Borel"]},"customers":{"required_absent":["Greta Borel"],"required_present":[]},"all":{"required_absent":["Greta Borel"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-061","language":"fr","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Organisation publique `Gaia Works`","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":33,"value":"Gaia Works","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Gaia Works"]},"customers":{"required_absent":[],"required_present":["Gaia Works"]},"all":{"required_absent":[],"required_present":["Gaia Works"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-062","language":"fr","script":"Latin","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eLe client mentionne \u003ccode\u003eGreta Costa\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":29,"end":40,"value":"Greta Costa","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Greta Costa"]},"customers":{"required_absent":["Greta Costa"],"required_present":[]},"all":{"required_absent":["Greta Costa"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-062","language":"fr","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eOrganisation publique \u003ccode\u003eGaia Studio\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":42,"value":"Gaia Studio","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Gaia Studio"]},"customers":{"required_absent":[],"required_present":["Gaia Studio"]},"all":{"required_absent":[],"required_present":["Gaia Studio"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-fr-redact-063","language":"fr","script":"Latin","shape":"quoted-reply","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e Le client mentionne Greta Durand","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":34,"value":"Greta Durand","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Greta Durand"]},"customers":{"required_absent":["Greta Durand"],"required_present":[]},"all":{"required_absent":["Greta Durand"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-fr-preserve-063","language":"fr","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e Organisation publique Gaia Systems","known_identities":[],"targets":[{"id":"person","kind":"person","start":24,"end":36,"value":"Gaia Systems","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Gaia Systems"]},"customers":{"required_absent":[],"required_present":["Gaia Systems"]},"all":{"required_absent":[],"required_present":["Gaia Systems"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-fr-redact-064","language":"fr","script":"Latin","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=64 message=\"Le client mentionne \" value=Greta Esteves","known_identities":[],"targets":[{"id":"person","kind":"person","start":58,"end":71,"value":"Greta Esteves","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Greta Esteves"]},"customers":{"required_absent":["Greta Esteves"],"required_present":[]},"all":{"required_absent":["Greta Esteves"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-fr-preserve-064","language":"fr","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=64 message=\"Organisation publique \" value=Gaia Collective","known_identities":[],"targets":[{"id":"person","kind":"person","start":60,"end":75,"value":"Gaia Collective","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Gaia Collective"]},"customers":{"required_absent":[],"required_present":["Gaia Collective"]},"all":{"required_absent":[],"required_present":["Gaia Collective"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-064","language":"fr","script":"Latin","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=64 message=\"Le client mentionne \" credential=\"Greta Esteves\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":64,"end":77,"value":"Greta Esteves","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Greta Esteves"]},"customers":{"required_absent":["Greta Esteves"],"required_present":[]},"all":{"required_absent":["Greta Esteves"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-064","language":"fr","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=64 message=\"Organisation publique \" credential=\"Gaia Collective\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":66,"end":81,"value":"Gaia Collective","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Gaia Collective"]},"customers":{"required_absent":[],"required_present":["Gaia Collective"]},"all":{"required_absent":[],"required_present":["Gaia Collective"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-fr-redact-065","language":"fr","script":"Latin","shape":"stack-trace","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[65]: Le client mentionne Greta Fischer","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":44,"value":"Greta Fischer","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Greta Fischer"]},"customers":{"required_absent":["Greta Fischer"],"required_present":[]},"all":{"required_absent":["Greta Fischer"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-fr-preserve-065","language":"fr","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[65]: Organisation publique Gaia Foundation","known_identities":[],"targets":[{"id":"person","kind":"person","start":33,"end":48,"value":"Gaia Foundation","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Gaia Foundation"]},"customers":{"required_absent":[],"required_present":["Gaia Foundation"]},"all":{"required_absent":[],"required_present":["Gaia Foundation"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-fr-redact-066","language":"fr","script":"Latin","shape":"code","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_66 := `Le client mentionne Greta Garcia`","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":47,"value":"Greta Garcia","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Greta Garcia"]},"customers":{"required_absent":["Greta Garcia"],"required_present":[]},"all":{"required_absent":["Greta Garcia"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, @@ -340,26 +340,26 @@ {"id":"broad-language-fr-preserve-067","language":"fr","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--\nOrganisation publique Gaia Group","known_identities":[],"targets":[{"id":"person","kind":"person","start":25,"end":35,"value":"Gaia Group","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Gaia Group"]},"customers":{"required_absent":[],"required_present":["Gaia Group"]},"all":{"required_absent":[],"required_present":["Gaia Group"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-fr-redact-068","language":"fr","script":"Latin","shape":"long-thread","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Le client mentionne Greta Ibarra","known_identities":[],"targets":[{"id":"person","kind":"person","start":500,"end":512,"value":"Greta Ibarra","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Greta Ibarra"]},"customers":{"required_absent":["Greta Ibarra"],"required_present":[]},"all":{"required_absent":["Greta Ibarra"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-fr-preserve-068","language":"fr","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Organisation publique Gaia Project","known_identities":[],"targets":[{"id":"person","kind":"person","start":502,"end":514,"value":"Gaia Project","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Gaia Project"]},"customers":{"required_absent":[],"required_present":["Gaia Project"]},"all":{"required_absent":[],"required_present":["Gaia Project"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-fr-redact-069","language":"fr","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=69 --message=\"Le client mentionne \" --value=Greta Jensen","known_identities":[],"targets":[{"id":"person","kind":"person","start":53,"end":65,"value":"Greta Jensen","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Greta Jensen"]},"customers":{"required_absent":["Greta Jensen"],"required_present":[]},"all":{"required_absent":["Greta Jensen"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-fr-preserve-069","language":"fr","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=69 --message=\"Organisation publique \" --value=Gaia Press","known_identities":[],"targets":[{"id":"person","kind":"person","start":55,"end":65,"value":"Gaia Press","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Gaia Press"]},"customers":{"required_absent":[],"required_present":["Gaia Press"]},"all":{"required_absent":[],"required_present":["Gaia Press"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-069","language":"fr","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=69 --message=\"Le client mentionne \" --credential=\"Greta Jensen\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":59,"end":71,"value":"Greta Jensen","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Greta Jensen"]},"customers":{"required_absent":["Greta Jensen"],"required_present":[]},"all":{"required_absent":["Greta Jensen"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-069","language":"fr","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=69 --message=\"Organisation publique \" --credential=\"Gaia Press\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":61,"end":71,"value":"Gaia Press","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Gaia Press"]},"customers":{"required_absent":[],"required_present":["Gaia Press"]},"all":{"required_absent":[],"required_present":["Gaia Press"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-fr-redact-070","language":"fr","script":"Latin","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Le client mentionne Hugo Arden","known_identities":[],"targets":[{"id":"person","kind":"person","start":20,"end":30,"value":"Hugo Arden","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Hugo Arden"]},"customers":{"required_absent":["Hugo Arden"],"required_present":[]},"all":{"required_absent":["Hugo Arden"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-fr-preserve-070","language":"fr","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Organisation publique Helios Labs","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":33,"value":"Helios Labs","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Helios Labs"]},"customers":{"required_absent":[],"required_present":["Helios Labs"]},"all":{"required_absent":[],"required_present":["Helios Labs"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-fr-redact-071","language":"fr","script":"Latin","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_71\":\"Le client mentionne Hugo Borel\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":45,"value":"Hugo Borel","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Hugo Borel"]},"customers":{"required_absent":["Hugo Borel"],"required_present":[]},"all":{"required_absent":["Hugo Borel"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-fr-preserve-071","language":"fr","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_71\":\"Organisation publique Helios Works\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":37,"end":49,"value":"Helios Works","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Helios Works"]},"customers":{"required_absent":[],"required_present":["Helios Works"]},"all":{"required_absent":[],"required_present":["Helios Works"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-fr-redact-072","language":"fr","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_72: Le client mentionne Hugo Costa","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":42,"value":"Hugo Costa","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Hugo Costa"]},"customers":{"required_absent":["Hugo Costa"],"required_present":[]},"all":{"required_absent":["Hugo Costa"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-fr-preserve-072","language":"fr","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_72: Organisation publique Helios Studio","known_identities":[],"targets":[{"id":"person","kind":"person","start":34,"end":47,"value":"Helios Studio","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Helios Studio"]},"customers":{"required_absent":[],"required_present":["Helios Studio"]},"all":{"required_absent":[],"required_present":["Helios Studio"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-072","language":"fr","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_72: \"Le client mentionne Hugo Costa\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":33,"end":43,"value":"Hugo Costa","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Hugo Costa"]},"customers":{"required_absent":["Hugo Costa"],"required_present":[]},"all":{"required_absent":["Hugo Costa"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-072","language":"fr","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_72: \"Organisation publique Helios Studio\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":48,"value":"Helios Studio","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Helios Studio"]},"customers":{"required_absent":[],"required_present":["Helios Studio"]},"all":{"required_absent":[],"required_present":["Helios Studio"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-fr-redact-073","language":"fr","script":"Latin","shape":"shell","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_73='Le client mentionne Hugo Durand'","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":43,"value":"Hugo Durand","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Hugo Durand"]},"customers":{"required_absent":["Hugo Durand"],"required_present":[]},"all":{"required_absent":["Hugo Durand"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-fr-preserve-073","language":"fr","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_73='Organisation publique Helios Systems'","known_identities":[],"targets":[{"id":"person","kind":"person","start":34,"end":48,"value":"Helios Systems","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Helios Systems"]},"customers":{"required_absent":[],"required_present":["Helios Systems"]},"all":{"required_absent":[],"required_present":["Helios Systems"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-fr-redact-074","language":"fr","script":"Latin","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/74 ; Le client mentionne Hugo Esteves","known_identities":[],"targets":[{"id":"person","kind":"person","start":53,"end":65,"value":"Hugo Esteves","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Hugo Esteves"]},"customers":{"required_absent":["Hugo Esteves"],"required_present":[]},"all":{"required_absent":["Hugo Esteves"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-fr-preserve-074","language":"fr","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/74 ; Organisation publique Helios Collective","known_identities":[],"targets":[{"id":"person","kind":"person","start":55,"end":72,"value":"Helios Collective","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Helios Collective"]},"customers":{"required_absent":[],"required_present":["Helios Collective"]},"all":{"required_absent":[],"required_present":["Helios Collective"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-fr-redact-075","language":"fr","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"**Le client mentionne Hugo Fischer**","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":34,"value":"Hugo Fischer","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Hugo Fischer"]},"customers":{"required_absent":["Hugo Fischer"],"required_present":[]},"all":{"required_absent":["Hugo Fischer"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-fr-preserve-075","language":"fr","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"**Organisation publique Helios Foundation**","known_identities":[],"targets":[{"id":"person","kind":"person","start":24,"end":41,"value":"Helios Foundation","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Helios Foundation"]},"customers":{"required_absent":[],"required_present":["Helios Foundation"]},"all":{"required_absent":[],"required_present":["Helios Foundation"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-fr-redact-076","language":"fr","script":"Latin","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eLe client mentionne Hugo Garcia\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":34,"value":"Hugo Garcia","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Hugo Garcia"]},"customers":{"required_absent":["Hugo Garcia"],"required_present":[]},"all":{"required_absent":["Hugo Garcia"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-fr-preserve-076","language":"fr","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eOrganisation publique Helios Network\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":25,"end":39,"value":"Helios Network","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Helios Network"]},"customers":{"required_absent":[],"required_present":["Helios Network"]},"all":{"required_absent":[],"required_present":["Helios Network"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-074","language":"fr","script":"Latin","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/74?credential=Hugo Esteves\u0026note=Le+client+mentionne+","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":54,"value":"Hugo Esteves","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Hugo Esteves"]},"customers":{"required_absent":["Hugo Esteves"],"required_present":[]},"all":{"required_absent":["Hugo Esteves"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-074","language":"fr","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/74?credential=Helios Collective\u0026note=Organisation+publique+","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":59,"value":"Helios Collective","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Helios Collective"]},"customers":{"required_absent":[],"required_present":["Helios Collective"]},"all":{"required_absent":[],"required_present":["Helios Collective"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-075","language":"fr","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Le client mentionne `Hugo Fischer`","known_identities":[],"targets":[{"id":"person","kind":"person","start":21,"end":33,"value":"Hugo Fischer","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Hugo Fischer"]},"customers":{"required_absent":["Hugo Fischer"],"required_present":[]},"all":{"required_absent":["Hugo Fischer"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-075","language":"fr","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Organisation publique `Helios Foundation`","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":40,"value":"Helios Foundation","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Helios Foundation"]},"customers":{"required_absent":[],"required_present":["Helios Foundation"]},"all":{"required_absent":[],"required_present":["Helios Foundation"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-076","language":"fr","script":"Latin","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eLe client mentionne \u003ccode\u003eHugo Garcia\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":29,"end":40,"value":"Hugo Garcia","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Hugo Garcia"]},"customers":{"required_absent":["Hugo Garcia"],"required_present":[]},"all":{"required_absent":["Hugo Garcia"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-076","language":"fr","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eOrganisation publique \u003ccode\u003eHelios Network\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":45,"value":"Helios Network","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Helios Network"]},"customers":{"required_absent":[],"required_present":["Helios Network"]},"all":{"required_absent":[],"required_present":["Helios Network"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-fr-redact-077","language":"fr","script":"Latin","shape":"quoted-reply","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e Le client mentionne Hugo Holm","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":31,"value":"Hugo Holm","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Hugo Holm"]},"customers":{"required_absent":["Hugo Holm"],"required_present":[]},"all":{"required_absent":["Hugo Holm"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-fr-preserve-077","language":"fr","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e Organisation publique Helios Group","known_identities":[],"targets":[{"id":"person","kind":"person","start":24,"end":36,"value":"Helios Group","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Helios Group"]},"customers":{"required_absent":[],"required_present":["Helios Group"]},"all":{"required_absent":[],"required_present":["Helios Group"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-fr-redact-078","language":"fr","script":"Latin","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=78 message=\"Le client mentionne \" value=Hugo Ibarra","known_identities":[],"targets":[{"id":"person","kind":"person","start":58,"end":69,"value":"Hugo Ibarra","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Hugo Ibarra"]},"customers":{"required_absent":["Hugo Ibarra"],"required_present":[]},"all":{"required_absent":["Hugo Ibarra"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-fr-preserve-078","language":"fr","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=78 message=\"Organisation publique \" value=Helios Project","known_identities":[],"targets":[{"id":"person","kind":"person","start":60,"end":74,"value":"Helios Project","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Helios Project"]},"customers":{"required_absent":[],"required_present":["Helios Project"]},"all":{"required_absent":[],"required_present":["Helios Project"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-078","language":"fr","script":"Latin","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=78 message=\"Le client mentionne \" credential=\"Hugo Ibarra\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":64,"end":75,"value":"Hugo Ibarra","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Hugo Ibarra"]},"customers":{"required_absent":["Hugo Ibarra"],"required_present":[]},"all":{"required_absent":["Hugo Ibarra"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-078","language":"fr","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=78 message=\"Organisation publique \" credential=\"Helios Project\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":66,"end":80,"value":"Helios Project","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Helios Project"]},"customers":{"required_absent":[],"required_present":["Helios Project"]},"all":{"required_absent":[],"required_present":["Helios Project"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-fr-redact-079","language":"fr","script":"Latin","shape":"stack-trace","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[79]: Le client mentionne Hugo Jensen","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":42,"value":"Hugo Jensen","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Hugo Jensen"]},"customers":{"required_absent":["Hugo Jensen"],"required_present":[]},"all":{"required_absent":["Hugo Jensen"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-fr-preserve-079","language":"fr","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[79]: Organisation publique Helios Press","known_identities":[],"targets":[{"id":"person","kind":"person","start":33,"end":45,"value":"Helios Press","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Helios Press"]},"customers":{"required_absent":[],"required_present":["Helios Press"]},"all":{"required_absent":[],"required_present":["Helios Press"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-fr-redact-080","language":"fr","script":"Latin","shape":"code","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_80 := `Le client mentionne Ines Arden`","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":45,"value":"Ines Arden","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ines Arden"]},"customers":{"required_absent":["Ines Arden"],"required_present":[]},"all":{"required_absent":["Ines Arden"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, @@ -368,26 +368,26 @@ {"id":"broad-language-fr-preserve-081","language":"fr","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--\nOrganisation publique Ion Works","known_identities":[],"targets":[{"id":"person","kind":"person","start":25,"end":34,"value":"Ion Works","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ion Works"]},"customers":{"required_absent":[],"required_present":["Ion Works"]},"all":{"required_absent":[],"required_present":["Ion Works"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-fr-redact-082","language":"fr","script":"Latin","shape":"long-thread","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Le client mentionne Ines Costa","known_identities":[],"targets":[{"id":"person","kind":"person","start":500,"end":510,"value":"Ines Costa","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ines Costa"]},"customers":{"required_absent":["Ines Costa"],"required_present":[]},"all":{"required_absent":["Ines Costa"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-fr-preserve-082","language":"fr","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Organisation publique Ion Studio","known_identities":[],"targets":[{"id":"person","kind":"person","start":502,"end":512,"value":"Ion Studio","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ion Studio"]},"customers":{"required_absent":[],"required_present":["Ion Studio"]},"all":{"required_absent":[],"required_present":["Ion Studio"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-fr-redact-083","language":"fr","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=83 --message=\"Le client mentionne \" --value=Ines Durand","known_identities":[],"targets":[{"id":"person","kind":"person","start":53,"end":64,"value":"Ines Durand","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ines Durand"]},"customers":{"required_absent":["Ines Durand"],"required_present":[]},"all":{"required_absent":["Ines Durand"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-fr-preserve-083","language":"fr","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=83 --message=\"Organisation publique \" --value=Ion Systems","known_identities":[],"targets":[{"id":"person","kind":"person","start":55,"end":66,"value":"Ion Systems","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ion Systems"]},"customers":{"required_absent":[],"required_present":["Ion Systems"]},"all":{"required_absent":[],"required_present":["Ion Systems"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-083","language":"fr","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=83 --message=\"Le client mentionne \" --credential=\"Ines Durand\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":59,"end":70,"value":"Ines Durand","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ines Durand"]},"customers":{"required_absent":["Ines Durand"],"required_present":[]},"all":{"required_absent":["Ines Durand"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-083","language":"fr","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=83 --message=\"Organisation publique \" --credential=\"Ion Systems\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":61,"end":72,"value":"Ion Systems","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ion Systems"]},"customers":{"required_absent":[],"required_present":["Ion Systems"]},"all":{"required_absent":[],"required_present":["Ion Systems"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-fr-redact-084","language":"fr","script":"Latin","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Le client mentionne Ines Esteves","known_identities":[],"targets":[{"id":"person","kind":"person","start":20,"end":32,"value":"Ines Esteves","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ines Esteves"]},"customers":{"required_absent":["Ines Esteves"],"required_present":[]},"all":{"required_absent":["Ines Esteves"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-fr-preserve-084","language":"fr","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Organisation publique Ion Collective","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":36,"value":"Ion Collective","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ion Collective"]},"customers":{"required_absent":[],"required_present":["Ion Collective"]},"all":{"required_absent":[],"required_present":["Ion Collective"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-fr-redact-085","language":"fr","script":"Latin","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_85\":\"Le client mentionne Ines Fischer\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":47,"value":"Ines Fischer","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ines Fischer"]},"customers":{"required_absent":["Ines Fischer"],"required_present":[]},"all":{"required_absent":["Ines Fischer"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-fr-preserve-085","language":"fr","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_85\":\"Organisation publique Ion Foundation\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":37,"end":51,"value":"Ion Foundation","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ion Foundation"]},"customers":{"required_absent":[],"required_present":["Ion Foundation"]},"all":{"required_absent":[],"required_present":["Ion Foundation"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-fr-redact-086","language":"fr","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_86: Le client mentionne Ines Garcia","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":43,"value":"Ines Garcia","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ines Garcia"]},"customers":{"required_absent":["Ines Garcia"],"required_present":[]},"all":{"required_absent":["Ines Garcia"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-fr-preserve-086","language":"fr","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_86: Organisation publique Ion Network","known_identities":[],"targets":[{"id":"person","kind":"person","start":34,"end":45,"value":"Ion Network","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ion Network"]},"customers":{"required_absent":[],"required_present":["Ion Network"]},"all":{"required_absent":[],"required_present":["Ion Network"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-086","language":"fr","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_86: \"Le client mentionne Ines Garcia\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":33,"end":44,"value":"Ines Garcia","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ines Garcia"]},"customers":{"required_absent":["Ines Garcia"],"required_present":[]},"all":{"required_absent":["Ines Garcia"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-086","language":"fr","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_86: \"Organisation publique Ion Network\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":46,"value":"Ion Network","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ion Network"]},"customers":{"required_absent":[],"required_present":["Ion Network"]},"all":{"required_absent":[],"required_present":["Ion Network"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-fr-redact-087","language":"fr","script":"Latin","shape":"shell","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_87='Le client mentionne Ines Holm'","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":41,"value":"Ines Holm","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ines Holm"]},"customers":{"required_absent":["Ines Holm"],"required_present":[]},"all":{"required_absent":["Ines Holm"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-fr-preserve-087","language":"fr","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_87='Organisation publique Ion Group'","known_identities":[],"targets":[{"id":"person","kind":"person","start":34,"end":43,"value":"Ion Group","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ion Group"]},"customers":{"required_absent":[],"required_present":["Ion Group"]},"all":{"required_absent":[],"required_present":["Ion Group"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-fr-redact-088","language":"fr","script":"Latin","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/88 ; Le client mentionne Ines Ibarra","known_identities":[],"targets":[{"id":"person","kind":"person","start":53,"end":64,"value":"Ines Ibarra","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ines Ibarra"]},"customers":{"required_absent":["Ines Ibarra"],"required_present":[]},"all":{"required_absent":["Ines Ibarra"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-fr-preserve-088","language":"fr","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/88 ; Organisation publique Ion Project","known_identities":[],"targets":[{"id":"person","kind":"person","start":55,"end":66,"value":"Ion Project","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ion Project"]},"customers":{"required_absent":[],"required_present":["Ion Project"]},"all":{"required_absent":[],"required_present":["Ion Project"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-fr-redact-089","language":"fr","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"**Le client mentionne Ines Jensen**","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":33,"value":"Ines Jensen","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ines Jensen"]},"customers":{"required_absent":["Ines Jensen"],"required_present":[]},"all":{"required_absent":["Ines Jensen"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-fr-preserve-089","language":"fr","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"**Organisation publique Ion Press**","known_identities":[],"targets":[{"id":"person","kind":"person","start":24,"end":33,"value":"Ion Press","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ion Press"]},"customers":{"required_absent":[],"required_present":["Ion Press"]},"all":{"required_absent":[],"required_present":["Ion Press"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-fr-redact-090","language":"fr","script":"Latin","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eLe client mentionne Jonas Arden\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":34,"value":"Jonas Arden","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Jonas Arden"]},"customers":{"required_absent":["Jonas Arden"],"required_present":[]},"all":{"required_absent":["Jonas Arden"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-fr-preserve-090","language":"fr","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eOrganisation publique Juniper Labs\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":25,"end":37,"value":"Juniper Labs","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Juniper Labs"]},"customers":{"required_absent":[],"required_present":["Juniper Labs"]},"all":{"required_absent":[],"required_present":["Juniper Labs"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-088","language":"fr","script":"Latin","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/88?credential=Ines Ibarra\u0026note=Le+client+mentionne+","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":53,"value":"Ines Ibarra","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ines Ibarra"]},"customers":{"required_absent":["Ines Ibarra"],"required_present":[]},"all":{"required_absent":["Ines Ibarra"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-088","language":"fr","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/88?credential=Ion Project\u0026note=Organisation+publique+","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":53,"value":"Ion Project","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ion Project"]},"customers":{"required_absent":[],"required_present":["Ion Project"]},"all":{"required_absent":[],"required_present":["Ion Project"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-089","language":"fr","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Le client mentionne `Ines Jensen`","known_identities":[],"targets":[{"id":"person","kind":"person","start":21,"end":32,"value":"Ines Jensen","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ines Jensen"]},"customers":{"required_absent":["Ines Jensen"],"required_present":[]},"all":{"required_absent":["Ines Jensen"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-089","language":"fr","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Organisation publique `Ion Press`","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":32,"value":"Ion Press","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ion Press"]},"customers":{"required_absent":[],"required_present":["Ion Press"]},"all":{"required_absent":[],"required_present":["Ion Press"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-090","language":"fr","script":"Latin","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eLe client mentionne \u003ccode\u003eJonas Arden\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":29,"end":40,"value":"Jonas Arden","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Jonas Arden"]},"customers":{"required_absent":["Jonas Arden"],"required_present":[]},"all":{"required_absent":["Jonas Arden"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-090","language":"fr","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eOrganisation publique \u003ccode\u003eJuniper Labs\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":43,"value":"Juniper Labs","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Juniper Labs"]},"customers":{"required_absent":[],"required_present":["Juniper Labs"]},"all":{"required_absent":[],"required_present":["Juniper Labs"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-fr-redact-091","language":"fr","script":"Latin","shape":"quoted-reply","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e Le client mentionne Jonas Borel","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":33,"value":"Jonas Borel","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Jonas Borel"]},"customers":{"required_absent":["Jonas Borel"],"required_present":[]},"all":{"required_absent":["Jonas Borel"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-fr-preserve-091","language":"fr","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e Organisation publique Juniper Works","known_identities":[],"targets":[{"id":"person","kind":"person","start":24,"end":37,"value":"Juniper Works","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Juniper Works"]},"customers":{"required_absent":[],"required_present":["Juniper Works"]},"all":{"required_absent":[],"required_present":["Juniper Works"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-fr-redact-092","language":"fr","script":"Latin","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=92 message=\"Le client mentionne \" value=Jonas Costa","known_identities":[],"targets":[{"id":"person","kind":"person","start":58,"end":69,"value":"Jonas Costa","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Jonas Costa"]},"customers":{"required_absent":["Jonas Costa"],"required_present":[]},"all":{"required_absent":["Jonas Costa"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-fr-preserve-092","language":"fr","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=92 message=\"Organisation publique \" value=Juniper Studio","known_identities":[],"targets":[{"id":"person","kind":"person","start":60,"end":74,"value":"Juniper Studio","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Juniper Studio"]},"customers":{"required_absent":[],"required_present":["Juniper Studio"]},"all":{"required_absent":[],"required_present":["Juniper Studio"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-092","language":"fr","script":"Latin","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=92 message=\"Le client mentionne \" credential=\"Jonas Costa\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":64,"end":75,"value":"Jonas Costa","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Jonas Costa"]},"customers":{"required_absent":["Jonas Costa"],"required_present":[]},"all":{"required_absent":["Jonas Costa"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-092","language":"fr","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=92 message=\"Organisation publique \" credential=\"Juniper Studio\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":66,"end":80,"value":"Juniper Studio","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Juniper Studio"]},"customers":{"required_absent":[],"required_present":["Juniper Studio"]},"all":{"required_absent":[],"required_present":["Juniper Studio"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-fr-redact-093","language":"fr","script":"Latin","shape":"stack-trace","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[93]: Le client mentionne Jonas Durand","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":43,"value":"Jonas Durand","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Jonas Durand"]},"customers":{"required_absent":["Jonas Durand"],"required_present":[]},"all":{"required_absent":["Jonas Durand"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-fr-preserve-093","language":"fr","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[93]: Organisation publique Juniper Systems","known_identities":[],"targets":[{"id":"person","kind":"person","start":33,"end":48,"value":"Juniper Systems","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Juniper Systems"]},"customers":{"required_absent":[],"required_present":["Juniper Systems"]},"all":{"required_absent":[],"required_present":["Juniper Systems"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-fr-redact-094","language":"fr","script":"Latin","shape":"code","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_94 := `Le client mentionne Jonas Esteves`","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":48,"value":"Jonas Esteves","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Jonas Esteves"]},"customers":{"required_absent":["Jonas Esteves"],"required_present":[]},"all":{"required_absent":["Jonas Esteves"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, @@ -396,8 +396,8 @@ {"id":"broad-language-fr-preserve-095","language":"fr","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--\nOrganisation publique Juniper Foundation","known_identities":[],"targets":[{"id":"person","kind":"person","start":25,"end":43,"value":"Juniper Foundation","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Juniper Foundation"]},"customers":{"required_absent":[],"required_present":["Juniper Foundation"]},"all":{"required_absent":[],"required_present":["Juniper Foundation"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-fr-redact-096","language":"fr","script":"Latin","shape":"long-thread","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Le client mentionne Jonas Garcia","known_identities":[],"targets":[{"id":"person","kind":"person","start":500,"end":512,"value":"Jonas Garcia","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Jonas Garcia"]},"customers":{"required_absent":["Jonas Garcia"],"required_present":[]},"all":{"required_absent":["Jonas Garcia"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-fr-preserve-096","language":"fr","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Organisation publique Juniper Network","known_identities":[],"targets":[{"id":"person","kind":"person","start":502,"end":517,"value":"Juniper Network","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Juniper Network"]},"customers":{"required_absent":[],"required_present":["Juniper Network"]},"all":{"required_absent":[],"required_present":["Juniper Network"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-fr-redact-097","language":"fr","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=97 --message=\"Le client mentionne \" --value=Jonas Holm","known_identities":[],"targets":[{"id":"person","kind":"person","start":53,"end":63,"value":"Jonas Holm","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Jonas Holm"]},"customers":{"required_absent":["Jonas Holm"],"required_present":[]},"all":{"required_absent":["Jonas Holm"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-fr-preserve-097","language":"fr","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=97 --message=\"Organisation publique \" --value=Juniper Group","known_identities":[],"targets":[{"id":"person","kind":"person","start":55,"end":68,"value":"Juniper Group","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Juniper Group"]},"customers":{"required_absent":[],"required_present":["Juniper Group"]},"all":{"required_absent":[],"required_present":["Juniper Group"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-redact-097","language":"fr","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=97 --message=\"Le client mentionne \" --credential=\"Jonas Holm\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":59,"end":69,"value":"Jonas Holm","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Jonas Holm"]},"customers":{"required_absent":["Jonas Holm"],"required_present":[]},"all":{"required_absent":["Jonas Holm"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-fr-preserve-097","language":"fr","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=97 --message=\"Organisation publique \" --credential=\"Juniper Group\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":61,"end":74,"value":"Juniper Group","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Juniper Group"]},"customers":{"required_absent":[],"required_present":["Juniper Group"]},"all":{"required_absent":[],"required_present":["Juniper Group"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-fr-redact-098","language":"fr","script":"Latin","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Le client mentionne Jonas Ibarra","known_identities":[],"targets":[{"id":"person","kind":"person","start":20,"end":32,"value":"Jonas Ibarra","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Jonas Ibarra"]},"customers":{"required_absent":["Jonas Ibarra"],"required_present":[]},"all":{"required_absent":["Jonas Ibarra"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-fr-preserve-098","language":"fr","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Organisation publique Juniper Project","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":37,"value":"Juniper Project","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Juniper Project"]},"customers":{"required_absent":[],"required_present":["Juniper Project"]},"all":{"required_absent":[],"required_present":["Juniper Project"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-fr-redact-099","language":"fr","script":"Latin","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_99\":\"Le client mentionne Jonas Jensen\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":47,"value":"Jonas Jensen","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Jonas Jensen"]},"customers":{"required_absent":["Jonas Jensen"],"required_present":[]},"all":{"required_absent":["Jonas Jensen"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, @@ -406,20 +406,20 @@ {"id":"broad-language-de-preserve-000","language":"de","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Öffentliche Organisation Atlas Labs","known_identities":[],"targets":[{"id":"person","kind":"person","start":26,"end":36,"value":"Atlas Labs","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Atlas Labs"]},"customers":{"required_absent":[],"required_present":["Atlas Labs"]},"all":{"required_absent":[],"required_present":["Atlas Labs"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-de-redact-001","language":"de","script":"Latin","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_1\":\"Der Kunde nennt Amina Borel\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":41,"value":"Amina Borel","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Amina Borel"]},"customers":{"required_absent":["Amina Borel"],"required_present":[]},"all":{"required_absent":["Amina Borel"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-de-preserve-001","language":"de","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_1\":\"Öffentliche Organisation Atlas Works\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":40,"end":51,"value":"Atlas Works","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Atlas Works"]},"customers":{"required_absent":[],"required_present":["Atlas Works"]},"all":{"required_absent":[],"required_present":["Atlas Works"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-de-redact-002","language":"de","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_2: Der Kunde nennt Amina Costa","known_identities":[],"targets":[{"id":"person","kind":"person","start":27,"end":38,"value":"Amina Costa","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Amina Costa"]},"customers":{"required_absent":["Amina Costa"],"required_present":[]},"all":{"required_absent":["Amina Costa"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-de-preserve-002","language":"de","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_2: Öffentliche Organisation Atlas Studio","known_identities":[],"targets":[{"id":"person","kind":"person","start":37,"end":49,"value":"Atlas Studio","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Atlas Studio"]},"customers":{"required_absent":[],"required_present":["Atlas Studio"]},"all":{"required_absent":[],"required_present":["Atlas Studio"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-002","language":"de","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_2: \"Der Kunde nennt Amina Costa\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":28,"end":39,"value":"Amina Costa","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Amina Costa"]},"customers":{"required_absent":["Amina Costa"],"required_present":[]},"all":{"required_absent":["Amina Costa"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-002","language":"de","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_2: \"Öffentliche Organisation Atlas Studio\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":38,"end":50,"value":"Atlas Studio","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Atlas Studio"]},"customers":{"required_absent":[],"required_present":["Atlas Studio"]},"all":{"required_absent":[],"required_present":["Atlas Studio"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-de-redact-003","language":"de","script":"Latin","shape":"shell","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_3='Der Kunde nennt Amina Durand'","known_identities":[],"targets":[{"id":"person","kind":"person","start":27,"end":39,"value":"Amina Durand","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Amina Durand"]},"customers":{"required_absent":["Amina Durand"],"required_present":[]},"all":{"required_absent":["Amina Durand"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-de-preserve-003","language":"de","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_3='Öffentliche Organisation Atlas Systems'","known_identities":[],"targets":[{"id":"person","kind":"person","start":37,"end":50,"value":"Atlas Systems","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Atlas Systems"]},"customers":{"required_absent":[],"required_present":["Atlas Systems"]},"all":{"required_absent":[],"required_present":["Atlas Systems"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-de-redact-004","language":"de","script":"Latin","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/4 ; Der Kunde nennt Amina Esteves","known_identities":[],"targets":[{"id":"person","kind":"person","start":48,"end":61,"value":"Amina Esteves","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Amina Esteves"]},"customers":{"required_absent":["Amina Esteves"],"required_present":[]},"all":{"required_absent":["Amina Esteves"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-de-preserve-004","language":"de","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/4 ; Öffentliche Organisation Atlas Collective","known_identities":[],"targets":[{"id":"person","kind":"person","start":58,"end":74,"value":"Atlas Collective","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Atlas Collective"]},"customers":{"required_absent":[],"required_present":["Atlas Collective"]},"all":{"required_absent":[],"required_present":["Atlas Collective"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-de-redact-005","language":"de","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"**Der Kunde nennt Amina Fischer**","known_identities":[],"targets":[{"id":"person","kind":"person","start":18,"end":31,"value":"Amina Fischer","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Amina Fischer"]},"customers":{"required_absent":["Amina Fischer"],"required_present":[]},"all":{"required_absent":["Amina Fischer"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-de-preserve-005","language":"de","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"**Öffentliche Organisation Atlas Foundation**","known_identities":[],"targets":[{"id":"person","kind":"person","start":28,"end":44,"value":"Atlas Foundation","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Atlas Foundation"]},"customers":{"required_absent":[],"required_present":["Atlas Foundation"]},"all":{"required_absent":[],"required_present":["Atlas Foundation"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-de-redact-006","language":"de","script":"Latin","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eDer Kunde nennt Amina Garcia\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":19,"end":31,"value":"Amina Garcia","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Amina Garcia"]},"customers":{"required_absent":["Amina Garcia"],"required_present":[]},"all":{"required_absent":["Amina Garcia"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-de-preserve-006","language":"de","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eÖffentliche Organisation Atlas Network\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":29,"end":42,"value":"Atlas Network","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Atlas Network"]},"customers":{"required_absent":[],"required_present":["Atlas Network"]},"all":{"required_absent":[],"required_present":["Atlas Network"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-004","language":"de","script":"Latin","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/4?credential=Amina Esteves\u0026note=Der+Kunde+nennt+","known_identities":[],"targets":[{"id":"person","kind":"person","start":41,"end":54,"value":"Amina Esteves","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Amina Esteves"]},"customers":{"required_absent":["Amina Esteves"],"required_present":[]},"all":{"required_absent":["Amina Esteves"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-004","language":"de","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/4?credential=Atlas Collective\u0026note=%C3%96ffentliche+Organisation+","known_identities":[],"targets":[{"id":"person","kind":"person","start":41,"end":57,"value":"Atlas Collective","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Atlas Collective"]},"customers":{"required_absent":[],"required_present":["Atlas Collective"]},"all":{"required_absent":[],"required_present":["Atlas Collective"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-005","language":"de","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Der Kunde nennt `Amina Fischer`","known_identities":[],"targets":[{"id":"person","kind":"person","start":17,"end":30,"value":"Amina Fischer","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Amina Fischer"]},"customers":{"required_absent":["Amina Fischer"],"required_present":[]},"all":{"required_absent":["Amina Fischer"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-005","language":"de","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Öffentliche Organisation `Atlas Foundation`","known_identities":[],"targets":[{"id":"person","kind":"person","start":27,"end":43,"value":"Atlas Foundation","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Atlas Foundation"]},"customers":{"required_absent":[],"required_present":["Atlas Foundation"]},"all":{"required_absent":[],"required_present":["Atlas Foundation"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-006","language":"de","script":"Latin","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eDer Kunde nennt \u003ccode\u003eAmina Garcia\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":25,"end":37,"value":"Amina Garcia","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Amina Garcia"]},"customers":{"required_absent":["Amina Garcia"],"required_present":[]},"all":{"required_absent":["Amina Garcia"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-006","language":"de","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eÖffentliche Organisation \u003ccode\u003eAtlas Network\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":48,"value":"Atlas Network","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Atlas Network"]},"customers":{"required_absent":[],"required_present":["Atlas Network"]},"all":{"required_absent":[],"required_present":["Atlas Network"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-de-redact-007","language":"de","script":"Latin","shape":"quoted-reply","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e Der Kunde nennt Amina Holm","known_identities":[],"targets":[{"id":"person","kind":"person","start":18,"end":28,"value":"Amina Holm","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Amina Holm"]},"customers":{"required_absent":["Amina Holm"],"required_present":[]},"all":{"required_absent":["Amina Holm"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-de-preserve-007","language":"de","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e Öffentliche Organisation Atlas Group","known_identities":[],"targets":[{"id":"person","kind":"person","start":28,"end":39,"value":"Atlas Group","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Atlas Group"]},"customers":{"required_absent":[],"required_present":["Atlas Group"]},"all":{"required_absent":[],"required_present":["Atlas Group"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-de-redact-008","language":"de","script":"Latin","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=8 message=\"Der Kunde nennt \" value=Amina Ibarra","known_identities":[],"targets":[{"id":"person","kind":"person","start":53,"end":65,"value":"Amina Ibarra","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Amina Ibarra"]},"customers":{"required_absent":["Amina Ibarra"],"required_present":[]},"all":{"required_absent":["Amina Ibarra"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-de-preserve-008","language":"de","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=8 message=\"Öffentliche Organisation \" value=Atlas Project","known_identities":[],"targets":[{"id":"person","kind":"person","start":63,"end":76,"value":"Atlas Project","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Atlas Project"]},"customers":{"required_absent":[],"required_present":["Atlas Project"]},"all":{"required_absent":[],"required_present":["Atlas Project"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-008","language":"de","script":"Latin","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=8 message=\"Der Kunde nennt \" credential=\"Amina Ibarra\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":59,"end":71,"value":"Amina Ibarra","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Amina Ibarra"]},"customers":{"required_absent":["Amina Ibarra"],"required_present":[]},"all":{"required_absent":["Amina Ibarra"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-008","language":"de","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=8 message=\"Öffentliche Organisation \" credential=\"Atlas Project\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":69,"end":82,"value":"Atlas Project","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Atlas Project"]},"customers":{"required_absent":[],"required_present":["Atlas Project"]},"all":{"required_absent":[],"required_present":["Atlas Project"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-de-redact-009","language":"de","script":"Latin","shape":"stack-trace","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[9]: Der Kunde nennt Amina Jensen","known_identities":[],"targets":[{"id":"person","kind":"person","start":26,"end":38,"value":"Amina Jensen","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Amina Jensen"]},"customers":{"required_absent":["Amina Jensen"],"required_present":[]},"all":{"required_absent":["Amina Jensen"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-de-preserve-009","language":"de","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[9]: Öffentliche Organisation Atlas Press","known_identities":[],"targets":[{"id":"person","kind":"person","start":36,"end":47,"value":"Atlas Press","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Atlas Press"]},"customers":{"required_absent":[],"required_present":["Atlas Press"]},"all":{"required_absent":[],"required_present":["Atlas Press"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-de-redact-010","language":"de","script":"Latin","shape":"code","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_10 := `Der Kunde nennt Bruno Arden`","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":42,"value":"Bruno Arden","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bruno Arden"]},"customers":{"required_absent":["Bruno Arden"],"required_present":[]},"all":{"required_absent":["Bruno Arden"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, @@ -428,26 +428,26 @@ {"id":"broad-language-de-preserve-011","language":"de","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--\nÖffentliche Organisation Boreal Works","known_identities":[],"targets":[{"id":"person","kind":"person","start":29,"end":41,"value":"Boreal Works","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Boreal Works"]},"customers":{"required_absent":[],"required_present":["Boreal Works"]},"all":{"required_absent":[],"required_present":["Boreal Works"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-de-redact-012","language":"de","script":"Latin","shape":"long-thread","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Der Kunde nennt Bruno Costa","known_identities":[],"targets":[{"id":"person","kind":"person","start":496,"end":507,"value":"Bruno Costa","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bruno Costa"]},"customers":{"required_absent":["Bruno Costa"],"required_present":[]},"all":{"required_absent":["Bruno Costa"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-de-preserve-012","language":"de","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Öffentliche Organisation Boreal Studio","known_identities":[],"targets":[{"id":"person","kind":"person","start":506,"end":519,"value":"Boreal Studio","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Boreal Studio"]},"customers":{"required_absent":[],"required_present":["Boreal Studio"]},"all":{"required_absent":[],"required_present":["Boreal Studio"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-de-redact-013","language":"de","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=13 --message=\"Der Kunde nennt \" --value=Bruno Durand","known_identities":[],"targets":[{"id":"person","kind":"person","start":49,"end":61,"value":"Bruno Durand","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bruno Durand"]},"customers":{"required_absent":["Bruno Durand"],"required_present":[]},"all":{"required_absent":["Bruno Durand"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-de-preserve-013","language":"de","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=13 --message=\"Öffentliche Organisation \" --value=Boreal Systems","known_identities":[],"targets":[{"id":"person","kind":"person","start":59,"end":73,"value":"Boreal Systems","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Boreal Systems"]},"customers":{"required_absent":[],"required_present":["Boreal Systems"]},"all":{"required_absent":[],"required_present":["Boreal Systems"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-013","language":"de","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=13 --message=\"Der Kunde nennt \" --credential=\"Bruno Durand\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":55,"end":67,"value":"Bruno Durand","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bruno Durand"]},"customers":{"required_absent":["Bruno Durand"],"required_present":[]},"all":{"required_absent":["Bruno Durand"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-013","language":"de","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=13 --message=\"Öffentliche Organisation \" --credential=\"Boreal Systems\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":65,"end":79,"value":"Boreal Systems","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Boreal Systems"]},"customers":{"required_absent":[],"required_present":["Boreal Systems"]},"all":{"required_absent":[],"required_present":["Boreal Systems"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-de-redact-014","language":"de","script":"Latin","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Der Kunde nennt Bruno Esteves","known_identities":[],"targets":[{"id":"person","kind":"person","start":16,"end":29,"value":"Bruno Esteves","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bruno Esteves"]},"customers":{"required_absent":["Bruno Esteves"],"required_present":[]},"all":{"required_absent":["Bruno Esteves"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-de-preserve-014","language":"de","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Öffentliche Organisation Boreal Collective","known_identities":[],"targets":[{"id":"person","kind":"person","start":26,"end":43,"value":"Boreal Collective","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Boreal Collective"]},"customers":{"required_absent":[],"required_present":["Boreal Collective"]},"all":{"required_absent":[],"required_present":["Boreal Collective"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-de-redact-015","language":"de","script":"Latin","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_15\":\"Der Kunde nennt Bruno Fischer\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":44,"value":"Bruno Fischer","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bruno Fischer"]},"customers":{"required_absent":["Bruno Fischer"],"required_present":[]},"all":{"required_absent":["Bruno Fischer"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-de-preserve-015","language":"de","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_15\":\"Öffentliche Organisation Boreal Foundation\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":41,"end":58,"value":"Boreal Foundation","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Boreal Foundation"]},"customers":{"required_absent":[],"required_present":["Boreal Foundation"]},"all":{"required_absent":[],"required_present":["Boreal Foundation"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-de-redact-016","language":"de","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_16: Der Kunde nennt Bruno Garcia","known_identities":[],"targets":[{"id":"person","kind":"person","start":28,"end":40,"value":"Bruno Garcia","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bruno Garcia"]},"customers":{"required_absent":["Bruno Garcia"],"required_present":[]},"all":{"required_absent":["Bruno Garcia"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-de-preserve-016","language":"de","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_16: Öffentliche Organisation Boreal Network","known_identities":[],"targets":[{"id":"person","kind":"person","start":38,"end":52,"value":"Boreal Network","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Boreal Network"]},"customers":{"required_absent":[],"required_present":["Boreal Network"]},"all":{"required_absent":[],"required_present":["Boreal Network"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-016","language":"de","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_16: \"Der Kunde nennt Bruno Garcia\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":29,"end":41,"value":"Bruno Garcia","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bruno Garcia"]},"customers":{"required_absent":["Bruno Garcia"],"required_present":[]},"all":{"required_absent":["Bruno Garcia"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-016","language":"de","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_16: \"Öffentliche Organisation Boreal Network\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":39,"end":53,"value":"Boreal Network","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Boreal Network"]},"customers":{"required_absent":[],"required_present":["Boreal Network"]},"all":{"required_absent":[],"required_present":["Boreal Network"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-de-redact-017","language":"de","script":"Latin","shape":"shell","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_17='Der Kunde nennt Bruno Holm'","known_identities":[],"targets":[{"id":"person","kind":"person","start":28,"end":38,"value":"Bruno Holm","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bruno Holm"]},"customers":{"required_absent":["Bruno Holm"],"required_present":[]},"all":{"required_absent":["Bruno Holm"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-de-preserve-017","language":"de","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_17='Öffentliche Organisation Boreal Group'","known_identities":[],"targets":[{"id":"person","kind":"person","start":38,"end":50,"value":"Boreal Group","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Boreal Group"]},"customers":{"required_absent":[],"required_present":["Boreal Group"]},"all":{"required_absent":[],"required_present":["Boreal Group"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-de-redact-018","language":"de","script":"Latin","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/18 ; Der Kunde nennt Bruno Ibarra","known_identities":[],"targets":[{"id":"person","kind":"person","start":49,"end":61,"value":"Bruno Ibarra","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bruno Ibarra"]},"customers":{"required_absent":["Bruno Ibarra"],"required_present":[]},"all":{"required_absent":["Bruno Ibarra"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-de-preserve-018","language":"de","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/18 ; Öffentliche Organisation Boreal Project","known_identities":[],"targets":[{"id":"person","kind":"person","start":59,"end":73,"value":"Boreal Project","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Boreal Project"]},"customers":{"required_absent":[],"required_present":["Boreal Project"]},"all":{"required_absent":[],"required_present":["Boreal Project"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-de-redact-019","language":"de","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"**Der Kunde nennt Bruno Jensen**","known_identities":[],"targets":[{"id":"person","kind":"person","start":18,"end":30,"value":"Bruno Jensen","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bruno Jensen"]},"customers":{"required_absent":["Bruno Jensen"],"required_present":[]},"all":{"required_absent":["Bruno Jensen"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-de-preserve-019","language":"de","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"**Öffentliche Organisation Boreal Press**","known_identities":[],"targets":[{"id":"person","kind":"person","start":28,"end":40,"value":"Boreal Press","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Boreal Press"]},"customers":{"required_absent":[],"required_present":["Boreal Press"]},"all":{"required_absent":[],"required_present":["Boreal Press"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-de-redact-020","language":"de","script":"Latin","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eDer Kunde nennt Clara Arden\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":19,"end":30,"value":"Clara Arden","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Clara Arden"]},"customers":{"required_absent":["Clara Arden"],"required_present":[]},"all":{"required_absent":["Clara Arden"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-de-preserve-020","language":"de","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eÖffentliche Organisation Cedar Labs\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":29,"end":39,"value":"Cedar Labs","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Cedar Labs"]},"customers":{"required_absent":[],"required_present":["Cedar Labs"]},"all":{"required_absent":[],"required_present":["Cedar Labs"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-018","language":"de","script":"Latin","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/18?credential=Bruno Ibarra\u0026note=Der+Kunde+nennt+","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":54,"value":"Bruno Ibarra","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bruno Ibarra"]},"customers":{"required_absent":["Bruno Ibarra"],"required_present":[]},"all":{"required_absent":["Bruno Ibarra"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-018","language":"de","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/18?credential=Boreal Project\u0026note=%C3%96ffentliche+Organisation+","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":56,"value":"Boreal Project","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Boreal Project"]},"customers":{"required_absent":[],"required_present":["Boreal Project"]},"all":{"required_absent":[],"required_present":["Boreal Project"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-019","language":"de","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Der Kunde nennt `Bruno Jensen`","known_identities":[],"targets":[{"id":"person","kind":"person","start":17,"end":29,"value":"Bruno Jensen","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bruno Jensen"]},"customers":{"required_absent":["Bruno Jensen"],"required_present":[]},"all":{"required_absent":["Bruno Jensen"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-019","language":"de","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Öffentliche Organisation `Boreal Press`","known_identities":[],"targets":[{"id":"person","kind":"person","start":27,"end":39,"value":"Boreal Press","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Boreal Press"]},"customers":{"required_absent":[],"required_present":["Boreal Press"]},"all":{"required_absent":[],"required_present":["Boreal Press"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-020","language":"de","script":"Latin","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eDer Kunde nennt \u003ccode\u003eClara Arden\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":25,"end":36,"value":"Clara Arden","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Clara Arden"]},"customers":{"required_absent":["Clara Arden"],"required_present":[]},"all":{"required_absent":["Clara Arden"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-020","language":"de","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eÖffentliche Organisation \u003ccode\u003eCedar Labs\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":45,"value":"Cedar Labs","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Cedar Labs"]},"customers":{"required_absent":[],"required_present":["Cedar Labs"]},"all":{"required_absent":[],"required_present":["Cedar Labs"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-de-redact-021","language":"de","script":"Latin","shape":"quoted-reply","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e Der Kunde nennt Clara Borel","known_identities":[],"targets":[{"id":"person","kind":"person","start":18,"end":29,"value":"Clara Borel","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Clara Borel"]},"customers":{"required_absent":["Clara Borel"],"required_present":[]},"all":{"required_absent":["Clara Borel"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-de-preserve-021","language":"de","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e Öffentliche Organisation Cedar Works","known_identities":[],"targets":[{"id":"person","kind":"person","start":28,"end":39,"value":"Cedar Works","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Cedar Works"]},"customers":{"required_absent":[],"required_present":["Cedar Works"]},"all":{"required_absent":[],"required_present":["Cedar Works"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-de-redact-022","language":"de","script":"Latin","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=22 message=\"Der Kunde nennt \" value=Clara Costa","known_identities":[],"targets":[{"id":"person","kind":"person","start":54,"end":65,"value":"Clara Costa","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Clara Costa"]},"customers":{"required_absent":["Clara Costa"],"required_present":[]},"all":{"required_absent":["Clara Costa"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-de-preserve-022","language":"de","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=22 message=\"Öffentliche Organisation \" value=Cedar Studio","known_identities":[],"targets":[{"id":"person","kind":"person","start":64,"end":76,"value":"Cedar Studio","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Cedar Studio"]},"customers":{"required_absent":[],"required_present":["Cedar Studio"]},"all":{"required_absent":[],"required_present":["Cedar Studio"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-022","language":"de","script":"Latin","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=22 message=\"Der Kunde nennt \" credential=\"Clara Costa\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":60,"end":71,"value":"Clara Costa","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Clara Costa"]},"customers":{"required_absent":["Clara Costa"],"required_present":[]},"all":{"required_absent":["Clara Costa"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-022","language":"de","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=22 message=\"Öffentliche Organisation \" credential=\"Cedar Studio\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":70,"end":82,"value":"Cedar Studio","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Cedar Studio"]},"customers":{"required_absent":[],"required_present":["Cedar Studio"]},"all":{"required_absent":[],"required_present":["Cedar Studio"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-de-redact-023","language":"de","script":"Latin","shape":"stack-trace","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[23]: Der Kunde nennt Clara Durand","known_identities":[],"targets":[{"id":"person","kind":"person","start":27,"end":39,"value":"Clara Durand","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Clara Durand"]},"customers":{"required_absent":["Clara Durand"],"required_present":[]},"all":{"required_absent":["Clara Durand"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-de-preserve-023","language":"de","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[23]: Öffentliche Organisation Cedar Systems","known_identities":[],"targets":[{"id":"person","kind":"person","start":37,"end":50,"value":"Cedar Systems","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Cedar Systems"]},"customers":{"required_absent":[],"required_present":["Cedar Systems"]},"all":{"required_absent":[],"required_present":["Cedar Systems"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-de-redact-024","language":"de","script":"Latin","shape":"code","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_24 := `Der Kunde nennt Clara Esteves`","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":44,"value":"Clara Esteves","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Clara Esteves"]},"customers":{"required_absent":["Clara Esteves"],"required_present":[]},"all":{"required_absent":["Clara Esteves"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, @@ -456,26 +456,26 @@ {"id":"broad-language-de-preserve-025","language":"de","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--\nÖffentliche Organisation Cedar Foundation","known_identities":[],"targets":[{"id":"person","kind":"person","start":29,"end":45,"value":"Cedar Foundation","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Cedar Foundation"]},"customers":{"required_absent":[],"required_present":["Cedar Foundation"]},"all":{"required_absent":[],"required_present":["Cedar Foundation"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-de-redact-026","language":"de","script":"Latin","shape":"long-thread","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Der Kunde nennt Clara Garcia","known_identities":[],"targets":[{"id":"person","kind":"person","start":496,"end":508,"value":"Clara Garcia","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Clara Garcia"]},"customers":{"required_absent":["Clara Garcia"],"required_present":[]},"all":{"required_absent":["Clara Garcia"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-de-preserve-026","language":"de","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Öffentliche Organisation Cedar Network","known_identities":[],"targets":[{"id":"person","kind":"person","start":506,"end":519,"value":"Cedar Network","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Cedar Network"]},"customers":{"required_absent":[],"required_present":["Cedar Network"]},"all":{"required_absent":[],"required_present":["Cedar Network"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-de-redact-027","language":"de","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=27 --message=\"Der Kunde nennt \" --value=Clara Holm","known_identities":[],"targets":[{"id":"person","kind":"person","start":49,"end":59,"value":"Clara Holm","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Clara Holm"]},"customers":{"required_absent":["Clara Holm"],"required_present":[]},"all":{"required_absent":["Clara Holm"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-de-preserve-027","language":"de","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=27 --message=\"Öffentliche Organisation \" --value=Cedar Group","known_identities":[],"targets":[{"id":"person","kind":"person","start":59,"end":70,"value":"Cedar Group","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Cedar Group"]},"customers":{"required_absent":[],"required_present":["Cedar Group"]},"all":{"required_absent":[],"required_present":["Cedar Group"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-027","language":"de","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=27 --message=\"Der Kunde nennt \" --credential=\"Clara Holm\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":55,"end":65,"value":"Clara Holm","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Clara Holm"]},"customers":{"required_absent":["Clara Holm"],"required_present":[]},"all":{"required_absent":["Clara Holm"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-027","language":"de","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=27 --message=\"Öffentliche Organisation \" --credential=\"Cedar Group\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":65,"end":76,"value":"Cedar Group","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Cedar Group"]},"customers":{"required_absent":[],"required_present":["Cedar Group"]},"all":{"required_absent":[],"required_present":["Cedar Group"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-de-redact-028","language":"de","script":"Latin","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Der Kunde nennt Clara Ibarra","known_identities":[],"targets":[{"id":"person","kind":"person","start":16,"end":28,"value":"Clara Ibarra","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Clara Ibarra"]},"customers":{"required_absent":["Clara Ibarra"],"required_present":[]},"all":{"required_absent":["Clara Ibarra"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-de-preserve-028","language":"de","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Öffentliche Organisation Cedar Project","known_identities":[],"targets":[{"id":"person","kind":"person","start":26,"end":39,"value":"Cedar Project","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Cedar Project"]},"customers":{"required_absent":[],"required_present":["Cedar Project"]},"all":{"required_absent":[],"required_present":["Cedar Project"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-de-redact-029","language":"de","script":"Latin","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_29\":\"Der Kunde nennt Clara Jensen\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":43,"value":"Clara Jensen","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Clara Jensen"]},"customers":{"required_absent":["Clara Jensen"],"required_present":[]},"all":{"required_absent":["Clara Jensen"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-de-preserve-029","language":"de","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_29\":\"Öffentliche Organisation Cedar Press\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":41,"end":52,"value":"Cedar Press","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Cedar Press"]},"customers":{"required_absent":[],"required_present":["Cedar Press"]},"all":{"required_absent":[],"required_present":["Cedar Press"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-de-redact-030","language":"de","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_30: Der Kunde nennt Diego Arden","known_identities":[],"targets":[{"id":"person","kind":"person","start":28,"end":39,"value":"Diego Arden","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Diego Arden"]},"customers":{"required_absent":["Diego Arden"],"required_present":[]},"all":{"required_absent":["Diego Arden"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-de-preserve-030","language":"de","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_30: Öffentliche Organisation Delta Labs","known_identities":[],"targets":[{"id":"person","kind":"person","start":38,"end":48,"value":"Delta Labs","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Delta Labs"]},"customers":{"required_absent":[],"required_present":["Delta Labs"]},"all":{"required_absent":[],"required_present":["Delta Labs"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-030","language":"de","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_30: \"Der Kunde nennt Diego Arden\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":29,"end":40,"value":"Diego Arden","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Diego Arden"]},"customers":{"required_absent":["Diego Arden"],"required_present":[]},"all":{"required_absent":["Diego Arden"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-030","language":"de","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_30: \"Öffentliche Organisation Delta Labs\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":39,"end":49,"value":"Delta Labs","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Delta Labs"]},"customers":{"required_absent":[],"required_present":["Delta Labs"]},"all":{"required_absent":[],"required_present":["Delta Labs"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-de-redact-031","language":"de","script":"Latin","shape":"shell","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_31='Der Kunde nennt Diego Borel'","known_identities":[],"targets":[{"id":"person","kind":"person","start":28,"end":39,"value":"Diego Borel","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Diego Borel"]},"customers":{"required_absent":["Diego Borel"],"required_present":[]},"all":{"required_absent":["Diego Borel"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-de-preserve-031","language":"de","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_31='Öffentliche Organisation Delta Works'","known_identities":[],"targets":[{"id":"person","kind":"person","start":38,"end":49,"value":"Delta Works","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Delta Works"]},"customers":{"required_absent":[],"required_present":["Delta Works"]},"all":{"required_absent":[],"required_present":["Delta Works"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-de-redact-032","language":"de","script":"Latin","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/32 ; Der Kunde nennt Diego Costa","known_identities":[],"targets":[{"id":"person","kind":"person","start":49,"end":60,"value":"Diego Costa","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Diego Costa"]},"customers":{"required_absent":["Diego Costa"],"required_present":[]},"all":{"required_absent":["Diego Costa"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-de-preserve-032","language":"de","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/32 ; Öffentliche Organisation Delta Studio","known_identities":[],"targets":[{"id":"person","kind":"person","start":59,"end":71,"value":"Delta Studio","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Delta Studio"]},"customers":{"required_absent":[],"required_present":["Delta Studio"]},"all":{"required_absent":[],"required_present":["Delta Studio"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-de-redact-033","language":"de","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"**Der Kunde nennt Diego Durand**","known_identities":[],"targets":[{"id":"person","kind":"person","start":18,"end":30,"value":"Diego Durand","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Diego Durand"]},"customers":{"required_absent":["Diego Durand"],"required_present":[]},"all":{"required_absent":["Diego Durand"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-de-preserve-033","language":"de","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"**Öffentliche Organisation Delta Systems**","known_identities":[],"targets":[{"id":"person","kind":"person","start":28,"end":41,"value":"Delta Systems","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Delta Systems"]},"customers":{"required_absent":[],"required_present":["Delta Systems"]},"all":{"required_absent":[],"required_present":["Delta Systems"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-de-redact-034","language":"de","script":"Latin","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eDer Kunde nennt Diego Esteves\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":19,"end":32,"value":"Diego Esteves","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Diego Esteves"]},"customers":{"required_absent":["Diego Esteves"],"required_present":[]},"all":{"required_absent":["Diego Esteves"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-de-preserve-034","language":"de","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eÖffentliche Organisation Delta Collective\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":29,"end":45,"value":"Delta Collective","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Delta Collective"]},"customers":{"required_absent":[],"required_present":["Delta Collective"]},"all":{"required_absent":[],"required_present":["Delta Collective"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-032","language":"de","script":"Latin","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/32?credential=Diego Costa\u0026note=Der+Kunde+nennt+","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":53,"value":"Diego Costa","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Diego Costa"]},"customers":{"required_absent":["Diego Costa"],"required_present":[]},"all":{"required_absent":["Diego Costa"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-032","language":"de","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/32?credential=Delta Studio\u0026note=%C3%96ffentliche+Organisation+","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":54,"value":"Delta Studio","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Delta Studio"]},"customers":{"required_absent":[],"required_present":["Delta Studio"]},"all":{"required_absent":[],"required_present":["Delta Studio"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-033","language":"de","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Der Kunde nennt `Diego Durand`","known_identities":[],"targets":[{"id":"person","kind":"person","start":17,"end":29,"value":"Diego Durand","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Diego Durand"]},"customers":{"required_absent":["Diego Durand"],"required_present":[]},"all":{"required_absent":["Diego Durand"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-033","language":"de","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Öffentliche Organisation `Delta Systems`","known_identities":[],"targets":[{"id":"person","kind":"person","start":27,"end":40,"value":"Delta Systems","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Delta Systems"]},"customers":{"required_absent":[],"required_present":["Delta Systems"]},"all":{"required_absent":[],"required_present":["Delta Systems"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-034","language":"de","script":"Latin","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eDer Kunde nennt \u003ccode\u003eDiego Esteves\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":25,"end":38,"value":"Diego Esteves","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Diego Esteves"]},"customers":{"required_absent":["Diego Esteves"],"required_present":[]},"all":{"required_absent":["Diego Esteves"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-034","language":"de","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eÖffentliche Organisation \u003ccode\u003eDelta Collective\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":51,"value":"Delta Collective","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Delta Collective"]},"customers":{"required_absent":[],"required_present":["Delta Collective"]},"all":{"required_absent":[],"required_present":["Delta Collective"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-de-redact-035","language":"de","script":"Latin","shape":"quoted-reply","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e Der Kunde nennt Diego Fischer","known_identities":[],"targets":[{"id":"person","kind":"person","start":18,"end":31,"value":"Diego Fischer","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Diego Fischer"]},"customers":{"required_absent":["Diego Fischer"],"required_present":[]},"all":{"required_absent":["Diego Fischer"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-de-preserve-035","language":"de","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e Öffentliche Organisation Delta Foundation","known_identities":[],"targets":[{"id":"person","kind":"person","start":28,"end":44,"value":"Delta Foundation","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Delta Foundation"]},"customers":{"required_absent":[],"required_present":["Delta Foundation"]},"all":{"required_absent":[],"required_present":["Delta Foundation"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-de-redact-036","language":"de","script":"Latin","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=36 message=\"Der Kunde nennt \" value=Diego Garcia","known_identities":[],"targets":[{"id":"person","kind":"person","start":54,"end":66,"value":"Diego Garcia","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Diego Garcia"]},"customers":{"required_absent":["Diego Garcia"],"required_present":[]},"all":{"required_absent":["Diego Garcia"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-de-preserve-036","language":"de","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=36 message=\"Öffentliche Organisation \" value=Delta Network","known_identities":[],"targets":[{"id":"person","kind":"person","start":64,"end":77,"value":"Delta Network","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Delta Network"]},"customers":{"required_absent":[],"required_present":["Delta Network"]},"all":{"required_absent":[],"required_present":["Delta Network"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-036","language":"de","script":"Latin","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=36 message=\"Der Kunde nennt \" credential=\"Diego Garcia\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":60,"end":72,"value":"Diego Garcia","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Diego Garcia"]},"customers":{"required_absent":["Diego Garcia"],"required_present":[]},"all":{"required_absent":["Diego Garcia"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-036","language":"de","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=36 message=\"Öffentliche Organisation \" credential=\"Delta Network\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":70,"end":83,"value":"Delta Network","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Delta Network"]},"customers":{"required_absent":[],"required_present":["Delta Network"]},"all":{"required_absent":[],"required_present":["Delta Network"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-de-redact-037","language":"de","script":"Latin","shape":"stack-trace","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[37]: Der Kunde nennt Diego Holm","known_identities":[],"targets":[{"id":"person","kind":"person","start":27,"end":37,"value":"Diego Holm","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Diego Holm"]},"customers":{"required_absent":["Diego Holm"],"required_present":[]},"all":{"required_absent":["Diego Holm"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-de-preserve-037","language":"de","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[37]: Öffentliche Organisation Delta Group","known_identities":[],"targets":[{"id":"person","kind":"person","start":37,"end":48,"value":"Delta Group","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Delta Group"]},"customers":{"required_absent":[],"required_present":["Delta Group"]},"all":{"required_absent":[],"required_present":["Delta Group"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-de-redact-038","language":"de","script":"Latin","shape":"code","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_38 := `Der Kunde nennt Diego Ibarra`","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":43,"value":"Diego Ibarra","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Diego Ibarra"]},"customers":{"required_absent":["Diego Ibarra"],"required_present":[]},"all":{"required_absent":["Diego Ibarra"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, @@ -484,26 +484,26 @@ {"id":"broad-language-de-preserve-039","language":"de","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--\nÖffentliche Organisation Delta Press","known_identities":[],"targets":[{"id":"person","kind":"person","start":29,"end":40,"value":"Delta Press","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Delta Press"]},"customers":{"required_absent":[],"required_present":["Delta Press"]},"all":{"required_absent":[],"required_present":["Delta Press"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-de-redact-040","language":"de","script":"Latin","shape":"long-thread","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Der Kunde nennt Elena Arden","known_identities":[],"targets":[{"id":"person","kind":"person","start":496,"end":507,"value":"Elena Arden","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Elena Arden"]},"customers":{"required_absent":["Elena Arden"],"required_present":[]},"all":{"required_absent":["Elena Arden"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-de-preserve-040","language":"de","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Öffentliche Organisation Ember Labs","known_identities":[],"targets":[{"id":"person","kind":"person","start":506,"end":516,"value":"Ember Labs","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ember Labs"]},"customers":{"required_absent":[],"required_present":["Ember Labs"]},"all":{"required_absent":[],"required_present":["Ember Labs"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-de-redact-041","language":"de","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=41 --message=\"Der Kunde nennt \" --value=Elena Borel","known_identities":[],"targets":[{"id":"person","kind":"person","start":49,"end":60,"value":"Elena Borel","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Elena Borel"]},"customers":{"required_absent":["Elena Borel"],"required_present":[]},"all":{"required_absent":["Elena Borel"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-de-preserve-041","language":"de","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=41 --message=\"Öffentliche Organisation \" --value=Ember Works","known_identities":[],"targets":[{"id":"person","kind":"person","start":59,"end":70,"value":"Ember Works","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ember Works"]},"customers":{"required_absent":[],"required_present":["Ember Works"]},"all":{"required_absent":[],"required_present":["Ember Works"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-041","language":"de","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=41 --message=\"Der Kunde nennt \" --credential=\"Elena Borel\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":55,"end":66,"value":"Elena Borel","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Elena Borel"]},"customers":{"required_absent":["Elena Borel"],"required_present":[]},"all":{"required_absent":["Elena Borel"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-041","language":"de","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=41 --message=\"Öffentliche Organisation \" --credential=\"Ember Works\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":65,"end":76,"value":"Ember Works","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ember Works"]},"customers":{"required_absent":[],"required_present":["Ember Works"]},"all":{"required_absent":[],"required_present":["Ember Works"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-de-redact-042","language":"de","script":"Latin","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Der Kunde nennt Elena Costa","known_identities":[],"targets":[{"id":"person","kind":"person","start":16,"end":27,"value":"Elena Costa","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Elena Costa"]},"customers":{"required_absent":["Elena Costa"],"required_present":[]},"all":{"required_absent":["Elena Costa"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-de-preserve-042","language":"de","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Öffentliche Organisation Ember Studio","known_identities":[],"targets":[{"id":"person","kind":"person","start":26,"end":38,"value":"Ember Studio","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ember Studio"]},"customers":{"required_absent":[],"required_present":["Ember Studio"]},"all":{"required_absent":[],"required_present":["Ember Studio"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-de-redact-043","language":"de","script":"Latin","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_43\":\"Der Kunde nennt Elena Durand\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":43,"value":"Elena Durand","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Elena Durand"]},"customers":{"required_absent":["Elena Durand"],"required_present":[]},"all":{"required_absent":["Elena Durand"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-de-preserve-043","language":"de","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_43\":\"Öffentliche Organisation Ember Systems\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":41,"end":54,"value":"Ember Systems","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ember Systems"]},"customers":{"required_absent":[],"required_present":["Ember Systems"]},"all":{"required_absent":[],"required_present":["Ember Systems"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-de-redact-044","language":"de","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_44: Der Kunde nennt Elena Esteves","known_identities":[],"targets":[{"id":"person","kind":"person","start":28,"end":41,"value":"Elena Esteves","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Elena Esteves"]},"customers":{"required_absent":["Elena Esteves"],"required_present":[]},"all":{"required_absent":["Elena Esteves"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-de-preserve-044","language":"de","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_44: Öffentliche Organisation Ember Collective","known_identities":[],"targets":[{"id":"person","kind":"person","start":38,"end":54,"value":"Ember Collective","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ember Collective"]},"customers":{"required_absent":[],"required_present":["Ember Collective"]},"all":{"required_absent":[],"required_present":["Ember Collective"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-044","language":"de","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_44: \"Der Kunde nennt Elena Esteves\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":29,"end":42,"value":"Elena Esteves","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Elena Esteves"]},"customers":{"required_absent":["Elena Esteves"],"required_present":[]},"all":{"required_absent":["Elena Esteves"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-044","language":"de","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_44: \"Öffentliche Organisation Ember Collective\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":39,"end":55,"value":"Ember Collective","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ember Collective"]},"customers":{"required_absent":[],"required_present":["Ember Collective"]},"all":{"required_absent":[],"required_present":["Ember Collective"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-de-redact-045","language":"de","script":"Latin","shape":"shell","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_45='Der Kunde nennt Elena Fischer'","known_identities":[],"targets":[{"id":"person","kind":"person","start":28,"end":41,"value":"Elena Fischer","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Elena Fischer"]},"customers":{"required_absent":["Elena Fischer"],"required_present":[]},"all":{"required_absent":["Elena Fischer"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-de-preserve-045","language":"de","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_45='Öffentliche Organisation Ember Foundation'","known_identities":[],"targets":[{"id":"person","kind":"person","start":38,"end":54,"value":"Ember Foundation","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ember Foundation"]},"customers":{"required_absent":[],"required_present":["Ember Foundation"]},"all":{"required_absent":[],"required_present":["Ember Foundation"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-de-redact-046","language":"de","script":"Latin","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/46 ; Der Kunde nennt Elena Garcia","known_identities":[],"targets":[{"id":"person","kind":"person","start":49,"end":61,"value":"Elena Garcia","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Elena Garcia"]},"customers":{"required_absent":["Elena Garcia"],"required_present":[]},"all":{"required_absent":["Elena Garcia"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-de-preserve-046","language":"de","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/46 ; Öffentliche Organisation Ember Network","known_identities":[],"targets":[{"id":"person","kind":"person","start":59,"end":72,"value":"Ember Network","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ember Network"]},"customers":{"required_absent":[],"required_present":["Ember Network"]},"all":{"required_absent":[],"required_present":["Ember Network"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-de-redact-047","language":"de","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"**Der Kunde nennt Elena Holm**","known_identities":[],"targets":[{"id":"person","kind":"person","start":18,"end":28,"value":"Elena Holm","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Elena Holm"]},"customers":{"required_absent":["Elena Holm"],"required_present":[]},"all":{"required_absent":["Elena Holm"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-de-preserve-047","language":"de","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"**Öffentliche Organisation Ember Group**","known_identities":[],"targets":[{"id":"person","kind":"person","start":28,"end":39,"value":"Ember Group","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ember Group"]},"customers":{"required_absent":[],"required_present":["Ember Group"]},"all":{"required_absent":[],"required_present":["Ember Group"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-de-redact-048","language":"de","script":"Latin","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eDer Kunde nennt Elena Ibarra\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":19,"end":31,"value":"Elena Ibarra","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Elena Ibarra"]},"customers":{"required_absent":["Elena Ibarra"],"required_present":[]},"all":{"required_absent":["Elena Ibarra"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-de-preserve-048","language":"de","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eÖffentliche Organisation Ember Project\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":29,"end":42,"value":"Ember Project","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ember Project"]},"customers":{"required_absent":[],"required_present":["Ember Project"]},"all":{"required_absent":[],"required_present":["Ember Project"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-046","language":"de","script":"Latin","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/46?credential=Elena Garcia\u0026note=Der+Kunde+nennt+","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":54,"value":"Elena Garcia","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Elena Garcia"]},"customers":{"required_absent":["Elena Garcia"],"required_present":[]},"all":{"required_absent":["Elena Garcia"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-046","language":"de","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/46?credential=Ember Network\u0026note=%C3%96ffentliche+Organisation+","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":55,"value":"Ember Network","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ember Network"]},"customers":{"required_absent":[],"required_present":["Ember Network"]},"all":{"required_absent":[],"required_present":["Ember Network"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-047","language":"de","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Der Kunde nennt `Elena Holm`","known_identities":[],"targets":[{"id":"person","kind":"person","start":17,"end":27,"value":"Elena Holm","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Elena Holm"]},"customers":{"required_absent":["Elena Holm"],"required_present":[]},"all":{"required_absent":["Elena Holm"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-047","language":"de","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Öffentliche Organisation `Ember Group`","known_identities":[],"targets":[{"id":"person","kind":"person","start":27,"end":38,"value":"Ember Group","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ember Group"]},"customers":{"required_absent":[],"required_present":["Ember Group"]},"all":{"required_absent":[],"required_present":["Ember Group"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-048","language":"de","script":"Latin","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eDer Kunde nennt \u003ccode\u003eElena Ibarra\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":25,"end":37,"value":"Elena Ibarra","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Elena Ibarra"]},"customers":{"required_absent":["Elena Ibarra"],"required_present":[]},"all":{"required_absent":["Elena Ibarra"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-048","language":"de","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eÖffentliche Organisation \u003ccode\u003eEmber Project\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":48,"value":"Ember Project","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ember Project"]},"customers":{"required_absent":[],"required_present":["Ember Project"]},"all":{"required_absent":[],"required_present":["Ember Project"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-de-redact-049","language":"de","script":"Latin","shape":"quoted-reply","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e Der Kunde nennt Elena Jensen","known_identities":[],"targets":[{"id":"person","kind":"person","start":18,"end":30,"value":"Elena Jensen","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Elena Jensen"]},"customers":{"required_absent":["Elena Jensen"],"required_present":[]},"all":{"required_absent":["Elena Jensen"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-de-preserve-049","language":"de","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e Öffentliche Organisation Ember Press","known_identities":[],"targets":[{"id":"person","kind":"person","start":28,"end":39,"value":"Ember Press","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ember Press"]},"customers":{"required_absent":[],"required_present":["Ember Press"]},"all":{"required_absent":[],"required_present":["Ember Press"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-de-redact-050","language":"de","script":"Latin","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=50 message=\"Der Kunde nennt \" value=Farid Arden","known_identities":[],"targets":[{"id":"person","kind":"person","start":54,"end":65,"value":"Farid Arden","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Farid Arden"]},"customers":{"required_absent":["Farid Arden"],"required_present":[]},"all":{"required_absent":["Farid Arden"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-de-preserve-050","language":"de","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=50 message=\"Öffentliche Organisation \" value=Flora Labs","known_identities":[],"targets":[{"id":"person","kind":"person","start":64,"end":74,"value":"Flora Labs","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Flora Labs"]},"customers":{"required_absent":[],"required_present":["Flora Labs"]},"all":{"required_absent":[],"required_present":["Flora Labs"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-050","language":"de","script":"Latin","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=50 message=\"Der Kunde nennt \" credential=\"Farid Arden\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":60,"end":71,"value":"Farid Arden","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Farid Arden"]},"customers":{"required_absent":["Farid Arden"],"required_present":[]},"all":{"required_absent":["Farid Arden"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-050","language":"de","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=50 message=\"Öffentliche Organisation \" credential=\"Flora Labs\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":70,"end":80,"value":"Flora Labs","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Flora Labs"]},"customers":{"required_absent":[],"required_present":["Flora Labs"]},"all":{"required_absent":[],"required_present":["Flora Labs"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-de-redact-051","language":"de","script":"Latin","shape":"stack-trace","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[51]: Der Kunde nennt Farid Borel","known_identities":[],"targets":[{"id":"person","kind":"person","start":27,"end":38,"value":"Farid Borel","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Farid Borel"]},"customers":{"required_absent":["Farid Borel"],"required_present":[]},"all":{"required_absent":["Farid Borel"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-de-preserve-051","language":"de","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[51]: Öffentliche Organisation Flora Works","known_identities":[],"targets":[{"id":"person","kind":"person","start":37,"end":48,"value":"Flora Works","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Flora Works"]},"customers":{"required_absent":[],"required_present":["Flora Works"]},"all":{"required_absent":[],"required_present":["Flora Works"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-de-redact-052","language":"de","script":"Latin","shape":"code","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_52 := `Der Kunde nennt Farid Costa`","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":42,"value":"Farid Costa","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Farid Costa"]},"customers":{"required_absent":["Farid Costa"],"required_present":[]},"all":{"required_absent":["Farid Costa"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, @@ -512,26 +512,26 @@ {"id":"broad-language-de-preserve-053","language":"de","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--\nÖffentliche Organisation Flora Systems","known_identities":[],"targets":[{"id":"person","kind":"person","start":29,"end":42,"value":"Flora Systems","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Flora Systems"]},"customers":{"required_absent":[],"required_present":["Flora Systems"]},"all":{"required_absent":[],"required_present":["Flora Systems"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-de-redact-054","language":"de","script":"Latin","shape":"long-thread","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Der Kunde nennt Farid Esteves","known_identities":[],"targets":[{"id":"person","kind":"person","start":496,"end":509,"value":"Farid Esteves","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Farid Esteves"]},"customers":{"required_absent":["Farid Esteves"],"required_present":[]},"all":{"required_absent":["Farid Esteves"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-de-preserve-054","language":"de","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Öffentliche Organisation Flora Collective","known_identities":[],"targets":[{"id":"person","kind":"person","start":506,"end":522,"value":"Flora Collective","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Flora Collective"]},"customers":{"required_absent":[],"required_present":["Flora Collective"]},"all":{"required_absent":[],"required_present":["Flora Collective"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-de-redact-055","language":"de","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=55 --message=\"Der Kunde nennt \" --value=Farid Fischer","known_identities":[],"targets":[{"id":"person","kind":"person","start":49,"end":62,"value":"Farid Fischer","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Farid Fischer"]},"customers":{"required_absent":["Farid Fischer"],"required_present":[]},"all":{"required_absent":["Farid Fischer"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-de-preserve-055","language":"de","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=55 --message=\"Öffentliche Organisation \" --value=Flora Foundation","known_identities":[],"targets":[{"id":"person","kind":"person","start":59,"end":75,"value":"Flora Foundation","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Flora Foundation"]},"customers":{"required_absent":[],"required_present":["Flora Foundation"]},"all":{"required_absent":[],"required_present":["Flora Foundation"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-055","language":"de","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=55 --message=\"Der Kunde nennt \" --credential=\"Farid Fischer\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":55,"end":68,"value":"Farid Fischer","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Farid Fischer"]},"customers":{"required_absent":["Farid Fischer"],"required_present":[]},"all":{"required_absent":["Farid Fischer"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-055","language":"de","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=55 --message=\"Öffentliche Organisation \" --credential=\"Flora Foundation\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":65,"end":81,"value":"Flora Foundation","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Flora Foundation"]},"customers":{"required_absent":[],"required_present":["Flora Foundation"]},"all":{"required_absent":[],"required_present":["Flora Foundation"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-de-redact-056","language":"de","script":"Latin","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Der Kunde nennt Farid Garcia","known_identities":[],"targets":[{"id":"person","kind":"person","start":16,"end":28,"value":"Farid Garcia","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Farid Garcia"]},"customers":{"required_absent":["Farid Garcia"],"required_present":[]},"all":{"required_absent":["Farid Garcia"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-de-preserve-056","language":"de","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Öffentliche Organisation Flora Network","known_identities":[],"targets":[{"id":"person","kind":"person","start":26,"end":39,"value":"Flora Network","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Flora Network"]},"customers":{"required_absent":[],"required_present":["Flora Network"]},"all":{"required_absent":[],"required_present":["Flora Network"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-de-redact-057","language":"de","script":"Latin","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_57\":\"Der Kunde nennt Farid Holm\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":41,"value":"Farid Holm","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Farid Holm"]},"customers":{"required_absent":["Farid Holm"],"required_present":[]},"all":{"required_absent":["Farid Holm"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-de-preserve-057","language":"de","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_57\":\"Öffentliche Organisation Flora Group\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":41,"end":52,"value":"Flora Group","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Flora Group"]},"customers":{"required_absent":[],"required_present":["Flora Group"]},"all":{"required_absent":[],"required_present":["Flora Group"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-de-redact-058","language":"de","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_58: Der Kunde nennt Farid Ibarra","known_identities":[],"targets":[{"id":"person","kind":"person","start":28,"end":40,"value":"Farid Ibarra","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Farid Ibarra"]},"customers":{"required_absent":["Farid Ibarra"],"required_present":[]},"all":{"required_absent":["Farid Ibarra"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-de-preserve-058","language":"de","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_58: Öffentliche Organisation Flora Project","known_identities":[],"targets":[{"id":"person","kind":"person","start":38,"end":51,"value":"Flora Project","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Flora Project"]},"customers":{"required_absent":[],"required_present":["Flora Project"]},"all":{"required_absent":[],"required_present":["Flora Project"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-058","language":"de","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_58: \"Der Kunde nennt Farid Ibarra\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":29,"end":41,"value":"Farid Ibarra","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Farid Ibarra"]},"customers":{"required_absent":["Farid Ibarra"],"required_present":[]},"all":{"required_absent":["Farid Ibarra"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-058","language":"de","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_58: \"Öffentliche Organisation Flora Project\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":39,"end":52,"value":"Flora Project","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Flora Project"]},"customers":{"required_absent":[],"required_present":["Flora Project"]},"all":{"required_absent":[],"required_present":["Flora Project"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-de-redact-059","language":"de","script":"Latin","shape":"shell","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_59='Der Kunde nennt Farid Jensen'","known_identities":[],"targets":[{"id":"person","kind":"person","start":28,"end":40,"value":"Farid Jensen","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Farid Jensen"]},"customers":{"required_absent":["Farid Jensen"],"required_present":[]},"all":{"required_absent":["Farid Jensen"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-de-preserve-059","language":"de","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_59='Öffentliche Organisation Flora Press'","known_identities":[],"targets":[{"id":"person","kind":"person","start":38,"end":49,"value":"Flora Press","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Flora Press"]},"customers":{"required_absent":[],"required_present":["Flora Press"]},"all":{"required_absent":[],"required_present":["Flora Press"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-de-redact-060","language":"de","script":"Latin","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/60 ; Der Kunde nennt Greta Arden","known_identities":[],"targets":[{"id":"person","kind":"person","start":49,"end":60,"value":"Greta Arden","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Greta Arden"]},"customers":{"required_absent":["Greta Arden"],"required_present":[]},"all":{"required_absent":["Greta Arden"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-de-preserve-060","language":"de","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/60 ; Öffentliche Organisation Gaia Labs","known_identities":[],"targets":[{"id":"person","kind":"person","start":59,"end":68,"value":"Gaia Labs","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Gaia Labs"]},"customers":{"required_absent":[],"required_present":["Gaia Labs"]},"all":{"required_absent":[],"required_present":["Gaia Labs"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-de-redact-061","language":"de","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"**Der Kunde nennt Greta Borel**","known_identities":[],"targets":[{"id":"person","kind":"person","start":18,"end":29,"value":"Greta Borel","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Greta Borel"]},"customers":{"required_absent":["Greta Borel"],"required_present":[]},"all":{"required_absent":["Greta Borel"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-de-preserve-061","language":"de","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"**Öffentliche Organisation Gaia Works**","known_identities":[],"targets":[{"id":"person","kind":"person","start":28,"end":38,"value":"Gaia Works","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Gaia Works"]},"customers":{"required_absent":[],"required_present":["Gaia Works"]},"all":{"required_absent":[],"required_present":["Gaia Works"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-de-redact-062","language":"de","script":"Latin","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eDer Kunde nennt Greta Costa\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":19,"end":30,"value":"Greta Costa","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Greta Costa"]},"customers":{"required_absent":["Greta Costa"],"required_present":[]},"all":{"required_absent":["Greta Costa"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-de-preserve-062","language":"de","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eÖffentliche Organisation Gaia Studio\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":29,"end":40,"value":"Gaia Studio","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Gaia Studio"]},"customers":{"required_absent":[],"required_present":["Gaia Studio"]},"all":{"required_absent":[],"required_present":["Gaia Studio"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-060","language":"de","script":"Latin","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/60?credential=Greta Arden\u0026note=Der+Kunde+nennt+","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":53,"value":"Greta Arden","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Greta Arden"]},"customers":{"required_absent":["Greta Arden"],"required_present":[]},"all":{"required_absent":["Greta Arden"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-060","language":"de","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/60?credential=Gaia Labs\u0026note=%C3%96ffentliche+Organisation+","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":51,"value":"Gaia Labs","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Gaia Labs"]},"customers":{"required_absent":[],"required_present":["Gaia Labs"]},"all":{"required_absent":[],"required_present":["Gaia Labs"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-061","language":"de","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Der Kunde nennt `Greta Borel`","known_identities":[],"targets":[{"id":"person","kind":"person","start":17,"end":28,"value":"Greta Borel","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Greta Borel"]},"customers":{"required_absent":["Greta Borel"],"required_present":[]},"all":{"required_absent":["Greta Borel"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-061","language":"de","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Öffentliche Organisation `Gaia Works`","known_identities":[],"targets":[{"id":"person","kind":"person","start":27,"end":37,"value":"Gaia Works","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Gaia Works"]},"customers":{"required_absent":[],"required_present":["Gaia Works"]},"all":{"required_absent":[],"required_present":["Gaia Works"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-062","language":"de","script":"Latin","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eDer Kunde nennt \u003ccode\u003eGreta Costa\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":25,"end":36,"value":"Greta Costa","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Greta Costa"]},"customers":{"required_absent":["Greta Costa"],"required_present":[]},"all":{"required_absent":["Greta Costa"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-062","language":"de","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eÖffentliche Organisation \u003ccode\u003eGaia Studio\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":46,"value":"Gaia Studio","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Gaia Studio"]},"customers":{"required_absent":[],"required_present":["Gaia Studio"]},"all":{"required_absent":[],"required_present":["Gaia Studio"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-de-redact-063","language":"de","script":"Latin","shape":"quoted-reply","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e Der Kunde nennt Greta Durand","known_identities":[],"targets":[{"id":"person","kind":"person","start":18,"end":30,"value":"Greta Durand","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Greta Durand"]},"customers":{"required_absent":["Greta Durand"],"required_present":[]},"all":{"required_absent":["Greta Durand"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-de-preserve-063","language":"de","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e Öffentliche Organisation Gaia Systems","known_identities":[],"targets":[{"id":"person","kind":"person","start":28,"end":40,"value":"Gaia Systems","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Gaia Systems"]},"customers":{"required_absent":[],"required_present":["Gaia Systems"]},"all":{"required_absent":[],"required_present":["Gaia Systems"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-de-redact-064","language":"de","script":"Latin","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=64 message=\"Der Kunde nennt \" value=Greta Esteves","known_identities":[],"targets":[{"id":"person","kind":"person","start":54,"end":67,"value":"Greta Esteves","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Greta Esteves"]},"customers":{"required_absent":["Greta Esteves"],"required_present":[]},"all":{"required_absent":["Greta Esteves"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-de-preserve-064","language":"de","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=64 message=\"Öffentliche Organisation \" value=Gaia Collective","known_identities":[],"targets":[{"id":"person","kind":"person","start":64,"end":79,"value":"Gaia Collective","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Gaia Collective"]},"customers":{"required_absent":[],"required_present":["Gaia Collective"]},"all":{"required_absent":[],"required_present":["Gaia Collective"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-064","language":"de","script":"Latin","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=64 message=\"Der Kunde nennt \" credential=\"Greta Esteves\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":60,"end":73,"value":"Greta Esteves","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Greta Esteves"]},"customers":{"required_absent":["Greta Esteves"],"required_present":[]},"all":{"required_absent":["Greta Esteves"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-064","language":"de","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=64 message=\"Öffentliche Organisation \" credential=\"Gaia Collective\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":70,"end":85,"value":"Gaia Collective","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Gaia Collective"]},"customers":{"required_absent":[],"required_present":["Gaia Collective"]},"all":{"required_absent":[],"required_present":["Gaia Collective"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-de-redact-065","language":"de","script":"Latin","shape":"stack-trace","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[65]: Der Kunde nennt Greta Fischer","known_identities":[],"targets":[{"id":"person","kind":"person","start":27,"end":40,"value":"Greta Fischer","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Greta Fischer"]},"customers":{"required_absent":["Greta Fischer"],"required_present":[]},"all":{"required_absent":["Greta Fischer"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-de-preserve-065","language":"de","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[65]: Öffentliche Organisation Gaia Foundation","known_identities":[],"targets":[{"id":"person","kind":"person","start":37,"end":52,"value":"Gaia Foundation","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Gaia Foundation"]},"customers":{"required_absent":[],"required_present":["Gaia Foundation"]},"all":{"required_absent":[],"required_present":["Gaia Foundation"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-de-redact-066","language":"de","script":"Latin","shape":"code","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_66 := `Der Kunde nennt Greta Garcia`","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":43,"value":"Greta Garcia","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Greta Garcia"]},"customers":{"required_absent":["Greta Garcia"],"required_present":[]},"all":{"required_absent":["Greta Garcia"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, @@ -540,26 +540,26 @@ {"id":"broad-language-de-preserve-067","language":"de","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--\nÖffentliche Organisation Gaia Group","known_identities":[],"targets":[{"id":"person","kind":"person","start":29,"end":39,"value":"Gaia Group","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Gaia Group"]},"customers":{"required_absent":[],"required_present":["Gaia Group"]},"all":{"required_absent":[],"required_present":["Gaia Group"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-de-redact-068","language":"de","script":"Latin","shape":"long-thread","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Der Kunde nennt Greta Ibarra","known_identities":[],"targets":[{"id":"person","kind":"person","start":496,"end":508,"value":"Greta Ibarra","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Greta Ibarra"]},"customers":{"required_absent":["Greta Ibarra"],"required_present":[]},"all":{"required_absent":["Greta Ibarra"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-de-preserve-068","language":"de","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Öffentliche Organisation Gaia Project","known_identities":[],"targets":[{"id":"person","kind":"person","start":506,"end":518,"value":"Gaia Project","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Gaia Project"]},"customers":{"required_absent":[],"required_present":["Gaia Project"]},"all":{"required_absent":[],"required_present":["Gaia Project"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-de-redact-069","language":"de","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=69 --message=\"Der Kunde nennt \" --value=Greta Jensen","known_identities":[],"targets":[{"id":"person","kind":"person","start":49,"end":61,"value":"Greta Jensen","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Greta Jensen"]},"customers":{"required_absent":["Greta Jensen"],"required_present":[]},"all":{"required_absent":["Greta Jensen"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-de-preserve-069","language":"de","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=69 --message=\"Öffentliche Organisation \" --value=Gaia Press","known_identities":[],"targets":[{"id":"person","kind":"person","start":59,"end":69,"value":"Gaia Press","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Gaia Press"]},"customers":{"required_absent":[],"required_present":["Gaia Press"]},"all":{"required_absent":[],"required_present":["Gaia Press"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-069","language":"de","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=69 --message=\"Der Kunde nennt \" --credential=\"Greta Jensen\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":55,"end":67,"value":"Greta Jensen","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Greta Jensen"]},"customers":{"required_absent":["Greta Jensen"],"required_present":[]},"all":{"required_absent":["Greta Jensen"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-069","language":"de","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=69 --message=\"Öffentliche Organisation \" --credential=\"Gaia Press\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":65,"end":75,"value":"Gaia Press","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Gaia Press"]},"customers":{"required_absent":[],"required_present":["Gaia Press"]},"all":{"required_absent":[],"required_present":["Gaia Press"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-de-redact-070","language":"de","script":"Latin","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Der Kunde nennt Hugo Arden","known_identities":[],"targets":[{"id":"person","kind":"person","start":16,"end":26,"value":"Hugo Arden","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Hugo Arden"]},"customers":{"required_absent":["Hugo Arden"],"required_present":[]},"all":{"required_absent":["Hugo Arden"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-de-preserve-070","language":"de","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Öffentliche Organisation Helios Labs","known_identities":[],"targets":[{"id":"person","kind":"person","start":26,"end":37,"value":"Helios Labs","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Helios Labs"]},"customers":{"required_absent":[],"required_present":["Helios Labs"]},"all":{"required_absent":[],"required_present":["Helios Labs"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-de-redact-071","language":"de","script":"Latin","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_71\":\"Der Kunde nennt Hugo Borel\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":41,"value":"Hugo Borel","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Hugo Borel"]},"customers":{"required_absent":["Hugo Borel"],"required_present":[]},"all":{"required_absent":["Hugo Borel"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-de-preserve-071","language":"de","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_71\":\"Öffentliche Organisation Helios Works\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":41,"end":53,"value":"Helios Works","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Helios Works"]},"customers":{"required_absent":[],"required_present":["Helios Works"]},"all":{"required_absent":[],"required_present":["Helios Works"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-de-redact-072","language":"de","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_72: Der Kunde nennt Hugo Costa","known_identities":[],"targets":[{"id":"person","kind":"person","start":28,"end":38,"value":"Hugo Costa","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Hugo Costa"]},"customers":{"required_absent":["Hugo Costa"],"required_present":[]},"all":{"required_absent":["Hugo Costa"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-de-preserve-072","language":"de","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_72: Öffentliche Organisation Helios Studio","known_identities":[],"targets":[{"id":"person","kind":"person","start":38,"end":51,"value":"Helios Studio","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Helios Studio"]},"customers":{"required_absent":[],"required_present":["Helios Studio"]},"all":{"required_absent":[],"required_present":["Helios Studio"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-072","language":"de","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_72: \"Der Kunde nennt Hugo Costa\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":29,"end":39,"value":"Hugo Costa","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Hugo Costa"]},"customers":{"required_absent":["Hugo Costa"],"required_present":[]},"all":{"required_absent":["Hugo Costa"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-072","language":"de","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_72: \"Öffentliche Organisation Helios Studio\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":39,"end":52,"value":"Helios Studio","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Helios Studio"]},"customers":{"required_absent":[],"required_present":["Helios Studio"]},"all":{"required_absent":[],"required_present":["Helios Studio"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-de-redact-073","language":"de","script":"Latin","shape":"shell","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_73='Der Kunde nennt Hugo Durand'","known_identities":[],"targets":[{"id":"person","kind":"person","start":28,"end":39,"value":"Hugo Durand","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Hugo Durand"]},"customers":{"required_absent":["Hugo Durand"],"required_present":[]},"all":{"required_absent":["Hugo Durand"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-de-preserve-073","language":"de","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_73='Öffentliche Organisation Helios Systems'","known_identities":[],"targets":[{"id":"person","kind":"person","start":38,"end":52,"value":"Helios Systems","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Helios Systems"]},"customers":{"required_absent":[],"required_present":["Helios Systems"]},"all":{"required_absent":[],"required_present":["Helios Systems"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-de-redact-074","language":"de","script":"Latin","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/74 ; Der Kunde nennt Hugo Esteves","known_identities":[],"targets":[{"id":"person","kind":"person","start":49,"end":61,"value":"Hugo Esteves","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Hugo Esteves"]},"customers":{"required_absent":["Hugo Esteves"],"required_present":[]},"all":{"required_absent":["Hugo Esteves"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-de-preserve-074","language":"de","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/74 ; Öffentliche Organisation Helios Collective","known_identities":[],"targets":[{"id":"person","kind":"person","start":59,"end":76,"value":"Helios Collective","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Helios Collective"]},"customers":{"required_absent":[],"required_present":["Helios Collective"]},"all":{"required_absent":[],"required_present":["Helios Collective"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-de-redact-075","language":"de","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"**Der Kunde nennt Hugo Fischer**","known_identities":[],"targets":[{"id":"person","kind":"person","start":18,"end":30,"value":"Hugo Fischer","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Hugo Fischer"]},"customers":{"required_absent":["Hugo Fischer"],"required_present":[]},"all":{"required_absent":["Hugo Fischer"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-de-preserve-075","language":"de","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"**Öffentliche Organisation Helios Foundation**","known_identities":[],"targets":[{"id":"person","kind":"person","start":28,"end":45,"value":"Helios Foundation","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Helios Foundation"]},"customers":{"required_absent":[],"required_present":["Helios Foundation"]},"all":{"required_absent":[],"required_present":["Helios Foundation"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-de-redact-076","language":"de","script":"Latin","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eDer Kunde nennt Hugo Garcia\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":19,"end":30,"value":"Hugo Garcia","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Hugo Garcia"]},"customers":{"required_absent":["Hugo Garcia"],"required_present":[]},"all":{"required_absent":["Hugo Garcia"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-de-preserve-076","language":"de","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eÖffentliche Organisation Helios Network\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":29,"end":43,"value":"Helios Network","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Helios Network"]},"customers":{"required_absent":[],"required_present":["Helios Network"]},"all":{"required_absent":[],"required_present":["Helios Network"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-074","language":"de","script":"Latin","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/74?credential=Hugo Esteves\u0026note=Der+Kunde+nennt+","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":54,"value":"Hugo Esteves","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Hugo Esteves"]},"customers":{"required_absent":["Hugo Esteves"],"required_present":[]},"all":{"required_absent":["Hugo Esteves"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-074","language":"de","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/74?credential=Helios Collective\u0026note=%C3%96ffentliche+Organisation+","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":59,"value":"Helios Collective","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Helios Collective"]},"customers":{"required_absent":[],"required_present":["Helios Collective"]},"all":{"required_absent":[],"required_present":["Helios Collective"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-075","language":"de","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Der Kunde nennt `Hugo Fischer`","known_identities":[],"targets":[{"id":"person","kind":"person","start":17,"end":29,"value":"Hugo Fischer","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Hugo Fischer"]},"customers":{"required_absent":["Hugo Fischer"],"required_present":[]},"all":{"required_absent":["Hugo Fischer"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-075","language":"de","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Öffentliche Organisation `Helios Foundation`","known_identities":[],"targets":[{"id":"person","kind":"person","start":27,"end":44,"value":"Helios Foundation","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Helios Foundation"]},"customers":{"required_absent":[],"required_present":["Helios Foundation"]},"all":{"required_absent":[],"required_present":["Helios Foundation"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-076","language":"de","script":"Latin","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eDer Kunde nennt \u003ccode\u003eHugo Garcia\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":25,"end":36,"value":"Hugo Garcia","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Hugo Garcia"]},"customers":{"required_absent":["Hugo Garcia"],"required_present":[]},"all":{"required_absent":["Hugo Garcia"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-076","language":"de","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eÖffentliche Organisation \u003ccode\u003eHelios Network\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":49,"value":"Helios Network","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Helios Network"]},"customers":{"required_absent":[],"required_present":["Helios Network"]},"all":{"required_absent":[],"required_present":["Helios Network"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-de-redact-077","language":"de","script":"Latin","shape":"quoted-reply","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e Der Kunde nennt Hugo Holm","known_identities":[],"targets":[{"id":"person","kind":"person","start":18,"end":27,"value":"Hugo Holm","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Hugo Holm"]},"customers":{"required_absent":["Hugo Holm"],"required_present":[]},"all":{"required_absent":["Hugo Holm"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-de-preserve-077","language":"de","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e Öffentliche Organisation Helios Group","known_identities":[],"targets":[{"id":"person","kind":"person","start":28,"end":40,"value":"Helios Group","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Helios Group"]},"customers":{"required_absent":[],"required_present":["Helios Group"]},"all":{"required_absent":[],"required_present":["Helios Group"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-de-redact-078","language":"de","script":"Latin","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=78 message=\"Der Kunde nennt \" value=Hugo Ibarra","known_identities":[],"targets":[{"id":"person","kind":"person","start":54,"end":65,"value":"Hugo Ibarra","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Hugo Ibarra"]},"customers":{"required_absent":["Hugo Ibarra"],"required_present":[]},"all":{"required_absent":["Hugo Ibarra"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-de-preserve-078","language":"de","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=78 message=\"Öffentliche Organisation \" value=Helios Project","known_identities":[],"targets":[{"id":"person","kind":"person","start":64,"end":78,"value":"Helios Project","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Helios Project"]},"customers":{"required_absent":[],"required_present":["Helios Project"]},"all":{"required_absent":[],"required_present":["Helios Project"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-078","language":"de","script":"Latin","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=78 message=\"Der Kunde nennt \" credential=\"Hugo Ibarra\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":60,"end":71,"value":"Hugo Ibarra","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Hugo Ibarra"]},"customers":{"required_absent":["Hugo Ibarra"],"required_present":[]},"all":{"required_absent":["Hugo Ibarra"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-078","language":"de","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=78 message=\"Öffentliche Organisation \" credential=\"Helios Project\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":70,"end":84,"value":"Helios Project","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Helios Project"]},"customers":{"required_absent":[],"required_present":["Helios Project"]},"all":{"required_absent":[],"required_present":["Helios Project"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-de-redact-079","language":"de","script":"Latin","shape":"stack-trace","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[79]: Der Kunde nennt Hugo Jensen","known_identities":[],"targets":[{"id":"person","kind":"person","start":27,"end":38,"value":"Hugo Jensen","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Hugo Jensen"]},"customers":{"required_absent":["Hugo Jensen"],"required_present":[]},"all":{"required_absent":["Hugo Jensen"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-de-preserve-079","language":"de","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[79]: Öffentliche Organisation Helios Press","known_identities":[],"targets":[{"id":"person","kind":"person","start":37,"end":49,"value":"Helios Press","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Helios Press"]},"customers":{"required_absent":[],"required_present":["Helios Press"]},"all":{"required_absent":[],"required_present":["Helios Press"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-de-redact-080","language":"de","script":"Latin","shape":"code","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_80 := `Der Kunde nennt Ines Arden`","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":41,"value":"Ines Arden","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ines Arden"]},"customers":{"required_absent":["Ines Arden"],"required_present":[]},"all":{"required_absent":["Ines Arden"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, @@ -568,26 +568,26 @@ {"id":"broad-language-de-preserve-081","language":"de","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--\nÖffentliche Organisation Ion Works","known_identities":[],"targets":[{"id":"person","kind":"person","start":29,"end":38,"value":"Ion Works","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ion Works"]},"customers":{"required_absent":[],"required_present":["Ion Works"]},"all":{"required_absent":[],"required_present":["Ion Works"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-de-redact-082","language":"de","script":"Latin","shape":"long-thread","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Der Kunde nennt Ines Costa","known_identities":[],"targets":[{"id":"person","kind":"person","start":496,"end":506,"value":"Ines Costa","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ines Costa"]},"customers":{"required_absent":["Ines Costa"],"required_present":[]},"all":{"required_absent":["Ines Costa"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-de-preserve-082","language":"de","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Öffentliche Organisation Ion Studio","known_identities":[],"targets":[{"id":"person","kind":"person","start":506,"end":516,"value":"Ion Studio","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ion Studio"]},"customers":{"required_absent":[],"required_present":["Ion Studio"]},"all":{"required_absent":[],"required_present":["Ion Studio"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-de-redact-083","language":"de","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=83 --message=\"Der Kunde nennt \" --value=Ines Durand","known_identities":[],"targets":[{"id":"person","kind":"person","start":49,"end":60,"value":"Ines Durand","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ines Durand"]},"customers":{"required_absent":["Ines Durand"],"required_present":[]},"all":{"required_absent":["Ines Durand"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-de-preserve-083","language":"de","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=83 --message=\"Öffentliche Organisation \" --value=Ion Systems","known_identities":[],"targets":[{"id":"person","kind":"person","start":59,"end":70,"value":"Ion Systems","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ion Systems"]},"customers":{"required_absent":[],"required_present":["Ion Systems"]},"all":{"required_absent":[],"required_present":["Ion Systems"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-083","language":"de","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=83 --message=\"Der Kunde nennt \" --credential=\"Ines Durand\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":55,"end":66,"value":"Ines Durand","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ines Durand"]},"customers":{"required_absent":["Ines Durand"],"required_present":[]},"all":{"required_absent":["Ines Durand"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-083","language":"de","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=83 --message=\"Öffentliche Organisation \" --credential=\"Ion Systems\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":65,"end":76,"value":"Ion Systems","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ion Systems"]},"customers":{"required_absent":[],"required_present":["Ion Systems"]},"all":{"required_absent":[],"required_present":["Ion Systems"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-de-redact-084","language":"de","script":"Latin","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Der Kunde nennt Ines Esteves","known_identities":[],"targets":[{"id":"person","kind":"person","start":16,"end":28,"value":"Ines Esteves","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ines Esteves"]},"customers":{"required_absent":["Ines Esteves"],"required_present":[]},"all":{"required_absent":["Ines Esteves"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-de-preserve-084","language":"de","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Öffentliche Organisation Ion Collective","known_identities":[],"targets":[{"id":"person","kind":"person","start":26,"end":40,"value":"Ion Collective","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ion Collective"]},"customers":{"required_absent":[],"required_present":["Ion Collective"]},"all":{"required_absent":[],"required_present":["Ion Collective"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-de-redact-085","language":"de","script":"Latin","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_85\":\"Der Kunde nennt Ines Fischer\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":43,"value":"Ines Fischer","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ines Fischer"]},"customers":{"required_absent":["Ines Fischer"],"required_present":[]},"all":{"required_absent":["Ines Fischer"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-de-preserve-085","language":"de","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_85\":\"Öffentliche Organisation Ion Foundation\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":41,"end":55,"value":"Ion Foundation","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ion Foundation"]},"customers":{"required_absent":[],"required_present":["Ion Foundation"]},"all":{"required_absent":[],"required_present":["Ion Foundation"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-de-redact-086","language":"de","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_86: Der Kunde nennt Ines Garcia","known_identities":[],"targets":[{"id":"person","kind":"person","start":28,"end":39,"value":"Ines Garcia","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ines Garcia"]},"customers":{"required_absent":["Ines Garcia"],"required_present":[]},"all":{"required_absent":["Ines Garcia"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-de-preserve-086","language":"de","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_86: Öffentliche Organisation Ion Network","known_identities":[],"targets":[{"id":"person","kind":"person","start":38,"end":49,"value":"Ion Network","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ion Network"]},"customers":{"required_absent":[],"required_present":["Ion Network"]},"all":{"required_absent":[],"required_present":["Ion Network"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-086","language":"de","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_86: \"Der Kunde nennt Ines Garcia\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":29,"end":40,"value":"Ines Garcia","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ines Garcia"]},"customers":{"required_absent":["Ines Garcia"],"required_present":[]},"all":{"required_absent":["Ines Garcia"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-086","language":"de","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_86: \"Öffentliche Organisation Ion Network\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":39,"end":50,"value":"Ion Network","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ion Network"]},"customers":{"required_absent":[],"required_present":["Ion Network"]},"all":{"required_absent":[],"required_present":["Ion Network"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-de-redact-087","language":"de","script":"Latin","shape":"shell","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_87='Der Kunde nennt Ines Holm'","known_identities":[],"targets":[{"id":"person","kind":"person","start":28,"end":37,"value":"Ines Holm","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ines Holm"]},"customers":{"required_absent":["Ines Holm"],"required_present":[]},"all":{"required_absent":["Ines Holm"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-de-preserve-087","language":"de","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_87='Öffentliche Organisation Ion Group'","known_identities":[],"targets":[{"id":"person","kind":"person","start":38,"end":47,"value":"Ion Group","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ion Group"]},"customers":{"required_absent":[],"required_present":["Ion Group"]},"all":{"required_absent":[],"required_present":["Ion Group"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-de-redact-088","language":"de","script":"Latin","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/88 ; Der Kunde nennt Ines Ibarra","known_identities":[],"targets":[{"id":"person","kind":"person","start":49,"end":60,"value":"Ines Ibarra","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ines Ibarra"]},"customers":{"required_absent":["Ines Ibarra"],"required_present":[]},"all":{"required_absent":["Ines Ibarra"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-de-preserve-088","language":"de","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/88 ; Öffentliche Organisation Ion Project","known_identities":[],"targets":[{"id":"person","kind":"person","start":59,"end":70,"value":"Ion Project","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ion Project"]},"customers":{"required_absent":[],"required_present":["Ion Project"]},"all":{"required_absent":[],"required_present":["Ion Project"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-de-redact-089","language":"de","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"**Der Kunde nennt Ines Jensen**","known_identities":[],"targets":[{"id":"person","kind":"person","start":18,"end":29,"value":"Ines Jensen","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ines Jensen"]},"customers":{"required_absent":["Ines Jensen"],"required_present":[]},"all":{"required_absent":["Ines Jensen"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-de-preserve-089","language":"de","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"**Öffentliche Organisation Ion Press**","known_identities":[],"targets":[{"id":"person","kind":"person","start":28,"end":37,"value":"Ion Press","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ion Press"]},"customers":{"required_absent":[],"required_present":["Ion Press"]},"all":{"required_absent":[],"required_present":["Ion Press"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-de-redact-090","language":"de","script":"Latin","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eDer Kunde nennt Jonas Arden\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":19,"end":30,"value":"Jonas Arden","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Jonas Arden"]},"customers":{"required_absent":["Jonas Arden"],"required_present":[]},"all":{"required_absent":["Jonas Arden"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-de-preserve-090","language":"de","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eÖffentliche Organisation Juniper Labs\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":29,"end":41,"value":"Juniper Labs","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Juniper Labs"]},"customers":{"required_absent":[],"required_present":["Juniper Labs"]},"all":{"required_absent":[],"required_present":["Juniper Labs"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-088","language":"de","script":"Latin","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/88?credential=Ines Ibarra\u0026note=Der+Kunde+nennt+","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":53,"value":"Ines Ibarra","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ines Ibarra"]},"customers":{"required_absent":["Ines Ibarra"],"required_present":[]},"all":{"required_absent":["Ines Ibarra"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-088","language":"de","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/88?credential=Ion Project\u0026note=%C3%96ffentliche+Organisation+","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":53,"value":"Ion Project","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ion Project"]},"customers":{"required_absent":[],"required_present":["Ion Project"]},"all":{"required_absent":[],"required_present":["Ion Project"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-089","language":"de","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Der Kunde nennt `Ines Jensen`","known_identities":[],"targets":[{"id":"person","kind":"person","start":17,"end":28,"value":"Ines Jensen","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ines Jensen"]},"customers":{"required_absent":["Ines Jensen"],"required_present":[]},"all":{"required_absent":["Ines Jensen"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-089","language":"de","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Öffentliche Organisation `Ion Press`","known_identities":[],"targets":[{"id":"person","kind":"person","start":27,"end":36,"value":"Ion Press","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ion Press"]},"customers":{"required_absent":[],"required_present":["Ion Press"]},"all":{"required_absent":[],"required_present":["Ion Press"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-090","language":"de","script":"Latin","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eDer Kunde nennt \u003ccode\u003eJonas Arden\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":25,"end":36,"value":"Jonas Arden","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Jonas Arden"]},"customers":{"required_absent":["Jonas Arden"],"required_present":[]},"all":{"required_absent":["Jonas Arden"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-090","language":"de","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eÖffentliche Organisation \u003ccode\u003eJuniper Labs\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":47,"value":"Juniper Labs","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Juniper Labs"]},"customers":{"required_absent":[],"required_present":["Juniper Labs"]},"all":{"required_absent":[],"required_present":["Juniper Labs"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-de-redact-091","language":"de","script":"Latin","shape":"quoted-reply","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e Der Kunde nennt Jonas Borel","known_identities":[],"targets":[{"id":"person","kind":"person","start":18,"end":29,"value":"Jonas Borel","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Jonas Borel"]},"customers":{"required_absent":["Jonas Borel"],"required_present":[]},"all":{"required_absent":["Jonas Borel"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-de-preserve-091","language":"de","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e Öffentliche Organisation Juniper Works","known_identities":[],"targets":[{"id":"person","kind":"person","start":28,"end":41,"value":"Juniper Works","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Juniper Works"]},"customers":{"required_absent":[],"required_present":["Juniper Works"]},"all":{"required_absent":[],"required_present":["Juniper Works"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-de-redact-092","language":"de","script":"Latin","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=92 message=\"Der Kunde nennt \" value=Jonas Costa","known_identities":[],"targets":[{"id":"person","kind":"person","start":54,"end":65,"value":"Jonas Costa","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Jonas Costa"]},"customers":{"required_absent":["Jonas Costa"],"required_present":[]},"all":{"required_absent":["Jonas Costa"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-de-preserve-092","language":"de","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=92 message=\"Öffentliche Organisation \" value=Juniper Studio","known_identities":[],"targets":[{"id":"person","kind":"person","start":64,"end":78,"value":"Juniper Studio","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Juniper Studio"]},"customers":{"required_absent":[],"required_present":["Juniper Studio"]},"all":{"required_absent":[],"required_present":["Juniper Studio"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-092","language":"de","script":"Latin","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=92 message=\"Der Kunde nennt \" credential=\"Jonas Costa\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":60,"end":71,"value":"Jonas Costa","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Jonas Costa"]},"customers":{"required_absent":["Jonas Costa"],"required_present":[]},"all":{"required_absent":["Jonas Costa"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-092","language":"de","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=92 message=\"Öffentliche Organisation \" credential=\"Juniper Studio\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":70,"end":84,"value":"Juniper Studio","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Juniper Studio"]},"customers":{"required_absent":[],"required_present":["Juniper Studio"]},"all":{"required_absent":[],"required_present":["Juniper Studio"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-de-redact-093","language":"de","script":"Latin","shape":"stack-trace","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[93]: Der Kunde nennt Jonas Durand","known_identities":[],"targets":[{"id":"person","kind":"person","start":27,"end":39,"value":"Jonas Durand","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Jonas Durand"]},"customers":{"required_absent":["Jonas Durand"],"required_present":[]},"all":{"required_absent":["Jonas Durand"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-de-preserve-093","language":"de","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[93]: Öffentliche Organisation Juniper Systems","known_identities":[],"targets":[{"id":"person","kind":"person","start":37,"end":52,"value":"Juniper Systems","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Juniper Systems"]},"customers":{"required_absent":[],"required_present":["Juniper Systems"]},"all":{"required_absent":[],"required_present":["Juniper Systems"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-de-redact-094","language":"de","script":"Latin","shape":"code","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_94 := `Der Kunde nennt Jonas Esteves`","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":44,"value":"Jonas Esteves","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Jonas Esteves"]},"customers":{"required_absent":["Jonas Esteves"],"required_present":[]},"all":{"required_absent":["Jonas Esteves"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, @@ -596,8 +596,8 @@ {"id":"broad-language-de-preserve-095","language":"de","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--\nÖffentliche Organisation Juniper Foundation","known_identities":[],"targets":[{"id":"person","kind":"person","start":29,"end":47,"value":"Juniper Foundation","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Juniper Foundation"]},"customers":{"required_absent":[],"required_present":["Juniper Foundation"]},"all":{"required_absent":[],"required_present":["Juniper Foundation"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-de-redact-096","language":"de","script":"Latin","shape":"long-thread","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Der Kunde nennt Jonas Garcia","known_identities":[],"targets":[{"id":"person","kind":"person","start":496,"end":508,"value":"Jonas Garcia","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Jonas Garcia"]},"customers":{"required_absent":["Jonas Garcia"],"required_present":[]},"all":{"required_absent":["Jonas Garcia"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-de-preserve-096","language":"de","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Öffentliche Organisation Juniper Network","known_identities":[],"targets":[{"id":"person","kind":"person","start":506,"end":521,"value":"Juniper Network","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Juniper Network"]},"customers":{"required_absent":[],"required_present":["Juniper Network"]},"all":{"required_absent":[],"required_present":["Juniper Network"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-de-redact-097","language":"de","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=97 --message=\"Der Kunde nennt \" --value=Jonas Holm","known_identities":[],"targets":[{"id":"person","kind":"person","start":49,"end":59,"value":"Jonas Holm","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Jonas Holm"]},"customers":{"required_absent":["Jonas Holm"],"required_present":[]},"all":{"required_absent":["Jonas Holm"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-de-preserve-097","language":"de","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=97 --message=\"Öffentliche Organisation \" --value=Juniper Group","known_identities":[],"targets":[{"id":"person","kind":"person","start":59,"end":72,"value":"Juniper Group","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Juniper Group"]},"customers":{"required_absent":[],"required_present":["Juniper Group"]},"all":{"required_absent":[],"required_present":["Juniper Group"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-redact-097","language":"de","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=97 --message=\"Der Kunde nennt \" --credential=\"Jonas Holm\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":55,"end":65,"value":"Jonas Holm","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Jonas Holm"]},"customers":{"required_absent":["Jonas Holm"],"required_present":[]},"all":{"required_absent":["Jonas Holm"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-de-preserve-097","language":"de","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=97 --message=\"Öffentliche Organisation \" --credential=\"Juniper Group\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":65,"end":78,"value":"Juniper Group","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Juniper Group"]},"customers":{"required_absent":[],"required_present":["Juniper Group"]},"all":{"required_absent":[],"required_present":["Juniper Group"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-de-redact-098","language":"de","script":"Latin","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Der Kunde nennt Jonas Ibarra","known_identities":[],"targets":[{"id":"person","kind":"person","start":16,"end":28,"value":"Jonas Ibarra","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Jonas Ibarra"]},"customers":{"required_absent":["Jonas Ibarra"],"required_present":[]},"all":{"required_absent":["Jonas Ibarra"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-de-preserve-098","language":"de","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Öffentliche Organisation Juniper Project","known_identities":[],"targets":[{"id":"person","kind":"person","start":26,"end":41,"value":"Juniper Project","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Juniper Project"]},"customers":{"required_absent":[],"required_present":["Juniper Project"]},"all":{"required_absent":[],"required_present":["Juniper Project"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-de-redact-099","language":"de","script":"Latin","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_99\":\"Der Kunde nennt Jonas Jensen\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":43,"value":"Jonas Jensen","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Jonas Jensen"]},"customers":{"required_absent":["Jonas Jensen"],"required_present":[]},"all":{"required_absent":["Jonas Jensen"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, @@ -606,20 +606,20 @@ {"id":"broad-language-es-preserve-000","language":"es","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Organización pública Atlas Labs","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":33,"value":"Atlas Labs","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Atlas Labs"]},"customers":{"required_absent":[],"required_present":["Atlas Labs"]},"all":{"required_absent":[],"required_present":["Atlas Labs"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-es-redact-001","language":"es","script":"Latin","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_1\":\"El cliente menciona a Amina Borel\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":36,"end":47,"value":"Amina Borel","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Amina Borel"]},"customers":{"required_absent":["Amina Borel"],"required_present":[]},"all":{"required_absent":["Amina Borel"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-es-preserve-001","language":"es","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_1\":\"Organización pública Atlas Works\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":37,"end":48,"value":"Atlas Works","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Atlas Works"]},"customers":{"required_absent":[],"required_present":["Atlas Works"]},"all":{"required_absent":[],"required_present":["Atlas Works"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-es-redact-002","language":"es","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_2: El cliente menciona a Amina Costa","known_identities":[],"targets":[{"id":"person","kind":"person","start":33,"end":44,"value":"Amina Costa","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Amina Costa"]},"customers":{"required_absent":["Amina Costa"],"required_present":[]},"all":{"required_absent":["Amina Costa"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-es-preserve-002","language":"es","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_2: Organización pública Atlas Studio","known_identities":[],"targets":[{"id":"person","kind":"person","start":34,"end":46,"value":"Atlas Studio","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Atlas Studio"]},"customers":{"required_absent":[],"required_present":["Atlas Studio"]},"all":{"required_absent":[],"required_present":["Atlas Studio"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-002","language":"es","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_2: \"El cliente menciona a Amina Costa\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":34,"end":45,"value":"Amina Costa","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Amina Costa"]},"customers":{"required_absent":["Amina Costa"],"required_present":[]},"all":{"required_absent":["Amina Costa"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-002","language":"es","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_2: \"Organización pública Atlas Studio\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":47,"value":"Atlas Studio","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Atlas Studio"]},"customers":{"required_absent":[],"required_present":["Atlas Studio"]},"all":{"required_absent":[],"required_present":["Atlas Studio"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-es-redact-003","language":"es","script":"Latin","shape":"shell","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_3='El cliente menciona a Amina Durand'","known_identities":[],"targets":[{"id":"person","kind":"person","start":33,"end":45,"value":"Amina Durand","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Amina Durand"]},"customers":{"required_absent":["Amina Durand"],"required_present":[]},"all":{"required_absent":["Amina Durand"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-es-preserve-003","language":"es","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_3='Organización pública Atlas Systems'","known_identities":[],"targets":[{"id":"person","kind":"person","start":34,"end":47,"value":"Atlas Systems","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Atlas Systems"]},"customers":{"required_absent":[],"required_present":["Atlas Systems"]},"all":{"required_absent":[],"required_present":["Atlas Systems"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-es-redact-004","language":"es","script":"Latin","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/4 ; El cliente menciona a Amina Esteves","known_identities":[],"targets":[{"id":"person","kind":"person","start":54,"end":67,"value":"Amina Esteves","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Amina Esteves"]},"customers":{"required_absent":["Amina Esteves"],"required_present":[]},"all":{"required_absent":["Amina Esteves"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-es-preserve-004","language":"es","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/4 ; Organización pública Atlas Collective","known_identities":[],"targets":[{"id":"person","kind":"person","start":55,"end":71,"value":"Atlas Collective","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Atlas Collective"]},"customers":{"required_absent":[],"required_present":["Atlas Collective"]},"all":{"required_absent":[],"required_present":["Atlas Collective"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-es-redact-005","language":"es","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"**El cliente menciona a Amina Fischer**","known_identities":[],"targets":[{"id":"person","kind":"person","start":24,"end":37,"value":"Amina Fischer","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Amina Fischer"]},"customers":{"required_absent":["Amina Fischer"],"required_present":[]},"all":{"required_absent":["Amina Fischer"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-es-preserve-005","language":"es","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"**Organización pública Atlas Foundation**","known_identities":[],"targets":[{"id":"person","kind":"person","start":25,"end":41,"value":"Atlas Foundation","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Atlas Foundation"]},"customers":{"required_absent":[],"required_present":["Atlas Foundation"]},"all":{"required_absent":[],"required_present":["Atlas Foundation"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-es-redact-006","language":"es","script":"Latin","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eEl cliente menciona a Amina Garcia\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":25,"end":37,"value":"Amina Garcia","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Amina Garcia"]},"customers":{"required_absent":["Amina Garcia"],"required_present":[]},"all":{"required_absent":["Amina Garcia"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-es-preserve-006","language":"es","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eOrganización pública Atlas Network\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":26,"end":39,"value":"Atlas Network","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Atlas Network"]},"customers":{"required_absent":[],"required_present":["Atlas Network"]},"all":{"required_absent":[],"required_present":["Atlas Network"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-004","language":"es","script":"Latin","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/4?credential=Amina Esteves\u0026note=El+cliente+menciona+a+","known_identities":[],"targets":[{"id":"person","kind":"person","start":41,"end":54,"value":"Amina Esteves","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Amina Esteves"]},"customers":{"required_absent":["Amina Esteves"],"required_present":[]},"all":{"required_absent":["Amina Esteves"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-004","language":"es","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/4?credential=Atlas Collective\u0026note=Organizaci%C3%B3n+p%C3%BAblica+","known_identities":[],"targets":[{"id":"person","kind":"person","start":41,"end":57,"value":"Atlas Collective","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Atlas Collective"]},"customers":{"required_absent":[],"required_present":["Atlas Collective"]},"all":{"required_absent":[],"required_present":["Atlas Collective"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-005","language":"es","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"El cliente menciona a `Amina Fischer`","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":36,"value":"Amina Fischer","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Amina Fischer"]},"customers":{"required_absent":["Amina Fischer"],"required_present":[]},"all":{"required_absent":["Amina Fischer"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-005","language":"es","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Organización pública `Atlas Foundation`","known_identities":[],"targets":[{"id":"person","kind":"person","start":24,"end":40,"value":"Atlas Foundation","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Atlas Foundation"]},"customers":{"required_absent":[],"required_present":["Atlas Foundation"]},"all":{"required_absent":[],"required_present":["Atlas Foundation"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-006","language":"es","script":"Latin","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eEl cliente menciona a \u003ccode\u003eAmina Garcia\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":43,"value":"Amina Garcia","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Amina Garcia"]},"customers":{"required_absent":["Amina Garcia"],"required_present":[]},"all":{"required_absent":["Amina Garcia"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-006","language":"es","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eOrganización pública \u003ccode\u003eAtlas Network\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":45,"value":"Atlas Network","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Atlas Network"]},"customers":{"required_absent":[],"required_present":["Atlas Network"]},"all":{"required_absent":[],"required_present":["Atlas Network"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-es-redact-007","language":"es","script":"Latin","shape":"quoted-reply","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e El cliente menciona a Amina Holm","known_identities":[],"targets":[{"id":"person","kind":"person","start":24,"end":34,"value":"Amina Holm","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Amina Holm"]},"customers":{"required_absent":["Amina Holm"],"required_present":[]},"all":{"required_absent":["Amina Holm"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-es-preserve-007","language":"es","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e Organización pública Atlas Group","known_identities":[],"targets":[{"id":"person","kind":"person","start":25,"end":36,"value":"Atlas Group","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Atlas Group"]},"customers":{"required_absent":[],"required_present":["Atlas Group"]},"all":{"required_absent":[],"required_present":["Atlas Group"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-es-redact-008","language":"es","script":"Latin","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=8 message=\"El cliente menciona a \" value=Amina Ibarra","known_identities":[],"targets":[{"id":"person","kind":"person","start":59,"end":71,"value":"Amina Ibarra","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Amina Ibarra"]},"customers":{"required_absent":["Amina Ibarra"],"required_present":[]},"all":{"required_absent":["Amina Ibarra"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-es-preserve-008","language":"es","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=8 message=\"Organización pública \" value=Atlas Project","known_identities":[],"targets":[{"id":"person","kind":"person","start":60,"end":73,"value":"Atlas Project","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Atlas Project"]},"customers":{"required_absent":[],"required_present":["Atlas Project"]},"all":{"required_absent":[],"required_present":["Atlas Project"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-008","language":"es","script":"Latin","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=8 message=\"El cliente menciona a \" credential=\"Amina Ibarra\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":65,"end":77,"value":"Amina Ibarra","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Amina Ibarra"]},"customers":{"required_absent":["Amina Ibarra"],"required_present":[]},"all":{"required_absent":["Amina Ibarra"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-008","language":"es","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=8 message=\"Organización pública \" credential=\"Atlas Project\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":66,"end":79,"value":"Atlas Project","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Atlas Project"]},"customers":{"required_absent":[],"required_present":["Atlas Project"]},"all":{"required_absent":[],"required_present":["Atlas Project"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-es-redact-009","language":"es","script":"Latin","shape":"stack-trace","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[9]: El cliente menciona a Amina Jensen","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":44,"value":"Amina Jensen","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Amina Jensen"]},"customers":{"required_absent":["Amina Jensen"],"required_present":[]},"all":{"required_absent":["Amina Jensen"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-es-preserve-009","language":"es","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[9]: Organización pública Atlas Press","known_identities":[],"targets":[{"id":"person","kind":"person","start":33,"end":44,"value":"Atlas Press","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Atlas Press"]},"customers":{"required_absent":[],"required_present":["Atlas Press"]},"all":{"required_absent":[],"required_present":["Atlas Press"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-es-redact-010","language":"es","script":"Latin","shape":"code","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_10 := `El cliente menciona a Bruno Arden`","known_identities":[],"targets":[{"id":"person","kind":"person","start":37,"end":48,"value":"Bruno Arden","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bruno Arden"]},"customers":{"required_absent":["Bruno Arden"],"required_present":[]},"all":{"required_absent":["Bruno Arden"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, @@ -628,26 +628,26 @@ {"id":"broad-language-es-preserve-011","language":"es","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--\nOrganización pública Boreal Works","known_identities":[],"targets":[{"id":"person","kind":"person","start":26,"end":38,"value":"Boreal Works","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Boreal Works"]},"customers":{"required_absent":[],"required_present":["Boreal Works"]},"all":{"required_absent":[],"required_present":["Boreal Works"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-es-redact-012","language":"es","script":"Latin","shape":"long-thread","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. El cliente menciona a Bruno Costa","known_identities":[],"targets":[{"id":"person","kind":"person","start":502,"end":513,"value":"Bruno Costa","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bruno Costa"]},"customers":{"required_absent":["Bruno Costa"],"required_present":[]},"all":{"required_absent":["Bruno Costa"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-es-preserve-012","language":"es","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Organización pública Boreal Studio","known_identities":[],"targets":[{"id":"person","kind":"person","start":503,"end":516,"value":"Boreal Studio","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Boreal Studio"]},"customers":{"required_absent":[],"required_present":["Boreal Studio"]},"all":{"required_absent":[],"required_present":["Boreal Studio"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-es-redact-013","language":"es","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=13 --message=\"El cliente menciona a \" --value=Bruno Durand","known_identities":[],"targets":[{"id":"person","kind":"person","start":55,"end":67,"value":"Bruno Durand","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bruno Durand"]},"customers":{"required_absent":["Bruno Durand"],"required_present":[]},"all":{"required_absent":["Bruno Durand"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-es-preserve-013","language":"es","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=13 --message=\"Organización pública \" --value=Boreal Systems","known_identities":[],"targets":[{"id":"person","kind":"person","start":56,"end":70,"value":"Boreal Systems","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Boreal Systems"]},"customers":{"required_absent":[],"required_present":["Boreal Systems"]},"all":{"required_absent":[],"required_present":["Boreal Systems"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-013","language":"es","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=13 --message=\"El cliente menciona a \" --credential=\"Bruno Durand\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":61,"end":73,"value":"Bruno Durand","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bruno Durand"]},"customers":{"required_absent":["Bruno Durand"],"required_present":[]},"all":{"required_absent":["Bruno Durand"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-013","language":"es","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=13 --message=\"Organización pública \" --credential=\"Boreal Systems\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":62,"end":76,"value":"Boreal Systems","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Boreal Systems"]},"customers":{"required_absent":[],"required_present":["Boreal Systems"]},"all":{"required_absent":[],"required_present":["Boreal Systems"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-es-redact-014","language":"es","script":"Latin","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"El cliente menciona a Bruno Esteves","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":35,"value":"Bruno Esteves","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bruno Esteves"]},"customers":{"required_absent":["Bruno Esteves"],"required_present":[]},"all":{"required_absent":["Bruno Esteves"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-es-preserve-014","language":"es","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Organización pública Boreal Collective","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":40,"value":"Boreal Collective","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Boreal Collective"]},"customers":{"required_absent":[],"required_present":["Boreal Collective"]},"all":{"required_absent":[],"required_present":["Boreal Collective"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-es-redact-015","language":"es","script":"Latin","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_15\":\"El cliente menciona a Bruno Fischer\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":37,"end":50,"value":"Bruno Fischer","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bruno Fischer"]},"customers":{"required_absent":["Bruno Fischer"],"required_present":[]},"all":{"required_absent":["Bruno Fischer"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-es-preserve-015","language":"es","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_15\":\"Organización pública Boreal Foundation\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":38,"end":55,"value":"Boreal Foundation","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Boreal Foundation"]},"customers":{"required_absent":[],"required_present":["Boreal Foundation"]},"all":{"required_absent":[],"required_present":["Boreal Foundation"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-es-redact-016","language":"es","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_16: El cliente menciona a Bruno Garcia","known_identities":[],"targets":[{"id":"person","kind":"person","start":34,"end":46,"value":"Bruno Garcia","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bruno Garcia"]},"customers":{"required_absent":["Bruno Garcia"],"required_present":[]},"all":{"required_absent":["Bruno Garcia"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-es-preserve-016","language":"es","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_16: Organización pública Boreal Network","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":49,"value":"Boreal Network","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Boreal Network"]},"customers":{"required_absent":[],"required_present":["Boreal Network"]},"all":{"required_absent":[],"required_present":["Boreal Network"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-016","language":"es","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_16: \"El cliente menciona a Bruno Garcia\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":47,"value":"Bruno Garcia","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bruno Garcia"]},"customers":{"required_absent":["Bruno Garcia"],"required_present":[]},"all":{"required_absent":["Bruno Garcia"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-016","language":"es","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_16: \"Organización pública Boreal Network\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":36,"end":50,"value":"Boreal Network","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Boreal Network"]},"customers":{"required_absent":[],"required_present":["Boreal Network"]},"all":{"required_absent":[],"required_present":["Boreal Network"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-es-redact-017","language":"es","script":"Latin","shape":"shell","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_17='El cliente menciona a Bruno Holm'","known_identities":[],"targets":[{"id":"person","kind":"person","start":34,"end":44,"value":"Bruno Holm","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bruno Holm"]},"customers":{"required_absent":["Bruno Holm"],"required_present":[]},"all":{"required_absent":["Bruno Holm"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-es-preserve-017","language":"es","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_17='Organización pública Boreal Group'","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":47,"value":"Boreal Group","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Boreal Group"]},"customers":{"required_absent":[],"required_present":["Boreal Group"]},"all":{"required_absent":[],"required_present":["Boreal Group"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-es-redact-018","language":"es","script":"Latin","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/18 ; El cliente menciona a Bruno Ibarra","known_identities":[],"targets":[{"id":"person","kind":"person","start":55,"end":67,"value":"Bruno Ibarra","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bruno Ibarra"]},"customers":{"required_absent":["Bruno Ibarra"],"required_present":[]},"all":{"required_absent":["Bruno Ibarra"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-es-preserve-018","language":"es","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/18 ; Organización pública Boreal Project","known_identities":[],"targets":[{"id":"person","kind":"person","start":56,"end":70,"value":"Boreal Project","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Boreal Project"]},"customers":{"required_absent":[],"required_present":["Boreal Project"]},"all":{"required_absent":[],"required_present":["Boreal Project"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-es-redact-019","language":"es","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"**El cliente menciona a Bruno Jensen**","known_identities":[],"targets":[{"id":"person","kind":"person","start":24,"end":36,"value":"Bruno Jensen","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bruno Jensen"]},"customers":{"required_absent":["Bruno Jensen"],"required_present":[]},"all":{"required_absent":["Bruno Jensen"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-es-preserve-019","language":"es","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"**Organización pública Boreal Press**","known_identities":[],"targets":[{"id":"person","kind":"person","start":25,"end":37,"value":"Boreal Press","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Boreal Press"]},"customers":{"required_absent":[],"required_present":["Boreal Press"]},"all":{"required_absent":[],"required_present":["Boreal Press"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-es-redact-020","language":"es","script":"Latin","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eEl cliente menciona a Clara Arden\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":25,"end":36,"value":"Clara Arden","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Clara Arden"]},"customers":{"required_absent":["Clara Arden"],"required_present":[]},"all":{"required_absent":["Clara Arden"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-es-preserve-020","language":"es","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eOrganización pública Cedar Labs\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":26,"end":36,"value":"Cedar Labs","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Cedar Labs"]},"customers":{"required_absent":[],"required_present":["Cedar Labs"]},"all":{"required_absent":[],"required_present":["Cedar Labs"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-018","language":"es","script":"Latin","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/18?credential=Bruno Ibarra\u0026note=El+cliente+menciona+a+","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":54,"value":"Bruno Ibarra","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bruno Ibarra"]},"customers":{"required_absent":["Bruno Ibarra"],"required_present":[]},"all":{"required_absent":["Bruno Ibarra"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-018","language":"es","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/18?credential=Boreal Project\u0026note=Organizaci%C3%B3n+p%C3%BAblica+","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":56,"value":"Boreal Project","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Boreal Project"]},"customers":{"required_absent":[],"required_present":["Boreal Project"]},"all":{"required_absent":[],"required_present":["Boreal Project"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-019","language":"es","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"El cliente menciona a `Bruno Jensen`","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":35,"value":"Bruno Jensen","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bruno Jensen"]},"customers":{"required_absent":["Bruno Jensen"],"required_present":[]},"all":{"required_absent":["Bruno Jensen"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-019","language":"es","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Organización pública `Boreal Press`","known_identities":[],"targets":[{"id":"person","kind":"person","start":24,"end":36,"value":"Boreal Press","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Boreal Press"]},"customers":{"required_absent":[],"required_present":["Boreal Press"]},"all":{"required_absent":[],"required_present":["Boreal Press"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-020","language":"es","script":"Latin","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eEl cliente menciona a \u003ccode\u003eClara Arden\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":42,"value":"Clara Arden","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Clara Arden"]},"customers":{"required_absent":["Clara Arden"],"required_present":[]},"all":{"required_absent":["Clara Arden"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-020","language":"es","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eOrganización pública \u003ccode\u003eCedar Labs\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":42,"value":"Cedar Labs","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Cedar Labs"]},"customers":{"required_absent":[],"required_present":["Cedar Labs"]},"all":{"required_absent":[],"required_present":["Cedar Labs"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-es-redact-021","language":"es","script":"Latin","shape":"quoted-reply","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e El cliente menciona a Clara Borel","known_identities":[],"targets":[{"id":"person","kind":"person","start":24,"end":35,"value":"Clara Borel","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Clara Borel"]},"customers":{"required_absent":["Clara Borel"],"required_present":[]},"all":{"required_absent":["Clara Borel"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-es-preserve-021","language":"es","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e Organización pública Cedar Works","known_identities":[],"targets":[{"id":"person","kind":"person","start":25,"end":36,"value":"Cedar Works","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Cedar Works"]},"customers":{"required_absent":[],"required_present":["Cedar Works"]},"all":{"required_absent":[],"required_present":["Cedar Works"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-es-redact-022","language":"es","script":"Latin","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=22 message=\"El cliente menciona a \" value=Clara Costa","known_identities":[],"targets":[{"id":"person","kind":"person","start":60,"end":71,"value":"Clara Costa","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Clara Costa"]},"customers":{"required_absent":["Clara Costa"],"required_present":[]},"all":{"required_absent":["Clara Costa"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-es-preserve-022","language":"es","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=22 message=\"Organización pública \" value=Cedar Studio","known_identities":[],"targets":[{"id":"person","kind":"person","start":61,"end":73,"value":"Cedar Studio","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Cedar Studio"]},"customers":{"required_absent":[],"required_present":["Cedar Studio"]},"all":{"required_absent":[],"required_present":["Cedar Studio"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-022","language":"es","script":"Latin","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=22 message=\"El cliente menciona a \" credential=\"Clara Costa\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":66,"end":77,"value":"Clara Costa","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Clara Costa"]},"customers":{"required_absent":["Clara Costa"],"required_present":[]},"all":{"required_absent":["Clara Costa"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-022","language":"es","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=22 message=\"Organización pública \" credential=\"Cedar Studio\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":67,"end":79,"value":"Cedar Studio","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Cedar Studio"]},"customers":{"required_absent":[],"required_present":["Cedar Studio"]},"all":{"required_absent":[],"required_present":["Cedar Studio"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-es-redact-023","language":"es","script":"Latin","shape":"stack-trace","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[23]: El cliente menciona a Clara Durand","known_identities":[],"targets":[{"id":"person","kind":"person","start":33,"end":45,"value":"Clara Durand","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Clara Durand"]},"customers":{"required_absent":["Clara Durand"],"required_present":[]},"all":{"required_absent":["Clara Durand"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-es-preserve-023","language":"es","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[23]: Organización pública Cedar Systems","known_identities":[],"targets":[{"id":"person","kind":"person","start":34,"end":47,"value":"Cedar Systems","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Cedar Systems"]},"customers":{"required_absent":[],"required_present":["Cedar Systems"]},"all":{"required_absent":[],"required_present":["Cedar Systems"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-es-redact-024","language":"es","script":"Latin","shape":"code","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_24 := `El cliente menciona a Clara Esteves`","known_identities":[],"targets":[{"id":"person","kind":"person","start":37,"end":50,"value":"Clara Esteves","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Clara Esteves"]},"customers":{"required_absent":["Clara Esteves"],"required_present":[]},"all":{"required_absent":["Clara Esteves"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, @@ -656,26 +656,26 @@ {"id":"broad-language-es-preserve-025","language":"es","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--\nOrganización pública Cedar Foundation","known_identities":[],"targets":[{"id":"person","kind":"person","start":26,"end":42,"value":"Cedar Foundation","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Cedar Foundation"]},"customers":{"required_absent":[],"required_present":["Cedar Foundation"]},"all":{"required_absent":[],"required_present":["Cedar Foundation"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-es-redact-026","language":"es","script":"Latin","shape":"long-thread","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. El cliente menciona a Clara Garcia","known_identities":[],"targets":[{"id":"person","kind":"person","start":502,"end":514,"value":"Clara Garcia","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Clara Garcia"]},"customers":{"required_absent":["Clara Garcia"],"required_present":[]},"all":{"required_absent":["Clara Garcia"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-es-preserve-026","language":"es","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Organización pública Cedar Network","known_identities":[],"targets":[{"id":"person","kind":"person","start":503,"end":516,"value":"Cedar Network","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Cedar Network"]},"customers":{"required_absent":[],"required_present":["Cedar Network"]},"all":{"required_absent":[],"required_present":["Cedar Network"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-es-redact-027","language":"es","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=27 --message=\"El cliente menciona a \" --value=Clara Holm","known_identities":[],"targets":[{"id":"person","kind":"person","start":55,"end":65,"value":"Clara Holm","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Clara Holm"]},"customers":{"required_absent":["Clara Holm"],"required_present":[]},"all":{"required_absent":["Clara Holm"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-es-preserve-027","language":"es","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=27 --message=\"Organización pública \" --value=Cedar Group","known_identities":[],"targets":[{"id":"person","kind":"person","start":56,"end":67,"value":"Cedar Group","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Cedar Group"]},"customers":{"required_absent":[],"required_present":["Cedar Group"]},"all":{"required_absent":[],"required_present":["Cedar Group"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-027","language":"es","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=27 --message=\"El cliente menciona a \" --credential=\"Clara Holm\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":61,"end":71,"value":"Clara Holm","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Clara Holm"]},"customers":{"required_absent":["Clara Holm"],"required_present":[]},"all":{"required_absent":["Clara Holm"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-027","language":"es","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=27 --message=\"Organización pública \" --credential=\"Cedar Group\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":62,"end":73,"value":"Cedar Group","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Cedar Group"]},"customers":{"required_absent":[],"required_present":["Cedar Group"]},"all":{"required_absent":[],"required_present":["Cedar Group"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-es-redact-028","language":"es","script":"Latin","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"El cliente menciona a Clara Ibarra","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":34,"value":"Clara Ibarra","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Clara Ibarra"]},"customers":{"required_absent":["Clara Ibarra"],"required_present":[]},"all":{"required_absent":["Clara Ibarra"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-es-preserve-028","language":"es","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Organización pública Cedar Project","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":36,"value":"Cedar Project","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Cedar Project"]},"customers":{"required_absent":[],"required_present":["Cedar Project"]},"all":{"required_absent":[],"required_present":["Cedar Project"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-es-redact-029","language":"es","script":"Latin","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_29\":\"El cliente menciona a Clara Jensen\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":37,"end":49,"value":"Clara Jensen","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Clara Jensen"]},"customers":{"required_absent":["Clara Jensen"],"required_present":[]},"all":{"required_absent":["Clara Jensen"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-es-preserve-029","language":"es","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_29\":\"Organización pública Cedar Press\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":38,"end":49,"value":"Cedar Press","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Cedar Press"]},"customers":{"required_absent":[],"required_present":["Cedar Press"]},"all":{"required_absent":[],"required_present":["Cedar Press"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-es-redact-030","language":"es","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_30: El cliente menciona a Diego Arden","known_identities":[],"targets":[{"id":"person","kind":"person","start":34,"end":45,"value":"Diego Arden","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Diego Arden"]},"customers":{"required_absent":["Diego Arden"],"required_present":[]},"all":{"required_absent":["Diego Arden"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-es-preserve-030","language":"es","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_30: Organización pública Delta Labs","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":45,"value":"Delta Labs","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Delta Labs"]},"customers":{"required_absent":[],"required_present":["Delta Labs"]},"all":{"required_absent":[],"required_present":["Delta Labs"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-030","language":"es","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_30: \"El cliente menciona a Diego Arden\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":46,"value":"Diego Arden","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Diego Arden"]},"customers":{"required_absent":["Diego Arden"],"required_present":[]},"all":{"required_absent":["Diego Arden"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-030","language":"es","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_30: \"Organización pública Delta Labs\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":36,"end":46,"value":"Delta Labs","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Delta Labs"]},"customers":{"required_absent":[],"required_present":["Delta Labs"]},"all":{"required_absent":[],"required_present":["Delta Labs"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-es-redact-031","language":"es","script":"Latin","shape":"shell","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_31='El cliente menciona a Diego Borel'","known_identities":[],"targets":[{"id":"person","kind":"person","start":34,"end":45,"value":"Diego Borel","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Diego Borel"]},"customers":{"required_absent":["Diego Borel"],"required_present":[]},"all":{"required_absent":["Diego Borel"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-es-preserve-031","language":"es","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_31='Organización pública Delta Works'","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":46,"value":"Delta Works","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Delta Works"]},"customers":{"required_absent":[],"required_present":["Delta Works"]},"all":{"required_absent":[],"required_present":["Delta Works"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-es-redact-032","language":"es","script":"Latin","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/32 ; El cliente menciona a Diego Costa","known_identities":[],"targets":[{"id":"person","kind":"person","start":55,"end":66,"value":"Diego Costa","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Diego Costa"]},"customers":{"required_absent":["Diego Costa"],"required_present":[]},"all":{"required_absent":["Diego Costa"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-es-preserve-032","language":"es","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/32 ; Organización pública Delta Studio","known_identities":[],"targets":[{"id":"person","kind":"person","start":56,"end":68,"value":"Delta Studio","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Delta Studio"]},"customers":{"required_absent":[],"required_present":["Delta Studio"]},"all":{"required_absent":[],"required_present":["Delta Studio"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-es-redact-033","language":"es","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"**El cliente menciona a Diego Durand**","known_identities":[],"targets":[{"id":"person","kind":"person","start":24,"end":36,"value":"Diego Durand","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Diego Durand"]},"customers":{"required_absent":["Diego Durand"],"required_present":[]},"all":{"required_absent":["Diego Durand"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-es-preserve-033","language":"es","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"**Organización pública Delta Systems**","known_identities":[],"targets":[{"id":"person","kind":"person","start":25,"end":38,"value":"Delta Systems","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Delta Systems"]},"customers":{"required_absent":[],"required_present":["Delta Systems"]},"all":{"required_absent":[],"required_present":["Delta Systems"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-es-redact-034","language":"es","script":"Latin","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eEl cliente menciona a Diego Esteves\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":25,"end":38,"value":"Diego Esteves","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Diego Esteves"]},"customers":{"required_absent":["Diego Esteves"],"required_present":[]},"all":{"required_absent":["Diego Esteves"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-es-preserve-034","language":"es","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eOrganización pública Delta Collective\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":26,"end":42,"value":"Delta Collective","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Delta Collective"]},"customers":{"required_absent":[],"required_present":["Delta Collective"]},"all":{"required_absent":[],"required_present":["Delta Collective"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-032","language":"es","script":"Latin","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/32?credential=Diego Costa\u0026note=El+cliente+menciona+a+","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":53,"value":"Diego Costa","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Diego Costa"]},"customers":{"required_absent":["Diego Costa"],"required_present":[]},"all":{"required_absent":["Diego Costa"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-032","language":"es","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/32?credential=Delta Studio\u0026note=Organizaci%C3%B3n+p%C3%BAblica+","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":54,"value":"Delta Studio","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Delta Studio"]},"customers":{"required_absent":[],"required_present":["Delta Studio"]},"all":{"required_absent":[],"required_present":["Delta Studio"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-033","language":"es","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"El cliente menciona a `Diego Durand`","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":35,"value":"Diego Durand","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Diego Durand"]},"customers":{"required_absent":["Diego Durand"],"required_present":[]},"all":{"required_absent":["Diego Durand"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-033","language":"es","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Organización pública `Delta Systems`","known_identities":[],"targets":[{"id":"person","kind":"person","start":24,"end":37,"value":"Delta Systems","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Delta Systems"]},"customers":{"required_absent":[],"required_present":["Delta Systems"]},"all":{"required_absent":[],"required_present":["Delta Systems"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-034","language":"es","script":"Latin","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eEl cliente menciona a \u003ccode\u003eDiego Esteves\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":44,"value":"Diego Esteves","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Diego Esteves"]},"customers":{"required_absent":["Diego Esteves"],"required_present":[]},"all":{"required_absent":["Diego Esteves"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-034","language":"es","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eOrganización pública \u003ccode\u003eDelta Collective\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":48,"value":"Delta Collective","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Delta Collective"]},"customers":{"required_absent":[],"required_present":["Delta Collective"]},"all":{"required_absent":[],"required_present":["Delta Collective"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-es-redact-035","language":"es","script":"Latin","shape":"quoted-reply","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e El cliente menciona a Diego Fischer","known_identities":[],"targets":[{"id":"person","kind":"person","start":24,"end":37,"value":"Diego Fischer","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Diego Fischer"]},"customers":{"required_absent":["Diego Fischer"],"required_present":[]},"all":{"required_absent":["Diego Fischer"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-es-preserve-035","language":"es","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e Organización pública Delta Foundation","known_identities":[],"targets":[{"id":"person","kind":"person","start":25,"end":41,"value":"Delta Foundation","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Delta Foundation"]},"customers":{"required_absent":[],"required_present":["Delta Foundation"]},"all":{"required_absent":[],"required_present":["Delta Foundation"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-es-redact-036","language":"es","script":"Latin","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=36 message=\"El cliente menciona a \" value=Diego Garcia","known_identities":[],"targets":[{"id":"person","kind":"person","start":60,"end":72,"value":"Diego Garcia","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Diego Garcia"]},"customers":{"required_absent":["Diego Garcia"],"required_present":[]},"all":{"required_absent":["Diego Garcia"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-es-preserve-036","language":"es","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=36 message=\"Organización pública \" value=Delta Network","known_identities":[],"targets":[{"id":"person","kind":"person","start":61,"end":74,"value":"Delta Network","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Delta Network"]},"customers":{"required_absent":[],"required_present":["Delta Network"]},"all":{"required_absent":[],"required_present":["Delta Network"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-036","language":"es","script":"Latin","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=36 message=\"El cliente menciona a \" credential=\"Diego Garcia\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":66,"end":78,"value":"Diego Garcia","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Diego Garcia"]},"customers":{"required_absent":["Diego Garcia"],"required_present":[]},"all":{"required_absent":["Diego Garcia"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-036","language":"es","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=36 message=\"Organización pública \" credential=\"Delta Network\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":67,"end":80,"value":"Delta Network","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Delta Network"]},"customers":{"required_absent":[],"required_present":["Delta Network"]},"all":{"required_absent":[],"required_present":["Delta Network"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-es-redact-037","language":"es","script":"Latin","shape":"stack-trace","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[37]: El cliente menciona a Diego Holm","known_identities":[],"targets":[{"id":"person","kind":"person","start":33,"end":43,"value":"Diego Holm","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Diego Holm"]},"customers":{"required_absent":["Diego Holm"],"required_present":[]},"all":{"required_absent":["Diego Holm"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-es-preserve-037","language":"es","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[37]: Organización pública Delta Group","known_identities":[],"targets":[{"id":"person","kind":"person","start":34,"end":45,"value":"Delta Group","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Delta Group"]},"customers":{"required_absent":[],"required_present":["Delta Group"]},"all":{"required_absent":[],"required_present":["Delta Group"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-es-redact-038","language":"es","script":"Latin","shape":"code","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_38 := `El cliente menciona a Diego Ibarra`","known_identities":[],"targets":[{"id":"person","kind":"person","start":37,"end":49,"value":"Diego Ibarra","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Diego Ibarra"]},"customers":{"required_absent":["Diego Ibarra"],"required_present":[]},"all":{"required_absent":["Diego Ibarra"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, @@ -684,26 +684,26 @@ {"id":"broad-language-es-preserve-039","language":"es","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--\nOrganización pública Delta Press","known_identities":[],"targets":[{"id":"person","kind":"person","start":26,"end":37,"value":"Delta Press","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Delta Press"]},"customers":{"required_absent":[],"required_present":["Delta Press"]},"all":{"required_absent":[],"required_present":["Delta Press"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-es-redact-040","language":"es","script":"Latin","shape":"long-thread","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. El cliente menciona a Elena Arden","known_identities":[],"targets":[{"id":"person","kind":"person","start":502,"end":513,"value":"Elena Arden","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Elena Arden"]},"customers":{"required_absent":["Elena Arden"],"required_present":[]},"all":{"required_absent":["Elena Arden"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-es-preserve-040","language":"es","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Organización pública Ember Labs","known_identities":[],"targets":[{"id":"person","kind":"person","start":503,"end":513,"value":"Ember Labs","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ember Labs"]},"customers":{"required_absent":[],"required_present":["Ember Labs"]},"all":{"required_absent":[],"required_present":["Ember Labs"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-es-redact-041","language":"es","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=41 --message=\"El cliente menciona a \" --value=Elena Borel","known_identities":[],"targets":[{"id":"person","kind":"person","start":55,"end":66,"value":"Elena Borel","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Elena Borel"]},"customers":{"required_absent":["Elena Borel"],"required_present":[]},"all":{"required_absent":["Elena Borel"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-es-preserve-041","language":"es","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=41 --message=\"Organización pública \" --value=Ember Works","known_identities":[],"targets":[{"id":"person","kind":"person","start":56,"end":67,"value":"Ember Works","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ember Works"]},"customers":{"required_absent":[],"required_present":["Ember Works"]},"all":{"required_absent":[],"required_present":["Ember Works"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-041","language":"es","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=41 --message=\"El cliente menciona a \" --credential=\"Elena Borel\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":61,"end":72,"value":"Elena Borel","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Elena Borel"]},"customers":{"required_absent":["Elena Borel"],"required_present":[]},"all":{"required_absent":["Elena Borel"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-041","language":"es","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=41 --message=\"Organización pública \" --credential=\"Ember Works\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":62,"end":73,"value":"Ember Works","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ember Works"]},"customers":{"required_absent":[],"required_present":["Ember Works"]},"all":{"required_absent":[],"required_present":["Ember Works"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-es-redact-042","language":"es","script":"Latin","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"El cliente menciona a Elena Costa","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":33,"value":"Elena Costa","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Elena Costa"]},"customers":{"required_absent":["Elena Costa"],"required_present":[]},"all":{"required_absent":["Elena Costa"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-es-preserve-042","language":"es","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Organización pública Ember Studio","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":35,"value":"Ember Studio","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ember Studio"]},"customers":{"required_absent":[],"required_present":["Ember Studio"]},"all":{"required_absent":[],"required_present":["Ember Studio"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-es-redact-043","language":"es","script":"Latin","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_43\":\"El cliente menciona a Elena Durand\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":37,"end":49,"value":"Elena Durand","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Elena Durand"]},"customers":{"required_absent":["Elena Durand"],"required_present":[]},"all":{"required_absent":["Elena Durand"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-es-preserve-043","language":"es","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_43\":\"Organización pública Ember Systems\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":38,"end":51,"value":"Ember Systems","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ember Systems"]},"customers":{"required_absent":[],"required_present":["Ember Systems"]},"all":{"required_absent":[],"required_present":["Ember Systems"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-es-redact-044","language":"es","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_44: El cliente menciona a Elena Esteves","known_identities":[],"targets":[{"id":"person","kind":"person","start":34,"end":47,"value":"Elena Esteves","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Elena Esteves"]},"customers":{"required_absent":["Elena Esteves"],"required_present":[]},"all":{"required_absent":["Elena Esteves"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-es-preserve-044","language":"es","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_44: Organización pública Ember Collective","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":51,"value":"Ember Collective","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ember Collective"]},"customers":{"required_absent":[],"required_present":["Ember Collective"]},"all":{"required_absent":[],"required_present":["Ember Collective"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-044","language":"es","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_44: \"El cliente menciona a Elena Esteves\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":48,"value":"Elena Esteves","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Elena Esteves"]},"customers":{"required_absent":["Elena Esteves"],"required_present":[]},"all":{"required_absent":["Elena Esteves"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-044","language":"es","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_44: \"Organización pública Ember Collective\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":36,"end":52,"value":"Ember Collective","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ember Collective"]},"customers":{"required_absent":[],"required_present":["Ember Collective"]},"all":{"required_absent":[],"required_present":["Ember Collective"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-es-redact-045","language":"es","script":"Latin","shape":"shell","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_45='El cliente menciona a Elena Fischer'","known_identities":[],"targets":[{"id":"person","kind":"person","start":34,"end":47,"value":"Elena Fischer","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Elena Fischer"]},"customers":{"required_absent":["Elena Fischer"],"required_present":[]},"all":{"required_absent":["Elena Fischer"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-es-preserve-045","language":"es","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_45='Organización pública Ember Foundation'","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":51,"value":"Ember Foundation","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ember Foundation"]},"customers":{"required_absent":[],"required_present":["Ember Foundation"]},"all":{"required_absent":[],"required_present":["Ember Foundation"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-es-redact-046","language":"es","script":"Latin","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/46 ; El cliente menciona a Elena Garcia","known_identities":[],"targets":[{"id":"person","kind":"person","start":55,"end":67,"value":"Elena Garcia","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Elena Garcia"]},"customers":{"required_absent":["Elena Garcia"],"required_present":[]},"all":{"required_absent":["Elena Garcia"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-es-preserve-046","language":"es","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/46 ; Organización pública Ember Network","known_identities":[],"targets":[{"id":"person","kind":"person","start":56,"end":69,"value":"Ember Network","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ember Network"]},"customers":{"required_absent":[],"required_present":["Ember Network"]},"all":{"required_absent":[],"required_present":["Ember Network"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-es-redact-047","language":"es","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"**El cliente menciona a Elena Holm**","known_identities":[],"targets":[{"id":"person","kind":"person","start":24,"end":34,"value":"Elena Holm","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Elena Holm"]},"customers":{"required_absent":["Elena Holm"],"required_present":[]},"all":{"required_absent":["Elena Holm"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-es-preserve-047","language":"es","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"**Organización pública Ember Group**","known_identities":[],"targets":[{"id":"person","kind":"person","start":25,"end":36,"value":"Ember Group","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ember Group"]},"customers":{"required_absent":[],"required_present":["Ember Group"]},"all":{"required_absent":[],"required_present":["Ember Group"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-es-redact-048","language":"es","script":"Latin","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eEl cliente menciona a Elena Ibarra\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":25,"end":37,"value":"Elena Ibarra","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Elena Ibarra"]},"customers":{"required_absent":["Elena Ibarra"],"required_present":[]},"all":{"required_absent":["Elena Ibarra"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-es-preserve-048","language":"es","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eOrganización pública Ember Project\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":26,"end":39,"value":"Ember Project","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ember Project"]},"customers":{"required_absent":[],"required_present":["Ember Project"]},"all":{"required_absent":[],"required_present":["Ember Project"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-046","language":"es","script":"Latin","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/46?credential=Elena Garcia\u0026note=El+cliente+menciona+a+","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":54,"value":"Elena Garcia","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Elena Garcia"]},"customers":{"required_absent":["Elena Garcia"],"required_present":[]},"all":{"required_absent":["Elena Garcia"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-046","language":"es","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/46?credential=Ember Network\u0026note=Organizaci%C3%B3n+p%C3%BAblica+","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":55,"value":"Ember Network","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ember Network"]},"customers":{"required_absent":[],"required_present":["Ember Network"]},"all":{"required_absent":[],"required_present":["Ember Network"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-047","language":"es","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"El cliente menciona a `Elena Holm`","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":33,"value":"Elena Holm","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Elena Holm"]},"customers":{"required_absent":["Elena Holm"],"required_present":[]},"all":{"required_absent":["Elena Holm"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-047","language":"es","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Organización pública `Ember Group`","known_identities":[],"targets":[{"id":"person","kind":"person","start":24,"end":35,"value":"Ember Group","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ember Group"]},"customers":{"required_absent":[],"required_present":["Ember Group"]},"all":{"required_absent":[],"required_present":["Ember Group"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-048","language":"es","script":"Latin","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eEl cliente menciona a \u003ccode\u003eElena Ibarra\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":43,"value":"Elena Ibarra","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Elena Ibarra"]},"customers":{"required_absent":["Elena Ibarra"],"required_present":[]},"all":{"required_absent":["Elena Ibarra"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-048","language":"es","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eOrganización pública \u003ccode\u003eEmber Project\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":45,"value":"Ember Project","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ember Project"]},"customers":{"required_absent":[],"required_present":["Ember Project"]},"all":{"required_absent":[],"required_present":["Ember Project"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-es-redact-049","language":"es","script":"Latin","shape":"quoted-reply","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e El cliente menciona a Elena Jensen","known_identities":[],"targets":[{"id":"person","kind":"person","start":24,"end":36,"value":"Elena Jensen","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Elena Jensen"]},"customers":{"required_absent":["Elena Jensen"],"required_present":[]},"all":{"required_absent":["Elena Jensen"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-es-preserve-049","language":"es","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e Organización pública Ember Press","known_identities":[],"targets":[{"id":"person","kind":"person","start":25,"end":36,"value":"Ember Press","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ember Press"]},"customers":{"required_absent":[],"required_present":["Ember Press"]},"all":{"required_absent":[],"required_present":["Ember Press"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-es-redact-050","language":"es","script":"Latin","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=50 message=\"El cliente menciona a \" value=Farid Arden","known_identities":[],"targets":[{"id":"person","kind":"person","start":60,"end":71,"value":"Farid Arden","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Farid Arden"]},"customers":{"required_absent":["Farid Arden"],"required_present":[]},"all":{"required_absent":["Farid Arden"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-es-preserve-050","language":"es","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=50 message=\"Organización pública \" value=Flora Labs","known_identities":[],"targets":[{"id":"person","kind":"person","start":61,"end":71,"value":"Flora Labs","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Flora Labs"]},"customers":{"required_absent":[],"required_present":["Flora Labs"]},"all":{"required_absent":[],"required_present":["Flora Labs"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-050","language":"es","script":"Latin","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=50 message=\"El cliente menciona a \" credential=\"Farid Arden\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":66,"end":77,"value":"Farid Arden","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Farid Arden"]},"customers":{"required_absent":["Farid Arden"],"required_present":[]},"all":{"required_absent":["Farid Arden"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-050","language":"es","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=50 message=\"Organización pública \" credential=\"Flora Labs\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":67,"end":77,"value":"Flora Labs","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Flora Labs"]},"customers":{"required_absent":[],"required_present":["Flora Labs"]},"all":{"required_absent":[],"required_present":["Flora Labs"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-es-redact-051","language":"es","script":"Latin","shape":"stack-trace","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[51]: El cliente menciona a Farid Borel","known_identities":[],"targets":[{"id":"person","kind":"person","start":33,"end":44,"value":"Farid Borel","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Farid Borel"]},"customers":{"required_absent":["Farid Borel"],"required_present":[]},"all":{"required_absent":["Farid Borel"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-es-preserve-051","language":"es","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[51]: Organización pública Flora Works","known_identities":[],"targets":[{"id":"person","kind":"person","start":34,"end":45,"value":"Flora Works","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Flora Works"]},"customers":{"required_absent":[],"required_present":["Flora Works"]},"all":{"required_absent":[],"required_present":["Flora Works"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-es-redact-052","language":"es","script":"Latin","shape":"code","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_52 := `El cliente menciona a Farid Costa`","known_identities":[],"targets":[{"id":"person","kind":"person","start":37,"end":48,"value":"Farid Costa","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Farid Costa"]},"customers":{"required_absent":["Farid Costa"],"required_present":[]},"all":{"required_absent":["Farid Costa"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, @@ -712,26 +712,26 @@ {"id":"broad-language-es-preserve-053","language":"es","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--\nOrganización pública Flora Systems","known_identities":[],"targets":[{"id":"person","kind":"person","start":26,"end":39,"value":"Flora Systems","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Flora Systems"]},"customers":{"required_absent":[],"required_present":["Flora Systems"]},"all":{"required_absent":[],"required_present":["Flora Systems"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-es-redact-054","language":"es","script":"Latin","shape":"long-thread","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. El cliente menciona a Farid Esteves","known_identities":[],"targets":[{"id":"person","kind":"person","start":502,"end":515,"value":"Farid Esteves","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Farid Esteves"]},"customers":{"required_absent":["Farid Esteves"],"required_present":[]},"all":{"required_absent":["Farid Esteves"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-es-preserve-054","language":"es","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Organización pública Flora Collective","known_identities":[],"targets":[{"id":"person","kind":"person","start":503,"end":519,"value":"Flora Collective","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Flora Collective"]},"customers":{"required_absent":[],"required_present":["Flora Collective"]},"all":{"required_absent":[],"required_present":["Flora Collective"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-es-redact-055","language":"es","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=55 --message=\"El cliente menciona a \" --value=Farid Fischer","known_identities":[],"targets":[{"id":"person","kind":"person","start":55,"end":68,"value":"Farid Fischer","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Farid Fischer"]},"customers":{"required_absent":["Farid Fischer"],"required_present":[]},"all":{"required_absent":["Farid Fischer"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-es-preserve-055","language":"es","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=55 --message=\"Organización pública \" --value=Flora Foundation","known_identities":[],"targets":[{"id":"person","kind":"person","start":56,"end":72,"value":"Flora Foundation","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Flora Foundation"]},"customers":{"required_absent":[],"required_present":["Flora Foundation"]},"all":{"required_absent":[],"required_present":["Flora Foundation"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-055","language":"es","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=55 --message=\"El cliente menciona a \" --credential=\"Farid Fischer\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":61,"end":74,"value":"Farid Fischer","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Farid Fischer"]},"customers":{"required_absent":["Farid Fischer"],"required_present":[]},"all":{"required_absent":["Farid Fischer"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-055","language":"es","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=55 --message=\"Organización pública \" --credential=\"Flora Foundation\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":62,"end":78,"value":"Flora Foundation","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Flora Foundation"]},"customers":{"required_absent":[],"required_present":["Flora Foundation"]},"all":{"required_absent":[],"required_present":["Flora Foundation"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-es-redact-056","language":"es","script":"Latin","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"El cliente menciona a Farid Garcia","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":34,"value":"Farid Garcia","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Farid Garcia"]},"customers":{"required_absent":["Farid Garcia"],"required_present":[]},"all":{"required_absent":["Farid Garcia"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-es-preserve-056","language":"es","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Organización pública Flora Network","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":36,"value":"Flora Network","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Flora Network"]},"customers":{"required_absent":[],"required_present":["Flora Network"]},"all":{"required_absent":[],"required_present":["Flora Network"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-es-redact-057","language":"es","script":"Latin","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_57\":\"El cliente menciona a Farid Holm\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":37,"end":47,"value":"Farid Holm","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Farid Holm"]},"customers":{"required_absent":["Farid Holm"],"required_present":[]},"all":{"required_absent":["Farid Holm"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-es-preserve-057","language":"es","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_57\":\"Organización pública Flora Group\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":38,"end":49,"value":"Flora Group","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Flora Group"]},"customers":{"required_absent":[],"required_present":["Flora Group"]},"all":{"required_absent":[],"required_present":["Flora Group"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-es-redact-058","language":"es","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_58: El cliente menciona a Farid Ibarra","known_identities":[],"targets":[{"id":"person","kind":"person","start":34,"end":46,"value":"Farid Ibarra","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Farid Ibarra"]},"customers":{"required_absent":["Farid Ibarra"],"required_present":[]},"all":{"required_absent":["Farid Ibarra"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-es-preserve-058","language":"es","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_58: Organización pública Flora Project","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":48,"value":"Flora Project","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Flora Project"]},"customers":{"required_absent":[],"required_present":["Flora Project"]},"all":{"required_absent":[],"required_present":["Flora Project"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-058","language":"es","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_58: \"El cliente menciona a Farid Ibarra\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":47,"value":"Farid Ibarra","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Farid Ibarra"]},"customers":{"required_absent":["Farid Ibarra"],"required_present":[]},"all":{"required_absent":["Farid Ibarra"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-058","language":"es","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_58: \"Organización pública Flora Project\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":36,"end":49,"value":"Flora Project","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Flora Project"]},"customers":{"required_absent":[],"required_present":["Flora Project"]},"all":{"required_absent":[],"required_present":["Flora Project"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-es-redact-059","language":"es","script":"Latin","shape":"shell","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_59='El cliente menciona a Farid Jensen'","known_identities":[],"targets":[{"id":"person","kind":"person","start":34,"end":46,"value":"Farid Jensen","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Farid Jensen"]},"customers":{"required_absent":["Farid Jensen"],"required_present":[]},"all":{"required_absent":["Farid Jensen"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-es-preserve-059","language":"es","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_59='Organización pública Flora Press'","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":46,"value":"Flora Press","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Flora Press"]},"customers":{"required_absent":[],"required_present":["Flora Press"]},"all":{"required_absent":[],"required_present":["Flora Press"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-es-redact-060","language":"es","script":"Latin","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/60 ; El cliente menciona a Greta Arden","known_identities":[],"targets":[{"id":"person","kind":"person","start":55,"end":66,"value":"Greta Arden","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Greta Arden"]},"customers":{"required_absent":["Greta Arden"],"required_present":[]},"all":{"required_absent":["Greta Arden"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-es-preserve-060","language":"es","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/60 ; Organización pública Gaia Labs","known_identities":[],"targets":[{"id":"person","kind":"person","start":56,"end":65,"value":"Gaia Labs","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Gaia Labs"]},"customers":{"required_absent":[],"required_present":["Gaia Labs"]},"all":{"required_absent":[],"required_present":["Gaia Labs"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-es-redact-061","language":"es","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"**El cliente menciona a Greta Borel**","known_identities":[],"targets":[{"id":"person","kind":"person","start":24,"end":35,"value":"Greta Borel","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Greta Borel"]},"customers":{"required_absent":["Greta Borel"],"required_present":[]},"all":{"required_absent":["Greta Borel"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-es-preserve-061","language":"es","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"**Organización pública Gaia Works**","known_identities":[],"targets":[{"id":"person","kind":"person","start":25,"end":35,"value":"Gaia Works","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Gaia Works"]},"customers":{"required_absent":[],"required_present":["Gaia Works"]},"all":{"required_absent":[],"required_present":["Gaia Works"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-es-redact-062","language":"es","script":"Latin","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eEl cliente menciona a Greta Costa\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":25,"end":36,"value":"Greta Costa","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Greta Costa"]},"customers":{"required_absent":["Greta Costa"],"required_present":[]},"all":{"required_absent":["Greta Costa"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-es-preserve-062","language":"es","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eOrganización pública Gaia Studio\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":26,"end":37,"value":"Gaia Studio","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Gaia Studio"]},"customers":{"required_absent":[],"required_present":["Gaia Studio"]},"all":{"required_absent":[],"required_present":["Gaia Studio"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-060","language":"es","script":"Latin","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/60?credential=Greta Arden\u0026note=El+cliente+menciona+a+","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":53,"value":"Greta Arden","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Greta Arden"]},"customers":{"required_absent":["Greta Arden"],"required_present":[]},"all":{"required_absent":["Greta Arden"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-060","language":"es","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/60?credential=Gaia Labs\u0026note=Organizaci%C3%B3n+p%C3%BAblica+","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":51,"value":"Gaia Labs","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Gaia Labs"]},"customers":{"required_absent":[],"required_present":["Gaia Labs"]},"all":{"required_absent":[],"required_present":["Gaia Labs"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-061","language":"es","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"El cliente menciona a `Greta Borel`","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":34,"value":"Greta Borel","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Greta Borel"]},"customers":{"required_absent":["Greta Borel"],"required_present":[]},"all":{"required_absent":["Greta Borel"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-061","language":"es","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Organización pública `Gaia Works`","known_identities":[],"targets":[{"id":"person","kind":"person","start":24,"end":34,"value":"Gaia Works","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Gaia Works"]},"customers":{"required_absent":[],"required_present":["Gaia Works"]},"all":{"required_absent":[],"required_present":["Gaia Works"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-062","language":"es","script":"Latin","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eEl cliente menciona a \u003ccode\u003eGreta Costa\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":42,"value":"Greta Costa","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Greta Costa"]},"customers":{"required_absent":["Greta Costa"],"required_present":[]},"all":{"required_absent":["Greta Costa"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-062","language":"es","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eOrganización pública \u003ccode\u003eGaia Studio\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":43,"value":"Gaia Studio","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Gaia Studio"]},"customers":{"required_absent":[],"required_present":["Gaia Studio"]},"all":{"required_absent":[],"required_present":["Gaia Studio"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-es-redact-063","language":"es","script":"Latin","shape":"quoted-reply","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e El cliente menciona a Greta Durand","known_identities":[],"targets":[{"id":"person","kind":"person","start":24,"end":36,"value":"Greta Durand","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Greta Durand"]},"customers":{"required_absent":["Greta Durand"],"required_present":[]},"all":{"required_absent":["Greta Durand"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-es-preserve-063","language":"es","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e Organización pública Gaia Systems","known_identities":[],"targets":[{"id":"person","kind":"person","start":25,"end":37,"value":"Gaia Systems","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Gaia Systems"]},"customers":{"required_absent":[],"required_present":["Gaia Systems"]},"all":{"required_absent":[],"required_present":["Gaia Systems"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-es-redact-064","language":"es","script":"Latin","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=64 message=\"El cliente menciona a \" value=Greta Esteves","known_identities":[],"targets":[{"id":"person","kind":"person","start":60,"end":73,"value":"Greta Esteves","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Greta Esteves"]},"customers":{"required_absent":["Greta Esteves"],"required_present":[]},"all":{"required_absent":["Greta Esteves"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-es-preserve-064","language":"es","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=64 message=\"Organización pública \" value=Gaia Collective","known_identities":[],"targets":[{"id":"person","kind":"person","start":61,"end":76,"value":"Gaia Collective","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Gaia Collective"]},"customers":{"required_absent":[],"required_present":["Gaia Collective"]},"all":{"required_absent":[],"required_present":["Gaia Collective"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-064","language":"es","script":"Latin","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=64 message=\"El cliente menciona a \" credential=\"Greta Esteves\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":66,"end":79,"value":"Greta Esteves","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Greta Esteves"]},"customers":{"required_absent":["Greta Esteves"],"required_present":[]},"all":{"required_absent":["Greta Esteves"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-064","language":"es","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=64 message=\"Organización pública \" credential=\"Gaia Collective\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":67,"end":82,"value":"Gaia Collective","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Gaia Collective"]},"customers":{"required_absent":[],"required_present":["Gaia Collective"]},"all":{"required_absent":[],"required_present":["Gaia Collective"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-es-redact-065","language":"es","script":"Latin","shape":"stack-trace","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[65]: El cliente menciona a Greta Fischer","known_identities":[],"targets":[{"id":"person","kind":"person","start":33,"end":46,"value":"Greta Fischer","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Greta Fischer"]},"customers":{"required_absent":["Greta Fischer"],"required_present":[]},"all":{"required_absent":["Greta Fischer"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-es-preserve-065","language":"es","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[65]: Organización pública Gaia Foundation","known_identities":[],"targets":[{"id":"person","kind":"person","start":34,"end":49,"value":"Gaia Foundation","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Gaia Foundation"]},"customers":{"required_absent":[],"required_present":["Gaia Foundation"]},"all":{"required_absent":[],"required_present":["Gaia Foundation"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-es-redact-066","language":"es","script":"Latin","shape":"code","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_66 := `El cliente menciona a Greta Garcia`","known_identities":[],"targets":[{"id":"person","kind":"person","start":37,"end":49,"value":"Greta Garcia","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Greta Garcia"]},"customers":{"required_absent":["Greta Garcia"],"required_present":[]},"all":{"required_absent":["Greta Garcia"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, @@ -740,26 +740,26 @@ {"id":"broad-language-es-preserve-067","language":"es","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--\nOrganización pública Gaia Group","known_identities":[],"targets":[{"id":"person","kind":"person","start":26,"end":36,"value":"Gaia Group","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Gaia Group"]},"customers":{"required_absent":[],"required_present":["Gaia Group"]},"all":{"required_absent":[],"required_present":["Gaia Group"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-es-redact-068","language":"es","script":"Latin","shape":"long-thread","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. El cliente menciona a Greta Ibarra","known_identities":[],"targets":[{"id":"person","kind":"person","start":502,"end":514,"value":"Greta Ibarra","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Greta Ibarra"]},"customers":{"required_absent":["Greta Ibarra"],"required_present":[]},"all":{"required_absent":["Greta Ibarra"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-es-preserve-068","language":"es","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Organización pública Gaia Project","known_identities":[],"targets":[{"id":"person","kind":"person","start":503,"end":515,"value":"Gaia Project","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Gaia Project"]},"customers":{"required_absent":[],"required_present":["Gaia Project"]},"all":{"required_absent":[],"required_present":["Gaia Project"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-es-redact-069","language":"es","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=69 --message=\"El cliente menciona a \" --value=Greta Jensen","known_identities":[],"targets":[{"id":"person","kind":"person","start":55,"end":67,"value":"Greta Jensen","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Greta Jensen"]},"customers":{"required_absent":["Greta Jensen"],"required_present":[]},"all":{"required_absent":["Greta Jensen"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-es-preserve-069","language":"es","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=69 --message=\"Organización pública \" --value=Gaia Press","known_identities":[],"targets":[{"id":"person","kind":"person","start":56,"end":66,"value":"Gaia Press","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Gaia Press"]},"customers":{"required_absent":[],"required_present":["Gaia Press"]},"all":{"required_absent":[],"required_present":["Gaia Press"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-069","language":"es","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=69 --message=\"El cliente menciona a \" --credential=\"Greta Jensen\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":61,"end":73,"value":"Greta Jensen","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Greta Jensen"]},"customers":{"required_absent":["Greta Jensen"],"required_present":[]},"all":{"required_absent":["Greta Jensen"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-069","language":"es","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=69 --message=\"Organización pública \" --credential=\"Gaia Press\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":62,"end":72,"value":"Gaia Press","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Gaia Press"]},"customers":{"required_absent":[],"required_present":["Gaia Press"]},"all":{"required_absent":[],"required_present":["Gaia Press"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-es-redact-070","language":"es","script":"Latin","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"El cliente menciona a Hugo Arden","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":32,"value":"Hugo Arden","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Hugo Arden"]},"customers":{"required_absent":["Hugo Arden"],"required_present":[]},"all":{"required_absent":["Hugo Arden"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-es-preserve-070","language":"es","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Organización pública Helios Labs","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":34,"value":"Helios Labs","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Helios Labs"]},"customers":{"required_absent":[],"required_present":["Helios Labs"]},"all":{"required_absent":[],"required_present":["Helios Labs"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-es-redact-071","language":"es","script":"Latin","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_71\":\"El cliente menciona a Hugo Borel\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":37,"end":47,"value":"Hugo Borel","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Hugo Borel"]},"customers":{"required_absent":["Hugo Borel"],"required_present":[]},"all":{"required_absent":["Hugo Borel"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-es-preserve-071","language":"es","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_71\":\"Organización pública Helios Works\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":38,"end":50,"value":"Helios Works","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Helios Works"]},"customers":{"required_absent":[],"required_present":["Helios Works"]},"all":{"required_absent":[],"required_present":["Helios Works"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-es-redact-072","language":"es","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_72: El cliente menciona a Hugo Costa","known_identities":[],"targets":[{"id":"person","kind":"person","start":34,"end":44,"value":"Hugo Costa","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Hugo Costa"]},"customers":{"required_absent":["Hugo Costa"],"required_present":[]},"all":{"required_absent":["Hugo Costa"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-es-preserve-072","language":"es","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_72: Organización pública Helios Studio","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":48,"value":"Helios Studio","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Helios Studio"]},"customers":{"required_absent":[],"required_present":["Helios Studio"]},"all":{"required_absent":[],"required_present":["Helios Studio"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-072","language":"es","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_72: \"El cliente menciona a Hugo Costa\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":45,"value":"Hugo Costa","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Hugo Costa"]},"customers":{"required_absent":["Hugo Costa"],"required_present":[]},"all":{"required_absent":["Hugo Costa"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-072","language":"es","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_72: \"Organización pública Helios Studio\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":36,"end":49,"value":"Helios Studio","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Helios Studio"]},"customers":{"required_absent":[],"required_present":["Helios Studio"]},"all":{"required_absent":[],"required_present":["Helios Studio"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-es-redact-073","language":"es","script":"Latin","shape":"shell","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_73='El cliente menciona a Hugo Durand'","known_identities":[],"targets":[{"id":"person","kind":"person","start":34,"end":45,"value":"Hugo Durand","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Hugo Durand"]},"customers":{"required_absent":["Hugo Durand"],"required_present":[]},"all":{"required_absent":["Hugo Durand"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-es-preserve-073","language":"es","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_73='Organización pública Helios Systems'","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":49,"value":"Helios Systems","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Helios Systems"]},"customers":{"required_absent":[],"required_present":["Helios Systems"]},"all":{"required_absent":[],"required_present":["Helios Systems"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-es-redact-074","language":"es","script":"Latin","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/74 ; El cliente menciona a Hugo Esteves","known_identities":[],"targets":[{"id":"person","kind":"person","start":55,"end":67,"value":"Hugo Esteves","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Hugo Esteves"]},"customers":{"required_absent":["Hugo Esteves"],"required_present":[]},"all":{"required_absent":["Hugo Esteves"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-es-preserve-074","language":"es","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/74 ; Organización pública Helios Collective","known_identities":[],"targets":[{"id":"person","kind":"person","start":56,"end":73,"value":"Helios Collective","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Helios Collective"]},"customers":{"required_absent":[],"required_present":["Helios Collective"]},"all":{"required_absent":[],"required_present":["Helios Collective"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-es-redact-075","language":"es","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"**El cliente menciona a Hugo Fischer**","known_identities":[],"targets":[{"id":"person","kind":"person","start":24,"end":36,"value":"Hugo Fischer","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Hugo Fischer"]},"customers":{"required_absent":["Hugo Fischer"],"required_present":[]},"all":{"required_absent":["Hugo Fischer"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-es-preserve-075","language":"es","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"**Organización pública Helios Foundation**","known_identities":[],"targets":[{"id":"person","kind":"person","start":25,"end":42,"value":"Helios Foundation","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Helios Foundation"]},"customers":{"required_absent":[],"required_present":["Helios Foundation"]},"all":{"required_absent":[],"required_present":["Helios Foundation"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-es-redact-076","language":"es","script":"Latin","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eEl cliente menciona a Hugo Garcia\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":25,"end":36,"value":"Hugo Garcia","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Hugo Garcia"]},"customers":{"required_absent":["Hugo Garcia"],"required_present":[]},"all":{"required_absent":["Hugo Garcia"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-es-preserve-076","language":"es","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eOrganización pública Helios Network\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":26,"end":40,"value":"Helios Network","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Helios Network"]},"customers":{"required_absent":[],"required_present":["Helios Network"]},"all":{"required_absent":[],"required_present":["Helios Network"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-074","language":"es","script":"Latin","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/74?credential=Hugo Esteves\u0026note=El+cliente+menciona+a+","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":54,"value":"Hugo Esteves","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Hugo Esteves"]},"customers":{"required_absent":["Hugo Esteves"],"required_present":[]},"all":{"required_absent":["Hugo Esteves"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-074","language":"es","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/74?credential=Helios Collective\u0026note=Organizaci%C3%B3n+p%C3%BAblica+","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":59,"value":"Helios Collective","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Helios Collective"]},"customers":{"required_absent":[],"required_present":["Helios Collective"]},"all":{"required_absent":[],"required_present":["Helios Collective"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-075","language":"es","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"El cliente menciona a `Hugo Fischer`","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":35,"value":"Hugo Fischer","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Hugo Fischer"]},"customers":{"required_absent":["Hugo Fischer"],"required_present":[]},"all":{"required_absent":["Hugo Fischer"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-075","language":"es","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Organización pública `Helios Foundation`","known_identities":[],"targets":[{"id":"person","kind":"person","start":24,"end":41,"value":"Helios Foundation","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Helios Foundation"]},"customers":{"required_absent":[],"required_present":["Helios Foundation"]},"all":{"required_absent":[],"required_present":["Helios Foundation"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-076","language":"es","script":"Latin","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eEl cliente menciona a \u003ccode\u003eHugo Garcia\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":42,"value":"Hugo Garcia","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Hugo Garcia"]},"customers":{"required_absent":["Hugo Garcia"],"required_present":[]},"all":{"required_absent":["Hugo Garcia"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-076","language":"es","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eOrganización pública \u003ccode\u003eHelios Network\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":46,"value":"Helios Network","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Helios Network"]},"customers":{"required_absent":[],"required_present":["Helios Network"]},"all":{"required_absent":[],"required_present":["Helios Network"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-es-redact-077","language":"es","script":"Latin","shape":"quoted-reply","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e El cliente menciona a Hugo Holm","known_identities":[],"targets":[{"id":"person","kind":"person","start":24,"end":33,"value":"Hugo Holm","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Hugo Holm"]},"customers":{"required_absent":["Hugo Holm"],"required_present":[]},"all":{"required_absent":["Hugo Holm"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-es-preserve-077","language":"es","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e Organización pública Helios Group","known_identities":[],"targets":[{"id":"person","kind":"person","start":25,"end":37,"value":"Helios Group","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Helios Group"]},"customers":{"required_absent":[],"required_present":["Helios Group"]},"all":{"required_absent":[],"required_present":["Helios Group"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-es-redact-078","language":"es","script":"Latin","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=78 message=\"El cliente menciona a \" value=Hugo Ibarra","known_identities":[],"targets":[{"id":"person","kind":"person","start":60,"end":71,"value":"Hugo Ibarra","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Hugo Ibarra"]},"customers":{"required_absent":["Hugo Ibarra"],"required_present":[]},"all":{"required_absent":["Hugo Ibarra"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-es-preserve-078","language":"es","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=78 message=\"Organización pública \" value=Helios Project","known_identities":[],"targets":[{"id":"person","kind":"person","start":61,"end":75,"value":"Helios Project","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Helios Project"]},"customers":{"required_absent":[],"required_present":["Helios Project"]},"all":{"required_absent":[],"required_present":["Helios Project"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-078","language":"es","script":"Latin","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=78 message=\"El cliente menciona a \" credential=\"Hugo Ibarra\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":66,"end":77,"value":"Hugo Ibarra","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Hugo Ibarra"]},"customers":{"required_absent":["Hugo Ibarra"],"required_present":[]},"all":{"required_absent":["Hugo Ibarra"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-078","language":"es","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=78 message=\"Organización pública \" credential=\"Helios Project\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":67,"end":81,"value":"Helios Project","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Helios Project"]},"customers":{"required_absent":[],"required_present":["Helios Project"]},"all":{"required_absent":[],"required_present":["Helios Project"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-es-redact-079","language":"es","script":"Latin","shape":"stack-trace","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[79]: El cliente menciona a Hugo Jensen","known_identities":[],"targets":[{"id":"person","kind":"person","start":33,"end":44,"value":"Hugo Jensen","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Hugo Jensen"]},"customers":{"required_absent":["Hugo Jensen"],"required_present":[]},"all":{"required_absent":["Hugo Jensen"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-es-preserve-079","language":"es","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[79]: Organización pública Helios Press","known_identities":[],"targets":[{"id":"person","kind":"person","start":34,"end":46,"value":"Helios Press","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Helios Press"]},"customers":{"required_absent":[],"required_present":["Helios Press"]},"all":{"required_absent":[],"required_present":["Helios Press"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-es-redact-080","language":"es","script":"Latin","shape":"code","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_80 := `El cliente menciona a Ines Arden`","known_identities":[],"targets":[{"id":"person","kind":"person","start":37,"end":47,"value":"Ines Arden","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ines Arden"]},"customers":{"required_absent":["Ines Arden"],"required_present":[]},"all":{"required_absent":["Ines Arden"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, @@ -768,26 +768,26 @@ {"id":"broad-language-es-preserve-081","language":"es","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--\nOrganización pública Ion Works","known_identities":[],"targets":[{"id":"person","kind":"person","start":26,"end":35,"value":"Ion Works","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ion Works"]},"customers":{"required_absent":[],"required_present":["Ion Works"]},"all":{"required_absent":[],"required_present":["Ion Works"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-es-redact-082","language":"es","script":"Latin","shape":"long-thread","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. El cliente menciona a Ines Costa","known_identities":[],"targets":[{"id":"person","kind":"person","start":502,"end":512,"value":"Ines Costa","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ines Costa"]},"customers":{"required_absent":["Ines Costa"],"required_present":[]},"all":{"required_absent":["Ines Costa"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-es-preserve-082","language":"es","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Organización pública Ion Studio","known_identities":[],"targets":[{"id":"person","kind":"person","start":503,"end":513,"value":"Ion Studio","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ion Studio"]},"customers":{"required_absent":[],"required_present":["Ion Studio"]},"all":{"required_absent":[],"required_present":["Ion Studio"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-es-redact-083","language":"es","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=83 --message=\"El cliente menciona a \" --value=Ines Durand","known_identities":[],"targets":[{"id":"person","kind":"person","start":55,"end":66,"value":"Ines Durand","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ines Durand"]},"customers":{"required_absent":["Ines Durand"],"required_present":[]},"all":{"required_absent":["Ines Durand"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-es-preserve-083","language":"es","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=83 --message=\"Organización pública \" --value=Ion Systems","known_identities":[],"targets":[{"id":"person","kind":"person","start":56,"end":67,"value":"Ion Systems","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ion Systems"]},"customers":{"required_absent":[],"required_present":["Ion Systems"]},"all":{"required_absent":[],"required_present":["Ion Systems"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-083","language":"es","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=83 --message=\"El cliente menciona a \" --credential=\"Ines Durand\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":61,"end":72,"value":"Ines Durand","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ines Durand"]},"customers":{"required_absent":["Ines Durand"],"required_present":[]},"all":{"required_absent":["Ines Durand"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-083","language":"es","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=83 --message=\"Organización pública \" --credential=\"Ion Systems\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":62,"end":73,"value":"Ion Systems","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ion Systems"]},"customers":{"required_absent":[],"required_present":["Ion Systems"]},"all":{"required_absent":[],"required_present":["Ion Systems"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-es-redact-084","language":"es","script":"Latin","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"El cliente menciona a Ines Esteves","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":34,"value":"Ines Esteves","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ines Esteves"]},"customers":{"required_absent":["Ines Esteves"],"required_present":[]},"all":{"required_absent":["Ines Esteves"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-es-preserve-084","language":"es","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Organización pública Ion Collective","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":37,"value":"Ion Collective","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ion Collective"]},"customers":{"required_absent":[],"required_present":["Ion Collective"]},"all":{"required_absent":[],"required_present":["Ion Collective"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-es-redact-085","language":"es","script":"Latin","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_85\":\"El cliente menciona a Ines Fischer\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":37,"end":49,"value":"Ines Fischer","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ines Fischer"]},"customers":{"required_absent":["Ines Fischer"],"required_present":[]},"all":{"required_absent":["Ines Fischer"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-es-preserve-085","language":"es","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_85\":\"Organización pública Ion Foundation\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":38,"end":52,"value":"Ion Foundation","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ion Foundation"]},"customers":{"required_absent":[],"required_present":["Ion Foundation"]},"all":{"required_absent":[],"required_present":["Ion Foundation"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-es-redact-086","language":"es","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_86: El cliente menciona a Ines Garcia","known_identities":[],"targets":[{"id":"person","kind":"person","start":34,"end":45,"value":"Ines Garcia","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ines Garcia"]},"customers":{"required_absent":["Ines Garcia"],"required_present":[]},"all":{"required_absent":["Ines Garcia"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-es-preserve-086","language":"es","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_86: Organización pública Ion Network","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":46,"value":"Ion Network","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ion Network"]},"customers":{"required_absent":[],"required_present":["Ion Network"]},"all":{"required_absent":[],"required_present":["Ion Network"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-086","language":"es","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_86: \"El cliente menciona a Ines Garcia\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":46,"value":"Ines Garcia","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ines Garcia"]},"customers":{"required_absent":["Ines Garcia"],"required_present":[]},"all":{"required_absent":["Ines Garcia"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-086","language":"es","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_86: \"Organización pública Ion Network\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":36,"end":47,"value":"Ion Network","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ion Network"]},"customers":{"required_absent":[],"required_present":["Ion Network"]},"all":{"required_absent":[],"required_present":["Ion Network"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-es-redact-087","language":"es","script":"Latin","shape":"shell","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_87='El cliente menciona a Ines Holm'","known_identities":[],"targets":[{"id":"person","kind":"person","start":34,"end":43,"value":"Ines Holm","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ines Holm"]},"customers":{"required_absent":["Ines Holm"],"required_present":[]},"all":{"required_absent":["Ines Holm"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-es-preserve-087","language":"es","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_87='Organización pública Ion Group'","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":44,"value":"Ion Group","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ion Group"]},"customers":{"required_absent":[],"required_present":["Ion Group"]},"all":{"required_absent":[],"required_present":["Ion Group"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-es-redact-088","language":"es","script":"Latin","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/88 ; El cliente menciona a Ines Ibarra","known_identities":[],"targets":[{"id":"person","kind":"person","start":55,"end":66,"value":"Ines Ibarra","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ines Ibarra"]},"customers":{"required_absent":["Ines Ibarra"],"required_present":[]},"all":{"required_absent":["Ines Ibarra"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-es-preserve-088","language":"es","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/88 ; Organización pública Ion Project","known_identities":[],"targets":[{"id":"person","kind":"person","start":56,"end":67,"value":"Ion Project","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ion Project"]},"customers":{"required_absent":[],"required_present":["Ion Project"]},"all":{"required_absent":[],"required_present":["Ion Project"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-es-redact-089","language":"es","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"**El cliente menciona a Ines Jensen**","known_identities":[],"targets":[{"id":"person","kind":"person","start":24,"end":35,"value":"Ines Jensen","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ines Jensen"]},"customers":{"required_absent":["Ines Jensen"],"required_present":[]},"all":{"required_absent":["Ines Jensen"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-es-preserve-089","language":"es","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"**Organización pública Ion Press**","known_identities":[],"targets":[{"id":"person","kind":"person","start":25,"end":34,"value":"Ion Press","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ion Press"]},"customers":{"required_absent":[],"required_present":["Ion Press"]},"all":{"required_absent":[],"required_present":["Ion Press"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-es-redact-090","language":"es","script":"Latin","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eEl cliente menciona a Jonas Arden\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":25,"end":36,"value":"Jonas Arden","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Jonas Arden"]},"customers":{"required_absent":["Jonas Arden"],"required_present":[]},"all":{"required_absent":["Jonas Arden"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-es-preserve-090","language":"es","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eOrganización pública Juniper Labs\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":26,"end":38,"value":"Juniper Labs","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Juniper Labs"]},"customers":{"required_absent":[],"required_present":["Juniper Labs"]},"all":{"required_absent":[],"required_present":["Juniper Labs"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-088","language":"es","script":"Latin","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/88?credential=Ines Ibarra\u0026note=El+cliente+menciona+a+","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":53,"value":"Ines Ibarra","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ines Ibarra"]},"customers":{"required_absent":["Ines Ibarra"],"required_present":[]},"all":{"required_absent":["Ines Ibarra"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-088","language":"es","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/88?credential=Ion Project\u0026note=Organizaci%C3%B3n+p%C3%BAblica+","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":53,"value":"Ion Project","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ion Project"]},"customers":{"required_absent":[],"required_present":["Ion Project"]},"all":{"required_absent":[],"required_present":["Ion Project"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-089","language":"es","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"El cliente menciona a `Ines Jensen`","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":34,"value":"Ines Jensen","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ines Jensen"]},"customers":{"required_absent":["Ines Jensen"],"required_present":[]},"all":{"required_absent":["Ines Jensen"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-089","language":"es","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Organización pública `Ion Press`","known_identities":[],"targets":[{"id":"person","kind":"person","start":24,"end":33,"value":"Ion Press","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ion Press"]},"customers":{"required_absent":[],"required_present":["Ion Press"]},"all":{"required_absent":[],"required_present":["Ion Press"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-090","language":"es","script":"Latin","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eEl cliente menciona a \u003ccode\u003eJonas Arden\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":42,"value":"Jonas Arden","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Jonas Arden"]},"customers":{"required_absent":["Jonas Arden"],"required_present":[]},"all":{"required_absent":["Jonas Arden"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-090","language":"es","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eOrganización pública \u003ccode\u003eJuniper Labs\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":44,"value":"Juniper Labs","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Juniper Labs"]},"customers":{"required_absent":[],"required_present":["Juniper Labs"]},"all":{"required_absent":[],"required_present":["Juniper Labs"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-es-redact-091","language":"es","script":"Latin","shape":"quoted-reply","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e El cliente menciona a Jonas Borel","known_identities":[],"targets":[{"id":"person","kind":"person","start":24,"end":35,"value":"Jonas Borel","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Jonas Borel"]},"customers":{"required_absent":["Jonas Borel"],"required_present":[]},"all":{"required_absent":["Jonas Borel"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-es-preserve-091","language":"es","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e Organización pública Juniper Works","known_identities":[],"targets":[{"id":"person","kind":"person","start":25,"end":38,"value":"Juniper Works","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Juniper Works"]},"customers":{"required_absent":[],"required_present":["Juniper Works"]},"all":{"required_absent":[],"required_present":["Juniper Works"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-es-redact-092","language":"es","script":"Latin","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=92 message=\"El cliente menciona a \" value=Jonas Costa","known_identities":[],"targets":[{"id":"person","kind":"person","start":60,"end":71,"value":"Jonas Costa","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Jonas Costa"]},"customers":{"required_absent":["Jonas Costa"],"required_present":[]},"all":{"required_absent":["Jonas Costa"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-es-preserve-092","language":"es","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=92 message=\"Organización pública \" value=Juniper Studio","known_identities":[],"targets":[{"id":"person","kind":"person","start":61,"end":75,"value":"Juniper Studio","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Juniper Studio"]},"customers":{"required_absent":[],"required_present":["Juniper Studio"]},"all":{"required_absent":[],"required_present":["Juniper Studio"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-092","language":"es","script":"Latin","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=92 message=\"El cliente menciona a \" credential=\"Jonas Costa\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":66,"end":77,"value":"Jonas Costa","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Jonas Costa"]},"customers":{"required_absent":["Jonas Costa"],"required_present":[]},"all":{"required_absent":["Jonas Costa"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-092","language":"es","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=92 message=\"Organización pública \" credential=\"Juniper Studio\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":67,"end":81,"value":"Juniper Studio","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Juniper Studio"]},"customers":{"required_absent":[],"required_present":["Juniper Studio"]},"all":{"required_absent":[],"required_present":["Juniper Studio"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-es-redact-093","language":"es","script":"Latin","shape":"stack-trace","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[93]: El cliente menciona a Jonas Durand","known_identities":[],"targets":[{"id":"person","kind":"person","start":33,"end":45,"value":"Jonas Durand","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Jonas Durand"]},"customers":{"required_absent":["Jonas Durand"],"required_present":[]},"all":{"required_absent":["Jonas Durand"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-es-preserve-093","language":"es","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[93]: Organización pública Juniper Systems","known_identities":[],"targets":[{"id":"person","kind":"person","start":34,"end":49,"value":"Juniper Systems","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Juniper Systems"]},"customers":{"required_absent":[],"required_present":["Juniper Systems"]},"all":{"required_absent":[],"required_present":["Juniper Systems"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-es-redact-094","language":"es","script":"Latin","shape":"code","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_94 := `El cliente menciona a Jonas Esteves`","known_identities":[],"targets":[{"id":"person","kind":"person","start":37,"end":50,"value":"Jonas Esteves","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Jonas Esteves"]},"customers":{"required_absent":["Jonas Esteves"],"required_present":[]},"all":{"required_absent":["Jonas Esteves"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, @@ -796,8 +796,8 @@ {"id":"broad-language-es-preserve-095","language":"es","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--\nOrganización pública Juniper Foundation","known_identities":[],"targets":[{"id":"person","kind":"person","start":26,"end":44,"value":"Juniper Foundation","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Juniper Foundation"]},"customers":{"required_absent":[],"required_present":["Juniper Foundation"]},"all":{"required_absent":[],"required_present":["Juniper Foundation"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-es-redact-096","language":"es","script":"Latin","shape":"long-thread","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. El cliente menciona a Jonas Garcia","known_identities":[],"targets":[{"id":"person","kind":"person","start":502,"end":514,"value":"Jonas Garcia","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Jonas Garcia"]},"customers":{"required_absent":["Jonas Garcia"],"required_present":[]},"all":{"required_absent":["Jonas Garcia"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-es-preserve-096","language":"es","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Organización pública Juniper Network","known_identities":[],"targets":[{"id":"person","kind":"person","start":503,"end":518,"value":"Juniper Network","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Juniper Network"]},"customers":{"required_absent":[],"required_present":["Juniper Network"]},"all":{"required_absent":[],"required_present":["Juniper Network"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-es-redact-097","language":"es","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=97 --message=\"El cliente menciona a \" --value=Jonas Holm","known_identities":[],"targets":[{"id":"person","kind":"person","start":55,"end":65,"value":"Jonas Holm","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Jonas Holm"]},"customers":{"required_absent":["Jonas Holm"],"required_present":[]},"all":{"required_absent":["Jonas Holm"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-es-preserve-097","language":"es","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=97 --message=\"Organización pública \" --value=Juniper Group","known_identities":[],"targets":[{"id":"person","kind":"person","start":56,"end":69,"value":"Juniper Group","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Juniper Group"]},"customers":{"required_absent":[],"required_present":["Juniper Group"]},"all":{"required_absent":[],"required_present":["Juniper Group"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-redact-097","language":"es","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=97 --message=\"El cliente menciona a \" --credential=\"Jonas Holm\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":61,"end":71,"value":"Jonas Holm","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Jonas Holm"]},"customers":{"required_absent":["Jonas Holm"],"required_present":[]},"all":{"required_absent":["Jonas Holm"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-es-preserve-097","language":"es","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=97 --message=\"Organización pública \" --credential=\"Juniper Group\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":62,"end":75,"value":"Juniper Group","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Juniper Group"]},"customers":{"required_absent":[],"required_present":["Juniper Group"]},"all":{"required_absent":[],"required_present":["Juniper Group"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-es-redact-098","language":"es","script":"Latin","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"El cliente menciona a Jonas Ibarra","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":34,"value":"Jonas Ibarra","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Jonas Ibarra"]},"customers":{"required_absent":["Jonas Ibarra"],"required_present":[]},"all":{"required_absent":["Jonas Ibarra"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-es-preserve-098","language":"es","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Organización pública Juniper Project","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":38,"value":"Juniper Project","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Juniper Project"]},"customers":{"required_absent":[],"required_present":["Juniper Project"]},"all":{"required_absent":[],"required_present":["Juniper Project"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-es-redact-099","language":"es","script":"Latin","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_99\":\"El cliente menciona a Jonas Jensen\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":37,"end":49,"value":"Jonas Jensen","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Jonas Jensen"]},"customers":{"required_absent":["Jonas Jensen"],"required_present":[]},"all":{"required_absent":["Jonas Jensen"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, @@ -806,20 +806,20 @@ {"id":"broad-language-pt-preserve-000","language":"pt","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Organização pública Atlas Labs","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":33,"value":"Atlas Labs","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Atlas Labs"]},"customers":{"required_absent":[],"required_present":["Atlas Labs"]},"all":{"required_absent":[],"required_present":["Atlas Labs"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-pt-redact-001","language":"pt","script":"Latin","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_1\":\"O cliente mencionou Amina Borel\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":34,"end":45,"value":"Amina Borel","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Amina Borel"]},"customers":{"required_absent":["Amina Borel"],"required_present":[]},"all":{"required_absent":["Amina Borel"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-pt-preserve-001","language":"pt","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_1\":\"Organização pública Atlas Works\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":37,"end":48,"value":"Atlas Works","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Atlas Works"]},"customers":{"required_absent":[],"required_present":["Atlas Works"]},"all":{"required_absent":[],"required_present":["Atlas Works"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-pt-redact-002","language":"pt","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_2: O cliente mencionou Amina Costa","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":42,"value":"Amina Costa","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Amina Costa"]},"customers":{"required_absent":["Amina Costa"],"required_present":[]},"all":{"required_absent":["Amina Costa"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-pt-preserve-002","language":"pt","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_2: Organização pública Atlas Studio","known_identities":[],"targets":[{"id":"person","kind":"person","start":34,"end":46,"value":"Atlas Studio","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Atlas Studio"]},"customers":{"required_absent":[],"required_present":["Atlas Studio"]},"all":{"required_absent":[],"required_present":["Atlas Studio"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-002","language":"pt","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_2: \"O cliente mencionou Amina Costa\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":43,"value":"Amina Costa","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Amina Costa"]},"customers":{"required_absent":["Amina Costa"],"required_present":[]},"all":{"required_absent":["Amina Costa"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-002","language":"pt","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_2: \"Organização pública Atlas Studio\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":47,"value":"Atlas Studio","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Atlas Studio"]},"customers":{"required_absent":[],"required_present":["Atlas Studio"]},"all":{"required_absent":[],"required_present":["Atlas Studio"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-pt-redact-003","language":"pt","script":"Latin","shape":"shell","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_3='O cliente mencionou Amina Durand'","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":43,"value":"Amina Durand","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Amina Durand"]},"customers":{"required_absent":["Amina Durand"],"required_present":[]},"all":{"required_absent":["Amina Durand"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-pt-preserve-003","language":"pt","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_3='Organização pública Atlas Systems'","known_identities":[],"targets":[{"id":"person","kind":"person","start":34,"end":47,"value":"Atlas Systems","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Atlas Systems"]},"customers":{"required_absent":[],"required_present":["Atlas Systems"]},"all":{"required_absent":[],"required_present":["Atlas Systems"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-pt-redact-004","language":"pt","script":"Latin","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/4 ; O cliente mencionou Amina Esteves","known_identities":[],"targets":[{"id":"person","kind":"person","start":52,"end":65,"value":"Amina Esteves","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Amina Esteves"]},"customers":{"required_absent":["Amina Esteves"],"required_present":[]},"all":{"required_absent":["Amina Esteves"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-pt-preserve-004","language":"pt","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/4 ; Organização pública Atlas Collective","known_identities":[],"targets":[{"id":"person","kind":"person","start":55,"end":71,"value":"Atlas Collective","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Atlas Collective"]},"customers":{"required_absent":[],"required_present":["Atlas Collective"]},"all":{"required_absent":[],"required_present":["Atlas Collective"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-pt-redact-005","language":"pt","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"**O cliente mencionou Amina Fischer**","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":35,"value":"Amina Fischer","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Amina Fischer"]},"customers":{"required_absent":["Amina Fischer"],"required_present":[]},"all":{"required_absent":["Amina Fischer"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-pt-preserve-005","language":"pt","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"**Organização pública Atlas Foundation**","known_identities":[],"targets":[{"id":"person","kind":"person","start":25,"end":41,"value":"Atlas Foundation","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Atlas Foundation"]},"customers":{"required_absent":[],"required_present":["Atlas Foundation"]},"all":{"required_absent":[],"required_present":["Atlas Foundation"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-pt-redact-006","language":"pt","script":"Latin","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eO cliente mencionou Amina Garcia\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":35,"value":"Amina Garcia","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Amina Garcia"]},"customers":{"required_absent":["Amina Garcia"],"required_present":[]},"all":{"required_absent":["Amina Garcia"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-pt-preserve-006","language":"pt","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eOrganização pública Atlas Network\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":26,"end":39,"value":"Atlas Network","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Atlas Network"]},"customers":{"required_absent":[],"required_present":["Atlas Network"]},"all":{"required_absent":[],"required_present":["Atlas Network"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-004","language":"pt","script":"Latin","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/4?credential=Amina Esteves\u0026note=O+cliente+mencionou+","known_identities":[],"targets":[{"id":"person","kind":"person","start":41,"end":54,"value":"Amina Esteves","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Amina Esteves"]},"customers":{"required_absent":["Amina Esteves"],"required_present":[]},"all":{"required_absent":["Amina Esteves"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-004","language":"pt","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/4?credential=Atlas Collective\u0026note=Organiza%C3%A7%C3%A3o+p%C3%BAblica+","known_identities":[],"targets":[{"id":"person","kind":"person","start":41,"end":57,"value":"Atlas Collective","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Atlas Collective"]},"customers":{"required_absent":[],"required_present":["Atlas Collective"]},"all":{"required_absent":[],"required_present":["Atlas Collective"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-005","language":"pt","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"O cliente mencionou `Amina Fischer`","known_identities":[],"targets":[{"id":"person","kind":"person","start":21,"end":34,"value":"Amina Fischer","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Amina Fischer"]},"customers":{"required_absent":["Amina Fischer"],"required_present":[]},"all":{"required_absent":["Amina Fischer"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-005","language":"pt","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Organização pública `Atlas Foundation`","known_identities":[],"targets":[{"id":"person","kind":"person","start":24,"end":40,"value":"Atlas Foundation","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Atlas Foundation"]},"customers":{"required_absent":[],"required_present":["Atlas Foundation"]},"all":{"required_absent":[],"required_present":["Atlas Foundation"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-006","language":"pt","script":"Latin","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eO cliente mencionou \u003ccode\u003eAmina Garcia\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":29,"end":41,"value":"Amina Garcia","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Amina Garcia"]},"customers":{"required_absent":["Amina Garcia"],"required_present":[]},"all":{"required_absent":["Amina Garcia"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-006","language":"pt","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eOrganização pública \u003ccode\u003eAtlas Network\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":45,"value":"Atlas Network","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Atlas Network"]},"customers":{"required_absent":[],"required_present":["Atlas Network"]},"all":{"required_absent":[],"required_present":["Atlas Network"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-pt-redact-007","language":"pt","script":"Latin","shape":"quoted-reply","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e O cliente mencionou Amina Holm","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":32,"value":"Amina Holm","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Amina Holm"]},"customers":{"required_absent":["Amina Holm"],"required_present":[]},"all":{"required_absent":["Amina Holm"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-pt-preserve-007","language":"pt","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e Organização pública Atlas Group","known_identities":[],"targets":[{"id":"person","kind":"person","start":25,"end":36,"value":"Atlas Group","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Atlas Group"]},"customers":{"required_absent":[],"required_present":["Atlas Group"]},"all":{"required_absent":[],"required_present":["Atlas Group"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-pt-redact-008","language":"pt","script":"Latin","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=8 message=\"O cliente mencionou \" value=Amina Ibarra","known_identities":[],"targets":[{"id":"person","kind":"person","start":57,"end":69,"value":"Amina Ibarra","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Amina Ibarra"]},"customers":{"required_absent":["Amina Ibarra"],"required_present":[]},"all":{"required_absent":["Amina Ibarra"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-pt-preserve-008","language":"pt","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=8 message=\"Organização pública \" value=Atlas Project","known_identities":[],"targets":[{"id":"person","kind":"person","start":60,"end":73,"value":"Atlas Project","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Atlas Project"]},"customers":{"required_absent":[],"required_present":["Atlas Project"]},"all":{"required_absent":[],"required_present":["Atlas Project"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-008","language":"pt","script":"Latin","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=8 message=\"O cliente mencionou \" credential=\"Amina Ibarra\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":63,"end":75,"value":"Amina Ibarra","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Amina Ibarra"]},"customers":{"required_absent":["Amina Ibarra"],"required_present":[]},"all":{"required_absent":["Amina Ibarra"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-008","language":"pt","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=8 message=\"Organização pública \" credential=\"Atlas Project\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":66,"end":79,"value":"Atlas Project","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Atlas Project"]},"customers":{"required_absent":[],"required_present":["Atlas Project"]},"all":{"required_absent":[],"required_present":["Atlas Project"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-pt-redact-009","language":"pt","script":"Latin","shape":"stack-trace","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[9]: O cliente mencionou Amina Jensen","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":42,"value":"Amina Jensen","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Amina Jensen"]},"customers":{"required_absent":["Amina Jensen"],"required_present":[]},"all":{"required_absent":["Amina Jensen"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-pt-preserve-009","language":"pt","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[9]: Organização pública Atlas Press","known_identities":[],"targets":[{"id":"person","kind":"person","start":33,"end":44,"value":"Atlas Press","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Atlas Press"]},"customers":{"required_absent":[],"required_present":["Atlas Press"]},"all":{"required_absent":[],"required_present":["Atlas Press"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-pt-redact-010","language":"pt","script":"Latin","shape":"code","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_10 := `O cliente mencionou Bruno Arden`","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":46,"value":"Bruno Arden","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bruno Arden"]},"customers":{"required_absent":["Bruno Arden"],"required_present":[]},"all":{"required_absent":["Bruno Arden"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, @@ -828,26 +828,26 @@ {"id":"broad-language-pt-preserve-011","language":"pt","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--\nOrganização pública Boreal Works","known_identities":[],"targets":[{"id":"person","kind":"person","start":26,"end":38,"value":"Boreal Works","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Boreal Works"]},"customers":{"required_absent":[],"required_present":["Boreal Works"]},"all":{"required_absent":[],"required_present":["Boreal Works"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-pt-redact-012","language":"pt","script":"Latin","shape":"long-thread","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. O cliente mencionou Bruno Costa","known_identities":[],"targets":[{"id":"person","kind":"person","start":500,"end":511,"value":"Bruno Costa","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bruno Costa"]},"customers":{"required_absent":["Bruno Costa"],"required_present":[]},"all":{"required_absent":["Bruno Costa"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-pt-preserve-012","language":"pt","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Organização pública Boreal Studio","known_identities":[],"targets":[{"id":"person","kind":"person","start":503,"end":516,"value":"Boreal Studio","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Boreal Studio"]},"customers":{"required_absent":[],"required_present":["Boreal Studio"]},"all":{"required_absent":[],"required_present":["Boreal Studio"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-pt-redact-013","language":"pt","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=13 --message=\"O cliente mencionou \" --value=Bruno Durand","known_identities":[],"targets":[{"id":"person","kind":"person","start":53,"end":65,"value":"Bruno Durand","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bruno Durand"]},"customers":{"required_absent":["Bruno Durand"],"required_present":[]},"all":{"required_absent":["Bruno Durand"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-pt-preserve-013","language":"pt","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=13 --message=\"Organização pública \" --value=Boreal Systems","known_identities":[],"targets":[{"id":"person","kind":"person","start":56,"end":70,"value":"Boreal Systems","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Boreal Systems"]},"customers":{"required_absent":[],"required_present":["Boreal Systems"]},"all":{"required_absent":[],"required_present":["Boreal Systems"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-013","language":"pt","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=13 --message=\"O cliente mencionou \" --credential=\"Bruno Durand\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":59,"end":71,"value":"Bruno Durand","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bruno Durand"]},"customers":{"required_absent":["Bruno Durand"],"required_present":[]},"all":{"required_absent":["Bruno Durand"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-013","language":"pt","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=13 --message=\"Organização pública \" --credential=\"Boreal Systems\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":62,"end":76,"value":"Boreal Systems","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Boreal Systems"]},"customers":{"required_absent":[],"required_present":["Boreal Systems"]},"all":{"required_absent":[],"required_present":["Boreal Systems"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-pt-redact-014","language":"pt","script":"Latin","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"O cliente mencionou Bruno Esteves","known_identities":[],"targets":[{"id":"person","kind":"person","start":20,"end":33,"value":"Bruno Esteves","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bruno Esteves"]},"customers":{"required_absent":["Bruno Esteves"],"required_present":[]},"all":{"required_absent":["Bruno Esteves"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-pt-preserve-014","language":"pt","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Organização pública Boreal Collective","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":40,"value":"Boreal Collective","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Boreal Collective"]},"customers":{"required_absent":[],"required_present":["Boreal Collective"]},"all":{"required_absent":[],"required_present":["Boreal Collective"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-pt-redact-015","language":"pt","script":"Latin","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_15\":\"O cliente mencionou Bruno Fischer\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":48,"value":"Bruno Fischer","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bruno Fischer"]},"customers":{"required_absent":["Bruno Fischer"],"required_present":[]},"all":{"required_absent":["Bruno Fischer"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-pt-preserve-015","language":"pt","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_15\":\"Organização pública Boreal Foundation\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":38,"end":55,"value":"Boreal Foundation","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Boreal Foundation"]},"customers":{"required_absent":[],"required_present":["Boreal Foundation"]},"all":{"required_absent":[],"required_present":["Boreal Foundation"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-pt-redact-016","language":"pt","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_16: O cliente mencionou Bruno Garcia","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":44,"value":"Bruno Garcia","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bruno Garcia"]},"customers":{"required_absent":["Bruno Garcia"],"required_present":[]},"all":{"required_absent":["Bruno Garcia"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-pt-preserve-016","language":"pt","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_16: Organização pública Boreal Network","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":49,"value":"Boreal Network","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Boreal Network"]},"customers":{"required_absent":[],"required_present":["Boreal Network"]},"all":{"required_absent":[],"required_present":["Boreal Network"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-016","language":"pt","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_16: \"O cliente mencionou Bruno Garcia\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":33,"end":45,"value":"Bruno Garcia","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bruno Garcia"]},"customers":{"required_absent":["Bruno Garcia"],"required_present":[]},"all":{"required_absent":["Bruno Garcia"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-016","language":"pt","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_16: \"Organização pública Boreal Network\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":36,"end":50,"value":"Boreal Network","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Boreal Network"]},"customers":{"required_absent":[],"required_present":["Boreal Network"]},"all":{"required_absent":[],"required_present":["Boreal Network"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-pt-redact-017","language":"pt","script":"Latin","shape":"shell","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_17='O cliente mencionou Bruno Holm'","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":42,"value":"Bruno Holm","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bruno Holm"]},"customers":{"required_absent":["Bruno Holm"],"required_present":[]},"all":{"required_absent":["Bruno Holm"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-pt-preserve-017","language":"pt","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_17='Organização pública Boreal Group'","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":47,"value":"Boreal Group","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Boreal Group"]},"customers":{"required_absent":[],"required_present":["Boreal Group"]},"all":{"required_absent":[],"required_present":["Boreal Group"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-pt-redact-018","language":"pt","script":"Latin","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/18 ; O cliente mencionou Bruno Ibarra","known_identities":[],"targets":[{"id":"person","kind":"person","start":53,"end":65,"value":"Bruno Ibarra","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bruno Ibarra"]},"customers":{"required_absent":["Bruno Ibarra"],"required_present":[]},"all":{"required_absent":["Bruno Ibarra"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-pt-preserve-018","language":"pt","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/18 ; Organização pública Boreal Project","known_identities":[],"targets":[{"id":"person","kind":"person","start":56,"end":70,"value":"Boreal Project","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Boreal Project"]},"customers":{"required_absent":[],"required_present":["Boreal Project"]},"all":{"required_absent":[],"required_present":["Boreal Project"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-pt-redact-019","language":"pt","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"**O cliente mencionou Bruno Jensen**","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":34,"value":"Bruno Jensen","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bruno Jensen"]},"customers":{"required_absent":["Bruno Jensen"],"required_present":[]},"all":{"required_absent":["Bruno Jensen"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-pt-preserve-019","language":"pt","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"**Organização pública Boreal Press**","known_identities":[],"targets":[{"id":"person","kind":"person","start":25,"end":37,"value":"Boreal Press","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Boreal Press"]},"customers":{"required_absent":[],"required_present":["Boreal Press"]},"all":{"required_absent":[],"required_present":["Boreal Press"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-pt-redact-020","language":"pt","script":"Latin","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eO cliente mencionou Clara Arden\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":34,"value":"Clara Arden","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Clara Arden"]},"customers":{"required_absent":["Clara Arden"],"required_present":[]},"all":{"required_absent":["Clara Arden"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-pt-preserve-020","language":"pt","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eOrganização pública Cedar Labs\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":26,"end":36,"value":"Cedar Labs","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Cedar Labs"]},"customers":{"required_absent":[],"required_present":["Cedar Labs"]},"all":{"required_absent":[],"required_present":["Cedar Labs"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-018","language":"pt","script":"Latin","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/18?credential=Bruno Ibarra\u0026note=O+cliente+mencionou+","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":54,"value":"Bruno Ibarra","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bruno Ibarra"]},"customers":{"required_absent":["Bruno Ibarra"],"required_present":[]},"all":{"required_absent":["Bruno Ibarra"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-018","language":"pt","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/18?credential=Boreal Project\u0026note=Organiza%C3%A7%C3%A3o+p%C3%BAblica+","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":56,"value":"Boreal Project","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Boreal Project"]},"customers":{"required_absent":[],"required_present":["Boreal Project"]},"all":{"required_absent":[],"required_present":["Boreal Project"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-019","language":"pt","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"O cliente mencionou `Bruno Jensen`","known_identities":[],"targets":[{"id":"person","kind":"person","start":21,"end":33,"value":"Bruno Jensen","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bruno Jensen"]},"customers":{"required_absent":["Bruno Jensen"],"required_present":[]},"all":{"required_absent":["Bruno Jensen"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-019","language":"pt","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Organização pública `Boreal Press`","known_identities":[],"targets":[{"id":"person","kind":"person","start":24,"end":36,"value":"Boreal Press","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Boreal Press"]},"customers":{"required_absent":[],"required_present":["Boreal Press"]},"all":{"required_absent":[],"required_present":["Boreal Press"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-020","language":"pt","script":"Latin","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eO cliente mencionou \u003ccode\u003eClara Arden\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":29,"end":40,"value":"Clara Arden","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Clara Arden"]},"customers":{"required_absent":["Clara Arden"],"required_present":[]},"all":{"required_absent":["Clara Arden"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-020","language":"pt","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eOrganização pública \u003ccode\u003eCedar Labs\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":42,"value":"Cedar Labs","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Cedar Labs"]},"customers":{"required_absent":[],"required_present":["Cedar Labs"]},"all":{"required_absent":[],"required_present":["Cedar Labs"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-pt-redact-021","language":"pt","script":"Latin","shape":"quoted-reply","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e O cliente mencionou Clara Borel","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":33,"value":"Clara Borel","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Clara Borel"]},"customers":{"required_absent":["Clara Borel"],"required_present":[]},"all":{"required_absent":["Clara Borel"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-pt-preserve-021","language":"pt","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e Organização pública Cedar Works","known_identities":[],"targets":[{"id":"person","kind":"person","start":25,"end":36,"value":"Cedar Works","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Cedar Works"]},"customers":{"required_absent":[],"required_present":["Cedar Works"]},"all":{"required_absent":[],"required_present":["Cedar Works"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-pt-redact-022","language":"pt","script":"Latin","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=22 message=\"O cliente mencionou \" value=Clara Costa","known_identities":[],"targets":[{"id":"person","kind":"person","start":58,"end":69,"value":"Clara Costa","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Clara Costa"]},"customers":{"required_absent":["Clara Costa"],"required_present":[]},"all":{"required_absent":["Clara Costa"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-pt-preserve-022","language":"pt","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=22 message=\"Organização pública \" value=Cedar Studio","known_identities":[],"targets":[{"id":"person","kind":"person","start":61,"end":73,"value":"Cedar Studio","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Cedar Studio"]},"customers":{"required_absent":[],"required_present":["Cedar Studio"]},"all":{"required_absent":[],"required_present":["Cedar Studio"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-022","language":"pt","script":"Latin","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=22 message=\"O cliente mencionou \" credential=\"Clara Costa\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":64,"end":75,"value":"Clara Costa","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Clara Costa"]},"customers":{"required_absent":["Clara Costa"],"required_present":[]},"all":{"required_absent":["Clara Costa"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-022","language":"pt","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=22 message=\"Organização pública \" credential=\"Cedar Studio\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":67,"end":79,"value":"Cedar Studio","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Cedar Studio"]},"customers":{"required_absent":[],"required_present":["Cedar Studio"]},"all":{"required_absent":[],"required_present":["Cedar Studio"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-pt-redact-023","language":"pt","script":"Latin","shape":"stack-trace","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[23]: O cliente mencionou Clara Durand","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":43,"value":"Clara Durand","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Clara Durand"]},"customers":{"required_absent":["Clara Durand"],"required_present":[]},"all":{"required_absent":["Clara Durand"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-pt-preserve-023","language":"pt","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[23]: Organização pública Cedar Systems","known_identities":[],"targets":[{"id":"person","kind":"person","start":34,"end":47,"value":"Cedar Systems","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Cedar Systems"]},"customers":{"required_absent":[],"required_present":["Cedar Systems"]},"all":{"required_absent":[],"required_present":["Cedar Systems"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-pt-redact-024","language":"pt","script":"Latin","shape":"code","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_24 := `O cliente mencionou Clara Esteves`","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":48,"value":"Clara Esteves","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Clara Esteves"]},"customers":{"required_absent":["Clara Esteves"],"required_present":[]},"all":{"required_absent":["Clara Esteves"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, @@ -856,26 +856,26 @@ {"id":"broad-language-pt-preserve-025","language":"pt","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--\nOrganização pública Cedar Foundation","known_identities":[],"targets":[{"id":"person","kind":"person","start":26,"end":42,"value":"Cedar Foundation","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Cedar Foundation"]},"customers":{"required_absent":[],"required_present":["Cedar Foundation"]},"all":{"required_absent":[],"required_present":["Cedar Foundation"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-pt-redact-026","language":"pt","script":"Latin","shape":"long-thread","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. O cliente mencionou Clara Garcia","known_identities":[],"targets":[{"id":"person","kind":"person","start":500,"end":512,"value":"Clara Garcia","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Clara Garcia"]},"customers":{"required_absent":["Clara Garcia"],"required_present":[]},"all":{"required_absent":["Clara Garcia"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-pt-preserve-026","language":"pt","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Organização pública Cedar Network","known_identities":[],"targets":[{"id":"person","kind":"person","start":503,"end":516,"value":"Cedar Network","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Cedar Network"]},"customers":{"required_absent":[],"required_present":["Cedar Network"]},"all":{"required_absent":[],"required_present":["Cedar Network"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-pt-redact-027","language":"pt","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=27 --message=\"O cliente mencionou \" --value=Clara Holm","known_identities":[],"targets":[{"id":"person","kind":"person","start":53,"end":63,"value":"Clara Holm","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Clara Holm"]},"customers":{"required_absent":["Clara Holm"],"required_present":[]},"all":{"required_absent":["Clara Holm"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-pt-preserve-027","language":"pt","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=27 --message=\"Organização pública \" --value=Cedar Group","known_identities":[],"targets":[{"id":"person","kind":"person","start":56,"end":67,"value":"Cedar Group","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Cedar Group"]},"customers":{"required_absent":[],"required_present":["Cedar Group"]},"all":{"required_absent":[],"required_present":["Cedar Group"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-027","language":"pt","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=27 --message=\"O cliente mencionou \" --credential=\"Clara Holm\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":59,"end":69,"value":"Clara Holm","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Clara Holm"]},"customers":{"required_absent":["Clara Holm"],"required_present":[]},"all":{"required_absent":["Clara Holm"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-027","language":"pt","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=27 --message=\"Organização pública \" --credential=\"Cedar Group\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":62,"end":73,"value":"Cedar Group","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Cedar Group"]},"customers":{"required_absent":[],"required_present":["Cedar Group"]},"all":{"required_absent":[],"required_present":["Cedar Group"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-pt-redact-028","language":"pt","script":"Latin","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"O cliente mencionou Clara Ibarra","known_identities":[],"targets":[{"id":"person","kind":"person","start":20,"end":32,"value":"Clara Ibarra","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Clara Ibarra"]},"customers":{"required_absent":["Clara Ibarra"],"required_present":[]},"all":{"required_absent":["Clara Ibarra"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-pt-preserve-028","language":"pt","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Organização pública Cedar Project","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":36,"value":"Cedar Project","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Cedar Project"]},"customers":{"required_absent":[],"required_present":["Cedar Project"]},"all":{"required_absent":[],"required_present":["Cedar Project"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-pt-redact-029","language":"pt","script":"Latin","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_29\":\"O cliente mencionou Clara Jensen\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":47,"value":"Clara Jensen","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Clara Jensen"]},"customers":{"required_absent":["Clara Jensen"],"required_present":[]},"all":{"required_absent":["Clara Jensen"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-pt-preserve-029","language":"pt","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_29\":\"Organização pública Cedar Press\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":38,"end":49,"value":"Cedar Press","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Cedar Press"]},"customers":{"required_absent":[],"required_present":["Cedar Press"]},"all":{"required_absent":[],"required_present":["Cedar Press"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-pt-redact-030","language":"pt","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_30: O cliente mencionou Diego Arden","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":43,"value":"Diego Arden","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Diego Arden"]},"customers":{"required_absent":["Diego Arden"],"required_present":[]},"all":{"required_absent":["Diego Arden"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-pt-preserve-030","language":"pt","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_30: Organização pública Delta Labs","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":45,"value":"Delta Labs","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Delta Labs"]},"customers":{"required_absent":[],"required_present":["Delta Labs"]},"all":{"required_absent":[],"required_present":["Delta Labs"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-030","language":"pt","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_30: \"O cliente mencionou Diego Arden\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":33,"end":44,"value":"Diego Arden","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Diego Arden"]},"customers":{"required_absent":["Diego Arden"],"required_present":[]},"all":{"required_absent":["Diego Arden"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-030","language":"pt","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_30: \"Organização pública Delta Labs\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":36,"end":46,"value":"Delta Labs","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Delta Labs"]},"customers":{"required_absent":[],"required_present":["Delta Labs"]},"all":{"required_absent":[],"required_present":["Delta Labs"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-pt-redact-031","language":"pt","script":"Latin","shape":"shell","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_31='O cliente mencionou Diego Borel'","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":43,"value":"Diego Borel","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Diego Borel"]},"customers":{"required_absent":["Diego Borel"],"required_present":[]},"all":{"required_absent":["Diego Borel"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-pt-preserve-031","language":"pt","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_31='Organização pública Delta Works'","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":46,"value":"Delta Works","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Delta Works"]},"customers":{"required_absent":[],"required_present":["Delta Works"]},"all":{"required_absent":[],"required_present":["Delta Works"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-pt-redact-032","language":"pt","script":"Latin","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/32 ; O cliente mencionou Diego Costa","known_identities":[],"targets":[{"id":"person","kind":"person","start":53,"end":64,"value":"Diego Costa","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Diego Costa"]},"customers":{"required_absent":["Diego Costa"],"required_present":[]},"all":{"required_absent":["Diego Costa"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-pt-preserve-032","language":"pt","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/32 ; Organização pública Delta Studio","known_identities":[],"targets":[{"id":"person","kind":"person","start":56,"end":68,"value":"Delta Studio","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Delta Studio"]},"customers":{"required_absent":[],"required_present":["Delta Studio"]},"all":{"required_absent":[],"required_present":["Delta Studio"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-pt-redact-033","language":"pt","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"**O cliente mencionou Diego Durand**","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":34,"value":"Diego Durand","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Diego Durand"]},"customers":{"required_absent":["Diego Durand"],"required_present":[]},"all":{"required_absent":["Diego Durand"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-pt-preserve-033","language":"pt","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"**Organização pública Delta Systems**","known_identities":[],"targets":[{"id":"person","kind":"person","start":25,"end":38,"value":"Delta Systems","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Delta Systems"]},"customers":{"required_absent":[],"required_present":["Delta Systems"]},"all":{"required_absent":[],"required_present":["Delta Systems"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-pt-redact-034","language":"pt","script":"Latin","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eO cliente mencionou Diego Esteves\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":36,"value":"Diego Esteves","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Diego Esteves"]},"customers":{"required_absent":["Diego Esteves"],"required_present":[]},"all":{"required_absent":["Diego Esteves"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-pt-preserve-034","language":"pt","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eOrganização pública Delta Collective\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":26,"end":42,"value":"Delta Collective","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Delta Collective"]},"customers":{"required_absent":[],"required_present":["Delta Collective"]},"all":{"required_absent":[],"required_present":["Delta Collective"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-032","language":"pt","script":"Latin","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/32?credential=Diego Costa\u0026note=O+cliente+mencionou+","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":53,"value":"Diego Costa","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Diego Costa"]},"customers":{"required_absent":["Diego Costa"],"required_present":[]},"all":{"required_absent":["Diego Costa"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-032","language":"pt","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/32?credential=Delta Studio\u0026note=Organiza%C3%A7%C3%A3o+p%C3%BAblica+","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":54,"value":"Delta Studio","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Delta Studio"]},"customers":{"required_absent":[],"required_present":["Delta Studio"]},"all":{"required_absent":[],"required_present":["Delta Studio"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-033","language":"pt","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"O cliente mencionou `Diego Durand`","known_identities":[],"targets":[{"id":"person","kind":"person","start":21,"end":33,"value":"Diego Durand","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Diego Durand"]},"customers":{"required_absent":["Diego Durand"],"required_present":[]},"all":{"required_absent":["Diego Durand"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-033","language":"pt","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Organização pública `Delta Systems`","known_identities":[],"targets":[{"id":"person","kind":"person","start":24,"end":37,"value":"Delta Systems","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Delta Systems"]},"customers":{"required_absent":[],"required_present":["Delta Systems"]},"all":{"required_absent":[],"required_present":["Delta Systems"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-034","language":"pt","script":"Latin","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eO cliente mencionou \u003ccode\u003eDiego Esteves\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":29,"end":42,"value":"Diego Esteves","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Diego Esteves"]},"customers":{"required_absent":["Diego Esteves"],"required_present":[]},"all":{"required_absent":["Diego Esteves"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-034","language":"pt","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eOrganização pública \u003ccode\u003eDelta Collective\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":48,"value":"Delta Collective","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Delta Collective"]},"customers":{"required_absent":[],"required_present":["Delta Collective"]},"all":{"required_absent":[],"required_present":["Delta Collective"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-pt-redact-035","language":"pt","script":"Latin","shape":"quoted-reply","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e O cliente mencionou Diego Fischer","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":35,"value":"Diego Fischer","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Diego Fischer"]},"customers":{"required_absent":["Diego Fischer"],"required_present":[]},"all":{"required_absent":["Diego Fischer"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-pt-preserve-035","language":"pt","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e Organização pública Delta Foundation","known_identities":[],"targets":[{"id":"person","kind":"person","start":25,"end":41,"value":"Delta Foundation","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Delta Foundation"]},"customers":{"required_absent":[],"required_present":["Delta Foundation"]},"all":{"required_absent":[],"required_present":["Delta Foundation"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-pt-redact-036","language":"pt","script":"Latin","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=36 message=\"O cliente mencionou \" value=Diego Garcia","known_identities":[],"targets":[{"id":"person","kind":"person","start":58,"end":70,"value":"Diego Garcia","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Diego Garcia"]},"customers":{"required_absent":["Diego Garcia"],"required_present":[]},"all":{"required_absent":["Diego Garcia"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-pt-preserve-036","language":"pt","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=36 message=\"Organização pública \" value=Delta Network","known_identities":[],"targets":[{"id":"person","kind":"person","start":61,"end":74,"value":"Delta Network","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Delta Network"]},"customers":{"required_absent":[],"required_present":["Delta Network"]},"all":{"required_absent":[],"required_present":["Delta Network"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-036","language":"pt","script":"Latin","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=36 message=\"O cliente mencionou \" credential=\"Diego Garcia\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":64,"end":76,"value":"Diego Garcia","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Diego Garcia"]},"customers":{"required_absent":["Diego Garcia"],"required_present":[]},"all":{"required_absent":["Diego Garcia"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-036","language":"pt","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=36 message=\"Organização pública \" credential=\"Delta Network\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":67,"end":80,"value":"Delta Network","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Delta Network"]},"customers":{"required_absent":[],"required_present":["Delta Network"]},"all":{"required_absent":[],"required_present":["Delta Network"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-pt-redact-037","language":"pt","script":"Latin","shape":"stack-trace","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[37]: O cliente mencionou Diego Holm","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":41,"value":"Diego Holm","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Diego Holm"]},"customers":{"required_absent":["Diego Holm"],"required_present":[]},"all":{"required_absent":["Diego Holm"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-pt-preserve-037","language":"pt","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[37]: Organização pública Delta Group","known_identities":[],"targets":[{"id":"person","kind":"person","start":34,"end":45,"value":"Delta Group","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Delta Group"]},"customers":{"required_absent":[],"required_present":["Delta Group"]},"all":{"required_absent":[],"required_present":["Delta Group"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-pt-redact-038","language":"pt","script":"Latin","shape":"code","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_38 := `O cliente mencionou Diego Ibarra`","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":47,"value":"Diego Ibarra","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Diego Ibarra"]},"customers":{"required_absent":["Diego Ibarra"],"required_present":[]},"all":{"required_absent":["Diego Ibarra"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, @@ -884,26 +884,26 @@ {"id":"broad-language-pt-preserve-039","language":"pt","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--\nOrganização pública Delta Press","known_identities":[],"targets":[{"id":"person","kind":"person","start":26,"end":37,"value":"Delta Press","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Delta Press"]},"customers":{"required_absent":[],"required_present":["Delta Press"]},"all":{"required_absent":[],"required_present":["Delta Press"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-pt-redact-040","language":"pt","script":"Latin","shape":"long-thread","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. O cliente mencionou Elena Arden","known_identities":[],"targets":[{"id":"person","kind":"person","start":500,"end":511,"value":"Elena Arden","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Elena Arden"]},"customers":{"required_absent":["Elena Arden"],"required_present":[]},"all":{"required_absent":["Elena Arden"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-pt-preserve-040","language":"pt","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Organização pública Ember Labs","known_identities":[],"targets":[{"id":"person","kind":"person","start":503,"end":513,"value":"Ember Labs","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ember Labs"]},"customers":{"required_absent":[],"required_present":["Ember Labs"]},"all":{"required_absent":[],"required_present":["Ember Labs"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-pt-redact-041","language":"pt","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=41 --message=\"O cliente mencionou \" --value=Elena Borel","known_identities":[],"targets":[{"id":"person","kind":"person","start":53,"end":64,"value":"Elena Borel","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Elena Borel"]},"customers":{"required_absent":["Elena Borel"],"required_present":[]},"all":{"required_absent":["Elena Borel"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-pt-preserve-041","language":"pt","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=41 --message=\"Organização pública \" --value=Ember Works","known_identities":[],"targets":[{"id":"person","kind":"person","start":56,"end":67,"value":"Ember Works","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ember Works"]},"customers":{"required_absent":[],"required_present":["Ember Works"]},"all":{"required_absent":[],"required_present":["Ember Works"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-041","language":"pt","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=41 --message=\"O cliente mencionou \" --credential=\"Elena Borel\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":59,"end":70,"value":"Elena Borel","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Elena Borel"]},"customers":{"required_absent":["Elena Borel"],"required_present":[]},"all":{"required_absent":["Elena Borel"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-041","language":"pt","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=41 --message=\"Organização pública \" --credential=\"Ember Works\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":62,"end":73,"value":"Ember Works","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ember Works"]},"customers":{"required_absent":[],"required_present":["Ember Works"]},"all":{"required_absent":[],"required_present":["Ember Works"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-pt-redact-042","language":"pt","script":"Latin","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"O cliente mencionou Elena Costa","known_identities":[],"targets":[{"id":"person","kind":"person","start":20,"end":31,"value":"Elena Costa","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Elena Costa"]},"customers":{"required_absent":["Elena Costa"],"required_present":[]},"all":{"required_absent":["Elena Costa"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-pt-preserve-042","language":"pt","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Organização pública Ember Studio","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":35,"value":"Ember Studio","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ember Studio"]},"customers":{"required_absent":[],"required_present":["Ember Studio"]},"all":{"required_absent":[],"required_present":["Ember Studio"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-pt-redact-043","language":"pt","script":"Latin","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_43\":\"O cliente mencionou Elena Durand\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":47,"value":"Elena Durand","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Elena Durand"]},"customers":{"required_absent":["Elena Durand"],"required_present":[]},"all":{"required_absent":["Elena Durand"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-pt-preserve-043","language":"pt","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_43\":\"Organização pública Ember Systems\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":38,"end":51,"value":"Ember Systems","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ember Systems"]},"customers":{"required_absent":[],"required_present":["Ember Systems"]},"all":{"required_absent":[],"required_present":["Ember Systems"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-pt-redact-044","language":"pt","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_44: O cliente mencionou Elena Esteves","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":45,"value":"Elena Esteves","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Elena Esteves"]},"customers":{"required_absent":["Elena Esteves"],"required_present":[]},"all":{"required_absent":["Elena Esteves"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-pt-preserve-044","language":"pt","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_44: Organização pública Ember Collective","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":51,"value":"Ember Collective","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ember Collective"]},"customers":{"required_absent":[],"required_present":["Ember Collective"]},"all":{"required_absent":[],"required_present":["Ember Collective"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-044","language":"pt","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_44: \"O cliente mencionou Elena Esteves\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":33,"end":46,"value":"Elena Esteves","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Elena Esteves"]},"customers":{"required_absent":["Elena Esteves"],"required_present":[]},"all":{"required_absent":["Elena Esteves"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-044","language":"pt","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_44: \"Organização pública Ember Collective\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":36,"end":52,"value":"Ember Collective","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ember Collective"]},"customers":{"required_absent":[],"required_present":["Ember Collective"]},"all":{"required_absent":[],"required_present":["Ember Collective"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-pt-redact-045","language":"pt","script":"Latin","shape":"shell","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_45='O cliente mencionou Elena Fischer'","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":45,"value":"Elena Fischer","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Elena Fischer"]},"customers":{"required_absent":["Elena Fischer"],"required_present":[]},"all":{"required_absent":["Elena Fischer"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-pt-preserve-045","language":"pt","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_45='Organização pública Ember Foundation'","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":51,"value":"Ember Foundation","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ember Foundation"]},"customers":{"required_absent":[],"required_present":["Ember Foundation"]},"all":{"required_absent":[],"required_present":["Ember Foundation"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-pt-redact-046","language":"pt","script":"Latin","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/46 ; O cliente mencionou Elena Garcia","known_identities":[],"targets":[{"id":"person","kind":"person","start":53,"end":65,"value":"Elena Garcia","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Elena Garcia"]},"customers":{"required_absent":["Elena Garcia"],"required_present":[]},"all":{"required_absent":["Elena Garcia"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-pt-preserve-046","language":"pt","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/46 ; Organização pública Ember Network","known_identities":[],"targets":[{"id":"person","kind":"person","start":56,"end":69,"value":"Ember Network","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ember Network"]},"customers":{"required_absent":[],"required_present":["Ember Network"]},"all":{"required_absent":[],"required_present":["Ember Network"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-pt-redact-047","language":"pt","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"**O cliente mencionou Elena Holm**","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":32,"value":"Elena Holm","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Elena Holm"]},"customers":{"required_absent":["Elena Holm"],"required_present":[]},"all":{"required_absent":["Elena Holm"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-pt-preserve-047","language":"pt","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"**Organização pública Ember Group**","known_identities":[],"targets":[{"id":"person","kind":"person","start":25,"end":36,"value":"Ember Group","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ember Group"]},"customers":{"required_absent":[],"required_present":["Ember Group"]},"all":{"required_absent":[],"required_present":["Ember Group"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-pt-redact-048","language":"pt","script":"Latin","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eO cliente mencionou Elena Ibarra\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":35,"value":"Elena Ibarra","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Elena Ibarra"]},"customers":{"required_absent":["Elena Ibarra"],"required_present":[]},"all":{"required_absent":["Elena Ibarra"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-pt-preserve-048","language":"pt","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eOrganização pública Ember Project\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":26,"end":39,"value":"Ember Project","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ember Project"]},"customers":{"required_absent":[],"required_present":["Ember Project"]},"all":{"required_absent":[],"required_present":["Ember Project"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-046","language":"pt","script":"Latin","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/46?credential=Elena Garcia\u0026note=O+cliente+mencionou+","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":54,"value":"Elena Garcia","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Elena Garcia"]},"customers":{"required_absent":["Elena Garcia"],"required_present":[]},"all":{"required_absent":["Elena Garcia"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-046","language":"pt","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/46?credential=Ember Network\u0026note=Organiza%C3%A7%C3%A3o+p%C3%BAblica+","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":55,"value":"Ember Network","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ember Network"]},"customers":{"required_absent":[],"required_present":["Ember Network"]},"all":{"required_absent":[],"required_present":["Ember Network"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-047","language":"pt","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"O cliente mencionou `Elena Holm`","known_identities":[],"targets":[{"id":"person","kind":"person","start":21,"end":31,"value":"Elena Holm","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Elena Holm"]},"customers":{"required_absent":["Elena Holm"],"required_present":[]},"all":{"required_absent":["Elena Holm"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-047","language":"pt","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Organização pública `Ember Group`","known_identities":[],"targets":[{"id":"person","kind":"person","start":24,"end":35,"value":"Ember Group","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ember Group"]},"customers":{"required_absent":[],"required_present":["Ember Group"]},"all":{"required_absent":[],"required_present":["Ember Group"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-048","language":"pt","script":"Latin","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eO cliente mencionou \u003ccode\u003eElena Ibarra\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":29,"end":41,"value":"Elena Ibarra","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Elena Ibarra"]},"customers":{"required_absent":["Elena Ibarra"],"required_present":[]},"all":{"required_absent":["Elena Ibarra"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-048","language":"pt","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eOrganização pública \u003ccode\u003eEmber Project\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":45,"value":"Ember Project","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ember Project"]},"customers":{"required_absent":[],"required_present":["Ember Project"]},"all":{"required_absent":[],"required_present":["Ember Project"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-pt-redact-049","language":"pt","script":"Latin","shape":"quoted-reply","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e O cliente mencionou Elena Jensen","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":34,"value":"Elena Jensen","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Elena Jensen"]},"customers":{"required_absent":["Elena Jensen"],"required_present":[]},"all":{"required_absent":["Elena Jensen"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-pt-preserve-049","language":"pt","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e Organização pública Ember Press","known_identities":[],"targets":[{"id":"person","kind":"person","start":25,"end":36,"value":"Ember Press","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ember Press"]},"customers":{"required_absent":[],"required_present":["Ember Press"]},"all":{"required_absent":[],"required_present":["Ember Press"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-pt-redact-050","language":"pt","script":"Latin","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=50 message=\"O cliente mencionou \" value=Farid Arden","known_identities":[],"targets":[{"id":"person","kind":"person","start":58,"end":69,"value":"Farid Arden","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Farid Arden"]},"customers":{"required_absent":["Farid Arden"],"required_present":[]},"all":{"required_absent":["Farid Arden"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-pt-preserve-050","language":"pt","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=50 message=\"Organização pública \" value=Flora Labs","known_identities":[],"targets":[{"id":"person","kind":"person","start":61,"end":71,"value":"Flora Labs","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Flora Labs"]},"customers":{"required_absent":[],"required_present":["Flora Labs"]},"all":{"required_absent":[],"required_present":["Flora Labs"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-050","language":"pt","script":"Latin","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=50 message=\"O cliente mencionou \" credential=\"Farid Arden\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":64,"end":75,"value":"Farid Arden","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Farid Arden"]},"customers":{"required_absent":["Farid Arden"],"required_present":[]},"all":{"required_absent":["Farid Arden"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-050","language":"pt","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=50 message=\"Organização pública \" credential=\"Flora Labs\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":67,"end":77,"value":"Flora Labs","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Flora Labs"]},"customers":{"required_absent":[],"required_present":["Flora Labs"]},"all":{"required_absent":[],"required_present":["Flora Labs"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-pt-redact-051","language":"pt","script":"Latin","shape":"stack-trace","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[51]: O cliente mencionou Farid Borel","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":42,"value":"Farid Borel","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Farid Borel"]},"customers":{"required_absent":["Farid Borel"],"required_present":[]},"all":{"required_absent":["Farid Borel"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-pt-preserve-051","language":"pt","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[51]: Organização pública Flora Works","known_identities":[],"targets":[{"id":"person","kind":"person","start":34,"end":45,"value":"Flora Works","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Flora Works"]},"customers":{"required_absent":[],"required_present":["Flora Works"]},"all":{"required_absent":[],"required_present":["Flora Works"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-pt-redact-052","language":"pt","script":"Latin","shape":"code","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_52 := `O cliente mencionou Farid Costa`","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":46,"value":"Farid Costa","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Farid Costa"]},"customers":{"required_absent":["Farid Costa"],"required_present":[]},"all":{"required_absent":["Farid Costa"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, @@ -912,26 +912,26 @@ {"id":"broad-language-pt-preserve-053","language":"pt","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--\nOrganização pública Flora Systems","known_identities":[],"targets":[{"id":"person","kind":"person","start":26,"end":39,"value":"Flora Systems","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Flora Systems"]},"customers":{"required_absent":[],"required_present":["Flora Systems"]},"all":{"required_absent":[],"required_present":["Flora Systems"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-pt-redact-054","language":"pt","script":"Latin","shape":"long-thread","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. O cliente mencionou Farid Esteves","known_identities":[],"targets":[{"id":"person","kind":"person","start":500,"end":513,"value":"Farid Esteves","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Farid Esteves"]},"customers":{"required_absent":["Farid Esteves"],"required_present":[]},"all":{"required_absent":["Farid Esteves"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-pt-preserve-054","language":"pt","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Organização pública Flora Collective","known_identities":[],"targets":[{"id":"person","kind":"person","start":503,"end":519,"value":"Flora Collective","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Flora Collective"]},"customers":{"required_absent":[],"required_present":["Flora Collective"]},"all":{"required_absent":[],"required_present":["Flora Collective"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-pt-redact-055","language":"pt","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=55 --message=\"O cliente mencionou \" --value=Farid Fischer","known_identities":[],"targets":[{"id":"person","kind":"person","start":53,"end":66,"value":"Farid Fischer","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Farid Fischer"]},"customers":{"required_absent":["Farid Fischer"],"required_present":[]},"all":{"required_absent":["Farid Fischer"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-pt-preserve-055","language":"pt","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=55 --message=\"Organização pública \" --value=Flora Foundation","known_identities":[],"targets":[{"id":"person","kind":"person","start":56,"end":72,"value":"Flora Foundation","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Flora Foundation"]},"customers":{"required_absent":[],"required_present":["Flora Foundation"]},"all":{"required_absent":[],"required_present":["Flora Foundation"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-055","language":"pt","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=55 --message=\"O cliente mencionou \" --credential=\"Farid Fischer\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":59,"end":72,"value":"Farid Fischer","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Farid Fischer"]},"customers":{"required_absent":["Farid Fischer"],"required_present":[]},"all":{"required_absent":["Farid Fischer"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-055","language":"pt","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=55 --message=\"Organização pública \" --credential=\"Flora Foundation\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":62,"end":78,"value":"Flora Foundation","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Flora Foundation"]},"customers":{"required_absent":[],"required_present":["Flora Foundation"]},"all":{"required_absent":[],"required_present":["Flora Foundation"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-pt-redact-056","language":"pt","script":"Latin","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"O cliente mencionou Farid Garcia","known_identities":[],"targets":[{"id":"person","kind":"person","start":20,"end":32,"value":"Farid Garcia","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Farid Garcia"]},"customers":{"required_absent":["Farid Garcia"],"required_present":[]},"all":{"required_absent":["Farid Garcia"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-pt-preserve-056","language":"pt","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Organização pública Flora Network","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":36,"value":"Flora Network","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Flora Network"]},"customers":{"required_absent":[],"required_present":["Flora Network"]},"all":{"required_absent":[],"required_present":["Flora Network"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-pt-redact-057","language":"pt","script":"Latin","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_57\":\"O cliente mencionou Farid Holm\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":45,"value":"Farid Holm","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Farid Holm"]},"customers":{"required_absent":["Farid Holm"],"required_present":[]},"all":{"required_absent":["Farid Holm"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-pt-preserve-057","language":"pt","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_57\":\"Organização pública Flora Group\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":38,"end":49,"value":"Flora Group","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Flora Group"]},"customers":{"required_absent":[],"required_present":["Flora Group"]},"all":{"required_absent":[],"required_present":["Flora Group"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-pt-redact-058","language":"pt","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_58: O cliente mencionou Farid Ibarra","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":44,"value":"Farid Ibarra","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Farid Ibarra"]},"customers":{"required_absent":["Farid Ibarra"],"required_present":[]},"all":{"required_absent":["Farid Ibarra"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-pt-preserve-058","language":"pt","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_58: Organização pública Flora Project","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":48,"value":"Flora Project","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Flora Project"]},"customers":{"required_absent":[],"required_present":["Flora Project"]},"all":{"required_absent":[],"required_present":["Flora Project"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-058","language":"pt","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_58: \"O cliente mencionou Farid Ibarra\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":33,"end":45,"value":"Farid Ibarra","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Farid Ibarra"]},"customers":{"required_absent":["Farid Ibarra"],"required_present":[]},"all":{"required_absent":["Farid Ibarra"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-058","language":"pt","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_58: \"Organização pública Flora Project\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":36,"end":49,"value":"Flora Project","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Flora Project"]},"customers":{"required_absent":[],"required_present":["Flora Project"]},"all":{"required_absent":[],"required_present":["Flora Project"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-pt-redact-059","language":"pt","script":"Latin","shape":"shell","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_59='O cliente mencionou Farid Jensen'","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":44,"value":"Farid Jensen","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Farid Jensen"]},"customers":{"required_absent":["Farid Jensen"],"required_present":[]},"all":{"required_absent":["Farid Jensen"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-pt-preserve-059","language":"pt","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_59='Organização pública Flora Press'","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":46,"value":"Flora Press","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Flora Press"]},"customers":{"required_absent":[],"required_present":["Flora Press"]},"all":{"required_absent":[],"required_present":["Flora Press"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-pt-redact-060","language":"pt","script":"Latin","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/60 ; O cliente mencionou Greta Arden","known_identities":[],"targets":[{"id":"person","kind":"person","start":53,"end":64,"value":"Greta Arden","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Greta Arden"]},"customers":{"required_absent":["Greta Arden"],"required_present":[]},"all":{"required_absent":["Greta Arden"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-pt-preserve-060","language":"pt","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/60 ; Organização pública Gaia Labs","known_identities":[],"targets":[{"id":"person","kind":"person","start":56,"end":65,"value":"Gaia Labs","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Gaia Labs"]},"customers":{"required_absent":[],"required_present":["Gaia Labs"]},"all":{"required_absent":[],"required_present":["Gaia Labs"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-pt-redact-061","language":"pt","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"**O cliente mencionou Greta Borel**","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":33,"value":"Greta Borel","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Greta Borel"]},"customers":{"required_absent":["Greta Borel"],"required_present":[]},"all":{"required_absent":["Greta Borel"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-pt-preserve-061","language":"pt","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"**Organização pública Gaia Works**","known_identities":[],"targets":[{"id":"person","kind":"person","start":25,"end":35,"value":"Gaia Works","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Gaia Works"]},"customers":{"required_absent":[],"required_present":["Gaia Works"]},"all":{"required_absent":[],"required_present":["Gaia Works"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-pt-redact-062","language":"pt","script":"Latin","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eO cliente mencionou Greta Costa\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":34,"value":"Greta Costa","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Greta Costa"]},"customers":{"required_absent":["Greta Costa"],"required_present":[]},"all":{"required_absent":["Greta Costa"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-pt-preserve-062","language":"pt","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eOrganização pública Gaia Studio\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":26,"end":37,"value":"Gaia Studio","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Gaia Studio"]},"customers":{"required_absent":[],"required_present":["Gaia Studio"]},"all":{"required_absent":[],"required_present":["Gaia Studio"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-060","language":"pt","script":"Latin","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/60?credential=Greta Arden\u0026note=O+cliente+mencionou+","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":53,"value":"Greta Arden","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Greta Arden"]},"customers":{"required_absent":["Greta Arden"],"required_present":[]},"all":{"required_absent":["Greta Arden"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-060","language":"pt","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/60?credential=Gaia Labs\u0026note=Organiza%C3%A7%C3%A3o+p%C3%BAblica+","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":51,"value":"Gaia Labs","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Gaia Labs"]},"customers":{"required_absent":[],"required_present":["Gaia Labs"]},"all":{"required_absent":[],"required_present":["Gaia Labs"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-061","language":"pt","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"O cliente mencionou `Greta Borel`","known_identities":[],"targets":[{"id":"person","kind":"person","start":21,"end":32,"value":"Greta Borel","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Greta Borel"]},"customers":{"required_absent":["Greta Borel"],"required_present":[]},"all":{"required_absent":["Greta Borel"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-061","language":"pt","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Organização pública `Gaia Works`","known_identities":[],"targets":[{"id":"person","kind":"person","start":24,"end":34,"value":"Gaia Works","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Gaia Works"]},"customers":{"required_absent":[],"required_present":["Gaia Works"]},"all":{"required_absent":[],"required_present":["Gaia Works"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-062","language":"pt","script":"Latin","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eO cliente mencionou \u003ccode\u003eGreta Costa\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":29,"end":40,"value":"Greta Costa","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Greta Costa"]},"customers":{"required_absent":["Greta Costa"],"required_present":[]},"all":{"required_absent":["Greta Costa"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-062","language":"pt","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eOrganização pública \u003ccode\u003eGaia Studio\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":43,"value":"Gaia Studio","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Gaia Studio"]},"customers":{"required_absent":[],"required_present":["Gaia Studio"]},"all":{"required_absent":[],"required_present":["Gaia Studio"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-pt-redact-063","language":"pt","script":"Latin","shape":"quoted-reply","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e O cliente mencionou Greta Durand","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":34,"value":"Greta Durand","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Greta Durand"]},"customers":{"required_absent":["Greta Durand"],"required_present":[]},"all":{"required_absent":["Greta Durand"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-pt-preserve-063","language":"pt","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e Organização pública Gaia Systems","known_identities":[],"targets":[{"id":"person","kind":"person","start":25,"end":37,"value":"Gaia Systems","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Gaia Systems"]},"customers":{"required_absent":[],"required_present":["Gaia Systems"]},"all":{"required_absent":[],"required_present":["Gaia Systems"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-pt-redact-064","language":"pt","script":"Latin","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=64 message=\"O cliente mencionou \" value=Greta Esteves","known_identities":[],"targets":[{"id":"person","kind":"person","start":58,"end":71,"value":"Greta Esteves","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Greta Esteves"]},"customers":{"required_absent":["Greta Esteves"],"required_present":[]},"all":{"required_absent":["Greta Esteves"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-pt-preserve-064","language":"pt","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=64 message=\"Organização pública \" value=Gaia Collective","known_identities":[],"targets":[{"id":"person","kind":"person","start":61,"end":76,"value":"Gaia Collective","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Gaia Collective"]},"customers":{"required_absent":[],"required_present":["Gaia Collective"]},"all":{"required_absent":[],"required_present":["Gaia Collective"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-064","language":"pt","script":"Latin","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=64 message=\"O cliente mencionou \" credential=\"Greta Esteves\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":64,"end":77,"value":"Greta Esteves","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Greta Esteves"]},"customers":{"required_absent":["Greta Esteves"],"required_present":[]},"all":{"required_absent":["Greta Esteves"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-064","language":"pt","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=64 message=\"Organização pública \" credential=\"Gaia Collective\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":67,"end":82,"value":"Gaia Collective","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Gaia Collective"]},"customers":{"required_absent":[],"required_present":["Gaia Collective"]},"all":{"required_absent":[],"required_present":["Gaia Collective"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-pt-redact-065","language":"pt","script":"Latin","shape":"stack-trace","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[65]: O cliente mencionou Greta Fischer","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":44,"value":"Greta Fischer","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Greta Fischer"]},"customers":{"required_absent":["Greta Fischer"],"required_present":[]},"all":{"required_absent":["Greta Fischer"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-pt-preserve-065","language":"pt","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[65]: Organização pública Gaia Foundation","known_identities":[],"targets":[{"id":"person","kind":"person","start":34,"end":49,"value":"Gaia Foundation","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Gaia Foundation"]},"customers":{"required_absent":[],"required_present":["Gaia Foundation"]},"all":{"required_absent":[],"required_present":["Gaia Foundation"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-pt-redact-066","language":"pt","script":"Latin","shape":"code","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_66 := `O cliente mencionou Greta Garcia`","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":47,"value":"Greta Garcia","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Greta Garcia"]},"customers":{"required_absent":["Greta Garcia"],"required_present":[]},"all":{"required_absent":["Greta Garcia"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, @@ -940,26 +940,26 @@ {"id":"broad-language-pt-preserve-067","language":"pt","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--\nOrganização pública Gaia Group","known_identities":[],"targets":[{"id":"person","kind":"person","start":26,"end":36,"value":"Gaia Group","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Gaia Group"]},"customers":{"required_absent":[],"required_present":["Gaia Group"]},"all":{"required_absent":[],"required_present":["Gaia Group"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-pt-redact-068","language":"pt","script":"Latin","shape":"long-thread","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. O cliente mencionou Greta Ibarra","known_identities":[],"targets":[{"id":"person","kind":"person","start":500,"end":512,"value":"Greta Ibarra","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Greta Ibarra"]},"customers":{"required_absent":["Greta Ibarra"],"required_present":[]},"all":{"required_absent":["Greta Ibarra"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-pt-preserve-068","language":"pt","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Organização pública Gaia Project","known_identities":[],"targets":[{"id":"person","kind":"person","start":503,"end":515,"value":"Gaia Project","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Gaia Project"]},"customers":{"required_absent":[],"required_present":["Gaia Project"]},"all":{"required_absent":[],"required_present":["Gaia Project"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-pt-redact-069","language":"pt","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=69 --message=\"O cliente mencionou \" --value=Greta Jensen","known_identities":[],"targets":[{"id":"person","kind":"person","start":53,"end":65,"value":"Greta Jensen","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Greta Jensen"]},"customers":{"required_absent":["Greta Jensen"],"required_present":[]},"all":{"required_absent":["Greta Jensen"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-pt-preserve-069","language":"pt","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=69 --message=\"Organização pública \" --value=Gaia Press","known_identities":[],"targets":[{"id":"person","kind":"person","start":56,"end":66,"value":"Gaia Press","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Gaia Press"]},"customers":{"required_absent":[],"required_present":["Gaia Press"]},"all":{"required_absent":[],"required_present":["Gaia Press"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-069","language":"pt","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=69 --message=\"O cliente mencionou \" --credential=\"Greta Jensen\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":59,"end":71,"value":"Greta Jensen","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Greta Jensen"]},"customers":{"required_absent":["Greta Jensen"],"required_present":[]},"all":{"required_absent":["Greta Jensen"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-069","language":"pt","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=69 --message=\"Organização pública \" --credential=\"Gaia Press\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":62,"end":72,"value":"Gaia Press","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Gaia Press"]},"customers":{"required_absent":[],"required_present":["Gaia Press"]},"all":{"required_absent":[],"required_present":["Gaia Press"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-pt-redact-070","language":"pt","script":"Latin","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"O cliente mencionou Hugo Arden","known_identities":[],"targets":[{"id":"person","kind":"person","start":20,"end":30,"value":"Hugo Arden","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Hugo Arden"]},"customers":{"required_absent":["Hugo Arden"],"required_present":[]},"all":{"required_absent":["Hugo Arden"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-pt-preserve-070","language":"pt","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Organização pública Helios Labs","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":34,"value":"Helios Labs","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Helios Labs"]},"customers":{"required_absent":[],"required_present":["Helios Labs"]},"all":{"required_absent":[],"required_present":["Helios Labs"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-pt-redact-071","language":"pt","script":"Latin","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_71\":\"O cliente mencionou Hugo Borel\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":45,"value":"Hugo Borel","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Hugo Borel"]},"customers":{"required_absent":["Hugo Borel"],"required_present":[]},"all":{"required_absent":["Hugo Borel"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-pt-preserve-071","language":"pt","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_71\":\"Organização pública Helios Works\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":38,"end":50,"value":"Helios Works","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Helios Works"]},"customers":{"required_absent":[],"required_present":["Helios Works"]},"all":{"required_absent":[],"required_present":["Helios Works"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-pt-redact-072","language":"pt","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_72: O cliente mencionou Hugo Costa","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":42,"value":"Hugo Costa","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Hugo Costa"]},"customers":{"required_absent":["Hugo Costa"],"required_present":[]},"all":{"required_absent":["Hugo Costa"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-pt-preserve-072","language":"pt","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_72: Organização pública Helios Studio","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":48,"value":"Helios Studio","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Helios Studio"]},"customers":{"required_absent":[],"required_present":["Helios Studio"]},"all":{"required_absent":[],"required_present":["Helios Studio"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-072","language":"pt","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_72: \"O cliente mencionou Hugo Costa\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":33,"end":43,"value":"Hugo Costa","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Hugo Costa"]},"customers":{"required_absent":["Hugo Costa"],"required_present":[]},"all":{"required_absent":["Hugo Costa"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-072","language":"pt","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_72: \"Organização pública Helios Studio\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":36,"end":49,"value":"Helios Studio","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Helios Studio"]},"customers":{"required_absent":[],"required_present":["Helios Studio"]},"all":{"required_absent":[],"required_present":["Helios Studio"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-pt-redact-073","language":"pt","script":"Latin","shape":"shell","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_73='O cliente mencionou Hugo Durand'","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":43,"value":"Hugo Durand","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Hugo Durand"]},"customers":{"required_absent":["Hugo Durand"],"required_present":[]},"all":{"required_absent":["Hugo Durand"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-pt-preserve-073","language":"pt","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_73='Organização pública Helios Systems'","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":49,"value":"Helios Systems","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Helios Systems"]},"customers":{"required_absent":[],"required_present":["Helios Systems"]},"all":{"required_absent":[],"required_present":["Helios Systems"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-pt-redact-074","language":"pt","script":"Latin","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/74 ; O cliente mencionou Hugo Esteves","known_identities":[],"targets":[{"id":"person","kind":"person","start":53,"end":65,"value":"Hugo Esteves","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Hugo Esteves"]},"customers":{"required_absent":["Hugo Esteves"],"required_present":[]},"all":{"required_absent":["Hugo Esteves"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-pt-preserve-074","language":"pt","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/74 ; Organização pública Helios Collective","known_identities":[],"targets":[{"id":"person","kind":"person","start":56,"end":73,"value":"Helios Collective","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Helios Collective"]},"customers":{"required_absent":[],"required_present":["Helios Collective"]},"all":{"required_absent":[],"required_present":["Helios Collective"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-pt-redact-075","language":"pt","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"**O cliente mencionou Hugo Fischer**","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":34,"value":"Hugo Fischer","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Hugo Fischer"]},"customers":{"required_absent":["Hugo Fischer"],"required_present":[]},"all":{"required_absent":["Hugo Fischer"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-pt-preserve-075","language":"pt","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"**Organização pública Helios Foundation**","known_identities":[],"targets":[{"id":"person","kind":"person","start":25,"end":42,"value":"Helios Foundation","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Helios Foundation"]},"customers":{"required_absent":[],"required_present":["Helios Foundation"]},"all":{"required_absent":[],"required_present":["Helios Foundation"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-pt-redact-076","language":"pt","script":"Latin","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eO cliente mencionou Hugo Garcia\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":34,"value":"Hugo Garcia","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Hugo Garcia"]},"customers":{"required_absent":["Hugo Garcia"],"required_present":[]},"all":{"required_absent":["Hugo Garcia"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-pt-preserve-076","language":"pt","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eOrganização pública Helios Network\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":26,"end":40,"value":"Helios Network","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Helios Network"]},"customers":{"required_absent":[],"required_present":["Helios Network"]},"all":{"required_absent":[],"required_present":["Helios Network"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-074","language":"pt","script":"Latin","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/74?credential=Hugo Esteves\u0026note=O+cliente+mencionou+","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":54,"value":"Hugo Esteves","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Hugo Esteves"]},"customers":{"required_absent":["Hugo Esteves"],"required_present":[]},"all":{"required_absent":["Hugo Esteves"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-074","language":"pt","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/74?credential=Helios Collective\u0026note=Organiza%C3%A7%C3%A3o+p%C3%BAblica+","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":59,"value":"Helios Collective","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Helios Collective"]},"customers":{"required_absent":[],"required_present":["Helios Collective"]},"all":{"required_absent":[],"required_present":["Helios Collective"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-075","language":"pt","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"O cliente mencionou `Hugo Fischer`","known_identities":[],"targets":[{"id":"person","kind":"person","start":21,"end":33,"value":"Hugo Fischer","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Hugo Fischer"]},"customers":{"required_absent":["Hugo Fischer"],"required_present":[]},"all":{"required_absent":["Hugo Fischer"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-075","language":"pt","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Organização pública `Helios Foundation`","known_identities":[],"targets":[{"id":"person","kind":"person","start":24,"end":41,"value":"Helios Foundation","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Helios Foundation"]},"customers":{"required_absent":[],"required_present":["Helios Foundation"]},"all":{"required_absent":[],"required_present":["Helios Foundation"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-076","language":"pt","script":"Latin","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eO cliente mencionou \u003ccode\u003eHugo Garcia\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":29,"end":40,"value":"Hugo Garcia","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Hugo Garcia"]},"customers":{"required_absent":["Hugo Garcia"],"required_present":[]},"all":{"required_absent":["Hugo Garcia"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-076","language":"pt","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eOrganização pública \u003ccode\u003eHelios Network\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":46,"value":"Helios Network","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Helios Network"]},"customers":{"required_absent":[],"required_present":["Helios Network"]},"all":{"required_absent":[],"required_present":["Helios Network"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-pt-redact-077","language":"pt","script":"Latin","shape":"quoted-reply","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e O cliente mencionou Hugo Holm","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":31,"value":"Hugo Holm","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Hugo Holm"]},"customers":{"required_absent":["Hugo Holm"],"required_present":[]},"all":{"required_absent":["Hugo Holm"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-pt-preserve-077","language":"pt","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e Organização pública Helios Group","known_identities":[],"targets":[{"id":"person","kind":"person","start":25,"end":37,"value":"Helios Group","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Helios Group"]},"customers":{"required_absent":[],"required_present":["Helios Group"]},"all":{"required_absent":[],"required_present":["Helios Group"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-pt-redact-078","language":"pt","script":"Latin","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=78 message=\"O cliente mencionou \" value=Hugo Ibarra","known_identities":[],"targets":[{"id":"person","kind":"person","start":58,"end":69,"value":"Hugo Ibarra","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Hugo Ibarra"]},"customers":{"required_absent":["Hugo Ibarra"],"required_present":[]},"all":{"required_absent":["Hugo Ibarra"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-pt-preserve-078","language":"pt","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=78 message=\"Organização pública \" value=Helios Project","known_identities":[],"targets":[{"id":"person","kind":"person","start":61,"end":75,"value":"Helios Project","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Helios Project"]},"customers":{"required_absent":[],"required_present":["Helios Project"]},"all":{"required_absent":[],"required_present":["Helios Project"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-078","language":"pt","script":"Latin","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=78 message=\"O cliente mencionou \" credential=\"Hugo Ibarra\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":64,"end":75,"value":"Hugo Ibarra","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Hugo Ibarra"]},"customers":{"required_absent":["Hugo Ibarra"],"required_present":[]},"all":{"required_absent":["Hugo Ibarra"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-078","language":"pt","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=78 message=\"Organização pública \" credential=\"Helios Project\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":67,"end":81,"value":"Helios Project","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Helios Project"]},"customers":{"required_absent":[],"required_present":["Helios Project"]},"all":{"required_absent":[],"required_present":["Helios Project"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-pt-redact-079","language":"pt","script":"Latin","shape":"stack-trace","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[79]: O cliente mencionou Hugo Jensen","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":42,"value":"Hugo Jensen","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Hugo Jensen"]},"customers":{"required_absent":["Hugo Jensen"],"required_present":[]},"all":{"required_absent":["Hugo Jensen"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-pt-preserve-079","language":"pt","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[79]: Organização pública Helios Press","known_identities":[],"targets":[{"id":"person","kind":"person","start":34,"end":46,"value":"Helios Press","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Helios Press"]},"customers":{"required_absent":[],"required_present":["Helios Press"]},"all":{"required_absent":[],"required_present":["Helios Press"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-pt-redact-080","language":"pt","script":"Latin","shape":"code","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_80 := `O cliente mencionou Ines Arden`","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":45,"value":"Ines Arden","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ines Arden"]},"customers":{"required_absent":["Ines Arden"],"required_present":[]},"all":{"required_absent":["Ines Arden"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, @@ -968,26 +968,26 @@ {"id":"broad-language-pt-preserve-081","language":"pt","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--\nOrganização pública Ion Works","known_identities":[],"targets":[{"id":"person","kind":"person","start":26,"end":35,"value":"Ion Works","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ion Works"]},"customers":{"required_absent":[],"required_present":["Ion Works"]},"all":{"required_absent":[],"required_present":["Ion Works"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-pt-redact-082","language":"pt","script":"Latin","shape":"long-thread","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. O cliente mencionou Ines Costa","known_identities":[],"targets":[{"id":"person","kind":"person","start":500,"end":510,"value":"Ines Costa","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ines Costa"]},"customers":{"required_absent":["Ines Costa"],"required_present":[]},"all":{"required_absent":["Ines Costa"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-pt-preserve-082","language":"pt","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Organização pública Ion Studio","known_identities":[],"targets":[{"id":"person","kind":"person","start":503,"end":513,"value":"Ion Studio","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ion Studio"]},"customers":{"required_absent":[],"required_present":["Ion Studio"]},"all":{"required_absent":[],"required_present":["Ion Studio"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-pt-redact-083","language":"pt","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=83 --message=\"O cliente mencionou \" --value=Ines Durand","known_identities":[],"targets":[{"id":"person","kind":"person","start":53,"end":64,"value":"Ines Durand","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ines Durand"]},"customers":{"required_absent":["Ines Durand"],"required_present":[]},"all":{"required_absent":["Ines Durand"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-pt-preserve-083","language":"pt","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=83 --message=\"Organização pública \" --value=Ion Systems","known_identities":[],"targets":[{"id":"person","kind":"person","start":56,"end":67,"value":"Ion Systems","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ion Systems"]},"customers":{"required_absent":[],"required_present":["Ion Systems"]},"all":{"required_absent":[],"required_present":["Ion Systems"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-083","language":"pt","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=83 --message=\"O cliente mencionou \" --credential=\"Ines Durand\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":59,"end":70,"value":"Ines Durand","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ines Durand"]},"customers":{"required_absent":["Ines Durand"],"required_present":[]},"all":{"required_absent":["Ines Durand"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-083","language":"pt","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=83 --message=\"Organização pública \" --credential=\"Ion Systems\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":62,"end":73,"value":"Ion Systems","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ion Systems"]},"customers":{"required_absent":[],"required_present":["Ion Systems"]},"all":{"required_absent":[],"required_present":["Ion Systems"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-pt-redact-084","language":"pt","script":"Latin","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"O cliente mencionou Ines Esteves","known_identities":[],"targets":[{"id":"person","kind":"person","start":20,"end":32,"value":"Ines Esteves","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ines Esteves"]},"customers":{"required_absent":["Ines Esteves"],"required_present":[]},"all":{"required_absent":["Ines Esteves"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-pt-preserve-084","language":"pt","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Organização pública Ion Collective","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":37,"value":"Ion Collective","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ion Collective"]},"customers":{"required_absent":[],"required_present":["Ion Collective"]},"all":{"required_absent":[],"required_present":["Ion Collective"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-pt-redact-085","language":"pt","script":"Latin","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_85\":\"O cliente mencionou Ines Fischer\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":47,"value":"Ines Fischer","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ines Fischer"]},"customers":{"required_absent":["Ines Fischer"],"required_present":[]},"all":{"required_absent":["Ines Fischer"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-pt-preserve-085","language":"pt","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_85\":\"Organização pública Ion Foundation\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":38,"end":52,"value":"Ion Foundation","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ion Foundation"]},"customers":{"required_absent":[],"required_present":["Ion Foundation"]},"all":{"required_absent":[],"required_present":["Ion Foundation"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-pt-redact-086","language":"pt","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_86: O cliente mencionou Ines Garcia","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":43,"value":"Ines Garcia","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ines Garcia"]},"customers":{"required_absent":["Ines Garcia"],"required_present":[]},"all":{"required_absent":["Ines Garcia"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-pt-preserve-086","language":"pt","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_86: Organização pública Ion Network","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":46,"value":"Ion Network","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ion Network"]},"customers":{"required_absent":[],"required_present":["Ion Network"]},"all":{"required_absent":[],"required_present":["Ion Network"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-086","language":"pt","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_86: \"O cliente mencionou Ines Garcia\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":33,"end":44,"value":"Ines Garcia","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ines Garcia"]},"customers":{"required_absent":["Ines Garcia"],"required_present":[]},"all":{"required_absent":["Ines Garcia"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-086","language":"pt","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_86: \"Organização pública Ion Network\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":36,"end":47,"value":"Ion Network","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ion Network"]},"customers":{"required_absent":[],"required_present":["Ion Network"]},"all":{"required_absent":[],"required_present":["Ion Network"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-pt-redact-087","language":"pt","script":"Latin","shape":"shell","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_87='O cliente mencionou Ines Holm'","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":41,"value":"Ines Holm","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ines Holm"]},"customers":{"required_absent":["Ines Holm"],"required_present":[]},"all":{"required_absent":["Ines Holm"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-pt-preserve-087","language":"pt","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_87='Organização pública Ion Group'","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":44,"value":"Ion Group","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ion Group"]},"customers":{"required_absent":[],"required_present":["Ion Group"]},"all":{"required_absent":[],"required_present":["Ion Group"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-pt-redact-088","language":"pt","script":"Latin","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/88 ; O cliente mencionou Ines Ibarra","known_identities":[],"targets":[{"id":"person","kind":"person","start":53,"end":64,"value":"Ines Ibarra","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ines Ibarra"]},"customers":{"required_absent":["Ines Ibarra"],"required_present":[]},"all":{"required_absent":["Ines Ibarra"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-pt-preserve-088","language":"pt","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/88 ; Organização pública Ion Project","known_identities":[],"targets":[{"id":"person","kind":"person","start":56,"end":67,"value":"Ion Project","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ion Project"]},"customers":{"required_absent":[],"required_present":["Ion Project"]},"all":{"required_absent":[],"required_present":["Ion Project"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-pt-redact-089","language":"pt","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"**O cliente mencionou Ines Jensen**","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":33,"value":"Ines Jensen","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ines Jensen"]},"customers":{"required_absent":["Ines Jensen"],"required_present":[]},"all":{"required_absent":["Ines Jensen"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-pt-preserve-089","language":"pt","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"**Organização pública Ion Press**","known_identities":[],"targets":[{"id":"person","kind":"person","start":25,"end":34,"value":"Ion Press","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ion Press"]},"customers":{"required_absent":[],"required_present":["Ion Press"]},"all":{"required_absent":[],"required_present":["Ion Press"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-pt-redact-090","language":"pt","script":"Latin","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eO cliente mencionou Jonas Arden\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":34,"value":"Jonas Arden","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Jonas Arden"]},"customers":{"required_absent":["Jonas Arden"],"required_present":[]},"all":{"required_absent":["Jonas Arden"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-pt-preserve-090","language":"pt","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eOrganização pública Juniper Labs\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":26,"end":38,"value":"Juniper Labs","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Juniper Labs"]},"customers":{"required_absent":[],"required_present":["Juniper Labs"]},"all":{"required_absent":[],"required_present":["Juniper Labs"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-088","language":"pt","script":"Latin","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/88?credential=Ines Ibarra\u0026note=O+cliente+mencionou+","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":53,"value":"Ines Ibarra","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ines Ibarra"]},"customers":{"required_absent":["Ines Ibarra"],"required_present":[]},"all":{"required_absent":["Ines Ibarra"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-088","language":"pt","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/88?credential=Ion Project\u0026note=Organiza%C3%A7%C3%A3o+p%C3%BAblica+","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":53,"value":"Ion Project","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ion Project"]},"customers":{"required_absent":[],"required_present":["Ion Project"]},"all":{"required_absent":[],"required_present":["Ion Project"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-089","language":"pt","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"O cliente mencionou `Ines Jensen`","known_identities":[],"targets":[{"id":"person","kind":"person","start":21,"end":32,"value":"Ines Jensen","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ines Jensen"]},"customers":{"required_absent":["Ines Jensen"],"required_present":[]},"all":{"required_absent":["Ines Jensen"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-089","language":"pt","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Organização pública `Ion Press`","known_identities":[],"targets":[{"id":"person","kind":"person","start":24,"end":33,"value":"Ion Press","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Ion Press"]},"customers":{"required_absent":[],"required_present":["Ion Press"]},"all":{"required_absent":[],"required_present":["Ion Press"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-090","language":"pt","script":"Latin","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eO cliente mencionou \u003ccode\u003eJonas Arden\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":29,"end":40,"value":"Jonas Arden","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Jonas Arden"]},"customers":{"required_absent":["Jonas Arden"],"required_present":[]},"all":{"required_absent":["Jonas Arden"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-090","language":"pt","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eOrganização pública \u003ccode\u003eJuniper Labs\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":44,"value":"Juniper Labs","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Juniper Labs"]},"customers":{"required_absent":[],"required_present":["Juniper Labs"]},"all":{"required_absent":[],"required_present":["Juniper Labs"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-pt-redact-091","language":"pt","script":"Latin","shape":"quoted-reply","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e O cliente mencionou Jonas Borel","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":33,"value":"Jonas Borel","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Jonas Borel"]},"customers":{"required_absent":["Jonas Borel"],"required_present":[]},"all":{"required_absent":["Jonas Borel"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-pt-preserve-091","language":"pt","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e Organização pública Juniper Works","known_identities":[],"targets":[{"id":"person","kind":"person","start":25,"end":38,"value":"Juniper Works","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Juniper Works"]},"customers":{"required_absent":[],"required_present":["Juniper Works"]},"all":{"required_absent":[],"required_present":["Juniper Works"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-pt-redact-092","language":"pt","script":"Latin","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=92 message=\"O cliente mencionou \" value=Jonas Costa","known_identities":[],"targets":[{"id":"person","kind":"person","start":58,"end":69,"value":"Jonas Costa","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Jonas Costa"]},"customers":{"required_absent":["Jonas Costa"],"required_present":[]},"all":{"required_absent":["Jonas Costa"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-pt-preserve-092","language":"pt","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=92 message=\"Organização pública \" value=Juniper Studio","known_identities":[],"targets":[{"id":"person","kind":"person","start":61,"end":75,"value":"Juniper Studio","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Juniper Studio"]},"customers":{"required_absent":[],"required_present":["Juniper Studio"]},"all":{"required_absent":[],"required_present":["Juniper Studio"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-092","language":"pt","script":"Latin","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=92 message=\"O cliente mencionou \" credential=\"Jonas Costa\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":64,"end":75,"value":"Jonas Costa","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Jonas Costa"]},"customers":{"required_absent":["Jonas Costa"],"required_present":[]},"all":{"required_absent":["Jonas Costa"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-092","language":"pt","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=92 message=\"Organização pública \" credential=\"Juniper Studio\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":67,"end":81,"value":"Juniper Studio","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Juniper Studio"]},"customers":{"required_absent":[],"required_present":["Juniper Studio"]},"all":{"required_absent":[],"required_present":["Juniper Studio"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-pt-redact-093","language":"pt","script":"Latin","shape":"stack-trace","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[93]: O cliente mencionou Jonas Durand","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":43,"value":"Jonas Durand","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Jonas Durand"]},"customers":{"required_absent":["Jonas Durand"],"required_present":[]},"all":{"required_absent":["Jonas Durand"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-pt-preserve-093","language":"pt","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[93]: Organização pública Juniper Systems","known_identities":[],"targets":[{"id":"person","kind":"person","start":34,"end":49,"value":"Juniper Systems","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Juniper Systems"]},"customers":{"required_absent":[],"required_present":["Juniper Systems"]},"all":{"required_absent":[],"required_present":["Juniper Systems"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-pt-redact-094","language":"pt","script":"Latin","shape":"code","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_94 := `O cliente mencionou Jonas Esteves`","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":48,"value":"Jonas Esteves","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Jonas Esteves"]},"customers":{"required_absent":["Jonas Esteves"],"required_present":[]},"all":{"required_absent":["Jonas Esteves"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, @@ -996,8 +996,8 @@ {"id":"broad-language-pt-preserve-095","language":"pt","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--\nOrganização pública Juniper Foundation","known_identities":[],"targets":[{"id":"person","kind":"person","start":26,"end":44,"value":"Juniper Foundation","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Juniper Foundation"]},"customers":{"required_absent":[],"required_present":["Juniper Foundation"]},"all":{"required_absent":[],"required_present":["Juniper Foundation"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-pt-redact-096","language":"pt","script":"Latin","shape":"long-thread","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. O cliente mencionou Jonas Garcia","known_identities":[],"targets":[{"id":"person","kind":"person","start":500,"end":512,"value":"Jonas Garcia","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Jonas Garcia"]},"customers":{"required_absent":["Jonas Garcia"],"required_present":[]},"all":{"required_absent":["Jonas Garcia"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-pt-preserve-096","language":"pt","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Organização pública Juniper Network","known_identities":[],"targets":[{"id":"person","kind":"person","start":503,"end":518,"value":"Juniper Network","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Juniper Network"]},"customers":{"required_absent":[],"required_present":["Juniper Network"]},"all":{"required_absent":[],"required_present":["Juniper Network"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-pt-redact-097","language":"pt","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=97 --message=\"O cliente mencionou \" --value=Jonas Holm","known_identities":[],"targets":[{"id":"person","kind":"person","start":53,"end":63,"value":"Jonas Holm","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Jonas Holm"]},"customers":{"required_absent":["Jonas Holm"],"required_present":[]},"all":{"required_absent":["Jonas Holm"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-pt-preserve-097","language":"pt","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=97 --message=\"Organização pública \" --value=Juniper Group","known_identities":[],"targets":[{"id":"person","kind":"person","start":56,"end":69,"value":"Juniper Group","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Juniper Group"]},"customers":{"required_absent":[],"required_present":["Juniper Group"]},"all":{"required_absent":[],"required_present":["Juniper Group"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-redact-097","language":"pt","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=97 --message=\"O cliente mencionou \" --credential=\"Jonas Holm\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":59,"end":69,"value":"Jonas Holm","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Jonas Holm"]},"customers":{"required_absent":["Jonas Holm"],"required_present":[]},"all":{"required_absent":["Jonas Holm"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-pt-preserve-097","language":"pt","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=97 --message=\"Organização pública \" --credential=\"Juniper Group\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":62,"end":75,"value":"Juniper Group","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Juniper Group"]},"customers":{"required_absent":[],"required_present":["Juniper Group"]},"all":{"required_absent":[],"required_present":["Juniper Group"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-pt-redact-098","language":"pt","script":"Latin","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"O cliente mencionou Jonas Ibarra","known_identities":[],"targets":[{"id":"person","kind":"person","start":20,"end":32,"value":"Jonas Ibarra","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Jonas Ibarra"]},"customers":{"required_absent":["Jonas Ibarra"],"required_present":[]},"all":{"required_absent":["Jonas Ibarra"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-pt-preserve-098","language":"pt","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Organização pública Juniper Project","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":38,"value":"Juniper Project","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Juniper Project"]},"customers":{"required_absent":[],"required_present":["Juniper Project"]},"all":{"required_absent":[],"required_present":["Juniper Project"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-pt-redact-099","language":"pt","script":"Latin","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_99\":\"O cliente mencionou Jonas Jensen\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":47,"value":"Jonas Jensen","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Jonas Jensen"]},"customers":{"required_absent":["Jonas Jensen"],"required_present":[]},"all":{"required_absent":["Jonas Jensen"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, @@ -1006,20 +1006,20 @@ {"id":"broad-language-ar-preserve-000","language":"ar","script":"Arabic","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"المؤسسة العامة أطلس العامة","known_identities":[],"targets":[{"id":"person","kind":"person","start":28,"end":49,"value":"أطلس العامة","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["أطلس العامة"]},"customers":{"required_absent":[],"required_present":["أطلس العامة"]},"all":{"required_absent":[],"required_present":["أطلس العامة"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ar-redact-001","language":"ar","script":"Arabic","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_1\":\"ذكر العميل أمين البكري\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":34,"end":55,"value":"أمين البكري","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["أمين البكري"]},"customers":{"required_absent":["أمين البكري"],"required_present":[]},"all":{"required_absent":["أمين البكري"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ar-preserve-001","language":"ar","script":"Arabic","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_1\":\"المؤسسة العامة أطلس للبحوث\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":63,"value":"أطلس للبحوث","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["أطلس للبحوث"]},"customers":{"required_absent":[],"required_present":["أطلس للبحوث"]},"all":{"required_absent":[],"required_present":["أطلس للبحوث"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ar-redact-002","language":"ar","script":"Arabic","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_2: ذكر العميل أمين الجابر","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":52,"value":"أمين الجابر","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["أمين الجابر"]},"customers":{"required_absent":["أمين الجابر"],"required_present":[]},"all":{"required_absent":["أمين الجابر"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ar-preserve-002","language":"ar","script":"Arabic","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_2: المؤسسة العامة أطلس للنشر","known_identities":[],"targets":[{"id":"person","kind":"person","start":39,"end":58,"value":"أطلس للنشر","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["أطلس للنشر"]},"customers":{"required_absent":[],"required_present":["أطلس للنشر"]},"all":{"required_absent":[],"required_present":["أطلس للنشر"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-002","language":"ar","script":"Arabic","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_2: \"ذكر العميل أمين الجابر\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":53,"value":"أمين الجابر","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["أمين الجابر"]},"customers":{"required_absent":["أمين الجابر"],"required_present":[]},"all":{"required_absent":["أمين الجابر"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-002","language":"ar","script":"Arabic","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_2: \"المؤسسة العامة أطلس للنشر\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":40,"end":59,"value":"أطلس للنشر","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["أطلس للنشر"]},"customers":{"required_absent":[],"required_present":["أطلس للنشر"]},"all":{"required_absent":[],"required_present":["أطلس للنشر"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ar-redact-003","language":"ar","script":"Arabic","shape":"shell","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_3='ذكر العميل أمين الخطيب'","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":52,"value":"أمين الخطيب","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["أمين الخطيب"]},"customers":{"required_absent":["أمين الخطيب"],"required_present":[]},"all":{"required_absent":["أمين الخطيب"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ar-preserve-003","language":"ar","script":"Arabic","shape":"shell","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_3='المؤسسة العامة أطلس للعلوم'","known_identities":[],"targets":[{"id":"person","kind":"person","start":39,"end":60,"value":"أطلس للعلوم","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["أطلس للعلوم"]},"customers":{"required_absent":[],"required_present":["أطلس للعلوم"]},"all":{"required_absent":[],"required_present":["أطلس للعلوم"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ar-redact-004","language":"ar","script":"Arabic","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/4 ; ذكر العميل أمين الدرويش","known_identities":[],"targets":[{"id":"person","kind":"person","start":52,"end":75,"value":"أمين الدرويش","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["أمين الدرويش"]},"customers":{"required_absent":["أمين الدرويش"],"required_present":[]},"all":{"required_absent":["أمين الدرويش"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ar-preserve-004","language":"ar","script":"Arabic","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/4 ; المؤسسة العامة أطلس للفنون","known_identities":[],"targets":[{"id":"person","kind":"person","start":60,"end":81,"value":"أطلس للفنون","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["أطلس للفنون"]},"customers":{"required_absent":[],"required_present":["أطلس للفنون"]},"all":{"required_absent":[],"required_present":["أطلس للفنون"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ar-redact-005","language":"ar","script":"Arabic","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"**ذكر العميل أمين الراوي**","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":43,"value":"أمين الراوي","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["أمين الراوي"]},"customers":{"required_absent":["أمين الراوي"],"required_present":[]},"all":{"required_absent":["أمين الراوي"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ar-preserve-005","language":"ar","script":"Arabic","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"**المؤسسة العامة أطلس للتقنية**","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":53,"value":"أطلس للتقنية","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["أطلس للتقنية"]},"customers":{"required_absent":[],"required_present":["أطلس للتقنية"]},"all":{"required_absent":[],"required_present":["أطلس للتقنية"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ar-redact-006","language":"ar","script":"Arabic","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eذكر العميل أمين السالم\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":44,"value":"أمين السالم","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["أمين السالم"]},"customers":{"required_absent":["أمين السالم"],"required_present":[]},"all":{"required_absent":["أمين السالم"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ar-preserve-006","language":"ar","script":"Arabic","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eالمؤسسة العامة أطلس للثقافة\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":54,"value":"أطلس للثقافة","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["أطلس للثقافة"]},"customers":{"required_absent":[],"required_present":["أطلس للثقافة"]},"all":{"required_absent":[],"required_present":["أطلس للثقافة"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-004","language":"ar","script":"Arabic","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/4?credential=أمين الدرويش\u0026note=%D8%B0%D9%83%D8%B1+%D8%A7%D9%84%D8%B9%D9%85%D9%8A%D9%84+","known_identities":[],"targets":[{"id":"person","kind":"person","start":41,"end":64,"value":"أمين الدرويش","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["أمين الدرويش"]},"customers":{"required_absent":["أمين الدرويش"],"required_present":[]},"all":{"required_absent":["أمين الدرويش"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-004","language":"ar","script":"Arabic","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/4?credential=أطلس للفنون\u0026note=%D8%A7%D9%84%D9%85%D8%A4%D8%B3%D8%B3%D8%A9+%D8%A7%D9%84%D8%B9%D8%A7%D9%85%D8%A9+","known_identities":[],"targets":[{"id":"person","kind":"person","start":41,"end":62,"value":"أطلس للفنون","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["أطلس للفنون"]},"customers":{"required_absent":[],"required_present":["أطلس للفنون"]},"all":{"required_absent":[],"required_present":["أطلس للفنون"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-005","language":"ar","script":"Arabic","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"ذكر العميل `أمين الراوي`","known_identities":[],"targets":[{"id":"person","kind":"person","start":21,"end":42,"value":"أمين الراوي","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["أمين الراوي"]},"customers":{"required_absent":["أمين الراوي"],"required_present":[]},"all":{"required_absent":["أمين الراوي"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-005","language":"ar","script":"Arabic","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"المؤسسة العامة `أطلس للتقنية`","known_identities":[],"targets":[{"id":"person","kind":"person","start":29,"end":52,"value":"أطلس للتقنية","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["أطلس للتقنية"]},"customers":{"required_absent":[],"required_present":["أطلس للتقنية"]},"all":{"required_absent":[],"required_present":["أطلس للتقنية"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-006","language":"ar","script":"Arabic","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eذكر العميل \u003ccode\u003eأمين السالم\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":29,"end":50,"value":"أمين السالم","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["أمين السالم"]},"customers":{"required_absent":["أمين السالم"],"required_present":[]},"all":{"required_absent":["أمين السالم"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-006","language":"ar","script":"Arabic","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eالمؤسسة العامة \u003ccode\u003eأطلس للثقافة\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":37,"end":60,"value":"أطلس للثقافة","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["أطلس للثقافة"]},"customers":{"required_absent":[],"required_present":["أطلس للثقافة"]},"all":{"required_absent":[],"required_present":["أطلس للثقافة"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ar-redact-007","language":"ar","script":"Arabic","shape":"quoted-reply","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e ذكر العميل أمين الطائي","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":43,"value":"أمين الطائي","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["أمين الطائي"]},"customers":{"required_absent":["أمين الطائي"],"required_present":[]},"all":{"required_absent":["أمين الطائي"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ar-preserve-007","language":"ar","script":"Arabic","shape":"quoted-reply","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e المؤسسة العامة أطلس للتعليم","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":53,"value":"أطلس للتعليم","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["أطلس للتعليم"]},"customers":{"required_absent":[],"required_present":["أطلس للتعليم"]},"all":{"required_absent":[],"required_present":["أطلس للتعليم"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ar-redact-008","language":"ar","script":"Arabic","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=8 message=\"ذكر العميل \" value=أمين العلي","known_identities":[],"targets":[{"id":"person","kind":"person","start":57,"end":76,"value":"أمين العلي","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["أمين العلي"]},"customers":{"required_absent":["أمين العلي"],"required_present":[]},"all":{"required_absent":["أمين العلي"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ar-preserve-008","language":"ar","script":"Arabic","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=8 message=\"المؤسسة العامة \" value=أطلس للبيئة","known_identities":[],"targets":[{"id":"person","kind":"person","start":65,"end":86,"value":"أطلس للبيئة","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["أطلس للبيئة"]},"customers":{"required_absent":[],"required_present":["أطلس للبيئة"]},"all":{"required_absent":[],"required_present":["أطلس للبيئة"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-008","language":"ar","script":"Arabic","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=8 message=\"ذكر العميل \" credential=\"أمين العلي\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":63,"end":82,"value":"أمين العلي","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["أمين العلي"]},"customers":{"required_absent":["أمين العلي"],"required_present":[]},"all":{"required_absent":["أمين العلي"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-008","language":"ar","script":"Arabic","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=8 message=\"المؤسسة العامة \" credential=\"أطلس للبيئة\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":71,"end":92,"value":"أطلس للبيئة","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["أطلس للبيئة"]},"customers":{"required_absent":[],"required_present":["أطلس للبيئة"]},"all":{"required_absent":[],"required_present":["أطلس للبيئة"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ar-redact-009","language":"ar","script":"Arabic","shape":"stack-trace","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[9]: ذكر العميل أمين المصري","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":51,"value":"أمين المصري","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["أمين المصري"]},"customers":{"required_absent":["أمين المصري"],"required_present":[]},"all":{"required_absent":["أمين المصري"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ar-preserve-009","language":"ar","script":"Arabic","shape":"stack-trace","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[9]: المؤسسة العامة أطلس للتنمية","known_identities":[],"targets":[{"id":"person","kind":"person","start":38,"end":61,"value":"أطلس للتنمية","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["أطلس للتنمية"]},"customers":{"required_absent":[],"required_present":["أطلس للتنمية"]},"all":{"required_absent":[],"required_present":["أطلس للتنمية"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ar-redact-010","language":"ar","script":"Arabic","shape":"code","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_10 := `ذكر العميل باسل الحداد`","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":56,"value":"باسل الحداد","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["باسل الحداد"]},"customers":{"required_absent":["باسل الحداد"],"required_present":[]},"all":{"required_absent":["باسل الحداد"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, @@ -1028,26 +1028,26 @@ {"id":"broad-language-ar-preserve-011","language":"ar","script":"Arabic","shape":"signature","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--\nالمؤسسة العامة بستان للبحوث","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":54,"value":"بستان للبحوث","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["بستان للبحوث"]},"customers":{"required_absent":[],"required_present":["بستان للبحوث"]},"all":{"required_absent":[],"required_present":["بستان للبحوث"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ar-redact-012","language":"ar","script":"Arabic","shape":"long-thread","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. ذكر العميل باسل الجابر","known_identities":[],"targets":[{"id":"person","kind":"person","start":500,"end":521,"value":"باسل الجابر","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["باسل الجابر"]},"customers":{"required_absent":["باسل الجابر"],"required_present":[]},"all":{"required_absent":["باسل الجابر"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ar-preserve-012","language":"ar","script":"Arabic","shape":"long-thread","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. المؤسسة العامة بستان للنشر","known_identities":[],"targets":[{"id":"person","kind":"person","start":508,"end":529,"value":"بستان للنشر","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["بستان للنشر"]},"customers":{"required_absent":[],"required_present":["بستان للنشر"]},"all":{"required_absent":[],"required_present":["بستان للنشر"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ar-redact-013","language":"ar","script":"Arabic","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=13 --message=\"ذكر العميل \" --value=باسل الخطيب","known_identities":[],"targets":[{"id":"person","kind":"person","start":53,"end":74,"value":"باسل الخطيب","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["باسل الخطيب"]},"customers":{"required_absent":["باسل الخطيب"],"required_present":[]},"all":{"required_absent":["باسل الخطيب"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ar-preserve-013","language":"ar","script":"Arabic","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=13 --message=\"المؤسسة العامة \" --value=بستان للعلوم","known_identities":[],"targets":[{"id":"person","kind":"person","start":61,"end":84,"value":"بستان للعلوم","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["بستان للعلوم"]},"customers":{"required_absent":[],"required_present":["بستان للعلوم"]},"all":{"required_absent":[],"required_present":["بستان للعلوم"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-013","language":"ar","script":"Arabic","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=13 --message=\"ذكر العميل \" --credential=\"باسل الخطيب\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":59,"end":80,"value":"باسل الخطيب","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["باسل الخطيب"]},"customers":{"required_absent":["باسل الخطيب"],"required_present":[]},"all":{"required_absent":["باسل الخطيب"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-013","language":"ar","script":"Arabic","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=13 --message=\"المؤسسة العامة \" --credential=\"بستان للعلوم\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":67,"end":90,"value":"بستان للعلوم","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["بستان للعلوم"]},"customers":{"required_absent":[],"required_present":["بستان للعلوم"]},"all":{"required_absent":[],"required_present":["بستان للعلوم"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ar-redact-014","language":"ar","script":"Arabic","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"ذكر العميل باسل الدرويش","known_identities":[],"targets":[{"id":"person","kind":"person","start":20,"end":43,"value":"باسل الدرويش","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["باسل الدرويش"]},"customers":{"required_absent":["باسل الدرويش"],"required_present":[]},"all":{"required_absent":["باسل الدرويش"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ar-preserve-014","language":"ar","script":"Arabic","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"المؤسسة العامة بستان للفنون","known_identities":[],"targets":[{"id":"person","kind":"person","start":28,"end":51,"value":"بستان للفنون","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["بستان للفنون"]},"customers":{"required_absent":[],"required_present":["بستان للفنون"]},"all":{"required_absent":[],"required_present":["بستان للفنون"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ar-redact-015","language":"ar","script":"Arabic","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_15\":\"ذكر العميل باسل الراوي\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":56,"value":"باسل الراوي","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["باسل الراوي"]},"customers":{"required_absent":["باسل الراوي"],"required_present":[]},"all":{"required_absent":["باسل الراوي"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ar-preserve-015","language":"ar","script":"Arabic","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_15\":\"المؤسسة العامة بستان للتقنية\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":43,"end":68,"value":"بستان للتقنية","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["بستان للتقنية"]},"customers":{"required_absent":[],"required_present":["بستان للتقنية"]},"all":{"required_absent":[],"required_present":["بستان للتقنية"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ar-redact-016","language":"ar","script":"Arabic","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_16: ذكر العميل باسل السالم","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":53,"value":"باسل السالم","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["باسل السالم"]},"customers":{"required_absent":["باسل السالم"],"required_present":[]},"all":{"required_absent":["باسل السالم"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ar-preserve-016","language":"ar","script":"Arabic","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_16: المؤسسة العامة بستان للثقافة","known_identities":[],"targets":[{"id":"person","kind":"person","start":40,"end":65,"value":"بستان للثقافة","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["بستان للثقافة"]},"customers":{"required_absent":[],"required_present":["بستان للثقافة"]},"all":{"required_absent":[],"required_present":["بستان للثقافة"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-016","language":"ar","script":"Arabic","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_16: \"ذكر العميل باسل السالم\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":33,"end":54,"value":"باسل السالم","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["باسل السالم"]},"customers":{"required_absent":["باسل السالم"],"required_present":[]},"all":{"required_absent":["باسل السالم"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-016","language":"ar","script":"Arabic","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_16: \"المؤسسة العامة بستان للثقافة\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":41,"end":66,"value":"بستان للثقافة","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["بستان للثقافة"]},"customers":{"required_absent":[],"required_present":["بستان للثقافة"]},"all":{"required_absent":[],"required_present":["بستان للثقافة"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ar-redact-017","language":"ar","script":"Arabic","shape":"shell","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_17='ذكر العميل باسل الطائي'","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":53,"value":"باسل الطائي","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["باسل الطائي"]},"customers":{"required_absent":["باسل الطائي"],"required_present":[]},"all":{"required_absent":["باسل الطائي"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ar-preserve-017","language":"ar","script":"Arabic","shape":"shell","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_17='المؤسسة العامة بستان للتعليم'","known_identities":[],"targets":[{"id":"person","kind":"person","start":40,"end":65,"value":"بستان للتعليم","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["بستان للتعليم"]},"customers":{"required_absent":[],"required_present":["بستان للتعليم"]},"all":{"required_absent":[],"required_present":["بستان للتعليم"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ar-redact-018","language":"ar","script":"Arabic","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/18 ; ذكر العميل باسل العلي","known_identities":[],"targets":[{"id":"person","kind":"person","start":53,"end":72,"value":"باسل العلي","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["باسل العلي"]},"customers":{"required_absent":["باسل العلي"],"required_present":[]},"all":{"required_absent":["باسل العلي"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ar-preserve-018","language":"ar","script":"Arabic","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/18 ; المؤسسة العامة بستان للبيئة","known_identities":[],"targets":[{"id":"person","kind":"person","start":61,"end":84,"value":"بستان للبيئة","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["بستان للبيئة"]},"customers":{"required_absent":[],"required_present":["بستان للبيئة"]},"all":{"required_absent":[],"required_present":["بستان للبيئة"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ar-redact-019","language":"ar","script":"Arabic","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"**ذكر العميل باسل المصري**","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":43,"value":"باسل المصري","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["باسل المصري"]},"customers":{"required_absent":["باسل المصري"],"required_present":[]},"all":{"required_absent":["باسل المصري"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ar-preserve-019","language":"ar","script":"Arabic","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"**المؤسسة العامة بستان للتنمية**","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":55,"value":"بستان للتنمية","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["بستان للتنمية"]},"customers":{"required_absent":[],"required_present":["بستان للتنمية"]},"all":{"required_absent":[],"required_present":["بستان للتنمية"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ar-redact-020","language":"ar","script":"Arabic","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eذكر العميل جمانة الحداد\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":46,"value":"جمانة الحداد","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["جمانة الحداد"]},"customers":{"required_absent":["جمانة الحداد"],"required_present":[]},"all":{"required_absent":["جمانة الحداد"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ar-preserve-020","language":"ar","script":"Arabic","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eالمؤسسة العامة جسر العامة\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":50,"value":"جسر العامة","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["جسر العامة"]},"customers":{"required_absent":[],"required_present":["جسر العامة"]},"all":{"required_absent":[],"required_present":["جسر العامة"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-018","language":"ar","script":"Arabic","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/18?credential=باسل العلي\u0026note=%D8%B0%D9%83%D8%B1+%D8%A7%D9%84%D8%B9%D9%85%D9%8A%D9%84+","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":61,"value":"باسل العلي","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["باسل العلي"]},"customers":{"required_absent":["باسل العلي"],"required_present":[]},"all":{"required_absent":["باسل العلي"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-018","language":"ar","script":"Arabic","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/18?credential=بستان للبيئة\u0026note=%D8%A7%D9%84%D9%85%D8%A4%D8%B3%D8%B3%D8%A9+%D8%A7%D9%84%D8%B9%D8%A7%D9%85%D8%A9+","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":65,"value":"بستان للبيئة","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["بستان للبيئة"]},"customers":{"required_absent":[],"required_present":["بستان للبيئة"]},"all":{"required_absent":[],"required_present":["بستان للبيئة"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-019","language":"ar","script":"Arabic","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"ذكر العميل `باسل المصري`","known_identities":[],"targets":[{"id":"person","kind":"person","start":21,"end":42,"value":"باسل المصري","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["باسل المصري"]},"customers":{"required_absent":["باسل المصري"],"required_present":[]},"all":{"required_absent":["باسل المصري"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-019","language":"ar","script":"Arabic","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"المؤسسة العامة `بستان للتنمية`","known_identities":[],"targets":[{"id":"person","kind":"person","start":29,"end":54,"value":"بستان للتنمية","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["بستان للتنمية"]},"customers":{"required_absent":[],"required_present":["بستان للتنمية"]},"all":{"required_absent":[],"required_present":["بستان للتنمية"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-020","language":"ar","script":"Arabic","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eذكر العميل \u003ccode\u003eجمانة الحداد\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":29,"end":52,"value":"جمانة الحداد","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["جمانة الحداد"]},"customers":{"required_absent":["جمانة الحداد"],"required_present":[]},"all":{"required_absent":["جمانة الحداد"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-020","language":"ar","script":"Arabic","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eالمؤسسة العامة \u003ccode\u003eجسر العامة\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":37,"end":56,"value":"جسر العامة","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["جسر العامة"]},"customers":{"required_absent":[],"required_present":["جسر العامة"]},"all":{"required_absent":[],"required_present":["جسر العامة"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ar-redact-021","language":"ar","script":"Arabic","shape":"quoted-reply","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e ذكر العميل جمانة البكري","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":45,"value":"جمانة البكري","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["جمانة البكري"]},"customers":{"required_absent":["جمانة البكري"],"required_present":[]},"all":{"required_absent":["جمانة البكري"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ar-preserve-021","language":"ar","script":"Arabic","shape":"quoted-reply","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e المؤسسة العامة جسر للبحوث","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":49,"value":"جسر للبحوث","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["جسر للبحوث"]},"customers":{"required_absent":[],"required_present":["جسر للبحوث"]},"all":{"required_absent":[],"required_present":["جسر للبحوث"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ar-redact-022","language":"ar","script":"Arabic","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=22 message=\"ذكر العميل \" value=جمانة الجابر","known_identities":[],"targets":[{"id":"person","kind":"person","start":58,"end":81,"value":"جمانة الجابر","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["جمانة الجابر"]},"customers":{"required_absent":["جمانة الجابر"],"required_present":[]},"all":{"required_absent":["جمانة الجابر"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ar-preserve-022","language":"ar","script":"Arabic","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=22 message=\"المؤسسة العامة \" value=جسر للنشر","known_identities":[],"targets":[{"id":"person","kind":"person","start":66,"end":83,"value":"جسر للنشر","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["جسر للنشر"]},"customers":{"required_absent":[],"required_present":["جسر للنشر"]},"all":{"required_absent":[],"required_present":["جسر للنشر"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-022","language":"ar","script":"Arabic","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=22 message=\"ذكر العميل \" credential=\"جمانة الجابر\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":64,"end":87,"value":"جمانة الجابر","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["جمانة الجابر"]},"customers":{"required_absent":["جمانة الجابر"],"required_present":[]},"all":{"required_absent":["جمانة الجابر"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-022","language":"ar","script":"Arabic","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=22 message=\"المؤسسة العامة \" credential=\"جسر للنشر\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":72,"end":89,"value":"جسر للنشر","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["جسر للنشر"]},"customers":{"required_absent":[],"required_present":["جسر للنشر"]},"all":{"required_absent":[],"required_present":["جسر للنشر"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ar-redact-023","language":"ar","script":"Arabic","shape":"stack-trace","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[23]: ذكر العميل جمانة الخطيب","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":54,"value":"جمانة الخطيب","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["جمانة الخطيب"]},"customers":{"required_absent":["جمانة الخطيب"],"required_present":[]},"all":{"required_absent":["جمانة الخطيب"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ar-preserve-023","language":"ar","script":"Arabic","shape":"stack-trace","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[23]: المؤسسة العامة جسر للعلوم","known_identities":[],"targets":[{"id":"person","kind":"person","start":39,"end":58,"value":"جسر للعلوم","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["جسر للعلوم"]},"customers":{"required_absent":[],"required_present":["جسر للعلوم"]},"all":{"required_absent":[],"required_present":["جسر للعلوم"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ar-redact-024","language":"ar","script":"Arabic","shape":"code","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_24 := `ذكر العميل جمانة الدرويش`","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":60,"value":"جمانة الدرويش","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["جمانة الدرويش"]},"customers":{"required_absent":["جمانة الدرويش"],"required_present":[]},"all":{"required_absent":["جمانة الدرويش"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, @@ -1056,26 +1056,26 @@ {"id":"broad-language-ar-preserve-025","language":"ar","script":"Arabic","shape":"signature","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--\nالمؤسسة العامة جسر للتقنية","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":52,"value":"جسر للتقنية","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["جسر للتقنية"]},"customers":{"required_absent":[],"required_present":["جسر للتقنية"]},"all":{"required_absent":[],"required_present":["جسر للتقنية"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ar-redact-026","language":"ar","script":"Arabic","shape":"long-thread","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. ذكر العميل جمانة السالم","known_identities":[],"targets":[{"id":"person","kind":"person","start":500,"end":523,"value":"جمانة السالم","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["جمانة السالم"]},"customers":{"required_absent":["جمانة السالم"],"required_present":[]},"all":{"required_absent":["جمانة السالم"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ar-preserve-026","language":"ar","script":"Arabic","shape":"long-thread","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. المؤسسة العامة جسر للثقافة","known_identities":[],"targets":[{"id":"person","kind":"person","start":508,"end":529,"value":"جسر للثقافة","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["جسر للثقافة"]},"customers":{"required_absent":[],"required_present":["جسر للثقافة"]},"all":{"required_absent":[],"required_present":["جسر للثقافة"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ar-redact-027","language":"ar","script":"Arabic","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=27 --message=\"ذكر العميل \" --value=جمانة الطائي","known_identities":[],"targets":[{"id":"person","kind":"person","start":53,"end":76,"value":"جمانة الطائي","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["جمانة الطائي"]},"customers":{"required_absent":["جمانة الطائي"],"required_present":[]},"all":{"required_absent":["جمانة الطائي"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ar-preserve-027","language":"ar","script":"Arabic","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=27 --message=\"المؤسسة العامة \" --value=جسر للتعليم","known_identities":[],"targets":[{"id":"person","kind":"person","start":61,"end":82,"value":"جسر للتعليم","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["جسر للتعليم"]},"customers":{"required_absent":[],"required_present":["جسر للتعليم"]},"all":{"required_absent":[],"required_present":["جسر للتعليم"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-027","language":"ar","script":"Arabic","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=27 --message=\"ذكر العميل \" --credential=\"جمانة الطائي\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":59,"end":82,"value":"جمانة الطائي","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["جمانة الطائي"]},"customers":{"required_absent":["جمانة الطائي"],"required_present":[]},"all":{"required_absent":["جمانة الطائي"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-027","language":"ar","script":"Arabic","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=27 --message=\"المؤسسة العامة \" --credential=\"جسر للتعليم\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":67,"end":88,"value":"جسر للتعليم","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["جسر للتعليم"]},"customers":{"required_absent":[],"required_present":["جسر للتعليم"]},"all":{"required_absent":[],"required_present":["جسر للتعليم"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ar-redact-028","language":"ar","script":"Arabic","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"ذكر العميل جمانة العلي","known_identities":[],"targets":[{"id":"person","kind":"person","start":20,"end":41,"value":"جمانة العلي","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["جمانة العلي"]},"customers":{"required_absent":["جمانة العلي"],"required_present":[]},"all":{"required_absent":["جمانة العلي"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ar-preserve-028","language":"ar","script":"Arabic","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"المؤسسة العامة جسر للبيئة","known_identities":[],"targets":[{"id":"person","kind":"person","start":28,"end":47,"value":"جسر للبيئة","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["جسر للبيئة"]},"customers":{"required_absent":[],"required_present":["جسر للبيئة"]},"all":{"required_absent":[],"required_present":["جسر للبيئة"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ar-redact-029","language":"ar","script":"Arabic","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_29\":\"ذكر العميل جمانة المصري\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":58,"value":"جمانة المصري","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["جمانة المصري"]},"customers":{"required_absent":["جمانة المصري"],"required_present":[]},"all":{"required_absent":["جمانة المصري"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ar-preserve-029","language":"ar","script":"Arabic","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_29\":\"المؤسسة العامة جسر للتنمية\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":43,"end":64,"value":"جسر للتنمية","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["جسر للتنمية"]},"customers":{"required_absent":[],"required_present":["جسر للتنمية"]},"all":{"required_absent":[],"required_present":["جسر للتنمية"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ar-redact-030","language":"ar","script":"Arabic","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_30: ذكر العميل داليا الحداد","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":55,"value":"داليا الحداد","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["داليا الحداد"]},"customers":{"required_absent":["داليا الحداد"],"required_present":[]},"all":{"required_absent":["داليا الحداد"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ar-preserve-030","language":"ar","script":"Arabic","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_30: المؤسسة العامة دليل العامة","known_identities":[],"targets":[{"id":"person","kind":"person","start":40,"end":61,"value":"دليل العامة","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["دليل العامة"]},"customers":{"required_absent":[],"required_present":["دليل العامة"]},"all":{"required_absent":[],"required_present":["دليل العامة"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-030","language":"ar","script":"Arabic","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_30: \"ذكر العميل داليا الحداد\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":33,"end":56,"value":"داليا الحداد","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["داليا الحداد"]},"customers":{"required_absent":["داليا الحداد"],"required_present":[]},"all":{"required_absent":["داليا الحداد"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-030","language":"ar","script":"Arabic","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_30: \"المؤسسة العامة دليل العامة\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":41,"end":62,"value":"دليل العامة","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["دليل العامة"]},"customers":{"required_absent":[],"required_present":["دليل العامة"]},"all":{"required_absent":[],"required_present":["دليل العامة"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ar-redact-031","language":"ar","script":"Arabic","shape":"shell","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_31='ذكر العميل داليا البكري'","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":55,"value":"داليا البكري","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["داليا البكري"]},"customers":{"required_absent":["داليا البكري"],"required_present":[]},"all":{"required_absent":["داليا البكري"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ar-preserve-031","language":"ar","script":"Arabic","shape":"shell","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_31='المؤسسة العامة دليل للبحوث'","known_identities":[],"targets":[{"id":"person","kind":"person","start":40,"end":61,"value":"دليل للبحوث","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["دليل للبحوث"]},"customers":{"required_absent":[],"required_present":["دليل للبحوث"]},"all":{"required_absent":[],"required_present":["دليل للبحوث"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ar-redact-032","language":"ar","script":"Arabic","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/32 ; ذكر العميل داليا الجابر","known_identities":[],"targets":[{"id":"person","kind":"person","start":53,"end":76,"value":"داليا الجابر","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["داليا الجابر"]},"customers":{"required_absent":["داليا الجابر"],"required_present":[]},"all":{"required_absent":["داليا الجابر"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ar-preserve-032","language":"ar","script":"Arabic","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/32 ; المؤسسة العامة دليل للنشر","known_identities":[],"targets":[{"id":"person","kind":"person","start":61,"end":80,"value":"دليل للنشر","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["دليل للنشر"]},"customers":{"required_absent":[],"required_present":["دليل للنشر"]},"all":{"required_absent":[],"required_present":["دليل للنشر"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ar-redact-033","language":"ar","script":"Arabic","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"**ذكر العميل داليا الخطيب**","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":45,"value":"داليا الخطيب","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["داليا الخطيب"]},"customers":{"required_absent":["داليا الخطيب"],"required_present":[]},"all":{"required_absent":["داليا الخطيب"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ar-preserve-033","language":"ar","script":"Arabic","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"**المؤسسة العامة دليل للعلوم**","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":51,"value":"دليل للعلوم","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["دليل للعلوم"]},"customers":{"required_absent":[],"required_present":["دليل للعلوم"]},"all":{"required_absent":[],"required_present":["دليل للعلوم"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ar-redact-034","language":"ar","script":"Arabic","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eذكر العميل داليا الدرويش\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":48,"value":"داليا الدرويش","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["داليا الدرويش"]},"customers":{"required_absent":["داليا الدرويش"],"required_present":[]},"all":{"required_absent":["داليا الدرويش"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ar-preserve-034","language":"ar","script":"Arabic","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eالمؤسسة العامة دليل للفنون\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":52,"value":"دليل للفنون","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["دليل للفنون"]},"customers":{"required_absent":[],"required_present":["دليل للفنون"]},"all":{"required_absent":[],"required_present":["دليل للفنون"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-032","language":"ar","script":"Arabic","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/32?credential=داليا الجابر\u0026note=%D8%B0%D9%83%D8%B1+%D8%A7%D9%84%D8%B9%D9%85%D9%8A%D9%84+","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":65,"value":"داليا الجابر","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["داليا الجابر"]},"customers":{"required_absent":["داليا الجابر"],"required_present":[]},"all":{"required_absent":["داليا الجابر"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-032","language":"ar","script":"Arabic","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/32?credential=دليل للنشر\u0026note=%D8%A7%D9%84%D9%85%D8%A4%D8%B3%D8%B3%D8%A9+%D8%A7%D9%84%D8%B9%D8%A7%D9%85%D8%A9+","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":61,"value":"دليل للنشر","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["دليل للنشر"]},"customers":{"required_absent":[],"required_present":["دليل للنشر"]},"all":{"required_absent":[],"required_present":["دليل للنشر"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-033","language":"ar","script":"Arabic","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"ذكر العميل `داليا الخطيب`","known_identities":[],"targets":[{"id":"person","kind":"person","start":21,"end":44,"value":"داليا الخطيب","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["داليا الخطيب"]},"customers":{"required_absent":["داليا الخطيب"],"required_present":[]},"all":{"required_absent":["داليا الخطيب"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-033","language":"ar","script":"Arabic","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"المؤسسة العامة `دليل للعلوم`","known_identities":[],"targets":[{"id":"person","kind":"person","start":29,"end":50,"value":"دليل للعلوم","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["دليل للعلوم"]},"customers":{"required_absent":[],"required_present":["دليل للعلوم"]},"all":{"required_absent":[],"required_present":["دليل للعلوم"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-034","language":"ar","script":"Arabic","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eذكر العميل \u003ccode\u003eداليا الدرويش\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":29,"end":54,"value":"داليا الدرويش","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["داليا الدرويش"]},"customers":{"required_absent":["داليا الدرويش"],"required_present":[]},"all":{"required_absent":["داليا الدرويش"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-034","language":"ar","script":"Arabic","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eالمؤسسة العامة \u003ccode\u003eدليل للفنون\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":37,"end":58,"value":"دليل للفنون","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["دليل للفنون"]},"customers":{"required_absent":[],"required_present":["دليل للفنون"]},"all":{"required_absent":[],"required_present":["دليل للفنون"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ar-redact-035","language":"ar","script":"Arabic","shape":"quoted-reply","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e ذكر العميل داليا الراوي","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":45,"value":"داليا الراوي","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["داليا الراوي"]},"customers":{"required_absent":["داليا الراوي"],"required_present":[]},"all":{"required_absent":["داليا الراوي"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ar-preserve-035","language":"ar","script":"Arabic","shape":"quoted-reply","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e المؤسسة العامة دليل للتقنية","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":53,"value":"دليل للتقنية","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["دليل للتقنية"]},"customers":{"required_absent":[],"required_present":["دليل للتقنية"]},"all":{"required_absent":[],"required_present":["دليل للتقنية"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ar-redact-036","language":"ar","script":"Arabic","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=36 message=\"ذكر العميل \" value=داليا السالم","known_identities":[],"targets":[{"id":"person","kind":"person","start":58,"end":81,"value":"داليا السالم","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["داليا السالم"]},"customers":{"required_absent":["داليا السالم"],"required_present":[]},"all":{"required_absent":["داليا السالم"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ar-preserve-036","language":"ar","script":"Arabic","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=36 message=\"المؤسسة العامة \" value=دليل للثقافة","known_identities":[],"targets":[{"id":"person","kind":"person","start":66,"end":89,"value":"دليل للثقافة","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["دليل للثقافة"]},"customers":{"required_absent":[],"required_present":["دليل للثقافة"]},"all":{"required_absent":[],"required_present":["دليل للثقافة"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-036","language":"ar","script":"Arabic","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=36 message=\"ذكر العميل \" credential=\"داليا السالم\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":64,"end":87,"value":"داليا السالم","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["داليا السالم"]},"customers":{"required_absent":["داليا السالم"],"required_present":[]},"all":{"required_absent":["داليا السالم"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-036","language":"ar","script":"Arabic","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=36 message=\"المؤسسة العامة \" credential=\"دليل للثقافة\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":72,"end":95,"value":"دليل للثقافة","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["دليل للثقافة"]},"customers":{"required_absent":[],"required_present":["دليل للثقافة"]},"all":{"required_absent":[],"required_present":["دليل للثقافة"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ar-redact-037","language":"ar","script":"Arabic","shape":"stack-trace","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[37]: ذكر العميل داليا الطائي","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":54,"value":"داليا الطائي","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["داليا الطائي"]},"customers":{"required_absent":["داليا الطائي"],"required_present":[]},"all":{"required_absent":["داليا الطائي"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ar-preserve-037","language":"ar","script":"Arabic","shape":"stack-trace","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[37]: المؤسسة العامة دليل للتعليم","known_identities":[],"targets":[{"id":"person","kind":"person","start":39,"end":62,"value":"دليل للتعليم","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["دليل للتعليم"]},"customers":{"required_absent":[],"required_present":["دليل للتعليم"]},"all":{"required_absent":[],"required_present":["دليل للتعليم"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ar-redact-038","language":"ar","script":"Arabic","shape":"code","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_38 := `ذكر العميل داليا العلي`","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":56,"value":"داليا العلي","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["داليا العلي"]},"customers":{"required_absent":["داليا العلي"],"required_present":[]},"all":{"required_absent":["داليا العلي"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, @@ -1084,26 +1084,26 @@ {"id":"broad-language-ar-preserve-039","language":"ar","script":"Arabic","shape":"signature","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--\nالمؤسسة العامة دليل للتنمية","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":54,"value":"دليل للتنمية","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["دليل للتنمية"]},"customers":{"required_absent":[],"required_present":["دليل للتنمية"]},"all":{"required_absent":[],"required_present":["دليل للتنمية"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ar-redact-040","language":"ar","script":"Arabic","shape":"long-thread","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. ذكر العميل رامي الحداد","known_identities":[],"targets":[{"id":"person","kind":"person","start":500,"end":521,"value":"رامي الحداد","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["رامي الحداد"]},"customers":{"required_absent":["رامي الحداد"],"required_present":[]},"all":{"required_absent":["رامي الحداد"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ar-preserve-040","language":"ar","script":"Arabic","shape":"long-thread","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. المؤسسة العامة رؤية العامة","known_identities":[],"targets":[{"id":"person","kind":"person","start":508,"end":529,"value":"رؤية العامة","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["رؤية العامة"]},"customers":{"required_absent":[],"required_present":["رؤية العامة"]},"all":{"required_absent":[],"required_present":["رؤية العامة"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ar-redact-041","language":"ar","script":"Arabic","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=41 --message=\"ذكر العميل \" --value=رامي البكري","known_identities":[],"targets":[{"id":"person","kind":"person","start":53,"end":74,"value":"رامي البكري","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["رامي البكري"]},"customers":{"required_absent":["رامي البكري"],"required_present":[]},"all":{"required_absent":["رامي البكري"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ar-preserve-041","language":"ar","script":"Arabic","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=41 --message=\"المؤسسة العامة \" --value=رؤية للبحوث","known_identities":[],"targets":[{"id":"person","kind":"person","start":61,"end":82,"value":"رؤية للبحوث","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["رؤية للبحوث"]},"customers":{"required_absent":[],"required_present":["رؤية للبحوث"]},"all":{"required_absent":[],"required_present":["رؤية للبحوث"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-041","language":"ar","script":"Arabic","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=41 --message=\"ذكر العميل \" --credential=\"رامي البكري\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":59,"end":80,"value":"رامي البكري","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["رامي البكري"]},"customers":{"required_absent":["رامي البكري"],"required_present":[]},"all":{"required_absent":["رامي البكري"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-041","language":"ar","script":"Arabic","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=41 --message=\"المؤسسة العامة \" --credential=\"رؤية للبحوث\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":67,"end":88,"value":"رؤية للبحوث","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["رؤية للبحوث"]},"customers":{"required_absent":[],"required_present":["رؤية للبحوث"]},"all":{"required_absent":[],"required_present":["رؤية للبحوث"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ar-redact-042","language":"ar","script":"Arabic","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"ذكر العميل رامي الجابر","known_identities":[],"targets":[{"id":"person","kind":"person","start":20,"end":41,"value":"رامي الجابر","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["رامي الجابر"]},"customers":{"required_absent":["رامي الجابر"],"required_present":[]},"all":{"required_absent":["رامي الجابر"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ar-preserve-042","language":"ar","script":"Arabic","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"المؤسسة العامة رؤية للنشر","known_identities":[],"targets":[{"id":"person","kind":"person","start":28,"end":47,"value":"رؤية للنشر","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["رؤية للنشر"]},"customers":{"required_absent":[],"required_present":["رؤية للنشر"]},"all":{"required_absent":[],"required_present":["رؤية للنشر"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ar-redact-043","language":"ar","script":"Arabic","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_43\":\"ذكر العميل رامي الخطيب\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":56,"value":"رامي الخطيب","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["رامي الخطيب"]},"customers":{"required_absent":["رامي الخطيب"],"required_present":[]},"all":{"required_absent":["رامي الخطيب"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ar-preserve-043","language":"ar","script":"Arabic","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_43\":\"المؤسسة العامة رؤية للعلوم\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":43,"end":64,"value":"رؤية للعلوم","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["رؤية للعلوم"]},"customers":{"required_absent":[],"required_present":["رؤية للعلوم"]},"all":{"required_absent":[],"required_present":["رؤية للعلوم"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ar-redact-044","language":"ar","script":"Arabic","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_44: ذكر العميل رامي الدرويش","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":55,"value":"رامي الدرويش","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["رامي الدرويش"]},"customers":{"required_absent":["رامي الدرويش"],"required_present":[]},"all":{"required_absent":["رامي الدرويش"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ar-preserve-044","language":"ar","script":"Arabic","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_44: المؤسسة العامة رؤية للفنون","known_identities":[],"targets":[{"id":"person","kind":"person","start":40,"end":61,"value":"رؤية للفنون","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["رؤية للفنون"]},"customers":{"required_absent":[],"required_present":["رؤية للفنون"]},"all":{"required_absent":[],"required_present":["رؤية للفنون"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-044","language":"ar","script":"Arabic","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_44: \"ذكر العميل رامي الدرويش\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":33,"end":56,"value":"رامي الدرويش","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["رامي الدرويش"]},"customers":{"required_absent":["رامي الدرويش"],"required_present":[]},"all":{"required_absent":["رامي الدرويش"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-044","language":"ar","script":"Arabic","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_44: \"المؤسسة العامة رؤية للفنون\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":41,"end":62,"value":"رؤية للفنون","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["رؤية للفنون"]},"customers":{"required_absent":[],"required_present":["رؤية للفنون"]},"all":{"required_absent":[],"required_present":["رؤية للفنون"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ar-redact-045","language":"ar","script":"Arabic","shape":"shell","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_45='ذكر العميل رامي الراوي'","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":53,"value":"رامي الراوي","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["رامي الراوي"]},"customers":{"required_absent":["رامي الراوي"],"required_present":[]},"all":{"required_absent":["رامي الراوي"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ar-preserve-045","language":"ar","script":"Arabic","shape":"shell","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_45='المؤسسة العامة رؤية للتقنية'","known_identities":[],"targets":[{"id":"person","kind":"person","start":40,"end":63,"value":"رؤية للتقنية","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["رؤية للتقنية"]},"customers":{"required_absent":[],"required_present":["رؤية للتقنية"]},"all":{"required_absent":[],"required_present":["رؤية للتقنية"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ar-redact-046","language":"ar","script":"Arabic","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/46 ; ذكر العميل رامي السالم","known_identities":[],"targets":[{"id":"person","kind":"person","start":53,"end":74,"value":"رامي السالم","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["رامي السالم"]},"customers":{"required_absent":["رامي السالم"],"required_present":[]},"all":{"required_absent":["رامي السالم"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ar-preserve-046","language":"ar","script":"Arabic","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/46 ; المؤسسة العامة رؤية للثقافة","known_identities":[],"targets":[{"id":"person","kind":"person","start":61,"end":84,"value":"رؤية للثقافة","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["رؤية للثقافة"]},"customers":{"required_absent":[],"required_present":["رؤية للثقافة"]},"all":{"required_absent":[],"required_present":["رؤية للثقافة"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ar-redact-047","language":"ar","script":"Arabic","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"**ذكر العميل رامي الطائي**","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":43,"value":"رامي الطائي","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["رامي الطائي"]},"customers":{"required_absent":["رامي الطائي"],"required_present":[]},"all":{"required_absent":["رامي الطائي"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ar-preserve-047","language":"ar","script":"Arabic","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"**المؤسسة العامة رؤية للتعليم**","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":53,"value":"رؤية للتعليم","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["رؤية للتعليم"]},"customers":{"required_absent":[],"required_present":["رؤية للتعليم"]},"all":{"required_absent":[],"required_present":["رؤية للتعليم"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ar-redact-048","language":"ar","script":"Arabic","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eذكر العميل رامي العلي\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":42,"value":"رامي العلي","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["رامي العلي"]},"customers":{"required_absent":["رامي العلي"],"required_present":[]},"all":{"required_absent":["رامي العلي"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ar-preserve-048","language":"ar","script":"Arabic","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eالمؤسسة العامة رؤية للبيئة\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":52,"value":"رؤية للبيئة","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["رؤية للبيئة"]},"customers":{"required_absent":[],"required_present":["رؤية للبيئة"]},"all":{"required_absent":[],"required_present":["رؤية للبيئة"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-046","language":"ar","script":"Arabic","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/46?credential=رامي السالم\u0026note=%D8%B0%D9%83%D8%B1+%D8%A7%D9%84%D8%B9%D9%85%D9%8A%D9%84+","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":63,"value":"رامي السالم","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["رامي السالم"]},"customers":{"required_absent":["رامي السالم"],"required_present":[]},"all":{"required_absent":["رامي السالم"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-046","language":"ar","script":"Arabic","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/46?credential=رؤية للثقافة\u0026note=%D8%A7%D9%84%D9%85%D8%A4%D8%B3%D8%B3%D8%A9+%D8%A7%D9%84%D8%B9%D8%A7%D9%85%D8%A9+","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":65,"value":"رؤية للثقافة","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["رؤية للثقافة"]},"customers":{"required_absent":[],"required_present":["رؤية للثقافة"]},"all":{"required_absent":[],"required_present":["رؤية للثقافة"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-047","language":"ar","script":"Arabic","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"ذكر العميل `رامي الطائي`","known_identities":[],"targets":[{"id":"person","kind":"person","start":21,"end":42,"value":"رامي الطائي","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["رامي الطائي"]},"customers":{"required_absent":["رامي الطائي"],"required_present":[]},"all":{"required_absent":["رامي الطائي"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-047","language":"ar","script":"Arabic","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"المؤسسة العامة `رؤية للتعليم`","known_identities":[],"targets":[{"id":"person","kind":"person","start":29,"end":52,"value":"رؤية للتعليم","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["رؤية للتعليم"]},"customers":{"required_absent":[],"required_present":["رؤية للتعليم"]},"all":{"required_absent":[],"required_present":["رؤية للتعليم"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-048","language":"ar","script":"Arabic","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eذكر العميل \u003ccode\u003eرامي العلي\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":29,"end":48,"value":"رامي العلي","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["رامي العلي"]},"customers":{"required_absent":["رامي العلي"],"required_present":[]},"all":{"required_absent":["رامي العلي"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-048","language":"ar","script":"Arabic","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eالمؤسسة العامة \u003ccode\u003eرؤية للبيئة\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":37,"end":58,"value":"رؤية للبيئة","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["رؤية للبيئة"]},"customers":{"required_absent":[],"required_present":["رؤية للبيئة"]},"all":{"required_absent":[],"required_present":["رؤية للبيئة"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ar-redact-049","language":"ar","script":"Arabic","shape":"quoted-reply","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e ذكر العميل رامي المصري","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":43,"value":"رامي المصري","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["رامي المصري"]},"customers":{"required_absent":["رامي المصري"],"required_present":[]},"all":{"required_absent":["رامي المصري"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ar-preserve-049","language":"ar","script":"Arabic","shape":"quoted-reply","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e المؤسسة العامة رؤية للتنمية","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":53,"value":"رؤية للتنمية","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["رؤية للتنمية"]},"customers":{"required_absent":[],"required_present":["رؤية للتنمية"]},"all":{"required_absent":[],"required_present":["رؤية للتنمية"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ar-redact-050","language":"ar","script":"Arabic","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=50 message=\"ذكر العميل \" value=سلمى الحداد","known_identities":[],"targets":[{"id":"person","kind":"person","start":58,"end":79,"value":"سلمى الحداد","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["سلمى الحداد"]},"customers":{"required_absent":["سلمى الحداد"],"required_present":[]},"all":{"required_absent":["سلمى الحداد"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ar-preserve-050","language":"ar","script":"Arabic","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=50 message=\"المؤسسة العامة \" value=سحاب العامة","known_identities":[],"targets":[{"id":"person","kind":"person","start":66,"end":87,"value":"سحاب العامة","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["سحاب العامة"]},"customers":{"required_absent":[],"required_present":["سحاب العامة"]},"all":{"required_absent":[],"required_present":["سحاب العامة"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-050","language":"ar","script":"Arabic","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=50 message=\"ذكر العميل \" credential=\"سلمى الحداد\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":64,"end":85,"value":"سلمى الحداد","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["سلمى الحداد"]},"customers":{"required_absent":["سلمى الحداد"],"required_present":[]},"all":{"required_absent":["سلمى الحداد"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-050","language":"ar","script":"Arabic","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=50 message=\"المؤسسة العامة \" credential=\"سحاب العامة\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":72,"end":93,"value":"سحاب العامة","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["سحاب العامة"]},"customers":{"required_absent":[],"required_present":["سحاب العامة"]},"all":{"required_absent":[],"required_present":["سحاب العامة"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ar-redact-051","language":"ar","script":"Arabic","shape":"stack-trace","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[51]: ذكر العميل سلمى البكري","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":52,"value":"سلمى البكري","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["سلمى البكري"]},"customers":{"required_absent":["سلمى البكري"],"required_present":[]},"all":{"required_absent":["سلمى البكري"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ar-preserve-051","language":"ar","script":"Arabic","shape":"stack-trace","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[51]: المؤسسة العامة سحاب للبحوث","known_identities":[],"targets":[{"id":"person","kind":"person","start":39,"end":60,"value":"سحاب للبحوث","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["سحاب للبحوث"]},"customers":{"required_absent":[],"required_present":["سحاب للبحوث"]},"all":{"required_absent":[],"required_present":["سحاب للبحوث"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ar-redact-052","language":"ar","script":"Arabic","shape":"code","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_52 := `ذكر العميل سلمى الجابر`","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":56,"value":"سلمى الجابر","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["سلمى الجابر"]},"customers":{"required_absent":["سلمى الجابر"],"required_present":[]},"all":{"required_absent":["سلمى الجابر"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, @@ -1112,26 +1112,26 @@ {"id":"broad-language-ar-preserve-053","language":"ar","script":"Arabic","shape":"signature","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--\nالمؤسسة العامة سحاب للعلوم","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":52,"value":"سحاب للعلوم","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["سحاب للعلوم"]},"customers":{"required_absent":[],"required_present":["سحاب للعلوم"]},"all":{"required_absent":[],"required_present":["سحاب للعلوم"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ar-redact-054","language":"ar","script":"Arabic","shape":"long-thread","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. ذكر العميل سلمى الدرويش","known_identities":[],"targets":[{"id":"person","kind":"person","start":500,"end":523,"value":"سلمى الدرويش","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["سلمى الدرويش"]},"customers":{"required_absent":["سلمى الدرويش"],"required_present":[]},"all":{"required_absent":["سلمى الدرويش"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ar-preserve-054","language":"ar","script":"Arabic","shape":"long-thread","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. المؤسسة العامة سحاب للفنون","known_identities":[],"targets":[{"id":"person","kind":"person","start":508,"end":529,"value":"سحاب للفنون","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["سحاب للفنون"]},"customers":{"required_absent":[],"required_present":["سحاب للفنون"]},"all":{"required_absent":[],"required_present":["سحاب للفنون"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ar-redact-055","language":"ar","script":"Arabic","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=55 --message=\"ذكر العميل \" --value=سلمى الراوي","known_identities":[],"targets":[{"id":"person","kind":"person","start":53,"end":74,"value":"سلمى الراوي","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["سلمى الراوي"]},"customers":{"required_absent":["سلمى الراوي"],"required_present":[]},"all":{"required_absent":["سلمى الراوي"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ar-preserve-055","language":"ar","script":"Arabic","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=55 --message=\"المؤسسة العامة \" --value=سحاب للتقنية","known_identities":[],"targets":[{"id":"person","kind":"person","start":61,"end":84,"value":"سحاب للتقنية","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["سحاب للتقنية"]},"customers":{"required_absent":[],"required_present":["سحاب للتقنية"]},"all":{"required_absent":[],"required_present":["سحاب للتقنية"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-055","language":"ar","script":"Arabic","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=55 --message=\"ذكر العميل \" --credential=\"سلمى الراوي\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":59,"end":80,"value":"سلمى الراوي","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["سلمى الراوي"]},"customers":{"required_absent":["سلمى الراوي"],"required_present":[]},"all":{"required_absent":["سلمى الراوي"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-055","language":"ar","script":"Arabic","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=55 --message=\"المؤسسة العامة \" --credential=\"سحاب للتقنية\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":67,"end":90,"value":"سحاب للتقنية","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["سحاب للتقنية"]},"customers":{"required_absent":[],"required_present":["سحاب للتقنية"]},"all":{"required_absent":[],"required_present":["سحاب للتقنية"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ar-redact-056","language":"ar","script":"Arabic","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"ذكر العميل سلمى السالم","known_identities":[],"targets":[{"id":"person","kind":"person","start":20,"end":41,"value":"سلمى السالم","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["سلمى السالم"]},"customers":{"required_absent":["سلمى السالم"],"required_present":[]},"all":{"required_absent":["سلمى السالم"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ar-preserve-056","language":"ar","script":"Arabic","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"المؤسسة العامة سحاب للثقافة","known_identities":[],"targets":[{"id":"person","kind":"person","start":28,"end":51,"value":"سحاب للثقافة","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["سحاب للثقافة"]},"customers":{"required_absent":[],"required_present":["سحاب للثقافة"]},"all":{"required_absent":[],"required_present":["سحاب للثقافة"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ar-redact-057","language":"ar","script":"Arabic","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_57\":\"ذكر العميل سلمى الطائي\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":56,"value":"سلمى الطائي","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["سلمى الطائي"]},"customers":{"required_absent":["سلمى الطائي"],"required_present":[]},"all":{"required_absent":["سلمى الطائي"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ar-preserve-057","language":"ar","script":"Arabic","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_57\":\"المؤسسة العامة سحاب للتعليم\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":43,"end":66,"value":"سحاب للتعليم","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["سحاب للتعليم"]},"customers":{"required_absent":[],"required_present":["سحاب للتعليم"]},"all":{"required_absent":[],"required_present":["سحاب للتعليم"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ar-redact-058","language":"ar","script":"Arabic","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_58: ذكر العميل سلمى العلي","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":51,"value":"سلمى العلي","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["سلمى العلي"]},"customers":{"required_absent":["سلمى العلي"],"required_present":[]},"all":{"required_absent":["سلمى العلي"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ar-preserve-058","language":"ar","script":"Arabic","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_58: المؤسسة العامة سحاب للبيئة","known_identities":[],"targets":[{"id":"person","kind":"person","start":40,"end":61,"value":"سحاب للبيئة","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["سحاب للبيئة"]},"customers":{"required_absent":[],"required_present":["سحاب للبيئة"]},"all":{"required_absent":[],"required_present":["سحاب للبيئة"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-058","language":"ar","script":"Arabic","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_58: \"ذكر العميل سلمى العلي\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":33,"end":52,"value":"سلمى العلي","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["سلمى العلي"]},"customers":{"required_absent":["سلمى العلي"],"required_present":[]},"all":{"required_absent":["سلمى العلي"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-058","language":"ar","script":"Arabic","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_58: \"المؤسسة العامة سحاب للبيئة\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":41,"end":62,"value":"سحاب للبيئة","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["سحاب للبيئة"]},"customers":{"required_absent":[],"required_present":["سحاب للبيئة"]},"all":{"required_absent":[],"required_present":["سحاب للبيئة"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ar-redact-059","language":"ar","script":"Arabic","shape":"shell","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_59='ذكر العميل سلمى المصري'","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":53,"value":"سلمى المصري","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["سلمى المصري"]},"customers":{"required_absent":["سلمى المصري"],"required_present":[]},"all":{"required_absent":["سلمى المصري"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ar-preserve-059","language":"ar","script":"Arabic","shape":"shell","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_59='المؤسسة العامة سحاب للتنمية'","known_identities":[],"targets":[{"id":"person","kind":"person","start":40,"end":63,"value":"سحاب للتنمية","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["سحاب للتنمية"]},"customers":{"required_absent":[],"required_present":["سحاب للتنمية"]},"all":{"required_absent":[],"required_present":["سحاب للتنمية"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ar-redact-060","language":"ar","script":"Arabic","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/60 ; ذكر العميل طارق الحداد","known_identities":[],"targets":[{"id":"person","kind":"person","start":53,"end":74,"value":"طارق الحداد","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["طارق الحداد"]},"customers":{"required_absent":["طارق الحداد"],"required_present":[]},"all":{"required_absent":["طارق الحداد"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ar-preserve-060","language":"ar","script":"Arabic","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/60 ; المؤسسة العامة شمس العامة","known_identities":[],"targets":[{"id":"person","kind":"person","start":61,"end":80,"value":"شمس العامة","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["شمس العامة"]},"customers":{"required_absent":[],"required_present":["شمس العامة"]},"all":{"required_absent":[],"required_present":["شمس العامة"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ar-redact-061","language":"ar","script":"Arabic","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"**ذكر العميل طارق البكري**","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":43,"value":"طارق البكري","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["طارق البكري"]},"customers":{"required_absent":["طارق البكري"],"required_present":[]},"all":{"required_absent":["طارق البكري"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ar-preserve-061","language":"ar","script":"Arabic","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"**المؤسسة العامة شمس للبحوث**","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":49,"value":"شمس للبحوث","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["شمس للبحوث"]},"customers":{"required_absent":[],"required_present":["شمس للبحوث"]},"all":{"required_absent":[],"required_present":["شمس للبحوث"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ar-redact-062","language":"ar","script":"Arabic","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eذكر العميل طارق الجابر\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":44,"value":"طارق الجابر","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["طارق الجابر"]},"customers":{"required_absent":["طارق الجابر"],"required_present":[]},"all":{"required_absent":["طارق الجابر"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ar-preserve-062","language":"ar","script":"Arabic","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eالمؤسسة العامة شمس للنشر\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":48,"value":"شمس للنشر","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["شمس للنشر"]},"customers":{"required_absent":[],"required_present":["شمس للنشر"]},"all":{"required_absent":[],"required_present":["شمس للنشر"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-060","language":"ar","script":"Arabic","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/60?credential=طارق الحداد\u0026note=%D8%B0%D9%83%D8%B1+%D8%A7%D9%84%D8%B9%D9%85%D9%8A%D9%84+","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":63,"value":"طارق الحداد","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["طارق الحداد"]},"customers":{"required_absent":["طارق الحداد"],"required_present":[]},"all":{"required_absent":["طارق الحداد"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-060","language":"ar","script":"Arabic","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/60?credential=شمس العامة\u0026note=%D8%A7%D9%84%D9%85%D8%A4%D8%B3%D8%B3%D8%A9+%D8%A7%D9%84%D8%B9%D8%A7%D9%85%D8%A9+","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":61,"value":"شمس العامة","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["شمس العامة"]},"customers":{"required_absent":[],"required_present":["شمس العامة"]},"all":{"required_absent":[],"required_present":["شمس العامة"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-061","language":"ar","script":"Arabic","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"ذكر العميل `طارق البكري`","known_identities":[],"targets":[{"id":"person","kind":"person","start":21,"end":42,"value":"طارق البكري","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["طارق البكري"]},"customers":{"required_absent":["طارق البكري"],"required_present":[]},"all":{"required_absent":["طارق البكري"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-061","language":"ar","script":"Arabic","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"المؤسسة العامة `شمس للبحوث`","known_identities":[],"targets":[{"id":"person","kind":"person","start":29,"end":48,"value":"شمس للبحوث","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["شمس للبحوث"]},"customers":{"required_absent":[],"required_present":["شمس للبحوث"]},"all":{"required_absent":[],"required_present":["شمس للبحوث"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-062","language":"ar","script":"Arabic","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eذكر العميل \u003ccode\u003eطارق الجابر\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":29,"end":50,"value":"طارق الجابر","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["طارق الجابر"]},"customers":{"required_absent":["طارق الجابر"],"required_present":[]},"all":{"required_absent":["طارق الجابر"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-062","language":"ar","script":"Arabic","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eالمؤسسة العامة \u003ccode\u003eشمس للنشر\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":37,"end":54,"value":"شمس للنشر","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["شمس للنشر"]},"customers":{"required_absent":[],"required_present":["شمس للنشر"]},"all":{"required_absent":[],"required_present":["شمس للنشر"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ar-redact-063","language":"ar","script":"Arabic","shape":"quoted-reply","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e ذكر العميل طارق الخطيب","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":43,"value":"طارق الخطيب","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["طارق الخطيب"]},"customers":{"required_absent":["طارق الخطيب"],"required_present":[]},"all":{"required_absent":["طارق الخطيب"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ar-preserve-063","language":"ar","script":"Arabic","shape":"quoted-reply","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e المؤسسة العامة شمس للعلوم","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":49,"value":"شمس للعلوم","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["شمس للعلوم"]},"customers":{"required_absent":[],"required_present":["شمس للعلوم"]},"all":{"required_absent":[],"required_present":["شمس للعلوم"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ar-redact-064","language":"ar","script":"Arabic","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=64 message=\"ذكر العميل \" value=طارق الدرويش","known_identities":[],"targets":[{"id":"person","kind":"person","start":58,"end":81,"value":"طارق الدرويش","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["طارق الدرويش"]},"customers":{"required_absent":["طارق الدرويش"],"required_present":[]},"all":{"required_absent":["طارق الدرويش"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ar-preserve-064","language":"ar","script":"Arabic","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=64 message=\"المؤسسة العامة \" value=شمس للفنون","known_identities":[],"targets":[{"id":"person","kind":"person","start":66,"end":85,"value":"شمس للفنون","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["شمس للفنون"]},"customers":{"required_absent":[],"required_present":["شمس للفنون"]},"all":{"required_absent":[],"required_present":["شمس للفنون"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-064","language":"ar","script":"Arabic","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=64 message=\"ذكر العميل \" credential=\"طارق الدرويش\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":64,"end":87,"value":"طارق الدرويش","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["طارق الدرويش"]},"customers":{"required_absent":["طارق الدرويش"],"required_present":[]},"all":{"required_absent":["طارق الدرويش"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-064","language":"ar","script":"Arabic","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=64 message=\"المؤسسة العامة \" credential=\"شمس للفنون\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":72,"end":91,"value":"شمس للفنون","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["شمس للفنون"]},"customers":{"required_absent":[],"required_present":["شمس للفنون"]},"all":{"required_absent":[],"required_present":["شمس للفنون"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ar-redact-065","language":"ar","script":"Arabic","shape":"stack-trace","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[65]: ذكر العميل طارق الراوي","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":52,"value":"طارق الراوي","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["طارق الراوي"]},"customers":{"required_absent":["طارق الراوي"],"required_present":[]},"all":{"required_absent":["طارق الراوي"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ar-preserve-065","language":"ar","script":"Arabic","shape":"stack-trace","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[65]: المؤسسة العامة شمس للتقنية","known_identities":[],"targets":[{"id":"person","kind":"person","start":39,"end":60,"value":"شمس للتقنية","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["شمس للتقنية"]},"customers":{"required_absent":[],"required_present":["شمس للتقنية"]},"all":{"required_absent":[],"required_present":["شمس للتقنية"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ar-redact-066","language":"ar","script":"Arabic","shape":"code","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_66 := `ذكر العميل طارق السالم`","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":56,"value":"طارق السالم","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["طارق السالم"]},"customers":{"required_absent":["طارق السالم"],"required_present":[]},"all":{"required_absent":["طارق السالم"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, @@ -1140,26 +1140,26 @@ {"id":"broad-language-ar-preserve-067","language":"ar","script":"Arabic","shape":"signature","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--\nالمؤسسة العامة شمس للتعليم","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":52,"value":"شمس للتعليم","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["شمس للتعليم"]},"customers":{"required_absent":[],"required_present":["شمس للتعليم"]},"all":{"required_absent":[],"required_present":["شمس للتعليم"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ar-redact-068","language":"ar","script":"Arabic","shape":"long-thread","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. ذكر العميل طارق العلي","known_identities":[],"targets":[{"id":"person","kind":"person","start":500,"end":519,"value":"طارق العلي","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["طارق العلي"]},"customers":{"required_absent":["طارق العلي"],"required_present":[]},"all":{"required_absent":["طارق العلي"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ar-preserve-068","language":"ar","script":"Arabic","shape":"long-thread","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. المؤسسة العامة شمس للبيئة","known_identities":[],"targets":[{"id":"person","kind":"person","start":508,"end":527,"value":"شمس للبيئة","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["شمس للبيئة"]},"customers":{"required_absent":[],"required_present":["شمس للبيئة"]},"all":{"required_absent":[],"required_present":["شمس للبيئة"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ar-redact-069","language":"ar","script":"Arabic","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=69 --message=\"ذكر العميل \" --value=طارق المصري","known_identities":[],"targets":[{"id":"person","kind":"person","start":53,"end":74,"value":"طارق المصري","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["طارق المصري"]},"customers":{"required_absent":["طارق المصري"],"required_present":[]},"all":{"required_absent":["طارق المصري"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ar-preserve-069","language":"ar","script":"Arabic","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=69 --message=\"المؤسسة العامة \" --value=شمس للتنمية","known_identities":[],"targets":[{"id":"person","kind":"person","start":61,"end":82,"value":"شمس للتنمية","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["شمس للتنمية"]},"customers":{"required_absent":[],"required_present":["شمس للتنمية"]},"all":{"required_absent":[],"required_present":["شمس للتنمية"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-069","language":"ar","script":"Arabic","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=69 --message=\"ذكر العميل \" --credential=\"طارق المصري\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":59,"end":80,"value":"طارق المصري","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["طارق المصري"]},"customers":{"required_absent":["طارق المصري"],"required_present":[]},"all":{"required_absent":["طارق المصري"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-069","language":"ar","script":"Arabic","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=69 --message=\"المؤسسة العامة \" --credential=\"شمس للتنمية\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":67,"end":88,"value":"شمس للتنمية","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["شمس للتنمية"]},"customers":{"required_absent":[],"required_present":["شمس للتنمية"]},"all":{"required_absent":[],"required_present":["شمس للتنمية"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ar-redact-070","language":"ar","script":"Arabic","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"ذكر العميل عالية الحداد","known_identities":[],"targets":[{"id":"person","kind":"person","start":20,"end":43,"value":"عالية الحداد","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["عالية الحداد"]},"customers":{"required_absent":["عالية الحداد"],"required_present":[]},"all":{"required_absent":["عالية الحداد"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ar-preserve-070","language":"ar","script":"Arabic","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"المؤسسة العامة طيف العامة","known_identities":[],"targets":[{"id":"person","kind":"person","start":28,"end":47,"value":"طيف العامة","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["طيف العامة"]},"customers":{"required_absent":[],"required_present":["طيف العامة"]},"all":{"required_absent":[],"required_present":["طيف العامة"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ar-redact-071","language":"ar","script":"Arabic","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_71\":\"ذكر العميل عالية البكري\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":58,"value":"عالية البكري","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["عالية البكري"]},"customers":{"required_absent":["عالية البكري"],"required_present":[]},"all":{"required_absent":["عالية البكري"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ar-preserve-071","language":"ar","script":"Arabic","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_71\":\"المؤسسة العامة طيف للبحوث\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":43,"end":62,"value":"طيف للبحوث","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["طيف للبحوث"]},"customers":{"required_absent":[],"required_present":["طيف للبحوث"]},"all":{"required_absent":[],"required_present":["طيف للبحوث"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ar-redact-072","language":"ar","script":"Arabic","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_72: ذكر العميل عالية الجابر","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":55,"value":"عالية الجابر","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["عالية الجابر"]},"customers":{"required_absent":["عالية الجابر"],"required_present":[]},"all":{"required_absent":["عالية الجابر"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ar-preserve-072","language":"ar","script":"Arabic","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_72: المؤسسة العامة طيف للنشر","known_identities":[],"targets":[{"id":"person","kind":"person","start":40,"end":57,"value":"طيف للنشر","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["طيف للنشر"]},"customers":{"required_absent":[],"required_present":["طيف للنشر"]},"all":{"required_absent":[],"required_present":["طيف للنشر"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-072","language":"ar","script":"Arabic","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_72: \"ذكر العميل عالية الجابر\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":33,"end":56,"value":"عالية الجابر","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["عالية الجابر"]},"customers":{"required_absent":["عالية الجابر"],"required_present":[]},"all":{"required_absent":["عالية الجابر"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-072","language":"ar","script":"Arabic","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_72: \"المؤسسة العامة طيف للنشر\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":41,"end":58,"value":"طيف للنشر","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["طيف للنشر"]},"customers":{"required_absent":[],"required_present":["طيف للنشر"]},"all":{"required_absent":[],"required_present":["طيف للنشر"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ar-redact-073","language":"ar","script":"Arabic","shape":"shell","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_73='ذكر العميل عالية الخطيب'","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":55,"value":"عالية الخطيب","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["عالية الخطيب"]},"customers":{"required_absent":["عالية الخطيب"],"required_present":[]},"all":{"required_absent":["عالية الخطيب"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ar-preserve-073","language":"ar","script":"Arabic","shape":"shell","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_73='المؤسسة العامة طيف للعلوم'","known_identities":[],"targets":[{"id":"person","kind":"person","start":40,"end":59,"value":"طيف للعلوم","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["طيف للعلوم"]},"customers":{"required_absent":[],"required_present":["طيف للعلوم"]},"all":{"required_absent":[],"required_present":["طيف للعلوم"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ar-redact-074","language":"ar","script":"Arabic","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/74 ; ذكر العميل عالية الدرويش","known_identities":[],"targets":[{"id":"person","kind":"person","start":53,"end":78,"value":"عالية الدرويش","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["عالية الدرويش"]},"customers":{"required_absent":["عالية الدرويش"],"required_present":[]},"all":{"required_absent":["عالية الدرويش"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ar-preserve-074","language":"ar","script":"Arabic","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/74 ; المؤسسة العامة طيف للفنون","known_identities":[],"targets":[{"id":"person","kind":"person","start":61,"end":80,"value":"طيف للفنون","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["طيف للفنون"]},"customers":{"required_absent":[],"required_present":["طيف للفنون"]},"all":{"required_absent":[],"required_present":["طيف للفنون"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ar-redact-075","language":"ar","script":"Arabic","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"**ذكر العميل عالية الراوي**","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":45,"value":"عالية الراوي","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["عالية الراوي"]},"customers":{"required_absent":["عالية الراوي"],"required_present":[]},"all":{"required_absent":["عالية الراوي"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ar-preserve-075","language":"ar","script":"Arabic","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"**المؤسسة العامة طيف للتقنية**","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":51,"value":"طيف للتقنية","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["طيف للتقنية"]},"customers":{"required_absent":[],"required_present":["طيف للتقنية"]},"all":{"required_absent":[],"required_present":["طيف للتقنية"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ar-redact-076","language":"ar","script":"Arabic","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eذكر العميل عالية السالم\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":46,"value":"عالية السالم","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["عالية السالم"]},"customers":{"required_absent":["عالية السالم"],"required_present":[]},"all":{"required_absent":["عالية السالم"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ar-preserve-076","language":"ar","script":"Arabic","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eالمؤسسة العامة طيف للثقافة\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":52,"value":"طيف للثقافة","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["طيف للثقافة"]},"customers":{"required_absent":[],"required_present":["طيف للثقافة"]},"all":{"required_absent":[],"required_present":["طيف للثقافة"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-074","language":"ar","script":"Arabic","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/74?credential=عالية الدرويش\u0026note=%D8%B0%D9%83%D8%B1+%D8%A7%D9%84%D8%B9%D9%85%D9%8A%D9%84+","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":67,"value":"عالية الدرويش","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["عالية الدرويش"]},"customers":{"required_absent":["عالية الدرويش"],"required_present":[]},"all":{"required_absent":["عالية الدرويش"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-074","language":"ar","script":"Arabic","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/74?credential=طيف للفنون\u0026note=%D8%A7%D9%84%D9%85%D8%A4%D8%B3%D8%B3%D8%A9+%D8%A7%D9%84%D8%B9%D8%A7%D9%85%D8%A9+","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":61,"value":"طيف للفنون","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["طيف للفنون"]},"customers":{"required_absent":[],"required_present":["طيف للفنون"]},"all":{"required_absent":[],"required_present":["طيف للفنون"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-075","language":"ar","script":"Arabic","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"ذكر العميل `عالية الراوي`","known_identities":[],"targets":[{"id":"person","kind":"person","start":21,"end":44,"value":"عالية الراوي","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["عالية الراوي"]},"customers":{"required_absent":["عالية الراوي"],"required_present":[]},"all":{"required_absent":["عالية الراوي"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-075","language":"ar","script":"Arabic","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"المؤسسة العامة `طيف للتقنية`","known_identities":[],"targets":[{"id":"person","kind":"person","start":29,"end":50,"value":"طيف للتقنية","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["طيف للتقنية"]},"customers":{"required_absent":[],"required_present":["طيف للتقنية"]},"all":{"required_absent":[],"required_present":["طيف للتقنية"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-076","language":"ar","script":"Arabic","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eذكر العميل \u003ccode\u003eعالية السالم\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":29,"end":52,"value":"عالية السالم","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["عالية السالم"]},"customers":{"required_absent":["عالية السالم"],"required_present":[]},"all":{"required_absent":["عالية السالم"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-076","language":"ar","script":"Arabic","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eالمؤسسة العامة \u003ccode\u003eطيف للثقافة\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":37,"end":58,"value":"طيف للثقافة","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["طيف للثقافة"]},"customers":{"required_absent":[],"required_present":["طيف للثقافة"]},"all":{"required_absent":[],"required_present":["طيف للثقافة"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ar-redact-077","language":"ar","script":"Arabic","shape":"quoted-reply","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e ذكر العميل عالية الطائي","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":45,"value":"عالية الطائي","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["عالية الطائي"]},"customers":{"required_absent":["عالية الطائي"],"required_present":[]},"all":{"required_absent":["عالية الطائي"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ar-preserve-077","language":"ar","script":"Arabic","shape":"quoted-reply","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e المؤسسة العامة طيف للتعليم","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":51,"value":"طيف للتعليم","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["طيف للتعليم"]},"customers":{"required_absent":[],"required_present":["طيف للتعليم"]},"all":{"required_absent":[],"required_present":["طيف للتعليم"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ar-redact-078","language":"ar","script":"Arabic","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=78 message=\"ذكر العميل \" value=عالية العلي","known_identities":[],"targets":[{"id":"person","kind":"person","start":58,"end":79,"value":"عالية العلي","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["عالية العلي"]},"customers":{"required_absent":["عالية العلي"],"required_present":[]},"all":{"required_absent":["عالية العلي"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ar-preserve-078","language":"ar","script":"Arabic","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=78 message=\"المؤسسة العامة \" value=طيف للبيئة","known_identities":[],"targets":[{"id":"person","kind":"person","start":66,"end":85,"value":"طيف للبيئة","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["طيف للبيئة"]},"customers":{"required_absent":[],"required_present":["طيف للبيئة"]},"all":{"required_absent":[],"required_present":["طيف للبيئة"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-078","language":"ar","script":"Arabic","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=78 message=\"ذكر العميل \" credential=\"عالية العلي\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":64,"end":85,"value":"عالية العلي","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["عالية العلي"]},"customers":{"required_absent":["عالية العلي"],"required_present":[]},"all":{"required_absent":["عالية العلي"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-078","language":"ar","script":"Arabic","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=78 message=\"المؤسسة العامة \" credential=\"طيف للبيئة\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":72,"end":91,"value":"طيف للبيئة","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["طيف للبيئة"]},"customers":{"required_absent":[],"required_present":["طيف للبيئة"]},"all":{"required_absent":[],"required_present":["طيف للبيئة"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ar-redact-079","language":"ar","script":"Arabic","shape":"stack-trace","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[79]: ذكر العميل عالية المصري","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":54,"value":"عالية المصري","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["عالية المصري"]},"customers":{"required_absent":["عالية المصري"],"required_present":[]},"all":{"required_absent":["عالية المصري"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ar-preserve-079","language":"ar","script":"Arabic","shape":"stack-trace","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[79]: المؤسسة العامة طيف للتنمية","known_identities":[],"targets":[{"id":"person","kind":"person","start":39,"end":60,"value":"طيف للتنمية","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["طيف للتنمية"]},"customers":{"required_absent":[],"required_present":["طيف للتنمية"]},"all":{"required_absent":[],"required_present":["طيف للتنمية"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ar-redact-080","language":"ar","script":"Arabic","shape":"code","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_80 := `ذكر العميل فارس الحداد`","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":56,"value":"فارس الحداد","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["فارس الحداد"]},"customers":{"required_absent":["فارس الحداد"],"required_present":[]},"all":{"required_absent":["فارس الحداد"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, @@ -1168,26 +1168,26 @@ {"id":"broad-language-ar-preserve-081","language":"ar","script":"Arabic","shape":"signature","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--\nالمؤسسة العامة عمران للبحوث","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":54,"value":"عمران للبحوث","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["عمران للبحوث"]},"customers":{"required_absent":[],"required_present":["عمران للبحوث"]},"all":{"required_absent":[],"required_present":["عمران للبحوث"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ar-redact-082","language":"ar","script":"Arabic","shape":"long-thread","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. ذكر العميل فارس الجابر","known_identities":[],"targets":[{"id":"person","kind":"person","start":500,"end":521,"value":"فارس الجابر","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["فارس الجابر"]},"customers":{"required_absent":["فارس الجابر"],"required_present":[]},"all":{"required_absent":["فارس الجابر"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ar-preserve-082","language":"ar","script":"Arabic","shape":"long-thread","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. المؤسسة العامة عمران للنشر","known_identities":[],"targets":[{"id":"person","kind":"person","start":508,"end":529,"value":"عمران للنشر","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["عمران للنشر"]},"customers":{"required_absent":[],"required_present":["عمران للنشر"]},"all":{"required_absent":[],"required_present":["عمران للنشر"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ar-redact-083","language":"ar","script":"Arabic","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=83 --message=\"ذكر العميل \" --value=فارس الخطيب","known_identities":[],"targets":[{"id":"person","kind":"person","start":53,"end":74,"value":"فارس الخطيب","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["فارس الخطيب"]},"customers":{"required_absent":["فارس الخطيب"],"required_present":[]},"all":{"required_absent":["فارس الخطيب"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ar-preserve-083","language":"ar","script":"Arabic","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=83 --message=\"المؤسسة العامة \" --value=عمران للعلوم","known_identities":[],"targets":[{"id":"person","kind":"person","start":61,"end":84,"value":"عمران للعلوم","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["عمران للعلوم"]},"customers":{"required_absent":[],"required_present":["عمران للعلوم"]},"all":{"required_absent":[],"required_present":["عمران للعلوم"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-083","language":"ar","script":"Arabic","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=83 --message=\"ذكر العميل \" --credential=\"فارس الخطيب\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":59,"end":80,"value":"فارس الخطيب","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["فارس الخطيب"]},"customers":{"required_absent":["فارس الخطيب"],"required_present":[]},"all":{"required_absent":["فارس الخطيب"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-083","language":"ar","script":"Arabic","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=83 --message=\"المؤسسة العامة \" --credential=\"عمران للعلوم\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":67,"end":90,"value":"عمران للعلوم","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["عمران للعلوم"]},"customers":{"required_absent":[],"required_present":["عمران للعلوم"]},"all":{"required_absent":[],"required_present":["عمران للعلوم"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ar-redact-084","language":"ar","script":"Arabic","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"ذكر العميل فارس الدرويش","known_identities":[],"targets":[{"id":"person","kind":"person","start":20,"end":43,"value":"فارس الدرويش","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["فارس الدرويش"]},"customers":{"required_absent":["فارس الدرويش"],"required_present":[]},"all":{"required_absent":["فارس الدرويش"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ar-preserve-084","language":"ar","script":"Arabic","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"المؤسسة العامة عمران للفنون","known_identities":[],"targets":[{"id":"person","kind":"person","start":28,"end":51,"value":"عمران للفنون","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["عمران للفنون"]},"customers":{"required_absent":[],"required_present":["عمران للفنون"]},"all":{"required_absent":[],"required_present":["عمران للفنون"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ar-redact-085","language":"ar","script":"Arabic","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_85\":\"ذكر العميل فارس الراوي\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":56,"value":"فارس الراوي","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["فارس الراوي"]},"customers":{"required_absent":["فارس الراوي"],"required_present":[]},"all":{"required_absent":["فارس الراوي"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ar-preserve-085","language":"ar","script":"Arabic","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_85\":\"المؤسسة العامة عمران للتقنية\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":43,"end":68,"value":"عمران للتقنية","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["عمران للتقنية"]},"customers":{"required_absent":[],"required_present":["عمران للتقنية"]},"all":{"required_absent":[],"required_present":["عمران للتقنية"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ar-redact-086","language":"ar","script":"Arabic","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_86: ذكر العميل فارس السالم","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":53,"value":"فارس السالم","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["فارس السالم"]},"customers":{"required_absent":["فارس السالم"],"required_present":[]},"all":{"required_absent":["فارس السالم"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ar-preserve-086","language":"ar","script":"Arabic","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_86: المؤسسة العامة عمران للثقافة","known_identities":[],"targets":[{"id":"person","kind":"person","start":40,"end":65,"value":"عمران للثقافة","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["عمران للثقافة"]},"customers":{"required_absent":[],"required_present":["عمران للثقافة"]},"all":{"required_absent":[],"required_present":["عمران للثقافة"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-086","language":"ar","script":"Arabic","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_86: \"ذكر العميل فارس السالم\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":33,"end":54,"value":"فارس السالم","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["فارس السالم"]},"customers":{"required_absent":["فارس السالم"],"required_present":[]},"all":{"required_absent":["فارس السالم"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-086","language":"ar","script":"Arabic","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_86: \"المؤسسة العامة عمران للثقافة\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":41,"end":66,"value":"عمران للثقافة","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["عمران للثقافة"]},"customers":{"required_absent":[],"required_present":["عمران للثقافة"]},"all":{"required_absent":[],"required_present":["عمران للثقافة"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ar-redact-087","language":"ar","script":"Arabic","shape":"shell","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_87='ذكر العميل فارس الطائي'","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":53,"value":"فارس الطائي","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["فارس الطائي"]},"customers":{"required_absent":["فارس الطائي"],"required_present":[]},"all":{"required_absent":["فارس الطائي"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ar-preserve-087","language":"ar","script":"Arabic","shape":"shell","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_87='المؤسسة العامة عمران للتعليم'","known_identities":[],"targets":[{"id":"person","kind":"person","start":40,"end":65,"value":"عمران للتعليم","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["عمران للتعليم"]},"customers":{"required_absent":[],"required_present":["عمران للتعليم"]},"all":{"required_absent":[],"required_present":["عمران للتعليم"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ar-redact-088","language":"ar","script":"Arabic","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/88 ; ذكر العميل فارس العلي","known_identities":[],"targets":[{"id":"person","kind":"person","start":53,"end":72,"value":"فارس العلي","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["فارس العلي"]},"customers":{"required_absent":["فارس العلي"],"required_present":[]},"all":{"required_absent":["فارس العلي"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ar-preserve-088","language":"ar","script":"Arabic","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/88 ; المؤسسة العامة عمران للبيئة","known_identities":[],"targets":[{"id":"person","kind":"person","start":61,"end":84,"value":"عمران للبيئة","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["عمران للبيئة"]},"customers":{"required_absent":[],"required_present":["عمران للبيئة"]},"all":{"required_absent":[],"required_present":["عمران للبيئة"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ar-redact-089","language":"ar","script":"Arabic","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"**ذكر العميل فارس المصري**","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":43,"value":"فارس المصري","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["فارس المصري"]},"customers":{"required_absent":["فارس المصري"],"required_present":[]},"all":{"required_absent":["فارس المصري"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ar-preserve-089","language":"ar","script":"Arabic","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"**المؤسسة العامة عمران للتنمية**","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":55,"value":"عمران للتنمية","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["عمران للتنمية"]},"customers":{"required_absent":[],"required_present":["عمران للتنمية"]},"all":{"required_absent":[],"required_present":["عمران للتنمية"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ar-redact-090","language":"ar","script":"Arabic","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eذكر العميل ليلى الحداد\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":44,"value":"ليلى الحداد","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["ليلى الحداد"]},"customers":{"required_absent":["ليلى الحداد"],"required_present":[]},"all":{"required_absent":["ليلى الحداد"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ar-preserve-090","language":"ar","script":"Arabic","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eالمؤسسة العامة فضاء العامة\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":52,"value":"فضاء العامة","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["فضاء العامة"]},"customers":{"required_absent":[],"required_present":["فضاء العامة"]},"all":{"required_absent":[],"required_present":["فضاء العامة"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-088","language":"ar","script":"Arabic","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/88?credential=فارس العلي\u0026note=%D8%B0%D9%83%D8%B1+%D8%A7%D9%84%D8%B9%D9%85%D9%8A%D9%84+","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":61,"value":"فارس العلي","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["فارس العلي"]},"customers":{"required_absent":["فارس العلي"],"required_present":[]},"all":{"required_absent":["فارس العلي"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-088","language":"ar","script":"Arabic","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/88?credential=عمران للبيئة\u0026note=%D8%A7%D9%84%D9%85%D8%A4%D8%B3%D8%B3%D8%A9+%D8%A7%D9%84%D8%B9%D8%A7%D9%85%D8%A9+","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":65,"value":"عمران للبيئة","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["عمران للبيئة"]},"customers":{"required_absent":[],"required_present":["عمران للبيئة"]},"all":{"required_absent":[],"required_present":["عمران للبيئة"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-089","language":"ar","script":"Arabic","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"ذكر العميل `فارس المصري`","known_identities":[],"targets":[{"id":"person","kind":"person","start":21,"end":42,"value":"فارس المصري","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["فارس المصري"]},"customers":{"required_absent":["فارس المصري"],"required_present":[]},"all":{"required_absent":["فارس المصري"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-089","language":"ar","script":"Arabic","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"المؤسسة العامة `عمران للتنمية`","known_identities":[],"targets":[{"id":"person","kind":"person","start":29,"end":54,"value":"عمران للتنمية","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["عمران للتنمية"]},"customers":{"required_absent":[],"required_present":["عمران للتنمية"]},"all":{"required_absent":[],"required_present":["عمران للتنمية"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-090","language":"ar","script":"Arabic","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eذكر العميل \u003ccode\u003eليلى الحداد\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":29,"end":50,"value":"ليلى الحداد","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["ليلى الحداد"]},"customers":{"required_absent":["ليلى الحداد"],"required_present":[]},"all":{"required_absent":["ليلى الحداد"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-090","language":"ar","script":"Arabic","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eالمؤسسة العامة \u003ccode\u003eفضاء العامة\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":37,"end":58,"value":"فضاء العامة","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["فضاء العامة"]},"customers":{"required_absent":[],"required_present":["فضاء العامة"]},"all":{"required_absent":[],"required_present":["فضاء العامة"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ar-redact-091","language":"ar","script":"Arabic","shape":"quoted-reply","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e ذكر العميل ليلى البكري","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":43,"value":"ليلى البكري","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["ليلى البكري"]},"customers":{"required_absent":["ليلى البكري"],"required_present":[]},"all":{"required_absent":["ليلى البكري"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ar-preserve-091","language":"ar","script":"Arabic","shape":"quoted-reply","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e المؤسسة العامة فضاء للبحوث","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":51,"value":"فضاء للبحوث","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["فضاء للبحوث"]},"customers":{"required_absent":[],"required_present":["فضاء للبحوث"]},"all":{"required_absent":[],"required_present":["فضاء للبحوث"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ar-redact-092","language":"ar","script":"Arabic","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=92 message=\"ذكر العميل \" value=ليلى الجابر","known_identities":[],"targets":[{"id":"person","kind":"person","start":58,"end":79,"value":"ليلى الجابر","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["ليلى الجابر"]},"customers":{"required_absent":["ليلى الجابر"],"required_present":[]},"all":{"required_absent":["ليلى الجابر"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ar-preserve-092","language":"ar","script":"Arabic","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=92 message=\"المؤسسة العامة \" value=فضاء للنشر","known_identities":[],"targets":[{"id":"person","kind":"person","start":66,"end":85,"value":"فضاء للنشر","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["فضاء للنشر"]},"customers":{"required_absent":[],"required_present":["فضاء للنشر"]},"all":{"required_absent":[],"required_present":["فضاء للنشر"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-092","language":"ar","script":"Arabic","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=92 message=\"ذكر العميل \" credential=\"ليلى الجابر\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":64,"end":85,"value":"ليلى الجابر","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["ليلى الجابر"]},"customers":{"required_absent":["ليلى الجابر"],"required_present":[]},"all":{"required_absent":["ليلى الجابر"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-092","language":"ar","script":"Arabic","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=92 message=\"المؤسسة العامة \" credential=\"فضاء للنشر\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":72,"end":91,"value":"فضاء للنشر","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["فضاء للنشر"]},"customers":{"required_absent":[],"required_present":["فضاء للنشر"]},"all":{"required_absent":[],"required_present":["فضاء للنشر"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ar-redact-093","language":"ar","script":"Arabic","shape":"stack-trace","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[93]: ذكر العميل ليلى الخطيب","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":52,"value":"ليلى الخطيب","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["ليلى الخطيب"]},"customers":{"required_absent":["ليلى الخطيب"],"required_present":[]},"all":{"required_absent":["ليلى الخطيب"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ar-preserve-093","language":"ar","script":"Arabic","shape":"stack-trace","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[93]: المؤسسة العامة فضاء للعلوم","known_identities":[],"targets":[{"id":"person","kind":"person","start":39,"end":60,"value":"فضاء للعلوم","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["فضاء للعلوم"]},"customers":{"required_absent":[],"required_present":["فضاء للعلوم"]},"all":{"required_absent":[],"required_present":["فضاء للعلوم"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ar-redact-094","language":"ar","script":"Arabic","shape":"code","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_94 := `ذكر العميل ليلى الدرويش`","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":58,"value":"ليلى الدرويش","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["ليلى الدرويش"]},"customers":{"required_absent":["ليلى الدرويش"],"required_present":[]},"all":{"required_absent":["ليلى الدرويش"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, @@ -1196,8 +1196,8 @@ {"id":"broad-language-ar-preserve-095","language":"ar","script":"Arabic","shape":"signature","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--\nالمؤسسة العامة فضاء للتقنية","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":54,"value":"فضاء للتقنية","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["فضاء للتقنية"]},"customers":{"required_absent":[],"required_present":["فضاء للتقنية"]},"all":{"required_absent":[],"required_present":["فضاء للتقنية"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ar-redact-096","language":"ar","script":"Arabic","shape":"long-thread","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. ذكر العميل ليلى السالم","known_identities":[],"targets":[{"id":"person","kind":"person","start":500,"end":521,"value":"ليلى السالم","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["ليلى السالم"]},"customers":{"required_absent":["ليلى السالم"],"required_present":[]},"all":{"required_absent":["ليلى السالم"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ar-preserve-096","language":"ar","script":"Arabic","shape":"long-thread","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. المؤسسة العامة فضاء للثقافة","known_identities":[],"targets":[{"id":"person","kind":"person","start":508,"end":531,"value":"فضاء للثقافة","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["فضاء للثقافة"]},"customers":{"required_absent":[],"required_present":["فضاء للثقافة"]},"all":{"required_absent":[],"required_present":["فضاء للثقافة"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ar-redact-097","language":"ar","script":"Arabic","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=97 --message=\"ذكر العميل \" --value=ليلى الطائي","known_identities":[],"targets":[{"id":"person","kind":"person","start":53,"end":74,"value":"ليلى الطائي","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["ليلى الطائي"]},"customers":{"required_absent":["ليلى الطائي"],"required_present":[]},"all":{"required_absent":["ليلى الطائي"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ar-preserve-097","language":"ar","script":"Arabic","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=97 --message=\"المؤسسة العامة \" --value=فضاء للتعليم","known_identities":[],"targets":[{"id":"person","kind":"person","start":61,"end":84,"value":"فضاء للتعليم","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["فضاء للتعليم"]},"customers":{"required_absent":[],"required_present":["فضاء للتعليم"]},"all":{"required_absent":[],"required_present":["فضاء للتعليم"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-redact-097","language":"ar","script":"Arabic","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=97 --message=\"ذكر العميل \" --credential=\"ليلى الطائي\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":59,"end":80,"value":"ليلى الطائي","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["ليلى الطائي"]},"customers":{"required_absent":["ليلى الطائي"],"required_present":[]},"all":{"required_absent":["ليلى الطائي"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ar-preserve-097","language":"ar","script":"Arabic","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=97 --message=\"المؤسسة العامة \" --credential=\"فضاء للتعليم\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":67,"end":90,"value":"فضاء للتعليم","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["فضاء للتعليم"]},"customers":{"required_absent":[],"required_present":["فضاء للتعليم"]},"all":{"required_absent":[],"required_present":["فضاء للتعليم"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ar-redact-098","language":"ar","script":"Arabic","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"ذكر العميل ليلى العلي","known_identities":[],"targets":[{"id":"person","kind":"person","start":20,"end":39,"value":"ليلى العلي","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["ليلى العلي"]},"customers":{"required_absent":["ليلى العلي"],"required_present":[]},"all":{"required_absent":["ليلى العلي"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ar-preserve-098","language":"ar","script":"Arabic","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"المؤسسة العامة فضاء للبيئة","known_identities":[],"targets":[{"id":"person","kind":"person","start":28,"end":49,"value":"فضاء للبيئة","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["فضاء للبيئة"]},"customers":{"required_absent":[],"required_present":["فضاء للبيئة"]},"all":{"required_absent":[],"required_present":["فضاء للبيئة"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ar-redact-099","language":"ar","script":"Arabic","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_99\":\"ذكر العميل ليلى المصري\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":35,"end":56,"value":"ليلى المصري","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["ليلى المصري"]},"customers":{"required_absent":["ليلى المصري"],"required_present":[]},"all":{"required_absent":["ليلى المصري"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, @@ -1206,20 +1206,20 @@ {"id":"broad-language-zh-preserve-000","language":"zh","script":"Han","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"公共机构北辰研究院","known_identities":[],"targets":[{"id":"person","kind":"person","start":12,"end":27,"value":"北辰研究院","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["北辰研究院"]},"customers":{"required_absent":[],"required_present":["北辰研究院"]},"all":{"required_absent":[],"required_present":["北辰研究院"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-zh-redact-001","language":"zh","script":"Han","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_1\":\"客户提到了王芳\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":29,"end":35,"value":"王芳","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["王芳"]},"customers":{"required_absent":["王芳"],"required_present":[]},"all":{"required_absent":["王芳"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-zh-preserve-001","language":"zh","script":"Han","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_1\":\"公共机构北辰出版社\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":26,"end":41,"value":"北辰出版社","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["北辰出版社"]},"customers":{"required_absent":[],"required_present":["北辰出版社"]},"all":{"required_absent":[],"required_present":["北辰出版社"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-zh-redact-002","language":"zh","script":"Han","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_2: 客户提到了王伟","known_identities":[],"targets":[{"id":"person","kind":"person","start":26,"end":32,"value":"王伟","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["王伟"]},"customers":{"required_absent":["王伟"],"required_present":[]},"all":{"required_absent":["王伟"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-zh-preserve-002","language":"zh","script":"Han","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_2: 公共机构北辰基金会","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":38,"value":"北辰基金会","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["北辰基金会"]},"customers":{"required_absent":[],"required_present":["北辰基金会"]},"all":{"required_absent":[],"required_present":["北辰基金会"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-002","language":"zh","script":"Han","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_2: \"客户提到了王伟\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":27,"end":33,"value":"王伟","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["王伟"]},"customers":{"required_absent":["王伟"],"required_present":[]},"all":{"required_absent":["王伟"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-002","language":"zh","script":"Han","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_2: \"公共机构北辰基金会\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":24,"end":39,"value":"北辰基金会","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["北辰基金会"]},"customers":{"required_absent":[],"required_present":["北辰基金会"]},"all":{"required_absent":[],"required_present":["北辰基金会"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-zh-redact-003","language":"zh","script":"Han","shape":"shell","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_3='客户提到了王秀英'","known_identities":[],"targets":[{"id":"person","kind":"person","start":26,"end":35,"value":"王秀英","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["王秀英"]},"customers":{"required_absent":["王秀英"],"required_present":[]},"all":{"required_absent":["王秀英"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-zh-preserve-003","language":"zh","script":"Han","shape":"shell","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_3='公共机构北辰实验室'","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":38,"value":"北辰实验室","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["北辰实验室"]},"customers":{"required_absent":[],"required_present":["北辰实验室"]},"all":{"required_absent":[],"required_present":["北辰实验室"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-zh-redact-004","language":"zh","script":"Han","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/4 ; 客户提到了王强","known_identities":[],"targets":[{"id":"person","kind":"person","start":47,"end":53,"value":"王强","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["王强"]},"customers":{"required_absent":["王强"],"required_present":[]},"all":{"required_absent":["王强"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-zh-preserve-004","language":"zh","script":"Han","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/4 ; 公共机构北辰中心","known_identities":[],"targets":[{"id":"person","kind":"person","start":44,"end":56,"value":"北辰中心","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["北辰中心"]},"customers":{"required_absent":[],"required_present":["北辰中心"]},"all":{"required_absent":[],"required_present":["北辰中心"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-zh-redact-005","language":"zh","script":"Han","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"**客户提到了王磊**","known_identities":[],"targets":[{"id":"person","kind":"person","start":17,"end":23,"value":"王磊","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["王磊"]},"customers":{"required_absent":["王磊"],"required_present":[]},"all":{"required_absent":["王磊"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-zh-preserve-005","language":"zh","script":"Han","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"**公共机构北辰协会**","known_identities":[],"targets":[{"id":"person","kind":"person","start":14,"end":26,"value":"北辰协会","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["北辰协会"]},"customers":{"required_absent":[],"required_present":["北辰协会"]},"all":{"required_absent":[],"required_present":["北辰协会"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-zh-redact-006","language":"zh","script":"Han","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003e客户提到了王洋\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":18,"end":24,"value":"王洋","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["王洋"]},"customers":{"required_absent":["王洋"],"required_present":[]},"all":{"required_absent":["王洋"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-zh-preserve-006","language":"zh","script":"Han","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003e公共机构北辰大学\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":15,"end":27,"value":"北辰大学","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["北辰大学"]},"customers":{"required_absent":[],"required_present":["北辰大学"]},"all":{"required_absent":[],"required_present":["北辰大学"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-004","language":"zh","script":"Han","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/4?credential=王强\u0026note=%E5%AE%A2%E6%88%B7%E6%8F%90%E5%88%B0%E4%BA%86","known_identities":[],"targets":[{"id":"person","kind":"person","start":41,"end":47,"value":"王强","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["王强"]},"customers":{"required_absent":["王强"],"required_present":[]},"all":{"required_absent":["王强"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-004","language":"zh","script":"Han","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/4?credential=北辰中心\u0026note=%E5%85%AC%E5%85%B1%E6%9C%BA%E6%9E%84","known_identities":[],"targets":[{"id":"person","kind":"person","start":41,"end":53,"value":"北辰中心","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["北辰中心"]},"customers":{"required_absent":[],"required_present":["北辰中心"]},"all":{"required_absent":[],"required_present":["北辰中心"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-005","language":"zh","script":"Han","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"客户提到了`王磊`","known_identities":[],"targets":[{"id":"person","kind":"person","start":16,"end":22,"value":"王磊","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["王磊"]},"customers":{"required_absent":["王磊"],"required_present":[]},"all":{"required_absent":["王磊"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-005","language":"zh","script":"Han","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"公共机构`北辰协会`","known_identities":[],"targets":[{"id":"person","kind":"person","start":13,"end":25,"value":"北辰协会","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["北辰协会"]},"customers":{"required_absent":[],"required_present":["北辰协会"]},"all":{"required_absent":[],"required_present":["北辰协会"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-006","language":"zh","script":"Han","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003e客户提到了\u003ccode\u003e王洋\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":24,"end":30,"value":"王洋","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["王洋"]},"customers":{"required_absent":["王洋"],"required_present":[]},"all":{"required_absent":["王洋"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-006","language":"zh","script":"Han","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003e公共机构\u003ccode\u003e北辰大学\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":21,"end":33,"value":"北辰大学","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["北辰大学"]},"customers":{"required_absent":[],"required_present":["北辰大学"]},"all":{"required_absent":[],"required_present":["北辰大学"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-zh-redact-007","language":"zh","script":"Han","shape":"quoted-reply","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e 客户提到了王艳","known_identities":[],"targets":[{"id":"person","kind":"person","start":17,"end":23,"value":"王艳","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["王艳"]},"customers":{"required_absent":["王艳"],"required_present":[]},"all":{"required_absent":["王艳"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-zh-preserve-007","language":"zh","script":"Han","shape":"quoted-reply","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e 公共机构北辰博物馆","known_identities":[],"targets":[{"id":"person","kind":"person","start":14,"end":29,"value":"北辰博物馆","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["北辰博物馆"]},"customers":{"required_absent":[],"required_present":["北辰博物馆"]},"all":{"required_absent":[],"required_present":["北辰博物馆"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-zh-redact-008","language":"zh","script":"Han","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=8 message=\"客户提到了\" value=王勇","known_identities":[],"targets":[{"id":"person","kind":"person","start":52,"end":58,"value":"王勇","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["王勇"]},"customers":{"required_absent":["王勇"],"required_present":[]},"all":{"required_absent":["王勇"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-zh-preserve-008","language":"zh","script":"Han","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=8 message=\"公共机构\" value=北辰图书馆","known_identities":[],"targets":[{"id":"person","kind":"person","start":49,"end":64,"value":"北辰图书馆","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["北辰图书馆"]},"customers":{"required_absent":[],"required_present":["北辰图书馆"]},"all":{"required_absent":[],"required_present":["北辰图书馆"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-008","language":"zh","script":"Han","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=8 message=\"客户提到了\" credential=\"王勇\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":58,"end":64,"value":"王勇","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["王勇"]},"customers":{"required_absent":["王勇"],"required_present":[]},"all":{"required_absent":["王勇"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-008","language":"zh","script":"Han","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=8 message=\"公共机构\" credential=\"北辰图书馆\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":55,"end":70,"value":"北辰图书馆","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["北辰图书馆"]},"customers":{"required_absent":[],"required_present":["北辰图书馆"]},"all":{"required_absent":[],"required_present":["北辰图书馆"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-zh-redact-009","language":"zh","script":"Han","shape":"stack-trace","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[9]: 客户提到了王静","known_identities":[],"targets":[{"id":"person","kind":"person","start":25,"end":31,"value":"王静","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["王静"]},"customers":{"required_absent":["王静"],"required_present":[]},"all":{"required_absent":["王静"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-zh-preserve-009","language":"zh","script":"Han","shape":"stack-trace","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[9]: 公共机构北辰剧团","known_identities":[],"targets":[{"id":"person","kind":"person","start":22,"end":34,"value":"北辰剧团","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["北辰剧团"]},"customers":{"required_absent":[],"required_present":["北辰剧团"]},"all":{"required_absent":[],"required_present":["北辰剧团"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-zh-redact-010","language":"zh","script":"Han","shape":"code","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_10 := `客户提到了李明`","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":36,"value":"李明","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["李明"]},"customers":{"required_absent":["李明"],"required_present":[]},"all":{"required_absent":["李明"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, @@ -1228,26 +1228,26 @@ {"id":"broad-language-zh-preserve-011","language":"zh","script":"Han","shape":"signature","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--\n公共机构长河出版社","known_identities":[],"targets":[{"id":"person","kind":"person","start":15,"end":30,"value":"长河出版社","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["长河出版社"]},"customers":{"required_absent":[],"required_present":["长河出版社"]},"all":{"required_absent":[],"required_present":["长河出版社"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-zh-redact-012","language":"zh","script":"Han","shape":"long-thread","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. 客户提到了李伟","known_identities":[],"targets":[{"id":"person","kind":"person","start":495,"end":501,"value":"李伟","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["李伟"]},"customers":{"required_absent":["李伟"],"required_present":[]},"all":{"required_absent":["李伟"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-zh-preserve-012","language":"zh","script":"Han","shape":"long-thread","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. 公共机构长河基金会","known_identities":[],"targets":[{"id":"person","kind":"person","start":492,"end":507,"value":"长河基金会","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["长河基金会"]},"customers":{"required_absent":[],"required_present":["长河基金会"]},"all":{"required_absent":[],"required_present":["长河基金会"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-zh-redact-013","language":"zh","script":"Han","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=13 --message=\"客户提到了\" --value=李秀英","known_identities":[],"targets":[{"id":"person","kind":"person","start":48,"end":57,"value":"李秀英","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["李秀英"]},"customers":{"required_absent":["李秀英"],"required_present":[]},"all":{"required_absent":["李秀英"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-zh-preserve-013","language":"zh","script":"Han","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=13 --message=\"公共机构\" --value=长河实验室","known_identities":[],"targets":[{"id":"person","kind":"person","start":45,"end":60,"value":"长河实验室","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["长河实验室"]},"customers":{"required_absent":[],"required_present":["长河实验室"]},"all":{"required_absent":[],"required_present":["长河实验室"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-013","language":"zh","script":"Han","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=13 --message=\"客户提到了\" --credential=\"李秀英\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":54,"end":63,"value":"李秀英","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["李秀英"]},"customers":{"required_absent":["李秀英"],"required_present":[]},"all":{"required_absent":["李秀英"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-013","language":"zh","script":"Han","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=13 --message=\"公共机构\" --credential=\"长河实验室\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":51,"end":66,"value":"长河实验室","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["长河实验室"]},"customers":{"required_absent":[],"required_present":["长河实验室"]},"all":{"required_absent":[],"required_present":["长河实验室"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-zh-redact-014","language":"zh","script":"Han","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"客户提到了李强","known_identities":[],"targets":[{"id":"person","kind":"person","start":15,"end":21,"value":"李强","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["李强"]},"customers":{"required_absent":["李强"],"required_present":[]},"all":{"required_absent":["李强"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-zh-preserve-014","language":"zh","script":"Han","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"公共机构长河中心","known_identities":[],"targets":[{"id":"person","kind":"person","start":12,"end":24,"value":"长河中心","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["长河中心"]},"customers":{"required_absent":[],"required_present":["长河中心"]},"all":{"required_absent":[],"required_present":["长河中心"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-zh-redact-015","language":"zh","script":"Han","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_15\":\"客户提到了李磊\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":36,"value":"李磊","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["李磊"]},"customers":{"required_absent":["李磊"],"required_present":[]},"all":{"required_absent":["李磊"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-zh-preserve-015","language":"zh","script":"Han","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_15\":\"公共机构长河协会\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":27,"end":39,"value":"长河协会","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["长河协会"]},"customers":{"required_absent":[],"required_present":["长河协会"]},"all":{"required_absent":[],"required_present":["长河协会"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-zh-redact-016","language":"zh","script":"Han","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_16: 客户提到了李洋","known_identities":[],"targets":[{"id":"person","kind":"person","start":27,"end":33,"value":"李洋","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["李洋"]},"customers":{"required_absent":["李洋"],"required_present":[]},"all":{"required_absent":["李洋"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-zh-preserve-016","language":"zh","script":"Han","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_16: 公共机构长河大学","known_identities":[],"targets":[{"id":"person","kind":"person","start":24,"end":36,"value":"长河大学","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["长河大学"]},"customers":{"required_absent":[],"required_present":["长河大学"]},"all":{"required_absent":[],"required_present":["长河大学"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-016","language":"zh","script":"Han","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_16: \"客户提到了李洋\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":28,"end":34,"value":"李洋","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["李洋"]},"customers":{"required_absent":["李洋"],"required_present":[]},"all":{"required_absent":["李洋"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-016","language":"zh","script":"Han","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_16: \"公共机构长河大学\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":25,"end":37,"value":"长河大学","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["长河大学"]},"customers":{"required_absent":[],"required_present":["长河大学"]},"all":{"required_absent":[],"required_present":["长河大学"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-zh-redact-017","language":"zh","script":"Han","shape":"shell","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_17='客户提到了李艳'","known_identities":[],"targets":[{"id":"person","kind":"person","start":27,"end":33,"value":"李艳","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["李艳"]},"customers":{"required_absent":["李艳"],"required_present":[]},"all":{"required_absent":["李艳"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-zh-preserve-017","language":"zh","script":"Han","shape":"shell","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_17='公共机构长河博物馆'","known_identities":[],"targets":[{"id":"person","kind":"person","start":24,"end":39,"value":"长河博物馆","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["长河博物馆"]},"customers":{"required_absent":[],"required_present":["长河博物馆"]},"all":{"required_absent":[],"required_present":["长河博物馆"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-zh-redact-018","language":"zh","script":"Han","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/18 ; 客户提到了李勇","known_identities":[],"targets":[{"id":"person","kind":"person","start":48,"end":54,"value":"李勇","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["李勇"]},"customers":{"required_absent":["李勇"],"required_present":[]},"all":{"required_absent":["李勇"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-zh-preserve-018","language":"zh","script":"Han","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/18 ; 公共机构长河图书馆","known_identities":[],"targets":[{"id":"person","kind":"person","start":45,"end":60,"value":"长河图书馆","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["长河图书馆"]},"customers":{"required_absent":[],"required_present":["长河图书馆"]},"all":{"required_absent":[],"required_present":["长河图书馆"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-zh-redact-019","language":"zh","script":"Han","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"**客户提到了李静**","known_identities":[],"targets":[{"id":"person","kind":"person","start":17,"end":23,"value":"李静","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["李静"]},"customers":{"required_absent":["李静"],"required_present":[]},"all":{"required_absent":["李静"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-zh-preserve-019","language":"zh","script":"Han","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"**公共机构长河剧团**","known_identities":[],"targets":[{"id":"person","kind":"person","start":14,"end":26,"value":"长河剧团","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["长河剧团"]},"customers":{"required_absent":[],"required_present":["长河剧团"]},"all":{"required_absent":[],"required_present":["长河剧团"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-zh-redact-020","language":"zh","script":"Han","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003e客户提到了张明\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":18,"end":24,"value":"张明","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["张明"]},"customers":{"required_absent":["张明"],"required_present":[]},"all":{"required_absent":["张明"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-zh-preserve-020","language":"zh","script":"Han","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003e公共机构春山研究院\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":15,"end":30,"value":"春山研究院","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["春山研究院"]},"customers":{"required_absent":[],"required_present":["春山研究院"]},"all":{"required_absent":[],"required_present":["春山研究院"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-018","language":"zh","script":"Han","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/18?credential=李勇\u0026note=%E5%AE%A2%E6%88%B7%E6%8F%90%E5%88%B0%E4%BA%86","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":48,"value":"李勇","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["李勇"]},"customers":{"required_absent":["李勇"],"required_present":[]},"all":{"required_absent":["李勇"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-018","language":"zh","script":"Han","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/18?credential=长河图书馆\u0026note=%E5%85%AC%E5%85%B1%E6%9C%BA%E6%9E%84","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":57,"value":"长河图书馆","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["长河图书馆"]},"customers":{"required_absent":[],"required_present":["长河图书馆"]},"all":{"required_absent":[],"required_present":["长河图书馆"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-019","language":"zh","script":"Han","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"客户提到了`李静`","known_identities":[],"targets":[{"id":"person","kind":"person","start":16,"end":22,"value":"李静","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["李静"]},"customers":{"required_absent":["李静"],"required_present":[]},"all":{"required_absent":["李静"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-019","language":"zh","script":"Han","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"公共机构`长河剧团`","known_identities":[],"targets":[{"id":"person","kind":"person","start":13,"end":25,"value":"长河剧团","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["长河剧团"]},"customers":{"required_absent":[],"required_present":["长河剧团"]},"all":{"required_absent":[],"required_present":["长河剧团"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-020","language":"zh","script":"Han","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003e客户提到了\u003ccode\u003e张明\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":24,"end":30,"value":"张明","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["张明"]},"customers":{"required_absent":["张明"],"required_present":[]},"all":{"required_absent":["张明"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-020","language":"zh","script":"Han","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003e公共机构\u003ccode\u003e春山研究院\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":21,"end":36,"value":"春山研究院","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["春山研究院"]},"customers":{"required_absent":[],"required_present":["春山研究院"]},"all":{"required_absent":[],"required_present":["春山研究院"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-zh-redact-021","language":"zh","script":"Han","shape":"quoted-reply","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e 客户提到了张芳","known_identities":[],"targets":[{"id":"person","kind":"person","start":17,"end":23,"value":"张芳","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["张芳"]},"customers":{"required_absent":["张芳"],"required_present":[]},"all":{"required_absent":["张芳"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-zh-preserve-021","language":"zh","script":"Han","shape":"quoted-reply","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e 公共机构春山出版社","known_identities":[],"targets":[{"id":"person","kind":"person","start":14,"end":29,"value":"春山出版社","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["春山出版社"]},"customers":{"required_absent":[],"required_present":["春山出版社"]},"all":{"required_absent":[],"required_present":["春山出版社"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-zh-redact-022","language":"zh","script":"Han","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=22 message=\"客户提到了\" value=张伟","known_identities":[],"targets":[{"id":"person","kind":"person","start":53,"end":59,"value":"张伟","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["张伟"]},"customers":{"required_absent":["张伟"],"required_present":[]},"all":{"required_absent":["张伟"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-zh-preserve-022","language":"zh","script":"Han","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=22 message=\"公共机构\" value=春山基金会","known_identities":[],"targets":[{"id":"person","kind":"person","start":50,"end":65,"value":"春山基金会","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["春山基金会"]},"customers":{"required_absent":[],"required_present":["春山基金会"]},"all":{"required_absent":[],"required_present":["春山基金会"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-022","language":"zh","script":"Han","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=22 message=\"客户提到了\" credential=\"张伟\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":59,"end":65,"value":"张伟","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["张伟"]},"customers":{"required_absent":["张伟"],"required_present":[]},"all":{"required_absent":["张伟"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-022","language":"zh","script":"Han","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=22 message=\"公共机构\" credential=\"春山基金会\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":56,"end":71,"value":"春山基金会","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["春山基金会"]},"customers":{"required_absent":[],"required_present":["春山基金会"]},"all":{"required_absent":[],"required_present":["春山基金会"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-zh-redact-023","language":"zh","script":"Han","shape":"stack-trace","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[23]: 客户提到了张秀英","known_identities":[],"targets":[{"id":"person","kind":"person","start":26,"end":35,"value":"张秀英","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["张秀英"]},"customers":{"required_absent":["张秀英"],"required_present":[]},"all":{"required_absent":["张秀英"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-zh-preserve-023","language":"zh","script":"Han","shape":"stack-trace","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[23]: 公共机构春山实验室","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":38,"value":"春山实验室","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["春山实验室"]},"customers":{"required_absent":[],"required_present":["春山实验室"]},"all":{"required_absent":[],"required_present":["春山实验室"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-zh-redact-024","language":"zh","script":"Han","shape":"code","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_24 := `客户提到了张强`","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":36,"value":"张强","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["张强"]},"customers":{"required_absent":["张强"],"required_present":[]},"all":{"required_absent":["张强"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, @@ -1256,26 +1256,26 @@ {"id":"broad-language-zh-preserve-025","language":"zh","script":"Han","shape":"signature","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--\n公共机构春山协会","known_identities":[],"targets":[{"id":"person","kind":"person","start":15,"end":27,"value":"春山协会","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["春山协会"]},"customers":{"required_absent":[],"required_present":["春山协会"]},"all":{"required_absent":[],"required_present":["春山协会"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-zh-redact-026","language":"zh","script":"Han","shape":"long-thread","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. 客户提到了张洋","known_identities":[],"targets":[{"id":"person","kind":"person","start":495,"end":501,"value":"张洋","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["张洋"]},"customers":{"required_absent":["张洋"],"required_present":[]},"all":{"required_absent":["张洋"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-zh-preserve-026","language":"zh","script":"Han","shape":"long-thread","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. 公共机构春山大学","known_identities":[],"targets":[{"id":"person","kind":"person","start":492,"end":504,"value":"春山大学","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["春山大学"]},"customers":{"required_absent":[],"required_present":["春山大学"]},"all":{"required_absent":[],"required_present":["春山大学"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-zh-redact-027","language":"zh","script":"Han","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=27 --message=\"客户提到了\" --value=张艳","known_identities":[],"targets":[{"id":"person","kind":"person","start":48,"end":54,"value":"张艳","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["张艳"]},"customers":{"required_absent":["张艳"],"required_present":[]},"all":{"required_absent":["张艳"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-zh-preserve-027","language":"zh","script":"Han","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=27 --message=\"公共机构\" --value=春山博物馆","known_identities":[],"targets":[{"id":"person","kind":"person","start":45,"end":60,"value":"春山博物馆","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["春山博物馆"]},"customers":{"required_absent":[],"required_present":["春山博物馆"]},"all":{"required_absent":[],"required_present":["春山博物馆"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-027","language":"zh","script":"Han","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=27 --message=\"客户提到了\" --credential=\"张艳\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":54,"end":60,"value":"张艳","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["张艳"]},"customers":{"required_absent":["张艳"],"required_present":[]},"all":{"required_absent":["张艳"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-027","language":"zh","script":"Han","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=27 --message=\"公共机构\" --credential=\"春山博物馆\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":51,"end":66,"value":"春山博物馆","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["春山博物馆"]},"customers":{"required_absent":[],"required_present":["春山博物馆"]},"all":{"required_absent":[],"required_present":["春山博物馆"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-zh-redact-028","language":"zh","script":"Han","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"客户提到了张勇","known_identities":[],"targets":[{"id":"person","kind":"person","start":15,"end":21,"value":"张勇","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["张勇"]},"customers":{"required_absent":["张勇"],"required_present":[]},"all":{"required_absent":["张勇"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-zh-preserve-028","language":"zh","script":"Han","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"公共机构春山图书馆","known_identities":[],"targets":[{"id":"person","kind":"person","start":12,"end":27,"value":"春山图书馆","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["春山图书馆"]},"customers":{"required_absent":[],"required_present":["春山图书馆"]},"all":{"required_absent":[],"required_present":["春山图书馆"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-zh-redact-029","language":"zh","script":"Han","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_29\":\"客户提到了张静\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":36,"value":"张静","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["张静"]},"customers":{"required_absent":["张静"],"required_present":[]},"all":{"required_absent":["张静"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-zh-preserve-029","language":"zh","script":"Han","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_29\":\"公共机构春山剧团\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":27,"end":39,"value":"春山剧团","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["春山剧团"]},"customers":{"required_absent":[],"required_present":["春山剧团"]},"all":{"required_absent":[],"required_present":["春山剧团"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-zh-redact-030","language":"zh","script":"Han","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_30: 客户提到了刘明","known_identities":[],"targets":[{"id":"person","kind":"person","start":27,"end":33,"value":"刘明","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["刘明"]},"customers":{"required_absent":["刘明"],"required_present":[]},"all":{"required_absent":["刘明"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-zh-preserve-030","language":"zh","script":"Han","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_30: 公共机构东海研究院","known_identities":[],"targets":[{"id":"person","kind":"person","start":24,"end":39,"value":"东海研究院","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["东海研究院"]},"customers":{"required_absent":[],"required_present":["东海研究院"]},"all":{"required_absent":[],"required_present":["东海研究院"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-030","language":"zh","script":"Han","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_30: \"客户提到了刘明\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":28,"end":34,"value":"刘明","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["刘明"]},"customers":{"required_absent":["刘明"],"required_present":[]},"all":{"required_absent":["刘明"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-030","language":"zh","script":"Han","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_30: \"公共机构东海研究院\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":25,"end":40,"value":"东海研究院","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["东海研究院"]},"customers":{"required_absent":[],"required_present":["东海研究院"]},"all":{"required_absent":[],"required_present":["东海研究院"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-zh-redact-031","language":"zh","script":"Han","shape":"shell","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_31='客户提到了刘芳'","known_identities":[],"targets":[{"id":"person","kind":"person","start":27,"end":33,"value":"刘芳","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["刘芳"]},"customers":{"required_absent":["刘芳"],"required_present":[]},"all":{"required_absent":["刘芳"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-zh-preserve-031","language":"zh","script":"Han","shape":"shell","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_31='公共机构东海出版社'","known_identities":[],"targets":[{"id":"person","kind":"person","start":24,"end":39,"value":"东海出版社","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["东海出版社"]},"customers":{"required_absent":[],"required_present":["东海出版社"]},"all":{"required_absent":[],"required_present":["东海出版社"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-zh-redact-032","language":"zh","script":"Han","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/32 ; 客户提到了刘伟","known_identities":[],"targets":[{"id":"person","kind":"person","start":48,"end":54,"value":"刘伟","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["刘伟"]},"customers":{"required_absent":["刘伟"],"required_present":[]},"all":{"required_absent":["刘伟"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-zh-preserve-032","language":"zh","script":"Han","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/32 ; 公共机构东海基金会","known_identities":[],"targets":[{"id":"person","kind":"person","start":45,"end":60,"value":"东海基金会","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["东海基金会"]},"customers":{"required_absent":[],"required_present":["东海基金会"]},"all":{"required_absent":[],"required_present":["东海基金会"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-zh-redact-033","language":"zh","script":"Han","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"**客户提到了刘秀英**","known_identities":[],"targets":[{"id":"person","kind":"person","start":17,"end":26,"value":"刘秀英","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["刘秀英"]},"customers":{"required_absent":["刘秀英"],"required_present":[]},"all":{"required_absent":["刘秀英"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-zh-preserve-033","language":"zh","script":"Han","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"**公共机构东海实验室**","known_identities":[],"targets":[{"id":"person","kind":"person","start":14,"end":29,"value":"东海实验室","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["东海实验室"]},"customers":{"required_absent":[],"required_present":["东海实验室"]},"all":{"required_absent":[],"required_present":["东海实验室"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-zh-redact-034","language":"zh","script":"Han","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003e客户提到了刘强\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":18,"end":24,"value":"刘强","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["刘强"]},"customers":{"required_absent":["刘强"],"required_present":[]},"all":{"required_absent":["刘强"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-zh-preserve-034","language":"zh","script":"Han","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003e公共机构东海中心\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":15,"end":27,"value":"东海中心","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["东海中心"]},"customers":{"required_absent":[],"required_present":["东海中心"]},"all":{"required_absent":[],"required_present":["东海中心"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-032","language":"zh","script":"Han","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/32?credential=刘伟\u0026note=%E5%AE%A2%E6%88%B7%E6%8F%90%E5%88%B0%E4%BA%86","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":48,"value":"刘伟","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["刘伟"]},"customers":{"required_absent":["刘伟"],"required_present":[]},"all":{"required_absent":["刘伟"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-032","language":"zh","script":"Han","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/32?credential=东海基金会\u0026note=%E5%85%AC%E5%85%B1%E6%9C%BA%E6%9E%84","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":57,"value":"东海基金会","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["东海基金会"]},"customers":{"required_absent":[],"required_present":["东海基金会"]},"all":{"required_absent":[],"required_present":["东海基金会"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-033","language":"zh","script":"Han","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"客户提到了`刘秀英`","known_identities":[],"targets":[{"id":"person","kind":"person","start":16,"end":25,"value":"刘秀英","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["刘秀英"]},"customers":{"required_absent":["刘秀英"],"required_present":[]},"all":{"required_absent":["刘秀英"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-033","language":"zh","script":"Han","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"公共机构`东海实验室`","known_identities":[],"targets":[{"id":"person","kind":"person","start":13,"end":28,"value":"东海实验室","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["东海实验室"]},"customers":{"required_absent":[],"required_present":["东海实验室"]},"all":{"required_absent":[],"required_present":["东海实验室"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-034","language":"zh","script":"Han","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003e客户提到了\u003ccode\u003e刘强\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":24,"end":30,"value":"刘强","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["刘强"]},"customers":{"required_absent":["刘强"],"required_present":[]},"all":{"required_absent":["刘强"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-034","language":"zh","script":"Han","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003e公共机构\u003ccode\u003e东海中心\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":21,"end":33,"value":"东海中心","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["东海中心"]},"customers":{"required_absent":[],"required_present":["东海中心"]},"all":{"required_absent":[],"required_present":["东海中心"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-zh-redact-035","language":"zh","script":"Han","shape":"quoted-reply","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e 客户提到了刘磊","known_identities":[],"targets":[{"id":"person","kind":"person","start":17,"end":23,"value":"刘磊","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["刘磊"]},"customers":{"required_absent":["刘磊"],"required_present":[]},"all":{"required_absent":["刘磊"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-zh-preserve-035","language":"zh","script":"Han","shape":"quoted-reply","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e 公共机构东海协会","known_identities":[],"targets":[{"id":"person","kind":"person","start":14,"end":26,"value":"东海协会","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["东海协会"]},"customers":{"required_absent":[],"required_present":["东海协会"]},"all":{"required_absent":[],"required_present":["东海协会"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-zh-redact-036","language":"zh","script":"Han","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=36 message=\"客户提到了\" value=刘洋","known_identities":[],"targets":[{"id":"person","kind":"person","start":53,"end":59,"value":"刘洋","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["刘洋"]},"customers":{"required_absent":["刘洋"],"required_present":[]},"all":{"required_absent":["刘洋"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-zh-preserve-036","language":"zh","script":"Han","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=36 message=\"公共机构\" value=东海大学","known_identities":[],"targets":[{"id":"person","kind":"person","start":50,"end":62,"value":"东海大学","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["东海大学"]},"customers":{"required_absent":[],"required_present":["东海大学"]},"all":{"required_absent":[],"required_present":["东海大学"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-036","language":"zh","script":"Han","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=36 message=\"客户提到了\" credential=\"刘洋\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":59,"end":65,"value":"刘洋","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["刘洋"]},"customers":{"required_absent":["刘洋"],"required_present":[]},"all":{"required_absent":["刘洋"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-036","language":"zh","script":"Han","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=36 message=\"公共机构\" credential=\"东海大学\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":56,"end":68,"value":"东海大学","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["东海大学"]},"customers":{"required_absent":[],"required_present":["东海大学"]},"all":{"required_absent":[],"required_present":["东海大学"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-zh-redact-037","language":"zh","script":"Han","shape":"stack-trace","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[37]: 客户提到了刘艳","known_identities":[],"targets":[{"id":"person","kind":"person","start":26,"end":32,"value":"刘艳","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["刘艳"]},"customers":{"required_absent":["刘艳"],"required_present":[]},"all":{"required_absent":["刘艳"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-zh-preserve-037","language":"zh","script":"Han","shape":"stack-trace","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[37]: 公共机构东海博物馆","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":38,"value":"东海博物馆","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["东海博物馆"]},"customers":{"required_absent":[],"required_present":["东海博物馆"]},"all":{"required_absent":[],"required_present":["东海博物馆"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-zh-redact-038","language":"zh","script":"Han","shape":"code","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_38 := `客户提到了刘勇`","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":36,"value":"刘勇","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["刘勇"]},"customers":{"required_absent":["刘勇"],"required_present":[]},"all":{"required_absent":["刘勇"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, @@ -1284,26 +1284,26 @@ {"id":"broad-language-zh-preserve-039","language":"zh","script":"Han","shape":"signature","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--\n公共机构东海剧团","known_identities":[],"targets":[{"id":"person","kind":"person","start":15,"end":27,"value":"东海剧团","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["东海剧团"]},"customers":{"required_absent":[],"required_present":["东海剧团"]},"all":{"required_absent":[],"required_present":["东海剧团"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-zh-redact-040","language":"zh","script":"Han","shape":"long-thread","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. 客户提到了陈明","known_identities":[],"targets":[{"id":"person","kind":"person","start":495,"end":501,"value":"陈明","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["陈明"]},"customers":{"required_absent":["陈明"],"required_present":[]},"all":{"required_absent":["陈明"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-zh-preserve-040","language":"zh","script":"Han","shape":"long-thread","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. 公共机构飞云研究院","known_identities":[],"targets":[{"id":"person","kind":"person","start":492,"end":507,"value":"飞云研究院","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["飞云研究院"]},"customers":{"required_absent":[],"required_present":["飞云研究院"]},"all":{"required_absent":[],"required_present":["飞云研究院"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-zh-redact-041","language":"zh","script":"Han","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=41 --message=\"客户提到了\" --value=陈芳","known_identities":[],"targets":[{"id":"person","kind":"person","start":48,"end":54,"value":"陈芳","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["陈芳"]},"customers":{"required_absent":["陈芳"],"required_present":[]},"all":{"required_absent":["陈芳"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-zh-preserve-041","language":"zh","script":"Han","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=41 --message=\"公共机构\" --value=飞云出版社","known_identities":[],"targets":[{"id":"person","kind":"person","start":45,"end":60,"value":"飞云出版社","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["飞云出版社"]},"customers":{"required_absent":[],"required_present":["飞云出版社"]},"all":{"required_absent":[],"required_present":["飞云出版社"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-041","language":"zh","script":"Han","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=41 --message=\"客户提到了\" --credential=\"陈芳\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":54,"end":60,"value":"陈芳","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["陈芳"]},"customers":{"required_absent":["陈芳"],"required_present":[]},"all":{"required_absent":["陈芳"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-041","language":"zh","script":"Han","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=41 --message=\"公共机构\" --credential=\"飞云出版社\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":51,"end":66,"value":"飞云出版社","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["飞云出版社"]},"customers":{"required_absent":[],"required_present":["飞云出版社"]},"all":{"required_absent":[],"required_present":["飞云出版社"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-zh-redact-042","language":"zh","script":"Han","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"客户提到了陈伟","known_identities":[],"targets":[{"id":"person","kind":"person","start":15,"end":21,"value":"陈伟","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["陈伟"]},"customers":{"required_absent":["陈伟"],"required_present":[]},"all":{"required_absent":["陈伟"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-zh-preserve-042","language":"zh","script":"Han","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"公共机构飞云基金会","known_identities":[],"targets":[{"id":"person","kind":"person","start":12,"end":27,"value":"飞云基金会","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["飞云基金会"]},"customers":{"required_absent":[],"required_present":["飞云基金会"]},"all":{"required_absent":[],"required_present":["飞云基金会"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-zh-redact-043","language":"zh","script":"Han","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_43\":\"客户提到了陈秀英\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":39,"value":"陈秀英","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["陈秀英"]},"customers":{"required_absent":["陈秀英"],"required_present":[]},"all":{"required_absent":["陈秀英"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-zh-preserve-043","language":"zh","script":"Han","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_43\":\"公共机构飞云实验室\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":27,"end":42,"value":"飞云实验室","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["飞云实验室"]},"customers":{"required_absent":[],"required_present":["飞云实验室"]},"all":{"required_absent":[],"required_present":["飞云实验室"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-zh-redact-044","language":"zh","script":"Han","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_44: 客户提到了陈强","known_identities":[],"targets":[{"id":"person","kind":"person","start":27,"end":33,"value":"陈强","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["陈强"]},"customers":{"required_absent":["陈强"],"required_present":[]},"all":{"required_absent":["陈强"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-zh-preserve-044","language":"zh","script":"Han","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_44: 公共机构飞云中心","known_identities":[],"targets":[{"id":"person","kind":"person","start":24,"end":36,"value":"飞云中心","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["飞云中心"]},"customers":{"required_absent":[],"required_present":["飞云中心"]},"all":{"required_absent":[],"required_present":["飞云中心"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-044","language":"zh","script":"Han","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_44: \"客户提到了陈强\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":28,"end":34,"value":"陈强","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["陈强"]},"customers":{"required_absent":["陈强"],"required_present":[]},"all":{"required_absent":["陈强"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-044","language":"zh","script":"Han","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_44: \"公共机构飞云中心\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":25,"end":37,"value":"飞云中心","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["飞云中心"]},"customers":{"required_absent":[],"required_present":["飞云中心"]},"all":{"required_absent":[],"required_present":["飞云中心"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-zh-redact-045","language":"zh","script":"Han","shape":"shell","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_45='客户提到了陈磊'","known_identities":[],"targets":[{"id":"person","kind":"person","start":27,"end":33,"value":"陈磊","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["陈磊"]},"customers":{"required_absent":["陈磊"],"required_present":[]},"all":{"required_absent":["陈磊"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-zh-preserve-045","language":"zh","script":"Han","shape":"shell","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_45='公共机构飞云协会'","known_identities":[],"targets":[{"id":"person","kind":"person","start":24,"end":36,"value":"飞云协会","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["飞云协会"]},"customers":{"required_absent":[],"required_present":["飞云协会"]},"all":{"required_absent":[],"required_present":["飞云协会"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-zh-redact-046","language":"zh","script":"Han","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/46 ; 客户提到了陈洋","known_identities":[],"targets":[{"id":"person","kind":"person","start":48,"end":54,"value":"陈洋","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["陈洋"]},"customers":{"required_absent":["陈洋"],"required_present":[]},"all":{"required_absent":["陈洋"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-zh-preserve-046","language":"zh","script":"Han","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/46 ; 公共机构飞云大学","known_identities":[],"targets":[{"id":"person","kind":"person","start":45,"end":57,"value":"飞云大学","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["飞云大学"]},"customers":{"required_absent":[],"required_present":["飞云大学"]},"all":{"required_absent":[],"required_present":["飞云大学"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-zh-redact-047","language":"zh","script":"Han","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"**客户提到了陈艳**","known_identities":[],"targets":[{"id":"person","kind":"person","start":17,"end":23,"value":"陈艳","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["陈艳"]},"customers":{"required_absent":["陈艳"],"required_present":[]},"all":{"required_absent":["陈艳"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-zh-preserve-047","language":"zh","script":"Han","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"**公共机构飞云博物馆**","known_identities":[],"targets":[{"id":"person","kind":"person","start":14,"end":29,"value":"飞云博物馆","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["飞云博物馆"]},"customers":{"required_absent":[],"required_present":["飞云博物馆"]},"all":{"required_absent":[],"required_present":["飞云博物馆"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-zh-redact-048","language":"zh","script":"Han","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003e客户提到了陈勇\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":18,"end":24,"value":"陈勇","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["陈勇"]},"customers":{"required_absent":["陈勇"],"required_present":[]},"all":{"required_absent":["陈勇"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-zh-preserve-048","language":"zh","script":"Han","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003e公共机构飞云图书馆\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":15,"end":30,"value":"飞云图书馆","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["飞云图书馆"]},"customers":{"required_absent":[],"required_present":["飞云图书馆"]},"all":{"required_absent":[],"required_present":["飞云图书馆"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-046","language":"zh","script":"Han","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/46?credential=陈洋\u0026note=%E5%AE%A2%E6%88%B7%E6%8F%90%E5%88%B0%E4%BA%86","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":48,"value":"陈洋","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["陈洋"]},"customers":{"required_absent":["陈洋"],"required_present":[]},"all":{"required_absent":["陈洋"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-046","language":"zh","script":"Han","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/46?credential=飞云大学\u0026note=%E5%85%AC%E5%85%B1%E6%9C%BA%E6%9E%84","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":54,"value":"飞云大学","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["飞云大学"]},"customers":{"required_absent":[],"required_present":["飞云大学"]},"all":{"required_absent":[],"required_present":["飞云大学"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-047","language":"zh","script":"Han","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"客户提到了`陈艳`","known_identities":[],"targets":[{"id":"person","kind":"person","start":16,"end":22,"value":"陈艳","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["陈艳"]},"customers":{"required_absent":["陈艳"],"required_present":[]},"all":{"required_absent":["陈艳"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-047","language":"zh","script":"Han","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"公共机构`飞云博物馆`","known_identities":[],"targets":[{"id":"person","kind":"person","start":13,"end":28,"value":"飞云博物馆","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["飞云博物馆"]},"customers":{"required_absent":[],"required_present":["飞云博物馆"]},"all":{"required_absent":[],"required_present":["飞云博物馆"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-048","language":"zh","script":"Han","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003e客户提到了\u003ccode\u003e陈勇\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":24,"end":30,"value":"陈勇","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["陈勇"]},"customers":{"required_absent":["陈勇"],"required_present":[]},"all":{"required_absent":["陈勇"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-048","language":"zh","script":"Han","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003e公共机构\u003ccode\u003e飞云图书馆\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":21,"end":36,"value":"飞云图书馆","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["飞云图书馆"]},"customers":{"required_absent":[],"required_present":["飞云图书馆"]},"all":{"required_absent":[],"required_present":["飞云图书馆"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-zh-redact-049","language":"zh","script":"Han","shape":"quoted-reply","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e 客户提到了陈静","known_identities":[],"targets":[{"id":"person","kind":"person","start":17,"end":23,"value":"陈静","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["陈静"]},"customers":{"required_absent":["陈静"],"required_present":[]},"all":{"required_absent":["陈静"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-zh-preserve-049","language":"zh","script":"Han","shape":"quoted-reply","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e 公共机构飞云剧团","known_identities":[],"targets":[{"id":"person","kind":"person","start":14,"end":26,"value":"飞云剧团","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["飞云剧团"]},"customers":{"required_absent":[],"required_present":["飞云剧团"]},"all":{"required_absent":[],"required_present":["飞云剧团"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-zh-redact-050","language":"zh","script":"Han","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=50 message=\"客户提到了\" value=杨明","known_identities":[],"targets":[{"id":"person","kind":"person","start":53,"end":59,"value":"杨明","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["杨明"]},"customers":{"required_absent":["杨明"],"required_present":[]},"all":{"required_absent":["杨明"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-zh-preserve-050","language":"zh","script":"Han","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=50 message=\"公共机构\" value=光华研究院","known_identities":[],"targets":[{"id":"person","kind":"person","start":50,"end":65,"value":"光华研究院","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["光华研究院"]},"customers":{"required_absent":[],"required_present":["光华研究院"]},"all":{"required_absent":[],"required_present":["光华研究院"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-050","language":"zh","script":"Han","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=50 message=\"客户提到了\" credential=\"杨明\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":59,"end":65,"value":"杨明","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["杨明"]},"customers":{"required_absent":["杨明"],"required_present":[]},"all":{"required_absent":["杨明"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-050","language":"zh","script":"Han","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=50 message=\"公共机构\" credential=\"光华研究院\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":56,"end":71,"value":"光华研究院","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["光华研究院"]},"customers":{"required_absent":[],"required_present":["光华研究院"]},"all":{"required_absent":[],"required_present":["光华研究院"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-zh-redact-051","language":"zh","script":"Han","shape":"stack-trace","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[51]: 客户提到了杨芳","known_identities":[],"targets":[{"id":"person","kind":"person","start":26,"end":32,"value":"杨芳","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["杨芳"]},"customers":{"required_absent":["杨芳"],"required_present":[]},"all":{"required_absent":["杨芳"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-zh-preserve-051","language":"zh","script":"Han","shape":"stack-trace","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[51]: 公共机构光华出版社","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":38,"value":"光华出版社","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["光华出版社"]},"customers":{"required_absent":[],"required_present":["光华出版社"]},"all":{"required_absent":[],"required_present":["光华出版社"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-zh-redact-052","language":"zh","script":"Han","shape":"code","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_52 := `客户提到了杨伟`","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":36,"value":"杨伟","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["杨伟"]},"customers":{"required_absent":["杨伟"],"required_present":[]},"all":{"required_absent":["杨伟"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, @@ -1312,26 +1312,26 @@ {"id":"broad-language-zh-preserve-053","language":"zh","script":"Han","shape":"signature","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--\n公共机构光华实验室","known_identities":[],"targets":[{"id":"person","kind":"person","start":15,"end":30,"value":"光华实验室","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["光华实验室"]},"customers":{"required_absent":[],"required_present":["光华实验室"]},"all":{"required_absent":[],"required_present":["光华实验室"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-zh-redact-054","language":"zh","script":"Han","shape":"long-thread","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. 客户提到了杨强","known_identities":[],"targets":[{"id":"person","kind":"person","start":495,"end":501,"value":"杨强","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["杨强"]},"customers":{"required_absent":["杨强"],"required_present":[]},"all":{"required_absent":["杨强"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-zh-preserve-054","language":"zh","script":"Han","shape":"long-thread","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. 公共机构光华中心","known_identities":[],"targets":[{"id":"person","kind":"person","start":492,"end":504,"value":"光华中心","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["光华中心"]},"customers":{"required_absent":[],"required_present":["光华中心"]},"all":{"required_absent":[],"required_present":["光华中心"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-zh-redact-055","language":"zh","script":"Han","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=55 --message=\"客户提到了\" --value=杨磊","known_identities":[],"targets":[{"id":"person","kind":"person","start":48,"end":54,"value":"杨磊","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["杨磊"]},"customers":{"required_absent":["杨磊"],"required_present":[]},"all":{"required_absent":["杨磊"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-zh-preserve-055","language":"zh","script":"Han","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=55 --message=\"公共机构\" --value=光华协会","known_identities":[],"targets":[{"id":"person","kind":"person","start":45,"end":57,"value":"光华协会","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["光华协会"]},"customers":{"required_absent":[],"required_present":["光华协会"]},"all":{"required_absent":[],"required_present":["光华协会"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-055","language":"zh","script":"Han","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=55 --message=\"客户提到了\" --credential=\"杨磊\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":54,"end":60,"value":"杨磊","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["杨磊"]},"customers":{"required_absent":["杨磊"],"required_present":[]},"all":{"required_absent":["杨磊"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-055","language":"zh","script":"Han","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=55 --message=\"公共机构\" --credential=\"光华协会\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":51,"end":63,"value":"光华协会","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["光华协会"]},"customers":{"required_absent":[],"required_present":["光华协会"]},"all":{"required_absent":[],"required_present":["光华协会"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-zh-redact-056","language":"zh","script":"Han","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"客户提到了杨洋","known_identities":[],"targets":[{"id":"person","kind":"person","start":15,"end":21,"value":"杨洋","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["杨洋"]},"customers":{"required_absent":["杨洋"],"required_present":[]},"all":{"required_absent":["杨洋"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-zh-preserve-056","language":"zh","script":"Han","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"公共机构光华大学","known_identities":[],"targets":[{"id":"person","kind":"person","start":12,"end":24,"value":"光华大学","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["光华大学"]},"customers":{"required_absent":[],"required_present":["光华大学"]},"all":{"required_absent":[],"required_present":["光华大学"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-zh-redact-057","language":"zh","script":"Han","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_57\":\"客户提到了杨艳\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":36,"value":"杨艳","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["杨艳"]},"customers":{"required_absent":["杨艳"],"required_present":[]},"all":{"required_absent":["杨艳"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-zh-preserve-057","language":"zh","script":"Han","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_57\":\"公共机构光华博物馆\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":27,"end":42,"value":"光华博物馆","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["光华博物馆"]},"customers":{"required_absent":[],"required_present":["光华博物馆"]},"all":{"required_absent":[],"required_present":["光华博物馆"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-zh-redact-058","language":"zh","script":"Han","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_58: 客户提到了杨勇","known_identities":[],"targets":[{"id":"person","kind":"person","start":27,"end":33,"value":"杨勇","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["杨勇"]},"customers":{"required_absent":["杨勇"],"required_present":[]},"all":{"required_absent":["杨勇"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-zh-preserve-058","language":"zh","script":"Han","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_58: 公共机构光华图书馆","known_identities":[],"targets":[{"id":"person","kind":"person","start":24,"end":39,"value":"光华图书馆","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["光华图书馆"]},"customers":{"required_absent":[],"required_present":["光华图书馆"]},"all":{"required_absent":[],"required_present":["光华图书馆"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-058","language":"zh","script":"Han","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_58: \"客户提到了杨勇\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":28,"end":34,"value":"杨勇","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["杨勇"]},"customers":{"required_absent":["杨勇"],"required_present":[]},"all":{"required_absent":["杨勇"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-058","language":"zh","script":"Han","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_58: \"公共机构光华图书馆\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":25,"end":40,"value":"光华图书馆","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["光华图书馆"]},"customers":{"required_absent":[],"required_present":["光华图书馆"]},"all":{"required_absent":[],"required_present":["光华图书馆"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-zh-redact-059","language":"zh","script":"Han","shape":"shell","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_59='客户提到了杨静'","known_identities":[],"targets":[{"id":"person","kind":"person","start":27,"end":33,"value":"杨静","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["杨静"]},"customers":{"required_absent":["杨静"],"required_present":[]},"all":{"required_absent":["杨静"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-zh-preserve-059","language":"zh","script":"Han","shape":"shell","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_59='公共机构光华剧团'","known_identities":[],"targets":[{"id":"person","kind":"person","start":24,"end":36,"value":"光华剧团","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["光华剧团"]},"customers":{"required_absent":[],"required_present":["光华剧团"]},"all":{"required_absent":[],"required_present":["光华剧团"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-zh-redact-060","language":"zh","script":"Han","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/60 ; 客户提到了赵明","known_identities":[],"targets":[{"id":"person","kind":"person","start":48,"end":54,"value":"赵明","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["赵明"]},"customers":{"required_absent":["赵明"],"required_present":[]},"all":{"required_absent":["赵明"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-zh-preserve-060","language":"zh","script":"Han","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/60 ; 公共机构禾木研究院","known_identities":[],"targets":[{"id":"person","kind":"person","start":45,"end":60,"value":"禾木研究院","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["禾木研究院"]},"customers":{"required_absent":[],"required_present":["禾木研究院"]},"all":{"required_absent":[],"required_present":["禾木研究院"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-zh-redact-061","language":"zh","script":"Han","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"**客户提到了赵芳**","known_identities":[],"targets":[{"id":"person","kind":"person","start":17,"end":23,"value":"赵芳","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["赵芳"]},"customers":{"required_absent":["赵芳"],"required_present":[]},"all":{"required_absent":["赵芳"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-zh-preserve-061","language":"zh","script":"Han","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"**公共机构禾木出版社**","known_identities":[],"targets":[{"id":"person","kind":"person","start":14,"end":29,"value":"禾木出版社","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["禾木出版社"]},"customers":{"required_absent":[],"required_present":["禾木出版社"]},"all":{"required_absent":[],"required_present":["禾木出版社"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-zh-redact-062","language":"zh","script":"Han","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003e客户提到了赵伟\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":18,"end":24,"value":"赵伟","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["赵伟"]},"customers":{"required_absent":["赵伟"],"required_present":[]},"all":{"required_absent":["赵伟"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-zh-preserve-062","language":"zh","script":"Han","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003e公共机构禾木基金会\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":15,"end":30,"value":"禾木基金会","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["禾木基金会"]},"customers":{"required_absent":[],"required_present":["禾木基金会"]},"all":{"required_absent":[],"required_present":["禾木基金会"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-060","language":"zh","script":"Han","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/60?credential=赵明\u0026note=%E5%AE%A2%E6%88%B7%E6%8F%90%E5%88%B0%E4%BA%86","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":48,"value":"赵明","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["赵明"]},"customers":{"required_absent":["赵明"],"required_present":[]},"all":{"required_absent":["赵明"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-060","language":"zh","script":"Han","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/60?credential=禾木研究院\u0026note=%E5%85%AC%E5%85%B1%E6%9C%BA%E6%9E%84","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":57,"value":"禾木研究院","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["禾木研究院"]},"customers":{"required_absent":[],"required_present":["禾木研究院"]},"all":{"required_absent":[],"required_present":["禾木研究院"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-061","language":"zh","script":"Han","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"客户提到了`赵芳`","known_identities":[],"targets":[{"id":"person","kind":"person","start":16,"end":22,"value":"赵芳","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["赵芳"]},"customers":{"required_absent":["赵芳"],"required_present":[]},"all":{"required_absent":["赵芳"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-061","language":"zh","script":"Han","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"公共机构`禾木出版社`","known_identities":[],"targets":[{"id":"person","kind":"person","start":13,"end":28,"value":"禾木出版社","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["禾木出版社"]},"customers":{"required_absent":[],"required_present":["禾木出版社"]},"all":{"required_absent":[],"required_present":["禾木出版社"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-062","language":"zh","script":"Han","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003e客户提到了\u003ccode\u003e赵伟\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":24,"end":30,"value":"赵伟","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["赵伟"]},"customers":{"required_absent":["赵伟"],"required_present":[]},"all":{"required_absent":["赵伟"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-062","language":"zh","script":"Han","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003e公共机构\u003ccode\u003e禾木基金会\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":21,"end":36,"value":"禾木基金会","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["禾木基金会"]},"customers":{"required_absent":[],"required_present":["禾木基金会"]},"all":{"required_absent":[],"required_present":["禾木基金会"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-zh-redact-063","language":"zh","script":"Han","shape":"quoted-reply","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e 客户提到了赵秀英","known_identities":[],"targets":[{"id":"person","kind":"person","start":17,"end":26,"value":"赵秀英","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["赵秀英"]},"customers":{"required_absent":["赵秀英"],"required_present":[]},"all":{"required_absent":["赵秀英"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-zh-preserve-063","language":"zh","script":"Han","shape":"quoted-reply","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e 公共机构禾木实验室","known_identities":[],"targets":[{"id":"person","kind":"person","start":14,"end":29,"value":"禾木实验室","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["禾木实验室"]},"customers":{"required_absent":[],"required_present":["禾木实验室"]},"all":{"required_absent":[],"required_present":["禾木实验室"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-zh-redact-064","language":"zh","script":"Han","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=64 message=\"客户提到了\" value=赵强","known_identities":[],"targets":[{"id":"person","kind":"person","start":53,"end":59,"value":"赵强","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["赵强"]},"customers":{"required_absent":["赵强"],"required_present":[]},"all":{"required_absent":["赵强"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-zh-preserve-064","language":"zh","script":"Han","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=64 message=\"公共机构\" value=禾木中心","known_identities":[],"targets":[{"id":"person","kind":"person","start":50,"end":62,"value":"禾木中心","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["禾木中心"]},"customers":{"required_absent":[],"required_present":["禾木中心"]},"all":{"required_absent":[],"required_present":["禾木中心"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-064","language":"zh","script":"Han","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=64 message=\"客户提到了\" credential=\"赵强\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":59,"end":65,"value":"赵强","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["赵强"]},"customers":{"required_absent":["赵强"],"required_present":[]},"all":{"required_absent":["赵强"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-064","language":"zh","script":"Han","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=64 message=\"公共机构\" credential=\"禾木中心\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":56,"end":68,"value":"禾木中心","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["禾木中心"]},"customers":{"required_absent":[],"required_present":["禾木中心"]},"all":{"required_absent":[],"required_present":["禾木中心"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-zh-redact-065","language":"zh","script":"Han","shape":"stack-trace","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[65]: 客户提到了赵磊","known_identities":[],"targets":[{"id":"person","kind":"person","start":26,"end":32,"value":"赵磊","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["赵磊"]},"customers":{"required_absent":["赵磊"],"required_present":[]},"all":{"required_absent":["赵磊"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-zh-preserve-065","language":"zh","script":"Han","shape":"stack-trace","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[65]: 公共机构禾木协会","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":35,"value":"禾木协会","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["禾木协会"]},"customers":{"required_absent":[],"required_present":["禾木协会"]},"all":{"required_absent":[],"required_present":["禾木协会"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-zh-redact-066","language":"zh","script":"Han","shape":"code","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_66 := `客户提到了赵洋`","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":36,"value":"赵洋","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["赵洋"]},"customers":{"required_absent":["赵洋"],"required_present":[]},"all":{"required_absent":["赵洋"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, @@ -1340,26 +1340,26 @@ {"id":"broad-language-zh-preserve-067","language":"zh","script":"Han","shape":"signature","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--\n公共机构禾木博物馆","known_identities":[],"targets":[{"id":"person","kind":"person","start":15,"end":30,"value":"禾木博物馆","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["禾木博物馆"]},"customers":{"required_absent":[],"required_present":["禾木博物馆"]},"all":{"required_absent":[],"required_present":["禾木博物馆"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-zh-redact-068","language":"zh","script":"Han","shape":"long-thread","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. 客户提到了赵勇","known_identities":[],"targets":[{"id":"person","kind":"person","start":495,"end":501,"value":"赵勇","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["赵勇"]},"customers":{"required_absent":["赵勇"],"required_present":[]},"all":{"required_absent":["赵勇"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-zh-preserve-068","language":"zh","script":"Han","shape":"long-thread","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. 公共机构禾木图书馆","known_identities":[],"targets":[{"id":"person","kind":"person","start":492,"end":507,"value":"禾木图书馆","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["禾木图书馆"]},"customers":{"required_absent":[],"required_present":["禾木图书馆"]},"all":{"required_absent":[],"required_present":["禾木图书馆"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-zh-redact-069","language":"zh","script":"Han","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=69 --message=\"客户提到了\" --value=赵静","known_identities":[],"targets":[{"id":"person","kind":"person","start":48,"end":54,"value":"赵静","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["赵静"]},"customers":{"required_absent":["赵静"],"required_present":[]},"all":{"required_absent":["赵静"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-zh-preserve-069","language":"zh","script":"Han","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=69 --message=\"公共机构\" --value=禾木剧团","known_identities":[],"targets":[{"id":"person","kind":"person","start":45,"end":57,"value":"禾木剧团","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["禾木剧团"]},"customers":{"required_absent":[],"required_present":["禾木剧团"]},"all":{"required_absent":[],"required_present":["禾木剧团"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-069","language":"zh","script":"Han","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=69 --message=\"客户提到了\" --credential=\"赵静\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":54,"end":60,"value":"赵静","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["赵静"]},"customers":{"required_absent":["赵静"],"required_present":[]},"all":{"required_absent":["赵静"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-069","language":"zh","script":"Han","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=69 --message=\"公共机构\" --credential=\"禾木剧团\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":51,"end":63,"value":"禾木剧团","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["禾木剧团"]},"customers":{"required_absent":[],"required_present":["禾木剧团"]},"all":{"required_absent":[],"required_present":["禾木剧团"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-zh-redact-070","language":"zh","script":"Han","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"客户提到了黄明","known_identities":[],"targets":[{"id":"person","kind":"person","start":15,"end":21,"value":"黄明","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["黄明"]},"customers":{"required_absent":["黄明"],"required_present":[]},"all":{"required_absent":["黄明"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-zh-preserve-070","language":"zh","script":"Han","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"公共机构金石研究院","known_identities":[],"targets":[{"id":"person","kind":"person","start":12,"end":27,"value":"金石研究院","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["金石研究院"]},"customers":{"required_absent":[],"required_present":["金石研究院"]},"all":{"required_absent":[],"required_present":["金石研究院"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-zh-redact-071","language":"zh","script":"Han","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_71\":\"客户提到了黄芳\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":36,"value":"黄芳","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["黄芳"]},"customers":{"required_absent":["黄芳"],"required_present":[]},"all":{"required_absent":["黄芳"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-zh-preserve-071","language":"zh","script":"Han","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_71\":\"公共机构金石出版社\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":27,"end":42,"value":"金石出版社","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["金石出版社"]},"customers":{"required_absent":[],"required_present":["金石出版社"]},"all":{"required_absent":[],"required_present":["金石出版社"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-zh-redact-072","language":"zh","script":"Han","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_72: 客户提到了黄伟","known_identities":[],"targets":[{"id":"person","kind":"person","start":27,"end":33,"value":"黄伟","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["黄伟"]},"customers":{"required_absent":["黄伟"],"required_present":[]},"all":{"required_absent":["黄伟"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-zh-preserve-072","language":"zh","script":"Han","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_72: 公共机构金石基金会","known_identities":[],"targets":[{"id":"person","kind":"person","start":24,"end":39,"value":"金石基金会","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["金石基金会"]},"customers":{"required_absent":[],"required_present":["金石基金会"]},"all":{"required_absent":[],"required_present":["金石基金会"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-072","language":"zh","script":"Han","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_72: \"客户提到了黄伟\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":28,"end":34,"value":"黄伟","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["黄伟"]},"customers":{"required_absent":["黄伟"],"required_present":[]},"all":{"required_absent":["黄伟"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-072","language":"zh","script":"Han","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_72: \"公共机构金石基金会\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":25,"end":40,"value":"金石基金会","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["金石基金会"]},"customers":{"required_absent":[],"required_present":["金石基金会"]},"all":{"required_absent":[],"required_present":["金石基金会"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-zh-redact-073","language":"zh","script":"Han","shape":"shell","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_73='客户提到了黄秀英'","known_identities":[],"targets":[{"id":"person","kind":"person","start":27,"end":36,"value":"黄秀英","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["黄秀英"]},"customers":{"required_absent":["黄秀英"],"required_present":[]},"all":{"required_absent":["黄秀英"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-zh-preserve-073","language":"zh","script":"Han","shape":"shell","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_73='公共机构金石实验室'","known_identities":[],"targets":[{"id":"person","kind":"person","start":24,"end":39,"value":"金石实验室","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["金石实验室"]},"customers":{"required_absent":[],"required_present":["金石实验室"]},"all":{"required_absent":[],"required_present":["金石实验室"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-zh-redact-074","language":"zh","script":"Han","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/74 ; 客户提到了黄强","known_identities":[],"targets":[{"id":"person","kind":"person","start":48,"end":54,"value":"黄强","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["黄强"]},"customers":{"required_absent":["黄强"],"required_present":[]},"all":{"required_absent":["黄强"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-zh-preserve-074","language":"zh","script":"Han","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/74 ; 公共机构金石中心","known_identities":[],"targets":[{"id":"person","kind":"person","start":45,"end":57,"value":"金石中心","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["金石中心"]},"customers":{"required_absent":[],"required_present":["金石中心"]},"all":{"required_absent":[],"required_present":["金石中心"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-zh-redact-075","language":"zh","script":"Han","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"**客户提到了黄磊**","known_identities":[],"targets":[{"id":"person","kind":"person","start":17,"end":23,"value":"黄磊","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["黄磊"]},"customers":{"required_absent":["黄磊"],"required_present":[]},"all":{"required_absent":["黄磊"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-zh-preserve-075","language":"zh","script":"Han","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"**公共机构金石协会**","known_identities":[],"targets":[{"id":"person","kind":"person","start":14,"end":26,"value":"金石协会","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["金石协会"]},"customers":{"required_absent":[],"required_present":["金石协会"]},"all":{"required_absent":[],"required_present":["金石协会"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-zh-redact-076","language":"zh","script":"Han","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003e客户提到了黄洋\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":18,"end":24,"value":"黄洋","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["黄洋"]},"customers":{"required_absent":["黄洋"],"required_present":[]},"all":{"required_absent":["黄洋"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-zh-preserve-076","language":"zh","script":"Han","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003e公共机构金石大学\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":15,"end":27,"value":"金石大学","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["金石大学"]},"customers":{"required_absent":[],"required_present":["金石大学"]},"all":{"required_absent":[],"required_present":["金石大学"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-074","language":"zh","script":"Han","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/74?credential=黄强\u0026note=%E5%AE%A2%E6%88%B7%E6%8F%90%E5%88%B0%E4%BA%86","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":48,"value":"黄强","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["黄强"]},"customers":{"required_absent":["黄强"],"required_present":[]},"all":{"required_absent":["黄强"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-074","language":"zh","script":"Han","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/74?credential=金石中心\u0026note=%E5%85%AC%E5%85%B1%E6%9C%BA%E6%9E%84","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":54,"value":"金石中心","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["金石中心"]},"customers":{"required_absent":[],"required_present":["金石中心"]},"all":{"required_absent":[],"required_present":["金石中心"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-075","language":"zh","script":"Han","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"客户提到了`黄磊`","known_identities":[],"targets":[{"id":"person","kind":"person","start":16,"end":22,"value":"黄磊","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["黄磊"]},"customers":{"required_absent":["黄磊"],"required_present":[]},"all":{"required_absent":["黄磊"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-075","language":"zh","script":"Han","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"公共机构`金石协会`","known_identities":[],"targets":[{"id":"person","kind":"person","start":13,"end":25,"value":"金石协会","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["金石协会"]},"customers":{"required_absent":[],"required_present":["金石协会"]},"all":{"required_absent":[],"required_present":["金石协会"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-076","language":"zh","script":"Han","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003e客户提到了\u003ccode\u003e黄洋\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":24,"end":30,"value":"黄洋","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["黄洋"]},"customers":{"required_absent":["黄洋"],"required_present":[]},"all":{"required_absent":["黄洋"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-076","language":"zh","script":"Han","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003e公共机构\u003ccode\u003e金石大学\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":21,"end":33,"value":"金石大学","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["金石大学"]},"customers":{"required_absent":[],"required_present":["金石大学"]},"all":{"required_absent":[],"required_present":["金石大学"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-zh-redact-077","language":"zh","script":"Han","shape":"quoted-reply","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e 客户提到了黄艳","known_identities":[],"targets":[{"id":"person","kind":"person","start":17,"end":23,"value":"黄艳","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["黄艳"]},"customers":{"required_absent":["黄艳"],"required_present":[]},"all":{"required_absent":["黄艳"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-zh-preserve-077","language":"zh","script":"Han","shape":"quoted-reply","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e 公共机构金石博物馆","known_identities":[],"targets":[{"id":"person","kind":"person","start":14,"end":29,"value":"金石博物馆","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["金石博物馆"]},"customers":{"required_absent":[],"required_present":["金石博物馆"]},"all":{"required_absent":[],"required_present":["金石博物馆"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-zh-redact-078","language":"zh","script":"Han","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=78 message=\"客户提到了\" value=黄勇","known_identities":[],"targets":[{"id":"person","kind":"person","start":53,"end":59,"value":"黄勇","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["黄勇"]},"customers":{"required_absent":["黄勇"],"required_present":[]},"all":{"required_absent":["黄勇"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-zh-preserve-078","language":"zh","script":"Han","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=78 message=\"公共机构\" value=金石图书馆","known_identities":[],"targets":[{"id":"person","kind":"person","start":50,"end":65,"value":"金石图书馆","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["金石图书馆"]},"customers":{"required_absent":[],"required_present":["金石图书馆"]},"all":{"required_absent":[],"required_present":["金石图书馆"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-078","language":"zh","script":"Han","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=78 message=\"客户提到了\" credential=\"黄勇\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":59,"end":65,"value":"黄勇","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["黄勇"]},"customers":{"required_absent":["黄勇"],"required_present":[]},"all":{"required_absent":["黄勇"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-078","language":"zh","script":"Han","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=78 message=\"公共机构\" credential=\"金石图书馆\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":56,"end":71,"value":"金石图书馆","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["金石图书馆"]},"customers":{"required_absent":[],"required_present":["金石图书馆"]},"all":{"required_absent":[],"required_present":["金石图书馆"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-zh-redact-079","language":"zh","script":"Han","shape":"stack-trace","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[79]: 客户提到了黄静","known_identities":[],"targets":[{"id":"person","kind":"person","start":26,"end":32,"value":"黄静","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["黄静"]},"customers":{"required_absent":["黄静"],"required_present":[]},"all":{"required_absent":["黄静"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-zh-preserve-079","language":"zh","script":"Han","shape":"stack-trace","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[79]: 公共机构金石剧团","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":35,"value":"金石剧团","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["金石剧团"]},"customers":{"required_absent":[],"required_present":["金石剧团"]},"all":{"required_absent":[],"required_present":["金石剧团"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-zh-redact-080","language":"zh","script":"Han","shape":"code","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_80 := `客户提到了周明`","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":36,"value":"周明","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["周明"]},"customers":{"required_absent":["周明"],"required_present":[]},"all":{"required_absent":["周明"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, @@ -1368,26 +1368,26 @@ {"id":"broad-language-zh-preserve-081","language":"zh","script":"Han","shape":"signature","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--\n公共机构蓝桥出版社","known_identities":[],"targets":[{"id":"person","kind":"person","start":15,"end":30,"value":"蓝桥出版社","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["蓝桥出版社"]},"customers":{"required_absent":[],"required_present":["蓝桥出版社"]},"all":{"required_absent":[],"required_present":["蓝桥出版社"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-zh-redact-082","language":"zh","script":"Han","shape":"long-thread","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. 客户提到了周伟","known_identities":[],"targets":[{"id":"person","kind":"person","start":495,"end":501,"value":"周伟","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["周伟"]},"customers":{"required_absent":["周伟"],"required_present":[]},"all":{"required_absent":["周伟"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-zh-preserve-082","language":"zh","script":"Han","shape":"long-thread","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. 公共机构蓝桥基金会","known_identities":[],"targets":[{"id":"person","kind":"person","start":492,"end":507,"value":"蓝桥基金会","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["蓝桥基金会"]},"customers":{"required_absent":[],"required_present":["蓝桥基金会"]},"all":{"required_absent":[],"required_present":["蓝桥基金会"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-zh-redact-083","language":"zh","script":"Han","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=83 --message=\"客户提到了\" --value=周秀英","known_identities":[],"targets":[{"id":"person","kind":"person","start":48,"end":57,"value":"周秀英","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["周秀英"]},"customers":{"required_absent":["周秀英"],"required_present":[]},"all":{"required_absent":["周秀英"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-zh-preserve-083","language":"zh","script":"Han","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=83 --message=\"公共机构\" --value=蓝桥实验室","known_identities":[],"targets":[{"id":"person","kind":"person","start":45,"end":60,"value":"蓝桥实验室","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["蓝桥实验室"]},"customers":{"required_absent":[],"required_present":["蓝桥实验室"]},"all":{"required_absent":[],"required_present":["蓝桥实验室"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-083","language":"zh","script":"Han","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=83 --message=\"客户提到了\" --credential=\"周秀英\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":54,"end":63,"value":"周秀英","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["周秀英"]},"customers":{"required_absent":["周秀英"],"required_present":[]},"all":{"required_absent":["周秀英"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-083","language":"zh","script":"Han","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=83 --message=\"公共机构\" --credential=\"蓝桥实验室\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":51,"end":66,"value":"蓝桥实验室","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["蓝桥实验室"]},"customers":{"required_absent":[],"required_present":["蓝桥实验室"]},"all":{"required_absent":[],"required_present":["蓝桥实验室"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-zh-redact-084","language":"zh","script":"Han","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"客户提到了周强","known_identities":[],"targets":[{"id":"person","kind":"person","start":15,"end":21,"value":"周强","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["周强"]},"customers":{"required_absent":["周强"],"required_present":[]},"all":{"required_absent":["周强"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-zh-preserve-084","language":"zh","script":"Han","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"公共机构蓝桥中心","known_identities":[],"targets":[{"id":"person","kind":"person","start":12,"end":24,"value":"蓝桥中心","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["蓝桥中心"]},"customers":{"required_absent":[],"required_present":["蓝桥中心"]},"all":{"required_absent":[],"required_present":["蓝桥中心"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-zh-redact-085","language":"zh","script":"Han","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_85\":\"客户提到了周磊\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":36,"value":"周磊","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["周磊"]},"customers":{"required_absent":["周磊"],"required_present":[]},"all":{"required_absent":["周磊"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-zh-preserve-085","language":"zh","script":"Han","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_85\":\"公共机构蓝桥协会\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":27,"end":39,"value":"蓝桥协会","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["蓝桥协会"]},"customers":{"required_absent":[],"required_present":["蓝桥协会"]},"all":{"required_absent":[],"required_present":["蓝桥协会"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-zh-redact-086","language":"zh","script":"Han","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_86: 客户提到了周洋","known_identities":[],"targets":[{"id":"person","kind":"person","start":27,"end":33,"value":"周洋","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["周洋"]},"customers":{"required_absent":["周洋"],"required_present":[]},"all":{"required_absent":["周洋"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-zh-preserve-086","language":"zh","script":"Han","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_86: 公共机构蓝桥大学","known_identities":[],"targets":[{"id":"person","kind":"person","start":24,"end":36,"value":"蓝桥大学","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["蓝桥大学"]},"customers":{"required_absent":[],"required_present":["蓝桥大学"]},"all":{"required_absent":[],"required_present":["蓝桥大学"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-086","language":"zh","script":"Han","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_86: \"客户提到了周洋\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":28,"end":34,"value":"周洋","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["周洋"]},"customers":{"required_absent":["周洋"],"required_present":[]},"all":{"required_absent":["周洋"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-086","language":"zh","script":"Han","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_86: \"公共机构蓝桥大学\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":25,"end":37,"value":"蓝桥大学","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["蓝桥大学"]},"customers":{"required_absent":[],"required_present":["蓝桥大学"]},"all":{"required_absent":[],"required_present":["蓝桥大学"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-zh-redact-087","language":"zh","script":"Han","shape":"shell","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_87='客户提到了周艳'","known_identities":[],"targets":[{"id":"person","kind":"person","start":27,"end":33,"value":"周艳","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["周艳"]},"customers":{"required_absent":["周艳"],"required_present":[]},"all":{"required_absent":["周艳"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-zh-preserve-087","language":"zh","script":"Han","shape":"shell","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_87='公共机构蓝桥博物馆'","known_identities":[],"targets":[{"id":"person","kind":"person","start":24,"end":39,"value":"蓝桥博物馆","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["蓝桥博物馆"]},"customers":{"required_absent":[],"required_present":["蓝桥博物馆"]},"all":{"required_absent":[],"required_present":["蓝桥博物馆"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-zh-redact-088","language":"zh","script":"Han","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/88 ; 客户提到了周勇","known_identities":[],"targets":[{"id":"person","kind":"person","start":48,"end":54,"value":"周勇","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["周勇"]},"customers":{"required_absent":["周勇"],"required_present":[]},"all":{"required_absent":["周勇"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-zh-preserve-088","language":"zh","script":"Han","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/88 ; 公共机构蓝桥图书馆","known_identities":[],"targets":[{"id":"person","kind":"person","start":45,"end":60,"value":"蓝桥图书馆","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["蓝桥图书馆"]},"customers":{"required_absent":[],"required_present":["蓝桥图书馆"]},"all":{"required_absent":[],"required_present":["蓝桥图书馆"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-zh-redact-089","language":"zh","script":"Han","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"**客户提到了周静**","known_identities":[],"targets":[{"id":"person","kind":"person","start":17,"end":23,"value":"周静","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["周静"]},"customers":{"required_absent":["周静"],"required_present":[]},"all":{"required_absent":["周静"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-zh-preserve-089","language":"zh","script":"Han","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"**公共机构蓝桥剧团**","known_identities":[],"targets":[{"id":"person","kind":"person","start":14,"end":26,"value":"蓝桥剧团","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["蓝桥剧团"]},"customers":{"required_absent":[],"required_present":["蓝桥剧团"]},"all":{"required_absent":[],"required_present":["蓝桥剧团"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-zh-redact-090","language":"zh","script":"Han","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003e客户提到了吴明\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":18,"end":24,"value":"吴明","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["吴明"]},"customers":{"required_absent":["吴明"],"required_present":[]},"all":{"required_absent":["吴明"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-zh-preserve-090","language":"zh","script":"Han","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003e公共机构明川研究院\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":15,"end":30,"value":"明川研究院","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["明川研究院"]},"customers":{"required_absent":[],"required_present":["明川研究院"]},"all":{"required_absent":[],"required_present":["明川研究院"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-088","language":"zh","script":"Han","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/88?credential=周勇\u0026note=%E5%AE%A2%E6%88%B7%E6%8F%90%E5%88%B0%E4%BA%86","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":48,"value":"周勇","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["周勇"]},"customers":{"required_absent":["周勇"],"required_present":[]},"all":{"required_absent":["周勇"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-088","language":"zh","script":"Han","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/88?credential=蓝桥图书馆\u0026note=%E5%85%AC%E5%85%B1%E6%9C%BA%E6%9E%84","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":57,"value":"蓝桥图书馆","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["蓝桥图书馆"]},"customers":{"required_absent":[],"required_present":["蓝桥图书馆"]},"all":{"required_absent":[],"required_present":["蓝桥图书馆"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-089","language":"zh","script":"Han","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"客户提到了`周静`","known_identities":[],"targets":[{"id":"person","kind":"person","start":16,"end":22,"value":"周静","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["周静"]},"customers":{"required_absent":["周静"],"required_present":[]},"all":{"required_absent":["周静"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-089","language":"zh","script":"Han","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"公共机构`蓝桥剧团`","known_identities":[],"targets":[{"id":"person","kind":"person","start":13,"end":25,"value":"蓝桥剧团","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["蓝桥剧团"]},"customers":{"required_absent":[],"required_present":["蓝桥剧团"]},"all":{"required_absent":[],"required_present":["蓝桥剧团"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-090","language":"zh","script":"Han","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003e客户提到了\u003ccode\u003e吴明\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":24,"end":30,"value":"吴明","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["吴明"]},"customers":{"required_absent":["吴明"],"required_present":[]},"all":{"required_absent":["吴明"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-090","language":"zh","script":"Han","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003e公共机构\u003ccode\u003e明川研究院\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":21,"end":36,"value":"明川研究院","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["明川研究院"]},"customers":{"required_absent":[],"required_present":["明川研究院"]},"all":{"required_absent":[],"required_present":["明川研究院"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-zh-redact-091","language":"zh","script":"Han","shape":"quoted-reply","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e 客户提到了吴芳","known_identities":[],"targets":[{"id":"person","kind":"person","start":17,"end":23,"value":"吴芳","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["吴芳"]},"customers":{"required_absent":["吴芳"],"required_present":[]},"all":{"required_absent":["吴芳"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-zh-preserve-091","language":"zh","script":"Han","shape":"quoted-reply","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e 公共机构明川出版社","known_identities":[],"targets":[{"id":"person","kind":"person","start":14,"end":29,"value":"明川出版社","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["明川出版社"]},"customers":{"required_absent":[],"required_present":["明川出版社"]},"all":{"required_absent":[],"required_present":["明川出版社"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-zh-redact-092","language":"zh","script":"Han","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=92 message=\"客户提到了\" value=吴伟","known_identities":[],"targets":[{"id":"person","kind":"person","start":53,"end":59,"value":"吴伟","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["吴伟"]},"customers":{"required_absent":["吴伟"],"required_present":[]},"all":{"required_absent":["吴伟"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-zh-preserve-092","language":"zh","script":"Han","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=92 message=\"公共机构\" value=明川基金会","known_identities":[],"targets":[{"id":"person","kind":"person","start":50,"end":65,"value":"明川基金会","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["明川基金会"]},"customers":{"required_absent":[],"required_present":["明川基金会"]},"all":{"required_absent":[],"required_present":["明川基金会"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-092","language":"zh","script":"Han","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=92 message=\"客户提到了\" credential=\"吴伟\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":59,"end":65,"value":"吴伟","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["吴伟"]},"customers":{"required_absent":["吴伟"],"required_present":[]},"all":{"required_absent":["吴伟"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-092","language":"zh","script":"Han","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=92 message=\"公共机构\" credential=\"明川基金会\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":56,"end":71,"value":"明川基金会","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["明川基金会"]},"customers":{"required_absent":[],"required_present":["明川基金会"]},"all":{"required_absent":[],"required_present":["明川基金会"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-zh-redact-093","language":"zh","script":"Han","shape":"stack-trace","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[93]: 客户提到了吴秀英","known_identities":[],"targets":[{"id":"person","kind":"person","start":26,"end":35,"value":"吴秀英","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["吴秀英"]},"customers":{"required_absent":["吴秀英"],"required_present":[]},"all":{"required_absent":["吴秀英"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-zh-preserve-093","language":"zh","script":"Han","shape":"stack-trace","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[93]: 公共机构明川实验室","known_identities":[],"targets":[{"id":"person","kind":"person","start":23,"end":38,"value":"明川实验室","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["明川实验室"]},"customers":{"required_absent":[],"required_present":["明川实验室"]},"all":{"required_absent":[],"required_present":["明川实验室"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-zh-redact-094","language":"zh","script":"Han","shape":"code","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_94 := `客户提到了吴强`","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":36,"value":"吴强","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["吴强"]},"customers":{"required_absent":["吴强"],"required_present":[]},"all":{"required_absent":["吴强"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, @@ -1396,8 +1396,8 @@ {"id":"broad-language-zh-preserve-095","language":"zh","script":"Han","shape":"signature","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--\n公共机构明川协会","known_identities":[],"targets":[{"id":"person","kind":"person","start":15,"end":27,"value":"明川协会","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["明川协会"]},"customers":{"required_absent":[],"required_present":["明川协会"]},"all":{"required_absent":[],"required_present":["明川协会"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-zh-redact-096","language":"zh","script":"Han","shape":"long-thread","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. 客户提到了吴洋","known_identities":[],"targets":[{"id":"person","kind":"person","start":495,"end":501,"value":"吴洋","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["吴洋"]},"customers":{"required_absent":["吴洋"],"required_present":[]},"all":{"required_absent":["吴洋"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-zh-preserve-096","language":"zh","script":"Han","shape":"long-thread","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. 公共机构明川大学","known_identities":[],"targets":[{"id":"person","kind":"person","start":492,"end":504,"value":"明川大学","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["明川大学"]},"customers":{"required_absent":[],"required_present":["明川大学"]},"all":{"required_absent":[],"required_present":["明川大学"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-zh-redact-097","language":"zh","script":"Han","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=97 --message=\"客户提到了\" --value=吴艳","known_identities":[],"targets":[{"id":"person","kind":"person","start":48,"end":54,"value":"吴艳","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["吴艳"]},"customers":{"required_absent":["吴艳"],"required_present":[]},"all":{"required_absent":["吴艳"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-zh-preserve-097","language":"zh","script":"Han","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=97 --message=\"公共机构\" --value=明川博物馆","known_identities":[],"targets":[{"id":"person","kind":"person","start":45,"end":60,"value":"明川博物馆","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["明川博物馆"]},"customers":{"required_absent":[],"required_present":["明川博物馆"]},"all":{"required_absent":[],"required_present":["明川博物馆"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-redact-097","language":"zh","script":"Han","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=97 --message=\"客户提到了\" --credential=\"吴艳\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":54,"end":60,"value":"吴艳","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["吴艳"]},"customers":{"required_absent":["吴艳"],"required_present":[]},"all":{"required_absent":["吴艳"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-zh-preserve-097","language":"zh","script":"Han","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=97 --message=\"公共机构\" --credential=\"明川博物馆\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":51,"end":66,"value":"明川博物馆","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["明川博物馆"]},"customers":{"required_absent":[],"required_present":["明川博物馆"]},"all":{"required_absent":[],"required_present":["明川博物馆"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-zh-redact-098","language":"zh","script":"Han","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"客户提到了吴勇","known_identities":[],"targets":[{"id":"person","kind":"person","start":15,"end":21,"value":"吴勇","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["吴勇"]},"customers":{"required_absent":["吴勇"],"required_present":[]},"all":{"required_absent":["吴勇"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-zh-preserve-098","language":"zh","script":"Han","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"公共机构明川图书馆","known_identities":[],"targets":[{"id":"person","kind":"person","start":12,"end":27,"value":"明川图书馆","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["明川图书馆"]},"customers":{"required_absent":[],"required_present":["明川图书馆"]},"all":{"required_absent":[],"required_present":["明川图书馆"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-zh-redact-099","language":"zh","script":"Han","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_99\":\"客户提到了吴静\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":36,"value":"吴静","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["吴静"]},"customers":{"required_absent":["吴静"],"required_present":[]},"all":{"required_absent":["吴静"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, @@ -1406,20 +1406,20 @@ {"id":"broad-language-ja-preserve-000","language":"ja","script":"Hiragana","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"公開組織はあさひけんきゅうじょ","known_identities":[],"targets":[{"id":"person","kind":"person","start":15,"end":45,"value":"あさひけんきゅうじょ","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["あさひけんきゅうじょ"]},"customers":{"required_absent":[],"required_present":["あさひけんきゅうじょ"]},"all":{"required_absent":[],"required_present":["あさひけんきゅうじょ"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ja-redact-001","language":"ja","script":"Hiragana","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_1\":\"顧客が話した相手はあおいいとう\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":41,"end":59,"value":"あおいいとう","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["あおいいとう"]},"customers":{"required_absent":["あおいいとう"],"required_present":[]},"all":{"required_absent":["あおいいとう"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ja-preserve-001","language":"ja","script":"Hiragana","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_1\":\"公開組織はあさひしゅっぱん\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":29,"end":53,"value":"あさひしゅっぱん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["あさひしゅっぱん"]},"customers":{"required_absent":[],"required_present":["あさひしゅっぱん"]},"all":{"required_absent":[],"required_present":["あさひしゅっぱん"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ja-redact-002","language":"ja","script":"Hiragana","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_2: 顧客が話した相手はあおいうえだ","known_identities":[],"targets":[{"id":"person","kind":"person","start":38,"end":56,"value":"あおいうえだ","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["あおいうえだ"]},"customers":{"required_absent":["あおいうえだ"],"required_present":[]},"all":{"required_absent":["あおいうえだ"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ja-preserve-002","language":"ja","script":"Hiragana","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_2: 公開組織はあさひざいだん","known_identities":[],"targets":[{"id":"person","kind":"person","start":26,"end":47,"value":"あさひざいだん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["あさひざいだん"]},"customers":{"required_absent":[],"required_present":["あさひざいだん"]},"all":{"required_absent":[],"required_present":["あさひざいだん"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-002","language":"ja","script":"Hiragana","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_2: \"顧客が話した相手はあおいうえだ\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":39,"end":57,"value":"あおいうえだ","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["あおいうえだ"]},"customers":{"required_absent":["あおいうえだ"],"required_present":[]},"all":{"required_absent":["あおいうえだ"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-002","language":"ja","script":"Hiragana","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_2: \"公開組織はあさひざいだん\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":27,"end":48,"value":"あさひざいだん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["あさひざいだん"]},"customers":{"required_absent":[],"required_present":["あさひざいだん"]},"all":{"required_absent":[],"required_present":["あさひざいだん"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ja-redact-003","language":"ja","script":"Hiragana","shape":"shell","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_3='顧客が話した相手はあおいえんどう'","known_identities":[],"targets":[{"id":"person","kind":"person","start":38,"end":59,"value":"あおいえんどう","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["あおいえんどう"]},"customers":{"required_absent":["あおいえんどう"],"required_present":[]},"all":{"required_absent":["あおいえんどう"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ja-preserve-003","language":"ja","script":"Hiragana","shape":"shell","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_3='公開組織はあさひこうぼう'","known_identities":[],"targets":[{"id":"person","kind":"person","start":26,"end":47,"value":"あさひこうぼう","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["あさひこうぼう"]},"customers":{"required_absent":[],"required_present":["あさひこうぼう"]},"all":{"required_absent":[],"required_present":["あさひこうぼう"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ja-redact-004","language":"ja","script":"Hiragana","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/4 ; 顧客が話した相手はあおいおおた","known_identities":[],"targets":[{"id":"person","kind":"person","start":59,"end":77,"value":"あおいおおた","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["あおいおおた"]},"customers":{"required_absent":["あおいおおた"],"required_present":[]},"all":{"required_absent":["あおいおおた"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ja-preserve-004","language":"ja","script":"Hiragana","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/4 ; 公開組織はあさひがくえん","known_identities":[],"targets":[{"id":"person","kind":"person","start":47,"end":68,"value":"あさひがくえん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["あさひがくえん"]},"customers":{"required_absent":[],"required_present":["あさひがくえん"]},"all":{"required_absent":[],"required_present":["あさひがくえん"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ja-redact-005","language":"ja","script":"Hiragana","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"**顧客が話した相手はあおいかとう**","known_identities":[],"targets":[{"id":"person","kind":"person","start":29,"end":47,"value":"あおいかとう","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["あおいかとう"]},"customers":{"required_absent":["あおいかとう"],"required_present":[]},"all":{"required_absent":["あおいかとう"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ja-preserve-005","language":"ja","script":"Hiragana","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"**公開組織はあさひぶんかかい**","known_identities":[],"targets":[{"id":"person","kind":"person","start":17,"end":41,"value":"あさひぶんかかい","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["あさひぶんかかい"]},"customers":{"required_absent":[],"required_present":["あさひぶんかかい"]},"all":{"required_absent":[],"required_present":["あさひぶんかかい"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ja-redact-006","language":"ja","script":"Hiragana","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003e顧客が話した相手はあおいきむら\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":48,"value":"あおいきむら","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["あおいきむら"]},"customers":{"required_absent":["あおいきむら"],"required_present":[]},"all":{"required_absent":["あおいきむら"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ja-preserve-006","language":"ja","script":"Hiragana","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003e公開組織はあさひとしょかん\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":18,"end":42,"value":"あさひとしょかん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["あさひとしょかん"]},"customers":{"required_absent":[],"required_present":["あさひとしょかん"]},"all":{"required_absent":[],"required_present":["あさひとしょかん"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-004","language":"ja","script":"Hiragana","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/4?credential=あおいおおた\u0026note=%E9%A1%A7%E5%AE%A2%E3%81%8C%E8%A9%B1%E3%81%97%E3%81%9F%E7%9B%B8%E6%89%8B%E3%81%AF","known_identities":[],"targets":[{"id":"person","kind":"person","start":41,"end":59,"value":"あおいおおた","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["あおいおおた"]},"customers":{"required_absent":["あおいおおた"],"required_present":[]},"all":{"required_absent":["あおいおおた"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-004","language":"ja","script":"Hiragana","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/4?credential=あさひがくえん\u0026note=%E5%85%AC%E9%96%8B%E7%B5%84%E7%B9%94%E3%81%AF","known_identities":[],"targets":[{"id":"person","kind":"person","start":41,"end":62,"value":"あさひがくえん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["あさひがくえん"]},"customers":{"required_absent":[],"required_present":["あさひがくえん"]},"all":{"required_absent":[],"required_present":["あさひがくえん"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-005","language":"ja","script":"Hiragana","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"顧客が話した相手は`あおいかとう`","known_identities":[],"targets":[{"id":"person","kind":"person","start":28,"end":46,"value":"あおいかとう","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["あおいかとう"]},"customers":{"required_absent":["あおいかとう"],"required_present":[]},"all":{"required_absent":["あおいかとう"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-005","language":"ja","script":"Hiragana","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"公開組織は`あさひぶんかかい`","known_identities":[],"targets":[{"id":"person","kind":"person","start":16,"end":40,"value":"あさひぶんかかい","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["あさひぶんかかい"]},"customers":{"required_absent":[],"required_present":["あさひぶんかかい"]},"all":{"required_absent":[],"required_present":["あさひぶんかかい"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-006","language":"ja","script":"Hiragana","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003e顧客が話した相手は\u003ccode\u003eあおいきむら\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":36,"end":54,"value":"あおいきむら","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["あおいきむら"]},"customers":{"required_absent":["あおいきむら"],"required_present":[]},"all":{"required_absent":["あおいきむら"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-006","language":"ja","script":"Hiragana","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003e公開組織は\u003ccode\u003eあさひとしょかん\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":24,"end":48,"value":"あさひとしょかん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["あさひとしょかん"]},"customers":{"required_absent":[],"required_present":["あさひとしょかん"]},"all":{"required_absent":[],"required_present":["あさひとしょかん"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ja-redact-007","language":"ja","script":"Hiragana","shape":"quoted-reply","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e 顧客が話した相手はあおいこばやし","known_identities":[],"targets":[{"id":"person","kind":"person","start":29,"end":50,"value":"あおいこばやし","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["あおいこばやし"]},"customers":{"required_absent":["あおいこばやし"],"required_present":[]},"all":{"required_absent":["あおいこばやし"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ja-preserve-007","language":"ja","script":"Hiragana","shape":"quoted-reply","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e 公開組織はあさひげきだん","known_identities":[],"targets":[{"id":"person","kind":"person","start":17,"end":38,"value":"あさひげきだん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["あさひげきだん"]},"customers":{"required_absent":[],"required_present":["あさひげきだん"]},"all":{"required_absent":[],"required_present":["あさひげきだん"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ja-redact-008","language":"ja","script":"Hiragana","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=8 message=\"顧客が話した相手は\" value=あおいさとう","known_identities":[],"targets":[{"id":"person","kind":"person","start":64,"end":82,"value":"あおいさとう","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["あおいさとう"]},"customers":{"required_absent":["あおいさとう"],"required_present":[]},"all":{"required_absent":["あおいさとう"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ja-preserve-008","language":"ja","script":"Hiragana","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=8 message=\"公開組織は\" value=あさひはくぶつかん","known_identities":[],"targets":[{"id":"person","kind":"person","start":52,"end":79,"value":"あさひはくぶつかん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["あさひはくぶつかん"]},"customers":{"required_absent":[],"required_present":["あさひはくぶつかん"]},"all":{"required_absent":[],"required_present":["あさひはくぶつかん"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-008","language":"ja","script":"Hiragana","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=8 message=\"顧客が話した相手は\" credential=\"あおいさとう\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":70,"end":88,"value":"あおいさとう","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["あおいさとう"]},"customers":{"required_absent":["あおいさとう"],"required_present":[]},"all":{"required_absent":["あおいさとう"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-008","language":"ja","script":"Hiragana","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=8 message=\"公開組織は\" credential=\"あさひはくぶつかん\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":58,"end":85,"value":"あさひはくぶつかん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["あさひはくぶつかん"]},"customers":{"required_absent":[],"required_present":["あさひはくぶつかん"]},"all":{"required_absent":[],"required_present":["あさひはくぶつかん"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ja-redact-009","language":"ja","script":"Hiragana","shape":"stack-trace","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[9]: 顧客が話した相手はあおいたなか","known_identities":[],"targets":[{"id":"person","kind":"person","start":37,"end":55,"value":"あおいたなか","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["あおいたなか"]},"customers":{"required_absent":["あおいたなか"],"required_present":[]},"all":{"required_absent":["あおいたなか"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ja-preserve-009","language":"ja","script":"Hiragana","shape":"stack-trace","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[9]: 公開組織はあさひきょうかい","known_identities":[],"targets":[{"id":"person","kind":"person","start":25,"end":49,"value":"あさひきょうかい","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["あさひきょうかい"]},"customers":{"required_absent":[],"required_present":["あさひきょうかい"]},"all":{"required_absent":[],"required_present":["あさひきょうかい"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ja-redact-010","language":"ja","script":"Hiragana","shape":"code","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_10 := `顧客が話した相手はかえであらい`","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":60,"value":"かえであらい","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["かえであらい"]},"customers":{"required_absent":["かえであらい"],"required_present":[]},"all":{"required_absent":["かえであらい"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, @@ -1428,26 +1428,26 @@ {"id":"broad-language-ja-preserve-011","language":"ja","script":"Hiragana","shape":"signature","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--\n公開組織はいずみしゅっぱん","known_identities":[],"targets":[{"id":"person","kind":"person","start":18,"end":42,"value":"いずみしゅっぱん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["いずみしゅっぱん"]},"customers":{"required_absent":[],"required_present":["いずみしゅっぱん"]},"all":{"required_absent":[],"required_present":["いずみしゅっぱん"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ja-redact-012","language":"ja","script":"Hiragana","shape":"long-thread","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. 顧客が話した相手はかえでうえだ","known_identities":[],"targets":[{"id":"person","kind":"person","start":507,"end":525,"value":"かえでうえだ","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["かえでうえだ"]},"customers":{"required_absent":["かえでうえだ"],"required_present":[]},"all":{"required_absent":["かえでうえだ"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ja-preserve-012","language":"ja","script":"Hiragana","shape":"long-thread","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. 公開組織はいずみざいだん","known_identities":[],"targets":[{"id":"person","kind":"person","start":495,"end":516,"value":"いずみざいだん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["いずみざいだん"]},"customers":{"required_absent":[],"required_present":["いずみざいだん"]},"all":{"required_absent":[],"required_present":["いずみざいだん"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ja-redact-013","language":"ja","script":"Hiragana","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=13 --message=\"顧客が話した相手は\" --value=かえでえんどう","known_identities":[],"targets":[{"id":"person","kind":"person","start":60,"end":81,"value":"かえでえんどう","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["かえでえんどう"]},"customers":{"required_absent":["かえでえんどう"],"required_present":[]},"all":{"required_absent":["かえでえんどう"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ja-preserve-013","language":"ja","script":"Hiragana","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=13 --message=\"公開組織は\" --value=いずみこうぼう","known_identities":[],"targets":[{"id":"person","kind":"person","start":48,"end":69,"value":"いずみこうぼう","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["いずみこうぼう"]},"customers":{"required_absent":[],"required_present":["いずみこうぼう"]},"all":{"required_absent":[],"required_present":["いずみこうぼう"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-013","language":"ja","script":"Hiragana","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=13 --message=\"顧客が話した相手は\" --credential=\"かえでえんどう\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":66,"end":87,"value":"かえでえんどう","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["かえでえんどう"]},"customers":{"required_absent":["かえでえんどう"],"required_present":[]},"all":{"required_absent":["かえでえんどう"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-013","language":"ja","script":"Hiragana","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=13 --message=\"公開組織は\" --credential=\"いずみこうぼう\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":54,"end":75,"value":"いずみこうぼう","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["いずみこうぼう"]},"customers":{"required_absent":[],"required_present":["いずみこうぼう"]},"all":{"required_absent":[],"required_present":["いずみこうぼう"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ja-redact-014","language":"ja","script":"Hiragana","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"顧客が話した相手はかえでおおた","known_identities":[],"targets":[{"id":"person","kind":"person","start":27,"end":45,"value":"かえでおおた","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["かえでおおた"]},"customers":{"required_absent":["かえでおおた"],"required_present":[]},"all":{"required_absent":["かえでおおた"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ja-preserve-014","language":"ja","script":"Hiragana","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"公開組織はいずみがくえん","known_identities":[],"targets":[{"id":"person","kind":"person","start":15,"end":36,"value":"いずみがくえん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["いずみがくえん"]},"customers":{"required_absent":[],"required_present":["いずみがくえん"]},"all":{"required_absent":[],"required_present":["いずみがくえん"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ja-redact-015","language":"ja","script":"Hiragana","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_15\":\"顧客が話した相手はかえでかとう\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":60,"value":"かえでかとう","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["かえでかとう"]},"customers":{"required_absent":["かえでかとう"],"required_present":[]},"all":{"required_absent":["かえでかとう"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ja-preserve-015","language":"ja","script":"Hiragana","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_15\":\"公開組織はいずみぶんかかい\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":54,"value":"いずみぶんかかい","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["いずみぶんかかい"]},"customers":{"required_absent":[],"required_present":["いずみぶんかかい"]},"all":{"required_absent":[],"required_present":["いずみぶんかかい"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ja-redact-016","language":"ja","script":"Hiragana","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_16: 顧客が話した相手はかえできむら","known_identities":[],"targets":[{"id":"person","kind":"person","start":39,"end":57,"value":"かえできむら","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["かえできむら"]},"customers":{"required_absent":["かえできむら"],"required_present":[]},"all":{"required_absent":["かえできむら"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ja-preserve-016","language":"ja","script":"Hiragana","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_16: 公開組織はいずみとしょかん","known_identities":[],"targets":[{"id":"person","kind":"person","start":27,"end":51,"value":"いずみとしょかん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["いずみとしょかん"]},"customers":{"required_absent":[],"required_present":["いずみとしょかん"]},"all":{"required_absent":[],"required_present":["いずみとしょかん"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-016","language":"ja","script":"Hiragana","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_16: \"顧客が話した相手はかえできむら\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":40,"end":58,"value":"かえできむら","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["かえできむら"]},"customers":{"required_absent":["かえできむら"],"required_present":[]},"all":{"required_absent":["かえできむら"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-016","language":"ja","script":"Hiragana","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_16: \"公開組織はいずみとしょかん\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":28,"end":52,"value":"いずみとしょかん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["いずみとしょかん"]},"customers":{"required_absent":[],"required_present":["いずみとしょかん"]},"all":{"required_absent":[],"required_present":["いずみとしょかん"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ja-redact-017","language":"ja","script":"Hiragana","shape":"shell","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_17='顧客が話した相手はかえでこばやし'","known_identities":[],"targets":[{"id":"person","kind":"person","start":39,"end":60,"value":"かえでこばやし","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["かえでこばやし"]},"customers":{"required_absent":["かえでこばやし"],"required_present":[]},"all":{"required_absent":["かえでこばやし"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ja-preserve-017","language":"ja","script":"Hiragana","shape":"shell","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_17='公開組織はいずみげきだん'","known_identities":[],"targets":[{"id":"person","kind":"person","start":27,"end":48,"value":"いずみげきだん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["いずみげきだん"]},"customers":{"required_absent":[],"required_present":["いずみげきだん"]},"all":{"required_absent":[],"required_present":["いずみげきだん"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ja-redact-018","language":"ja","script":"Hiragana","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/18 ; 顧客が話した相手はかえでさとう","known_identities":[],"targets":[{"id":"person","kind":"person","start":60,"end":78,"value":"かえでさとう","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["かえでさとう"]},"customers":{"required_absent":["かえでさとう"],"required_present":[]},"all":{"required_absent":["かえでさとう"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ja-preserve-018","language":"ja","script":"Hiragana","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/18 ; 公開組織はいずみはくぶつかん","known_identities":[],"targets":[{"id":"person","kind":"person","start":48,"end":75,"value":"いずみはくぶつかん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["いずみはくぶつかん"]},"customers":{"required_absent":[],"required_present":["いずみはくぶつかん"]},"all":{"required_absent":[],"required_present":["いずみはくぶつかん"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ja-redact-019","language":"ja","script":"Hiragana","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"**顧客が話した相手はかえでたなか**","known_identities":[],"targets":[{"id":"person","kind":"person","start":29,"end":47,"value":"かえでたなか","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["かえでたなか"]},"customers":{"required_absent":["かえでたなか"],"required_present":[]},"all":{"required_absent":["かえでたなか"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ja-preserve-019","language":"ja","script":"Hiragana","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"**公開組織はいずみきょうかい**","known_identities":[],"targets":[{"id":"person","kind":"person","start":17,"end":41,"value":"いずみきょうかい","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["いずみきょうかい"]},"customers":{"required_absent":[],"required_present":["いずみきょうかい"]},"all":{"required_absent":[],"required_present":["いずみきょうかい"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ja-redact-020","language":"ja","script":"Hiragana","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003e顧客が話した相手はさくらあらい\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":48,"value":"さくらあらい","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["さくらあらい"]},"customers":{"required_absent":["さくらあらい"],"required_present":[]},"all":{"required_absent":["さくらあらい"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ja-preserve-020","language":"ja","script":"Hiragana","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003e公開組織はうみけんきゅうじょ\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":18,"end":45,"value":"うみけんきゅうじょ","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["うみけんきゅうじょ"]},"customers":{"required_absent":[],"required_present":["うみけんきゅうじょ"]},"all":{"required_absent":[],"required_present":["うみけんきゅうじょ"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-018","language":"ja","script":"Hiragana","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/18?credential=かえでさとう\u0026note=%E9%A1%A7%E5%AE%A2%E3%81%8C%E8%A9%B1%E3%81%97%E3%81%9F%E7%9B%B8%E6%89%8B%E3%81%AF","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":60,"value":"かえでさとう","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["かえでさとう"]},"customers":{"required_absent":["かえでさとう"],"required_present":[]},"all":{"required_absent":["かえでさとう"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-018","language":"ja","script":"Hiragana","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/18?credential=いずみはくぶつかん\u0026note=%E5%85%AC%E9%96%8B%E7%B5%84%E7%B9%94%E3%81%AF","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":69,"value":"いずみはくぶつかん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["いずみはくぶつかん"]},"customers":{"required_absent":[],"required_present":["いずみはくぶつかん"]},"all":{"required_absent":[],"required_present":["いずみはくぶつかん"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-019","language":"ja","script":"Hiragana","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"顧客が話した相手は`かえでたなか`","known_identities":[],"targets":[{"id":"person","kind":"person","start":28,"end":46,"value":"かえでたなか","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["かえでたなか"]},"customers":{"required_absent":["かえでたなか"],"required_present":[]},"all":{"required_absent":["かえでたなか"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-019","language":"ja","script":"Hiragana","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"公開組織は`いずみきょうかい`","known_identities":[],"targets":[{"id":"person","kind":"person","start":16,"end":40,"value":"いずみきょうかい","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["いずみきょうかい"]},"customers":{"required_absent":[],"required_present":["いずみきょうかい"]},"all":{"required_absent":[],"required_present":["いずみきょうかい"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-020","language":"ja","script":"Hiragana","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003e顧客が話した相手は\u003ccode\u003eさくらあらい\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":36,"end":54,"value":"さくらあらい","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["さくらあらい"]},"customers":{"required_absent":["さくらあらい"],"required_present":[]},"all":{"required_absent":["さくらあらい"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-020","language":"ja","script":"Hiragana","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003e公開組織は\u003ccode\u003eうみけんきゅうじょ\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":24,"end":51,"value":"うみけんきゅうじょ","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["うみけんきゅうじょ"]},"customers":{"required_absent":[],"required_present":["うみけんきゅうじょ"]},"all":{"required_absent":[],"required_present":["うみけんきゅうじょ"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ja-redact-021","language":"ja","script":"Hiragana","shape":"quoted-reply","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e 顧客が話した相手はさくらいとう","known_identities":[],"targets":[{"id":"person","kind":"person","start":29,"end":47,"value":"さくらいとう","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["さくらいとう"]},"customers":{"required_absent":["さくらいとう"],"required_present":[]},"all":{"required_absent":["さくらいとう"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ja-preserve-021","language":"ja","script":"Hiragana","shape":"quoted-reply","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e 公開組織はうみしゅっぱん","known_identities":[],"targets":[{"id":"person","kind":"person","start":17,"end":38,"value":"うみしゅっぱん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["うみしゅっぱん"]},"customers":{"required_absent":[],"required_present":["うみしゅっぱん"]},"all":{"required_absent":[],"required_present":["うみしゅっぱん"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ja-redact-022","language":"ja","script":"Hiragana","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=22 message=\"顧客が話した相手は\" value=さくらうえだ","known_identities":[],"targets":[{"id":"person","kind":"person","start":65,"end":83,"value":"さくらうえだ","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["さくらうえだ"]},"customers":{"required_absent":["さくらうえだ"],"required_present":[]},"all":{"required_absent":["さくらうえだ"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ja-preserve-022","language":"ja","script":"Hiragana","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=22 message=\"公開組織は\" value=うみざいだん","known_identities":[],"targets":[{"id":"person","kind":"person","start":53,"end":71,"value":"うみざいだん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["うみざいだん"]},"customers":{"required_absent":[],"required_present":["うみざいだん"]},"all":{"required_absent":[],"required_present":["うみざいだん"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-022","language":"ja","script":"Hiragana","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=22 message=\"顧客が話した相手は\" credential=\"さくらうえだ\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":71,"end":89,"value":"さくらうえだ","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["さくらうえだ"]},"customers":{"required_absent":["さくらうえだ"],"required_present":[]},"all":{"required_absent":["さくらうえだ"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-022","language":"ja","script":"Hiragana","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=22 message=\"公開組織は\" credential=\"うみざいだん\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":59,"end":77,"value":"うみざいだん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["うみざいだん"]},"customers":{"required_absent":[],"required_present":["うみざいだん"]},"all":{"required_absent":[],"required_present":["うみざいだん"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ja-redact-023","language":"ja","script":"Hiragana","shape":"stack-trace","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[23]: 顧客が話した相手はさくらえんどう","known_identities":[],"targets":[{"id":"person","kind":"person","start":38,"end":59,"value":"さくらえんどう","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["さくらえんどう"]},"customers":{"required_absent":["さくらえんどう"],"required_present":[]},"all":{"required_absent":["さくらえんどう"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ja-preserve-023","language":"ja","script":"Hiragana","shape":"stack-trace","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[23]: 公開組織はうみこうぼう","known_identities":[],"targets":[{"id":"person","kind":"person","start":26,"end":44,"value":"うみこうぼう","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["うみこうぼう"]},"customers":{"required_absent":[],"required_present":["うみこうぼう"]},"all":{"required_absent":[],"required_present":["うみこうぼう"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ja-redact-024","language":"ja","script":"Hiragana","shape":"code","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_24 := `顧客が話した相手はさくらおおた`","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":60,"value":"さくらおおた","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["さくらおおた"]},"customers":{"required_absent":["さくらおおた"],"required_present":[]},"all":{"required_absent":["さくらおおた"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, @@ -1456,26 +1456,26 @@ {"id":"broad-language-ja-preserve-025","language":"ja","script":"Hiragana","shape":"signature","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--\n公開組織はうみぶんかかい","known_identities":[],"targets":[{"id":"person","kind":"person","start":18,"end":39,"value":"うみぶんかかい","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["うみぶんかかい"]},"customers":{"required_absent":[],"required_present":["うみぶんかかい"]},"all":{"required_absent":[],"required_present":["うみぶんかかい"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ja-redact-026","language":"ja","script":"Hiragana","shape":"long-thread","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. 顧客が話した相手はさくらきむら","known_identities":[],"targets":[{"id":"person","kind":"person","start":507,"end":525,"value":"さくらきむら","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["さくらきむら"]},"customers":{"required_absent":["さくらきむら"],"required_present":[]},"all":{"required_absent":["さくらきむら"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ja-preserve-026","language":"ja","script":"Hiragana","shape":"long-thread","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. 公開組織はうみとしょかん","known_identities":[],"targets":[{"id":"person","kind":"person","start":495,"end":516,"value":"うみとしょかん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["うみとしょかん"]},"customers":{"required_absent":[],"required_present":["うみとしょかん"]},"all":{"required_absent":[],"required_present":["うみとしょかん"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ja-redact-027","language":"ja","script":"Hiragana","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=27 --message=\"顧客が話した相手は\" --value=さくらこばやし","known_identities":[],"targets":[{"id":"person","kind":"person","start":60,"end":81,"value":"さくらこばやし","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["さくらこばやし"]},"customers":{"required_absent":["さくらこばやし"],"required_present":[]},"all":{"required_absent":["さくらこばやし"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ja-preserve-027","language":"ja","script":"Hiragana","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=27 --message=\"公開組織は\" --value=うみげきだん","known_identities":[],"targets":[{"id":"person","kind":"person","start":48,"end":66,"value":"うみげきだん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["うみげきだん"]},"customers":{"required_absent":[],"required_present":["うみげきだん"]},"all":{"required_absent":[],"required_present":["うみげきだん"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-027","language":"ja","script":"Hiragana","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=27 --message=\"顧客が話した相手は\" --credential=\"さくらこばやし\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":66,"end":87,"value":"さくらこばやし","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["さくらこばやし"]},"customers":{"required_absent":["さくらこばやし"],"required_present":[]},"all":{"required_absent":["さくらこばやし"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-027","language":"ja","script":"Hiragana","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=27 --message=\"公開組織は\" --credential=\"うみげきだん\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":54,"end":72,"value":"うみげきだん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["うみげきだん"]},"customers":{"required_absent":[],"required_present":["うみげきだん"]},"all":{"required_absent":[],"required_present":["うみげきだん"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ja-redact-028","language":"ja","script":"Hiragana","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"顧客が話した相手はさくらさとう","known_identities":[],"targets":[{"id":"person","kind":"person","start":27,"end":45,"value":"さくらさとう","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["さくらさとう"]},"customers":{"required_absent":["さくらさとう"],"required_present":[]},"all":{"required_absent":["さくらさとう"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ja-preserve-028","language":"ja","script":"Hiragana","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"公開組織はうみはくぶつかん","known_identities":[],"targets":[{"id":"person","kind":"person","start":15,"end":39,"value":"うみはくぶつかん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["うみはくぶつかん"]},"customers":{"required_absent":[],"required_present":["うみはくぶつかん"]},"all":{"required_absent":[],"required_present":["うみはくぶつかん"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ja-redact-029","language":"ja","script":"Hiragana","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_29\":\"顧客が話した相手はさくらたなか\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":60,"value":"さくらたなか","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["さくらたなか"]},"customers":{"required_absent":["さくらたなか"],"required_present":[]},"all":{"required_absent":["さくらたなか"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ja-preserve-029","language":"ja","script":"Hiragana","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_29\":\"公開組織はうみきょうかい\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":51,"value":"うみきょうかい","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["うみきょうかい"]},"customers":{"required_absent":[],"required_present":["うみきょうかい"]},"all":{"required_absent":[],"required_present":["うみきょうかい"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ja-redact-030","language":"ja","script":"Hiragana","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_30: 顧客が話した相手はたくみあらい","known_identities":[],"targets":[{"id":"person","kind":"person","start":39,"end":57,"value":"たくみあらい","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["たくみあらい"]},"customers":{"required_absent":["たくみあらい"],"required_present":[]},"all":{"required_absent":["たくみあらい"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ja-preserve-030","language":"ja","script":"Hiragana","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_30: 公開組織はえにしけんきゅうじょ","known_identities":[],"targets":[{"id":"person","kind":"person","start":27,"end":57,"value":"えにしけんきゅうじょ","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["えにしけんきゅうじょ"]},"customers":{"required_absent":[],"required_present":["えにしけんきゅうじょ"]},"all":{"required_absent":[],"required_present":["えにしけんきゅうじょ"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-030","language":"ja","script":"Hiragana","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_30: \"顧客が話した相手はたくみあらい\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":40,"end":58,"value":"たくみあらい","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["たくみあらい"]},"customers":{"required_absent":["たくみあらい"],"required_present":[]},"all":{"required_absent":["たくみあらい"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-030","language":"ja","script":"Hiragana","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_30: \"公開組織はえにしけんきゅうじょ\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":28,"end":58,"value":"えにしけんきゅうじょ","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["えにしけんきゅうじょ"]},"customers":{"required_absent":[],"required_present":["えにしけんきゅうじょ"]},"all":{"required_absent":[],"required_present":["えにしけんきゅうじょ"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ja-redact-031","language":"ja","script":"Hiragana","shape":"shell","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_31='顧客が話した相手はたくみいとう'","known_identities":[],"targets":[{"id":"person","kind":"person","start":39,"end":57,"value":"たくみいとう","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["たくみいとう"]},"customers":{"required_absent":["たくみいとう"],"required_present":[]},"all":{"required_absent":["たくみいとう"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ja-preserve-031","language":"ja","script":"Hiragana","shape":"shell","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_31='公開組織はえにししゅっぱん'","known_identities":[],"targets":[{"id":"person","kind":"person","start":27,"end":51,"value":"えにししゅっぱん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["えにししゅっぱん"]},"customers":{"required_absent":[],"required_present":["えにししゅっぱん"]},"all":{"required_absent":[],"required_present":["えにししゅっぱん"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ja-redact-032","language":"ja","script":"Hiragana","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/32 ; 顧客が話した相手はたくみうえだ","known_identities":[],"targets":[{"id":"person","kind":"person","start":60,"end":78,"value":"たくみうえだ","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["たくみうえだ"]},"customers":{"required_absent":["たくみうえだ"],"required_present":[]},"all":{"required_absent":["たくみうえだ"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ja-preserve-032","language":"ja","script":"Hiragana","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/32 ; 公開組織はえにしざいだん","known_identities":[],"targets":[{"id":"person","kind":"person","start":48,"end":69,"value":"えにしざいだん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["えにしざいだん"]},"customers":{"required_absent":[],"required_present":["えにしざいだん"]},"all":{"required_absent":[],"required_present":["えにしざいだん"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ja-redact-033","language":"ja","script":"Hiragana","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"**顧客が話した相手はたくみえんどう**","known_identities":[],"targets":[{"id":"person","kind":"person","start":29,"end":50,"value":"たくみえんどう","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["たくみえんどう"]},"customers":{"required_absent":["たくみえんどう"],"required_present":[]},"all":{"required_absent":["たくみえんどう"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ja-preserve-033","language":"ja","script":"Hiragana","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"**公開組織はえにしこうぼう**","known_identities":[],"targets":[{"id":"person","kind":"person","start":17,"end":38,"value":"えにしこうぼう","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["えにしこうぼう"]},"customers":{"required_absent":[],"required_present":["えにしこうぼう"]},"all":{"required_absent":[],"required_present":["えにしこうぼう"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ja-redact-034","language":"ja","script":"Hiragana","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003e顧客が話した相手はたくみおおた\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":48,"value":"たくみおおた","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["たくみおおた"]},"customers":{"required_absent":["たくみおおた"],"required_present":[]},"all":{"required_absent":["たくみおおた"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ja-preserve-034","language":"ja","script":"Hiragana","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003e公開組織はえにしがくえん\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":18,"end":39,"value":"えにしがくえん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["えにしがくえん"]},"customers":{"required_absent":[],"required_present":["えにしがくえん"]},"all":{"required_absent":[],"required_present":["えにしがくえん"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-032","language":"ja","script":"Hiragana","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/32?credential=たくみうえだ\u0026note=%E9%A1%A7%E5%AE%A2%E3%81%8C%E8%A9%B1%E3%81%97%E3%81%9F%E7%9B%B8%E6%89%8B%E3%81%AF","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":60,"value":"たくみうえだ","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["たくみうえだ"]},"customers":{"required_absent":["たくみうえだ"],"required_present":[]},"all":{"required_absent":["たくみうえだ"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-032","language":"ja","script":"Hiragana","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/32?credential=えにしざいだん\u0026note=%E5%85%AC%E9%96%8B%E7%B5%84%E7%B9%94%E3%81%AF","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":63,"value":"えにしざいだん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["えにしざいだん"]},"customers":{"required_absent":[],"required_present":["えにしざいだん"]},"all":{"required_absent":[],"required_present":["えにしざいだん"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-033","language":"ja","script":"Hiragana","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"顧客が話した相手は`たくみえんどう`","known_identities":[],"targets":[{"id":"person","kind":"person","start":28,"end":49,"value":"たくみえんどう","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["たくみえんどう"]},"customers":{"required_absent":["たくみえんどう"],"required_present":[]},"all":{"required_absent":["たくみえんどう"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-033","language":"ja","script":"Hiragana","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"公開組織は`えにしこうぼう`","known_identities":[],"targets":[{"id":"person","kind":"person","start":16,"end":37,"value":"えにしこうぼう","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["えにしこうぼう"]},"customers":{"required_absent":[],"required_present":["えにしこうぼう"]},"all":{"required_absent":[],"required_present":["えにしこうぼう"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-034","language":"ja","script":"Hiragana","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003e顧客が話した相手は\u003ccode\u003eたくみおおた\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":36,"end":54,"value":"たくみおおた","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["たくみおおた"]},"customers":{"required_absent":["たくみおおた"],"required_present":[]},"all":{"required_absent":["たくみおおた"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-034","language":"ja","script":"Hiragana","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003e公開組織は\u003ccode\u003eえにしがくえん\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":24,"end":45,"value":"えにしがくえん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["えにしがくえん"]},"customers":{"required_absent":[],"required_present":["えにしがくえん"]},"all":{"required_absent":[],"required_present":["えにしがくえん"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ja-redact-035","language":"ja","script":"Hiragana","shape":"quoted-reply","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e 顧客が話した相手はたくみかとう","known_identities":[],"targets":[{"id":"person","kind":"person","start":29,"end":47,"value":"たくみかとう","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["たくみかとう"]},"customers":{"required_absent":["たくみかとう"],"required_present":[]},"all":{"required_absent":["たくみかとう"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ja-preserve-035","language":"ja","script":"Hiragana","shape":"quoted-reply","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e 公開組織はえにしぶんかかい","known_identities":[],"targets":[{"id":"person","kind":"person","start":17,"end":41,"value":"えにしぶんかかい","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["えにしぶんかかい"]},"customers":{"required_absent":[],"required_present":["えにしぶんかかい"]},"all":{"required_absent":[],"required_present":["えにしぶんかかい"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ja-redact-036","language":"ja","script":"Hiragana","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=36 message=\"顧客が話した相手は\" value=たくみきむら","known_identities":[],"targets":[{"id":"person","kind":"person","start":65,"end":83,"value":"たくみきむら","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["たくみきむら"]},"customers":{"required_absent":["たくみきむら"],"required_present":[]},"all":{"required_absent":["たくみきむら"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ja-preserve-036","language":"ja","script":"Hiragana","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=36 message=\"公開組織は\" value=えにしとしょかん","known_identities":[],"targets":[{"id":"person","kind":"person","start":53,"end":77,"value":"えにしとしょかん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["えにしとしょかん"]},"customers":{"required_absent":[],"required_present":["えにしとしょかん"]},"all":{"required_absent":[],"required_present":["えにしとしょかん"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-036","language":"ja","script":"Hiragana","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=36 message=\"顧客が話した相手は\" credential=\"たくみきむら\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":71,"end":89,"value":"たくみきむら","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["たくみきむら"]},"customers":{"required_absent":["たくみきむら"],"required_present":[]},"all":{"required_absent":["たくみきむら"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-036","language":"ja","script":"Hiragana","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=36 message=\"公開組織は\" credential=\"えにしとしょかん\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":59,"end":83,"value":"えにしとしょかん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["えにしとしょかん"]},"customers":{"required_absent":[],"required_present":["えにしとしょかん"]},"all":{"required_absent":[],"required_present":["えにしとしょかん"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ja-redact-037","language":"ja","script":"Hiragana","shape":"stack-trace","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[37]: 顧客が話した相手はたくみこばやし","known_identities":[],"targets":[{"id":"person","kind":"person","start":38,"end":59,"value":"たくみこばやし","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["たくみこばやし"]},"customers":{"required_absent":["たくみこばやし"],"required_present":[]},"all":{"required_absent":["たくみこばやし"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ja-preserve-037","language":"ja","script":"Hiragana","shape":"stack-trace","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[37]: 公開組織はえにしげきだん","known_identities":[],"targets":[{"id":"person","kind":"person","start":26,"end":47,"value":"えにしげきだん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["えにしげきだん"]},"customers":{"required_absent":[],"required_present":["えにしげきだん"]},"all":{"required_absent":[],"required_present":["えにしげきだん"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ja-redact-038","language":"ja","script":"Hiragana","shape":"code","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_38 := `顧客が話した相手はたくみさとう`","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":60,"value":"たくみさとう","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["たくみさとう"]},"customers":{"required_absent":["たくみさとう"],"required_present":[]},"all":{"required_absent":["たくみさとう"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, @@ -1484,26 +1484,26 @@ {"id":"broad-language-ja-preserve-039","language":"ja","script":"Hiragana","shape":"signature","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--\n公開組織はえにしきょうかい","known_identities":[],"targets":[{"id":"person","kind":"person","start":18,"end":42,"value":"えにしきょうかい","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["えにしきょうかい"]},"customers":{"required_absent":[],"required_present":["えにしきょうかい"]},"all":{"required_absent":[],"required_present":["えにしきょうかい"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ja-redact-040","language":"ja","script":"Hiragana","shape":"long-thread","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. 顧客が話した相手はなおあらい","known_identities":[],"targets":[{"id":"person","kind":"person","start":507,"end":522,"value":"なおあらい","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["なおあらい"]},"customers":{"required_absent":["なおあらい"],"required_present":[]},"all":{"required_absent":["なおあらい"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ja-preserve-040","language":"ja","script":"Hiragana","shape":"long-thread","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. 公開組織はおおぞらけんきゅうじょ","known_identities":[],"targets":[{"id":"person","kind":"person","start":495,"end":528,"value":"おおぞらけんきゅうじょ","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["おおぞらけんきゅうじょ"]},"customers":{"required_absent":[],"required_present":["おおぞらけんきゅうじょ"]},"all":{"required_absent":[],"required_present":["おおぞらけんきゅうじょ"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ja-redact-041","language":"ja","script":"Hiragana","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=41 --message=\"顧客が話した相手は\" --value=なおいとう","known_identities":[],"targets":[{"id":"person","kind":"person","start":60,"end":75,"value":"なおいとう","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["なおいとう"]},"customers":{"required_absent":["なおいとう"],"required_present":[]},"all":{"required_absent":["なおいとう"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ja-preserve-041","language":"ja","script":"Hiragana","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=41 --message=\"公開組織は\" --value=おおぞらしゅっぱん","known_identities":[],"targets":[{"id":"person","kind":"person","start":48,"end":75,"value":"おおぞらしゅっぱん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["おおぞらしゅっぱん"]},"customers":{"required_absent":[],"required_present":["おおぞらしゅっぱん"]},"all":{"required_absent":[],"required_present":["おおぞらしゅっぱん"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-041","language":"ja","script":"Hiragana","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=41 --message=\"顧客が話した相手は\" --credential=\"なおいとう\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":66,"end":81,"value":"なおいとう","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["なおいとう"]},"customers":{"required_absent":["なおいとう"],"required_present":[]},"all":{"required_absent":["なおいとう"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-041","language":"ja","script":"Hiragana","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=41 --message=\"公開組織は\" --credential=\"おおぞらしゅっぱん\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":54,"end":81,"value":"おおぞらしゅっぱん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["おおぞらしゅっぱん"]},"customers":{"required_absent":[],"required_present":["おおぞらしゅっぱん"]},"all":{"required_absent":[],"required_present":["おおぞらしゅっぱん"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ja-redact-042","language":"ja","script":"Hiragana","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"顧客が話した相手はなおうえだ","known_identities":[],"targets":[{"id":"person","kind":"person","start":27,"end":42,"value":"なおうえだ","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["なおうえだ"]},"customers":{"required_absent":["なおうえだ"],"required_present":[]},"all":{"required_absent":["なおうえだ"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ja-preserve-042","language":"ja","script":"Hiragana","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"公開組織はおおぞらざいだん","known_identities":[],"targets":[{"id":"person","kind":"person","start":15,"end":39,"value":"おおぞらざいだん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["おおぞらざいだん"]},"customers":{"required_absent":[],"required_present":["おおぞらざいだん"]},"all":{"required_absent":[],"required_present":["おおぞらざいだん"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ja-redact-043","language":"ja","script":"Hiragana","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_43\":\"顧客が話した相手はなおえんどう\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":60,"value":"なおえんどう","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["なおえんどう"]},"customers":{"required_absent":["なおえんどう"],"required_present":[]},"all":{"required_absent":["なおえんどう"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ja-preserve-043","language":"ja","script":"Hiragana","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_43\":\"公開組織はおおぞらこうぼう\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":54,"value":"おおぞらこうぼう","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["おおぞらこうぼう"]},"customers":{"required_absent":[],"required_present":["おおぞらこうぼう"]},"all":{"required_absent":[],"required_present":["おおぞらこうぼう"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ja-redact-044","language":"ja","script":"Hiragana","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_44: 顧客が話した相手はなおおおた","known_identities":[],"targets":[{"id":"person","kind":"person","start":39,"end":54,"value":"なおおおた","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["なおおおた"]},"customers":{"required_absent":["なおおおた"],"required_present":[]},"all":{"required_absent":["なおおおた"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ja-preserve-044","language":"ja","script":"Hiragana","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_44: 公開組織はおおぞらがくえん","known_identities":[],"targets":[{"id":"person","kind":"person","start":27,"end":51,"value":"おおぞらがくえん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["おおぞらがくえん"]},"customers":{"required_absent":[],"required_present":["おおぞらがくえん"]},"all":{"required_absent":[],"required_present":["おおぞらがくえん"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-044","language":"ja","script":"Hiragana","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_44: \"顧客が話した相手はなおおおた\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":40,"end":55,"value":"なおおおた","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["なおおおた"]},"customers":{"required_absent":["なおおおた"],"required_present":[]},"all":{"required_absent":["なおおおた"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-044","language":"ja","script":"Hiragana","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_44: \"公開組織はおおぞらがくえん\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":28,"end":52,"value":"おおぞらがくえん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["おおぞらがくえん"]},"customers":{"required_absent":[],"required_present":["おおぞらがくえん"]},"all":{"required_absent":[],"required_present":["おおぞらがくえん"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ja-redact-045","language":"ja","script":"Hiragana","shape":"shell","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_45='顧客が話した相手はなおかとう'","known_identities":[],"targets":[{"id":"person","kind":"person","start":39,"end":54,"value":"なおかとう","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["なおかとう"]},"customers":{"required_absent":["なおかとう"],"required_present":[]},"all":{"required_absent":["なおかとう"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ja-preserve-045","language":"ja","script":"Hiragana","shape":"shell","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_45='公開組織はおおぞらぶんかかい'","known_identities":[],"targets":[{"id":"person","kind":"person","start":27,"end":54,"value":"おおぞらぶんかかい","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["おおぞらぶんかかい"]},"customers":{"required_absent":[],"required_present":["おおぞらぶんかかい"]},"all":{"required_absent":[],"required_present":["おおぞらぶんかかい"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ja-redact-046","language":"ja","script":"Hiragana","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/46 ; 顧客が話した相手はなおきむら","known_identities":[],"targets":[{"id":"person","kind":"person","start":60,"end":75,"value":"なおきむら","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["なおきむら"]},"customers":{"required_absent":["なおきむら"],"required_present":[]},"all":{"required_absent":["なおきむら"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ja-preserve-046","language":"ja","script":"Hiragana","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/46 ; 公開組織はおおぞらとしょかん","known_identities":[],"targets":[{"id":"person","kind":"person","start":48,"end":75,"value":"おおぞらとしょかん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["おおぞらとしょかん"]},"customers":{"required_absent":[],"required_present":["おおぞらとしょかん"]},"all":{"required_absent":[],"required_present":["おおぞらとしょかん"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ja-redact-047","language":"ja","script":"Hiragana","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"**顧客が話した相手はなおこばやし**","known_identities":[],"targets":[{"id":"person","kind":"person","start":29,"end":47,"value":"なおこばやし","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["なおこばやし"]},"customers":{"required_absent":["なおこばやし"],"required_present":[]},"all":{"required_absent":["なおこばやし"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ja-preserve-047","language":"ja","script":"Hiragana","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"**公開組織はおおぞらげきだん**","known_identities":[],"targets":[{"id":"person","kind":"person","start":17,"end":41,"value":"おおぞらげきだん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["おおぞらげきだん"]},"customers":{"required_absent":[],"required_present":["おおぞらげきだん"]},"all":{"required_absent":[],"required_present":["おおぞらげきだん"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ja-redact-048","language":"ja","script":"Hiragana","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003e顧客が話した相手はなおさとう\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":45,"value":"なおさとう","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["なおさとう"]},"customers":{"required_absent":["なおさとう"],"required_present":[]},"all":{"required_absent":["なおさとう"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ja-preserve-048","language":"ja","script":"Hiragana","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003e公開組織はおおぞらはくぶつかん\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":18,"end":48,"value":"おおぞらはくぶつかん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["おおぞらはくぶつかん"]},"customers":{"required_absent":[],"required_present":["おおぞらはくぶつかん"]},"all":{"required_absent":[],"required_present":["おおぞらはくぶつかん"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-046","language":"ja","script":"Hiragana","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/46?credential=なおきむら\u0026note=%E9%A1%A7%E5%AE%A2%E3%81%8C%E8%A9%B1%E3%81%97%E3%81%9F%E7%9B%B8%E6%89%8B%E3%81%AF","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":57,"value":"なおきむら","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["なおきむら"]},"customers":{"required_absent":["なおきむら"],"required_present":[]},"all":{"required_absent":["なおきむら"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-046","language":"ja","script":"Hiragana","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/46?credential=おおぞらとしょかん\u0026note=%E5%85%AC%E9%96%8B%E7%B5%84%E7%B9%94%E3%81%AF","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":69,"value":"おおぞらとしょかん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["おおぞらとしょかん"]},"customers":{"required_absent":[],"required_present":["おおぞらとしょかん"]},"all":{"required_absent":[],"required_present":["おおぞらとしょかん"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-047","language":"ja","script":"Hiragana","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"顧客が話した相手は`なおこばやし`","known_identities":[],"targets":[{"id":"person","kind":"person","start":28,"end":46,"value":"なおこばやし","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["なおこばやし"]},"customers":{"required_absent":["なおこばやし"],"required_present":[]},"all":{"required_absent":["なおこばやし"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-047","language":"ja","script":"Hiragana","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"公開組織は`おおぞらげきだん`","known_identities":[],"targets":[{"id":"person","kind":"person","start":16,"end":40,"value":"おおぞらげきだん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["おおぞらげきだん"]},"customers":{"required_absent":[],"required_present":["おおぞらげきだん"]},"all":{"required_absent":[],"required_present":["おおぞらげきだん"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-048","language":"ja","script":"Hiragana","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003e顧客が話した相手は\u003ccode\u003eなおさとう\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":36,"end":51,"value":"なおさとう","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["なおさとう"]},"customers":{"required_absent":["なおさとう"],"required_present":[]},"all":{"required_absent":["なおさとう"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-048","language":"ja","script":"Hiragana","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003e公開組織は\u003ccode\u003eおおぞらはくぶつかん\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":24,"end":54,"value":"おおぞらはくぶつかん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["おおぞらはくぶつかん"]},"customers":{"required_absent":[],"required_present":["おおぞらはくぶつかん"]},"all":{"required_absent":[],"required_present":["おおぞらはくぶつかん"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ja-redact-049","language":"ja","script":"Hiragana","shape":"quoted-reply","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e 顧客が話した相手はなおたなか","known_identities":[],"targets":[{"id":"person","kind":"person","start":29,"end":44,"value":"なおたなか","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["なおたなか"]},"customers":{"required_absent":["なおたなか"],"required_present":[]},"all":{"required_absent":["なおたなか"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ja-preserve-049","language":"ja","script":"Hiragana","shape":"quoted-reply","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e 公開組織はおおぞらきょうかい","known_identities":[],"targets":[{"id":"person","kind":"person","start":17,"end":44,"value":"おおぞらきょうかい","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["おおぞらきょうかい"]},"customers":{"required_absent":[],"required_present":["おおぞらきょうかい"]},"all":{"required_absent":[],"required_present":["おおぞらきょうかい"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ja-redact-050","language":"ja","script":"Hiragana","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=50 message=\"顧客が話した相手は\" value=はるあらい","known_identities":[],"targets":[{"id":"person","kind":"person","start":65,"end":80,"value":"はるあらい","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["はるあらい"]},"customers":{"required_absent":["はるあらい"],"required_present":[]},"all":{"required_absent":["はるあらい"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ja-preserve-050","language":"ja","script":"Hiragana","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=50 message=\"公開組織は\" value=かすみけんきゅうじょ","known_identities":[],"targets":[{"id":"person","kind":"person","start":53,"end":83,"value":"かすみけんきゅうじょ","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["かすみけんきゅうじょ"]},"customers":{"required_absent":[],"required_present":["かすみけんきゅうじょ"]},"all":{"required_absent":[],"required_present":["かすみけんきゅうじょ"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-050","language":"ja","script":"Hiragana","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=50 message=\"顧客が話した相手は\" credential=\"はるあらい\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":71,"end":86,"value":"はるあらい","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["はるあらい"]},"customers":{"required_absent":["はるあらい"],"required_present":[]},"all":{"required_absent":["はるあらい"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-050","language":"ja","script":"Hiragana","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=50 message=\"公開組織は\" credential=\"かすみけんきゅうじょ\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":59,"end":89,"value":"かすみけんきゅうじょ","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["かすみけんきゅうじょ"]},"customers":{"required_absent":[],"required_present":["かすみけんきゅうじょ"]},"all":{"required_absent":[],"required_present":["かすみけんきゅうじょ"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ja-redact-051","language":"ja","script":"Hiragana","shape":"stack-trace","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[51]: 顧客が話した相手ははるいとう","known_identities":[],"targets":[{"id":"person","kind":"person","start":38,"end":53,"value":"はるいとう","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["はるいとう"]},"customers":{"required_absent":["はるいとう"],"required_present":[]},"all":{"required_absent":["はるいとう"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ja-preserve-051","language":"ja","script":"Hiragana","shape":"stack-trace","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[51]: 公開組織はかすみしゅっぱん","known_identities":[],"targets":[{"id":"person","kind":"person","start":26,"end":50,"value":"かすみしゅっぱん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["かすみしゅっぱん"]},"customers":{"required_absent":[],"required_present":["かすみしゅっぱん"]},"all":{"required_absent":[],"required_present":["かすみしゅっぱん"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ja-redact-052","language":"ja","script":"Hiragana","shape":"code","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_52 := `顧客が話した相手ははるうえだ`","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":57,"value":"はるうえだ","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["はるうえだ"]},"customers":{"required_absent":["はるうえだ"],"required_present":[]},"all":{"required_absent":["はるうえだ"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, @@ -1512,26 +1512,26 @@ {"id":"broad-language-ja-preserve-053","language":"ja","script":"Hiragana","shape":"signature","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--\n公開組織はかすみこうぼう","known_identities":[],"targets":[{"id":"person","kind":"person","start":18,"end":39,"value":"かすみこうぼう","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["かすみこうぼう"]},"customers":{"required_absent":[],"required_present":["かすみこうぼう"]},"all":{"required_absent":[],"required_present":["かすみこうぼう"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ja-redact-054","language":"ja","script":"Hiragana","shape":"long-thread","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. 顧客が話した相手ははるおおた","known_identities":[],"targets":[{"id":"person","kind":"person","start":507,"end":522,"value":"はるおおた","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["はるおおた"]},"customers":{"required_absent":["はるおおた"],"required_present":[]},"all":{"required_absent":["はるおおた"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ja-preserve-054","language":"ja","script":"Hiragana","shape":"long-thread","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. 公開組織はかすみがくえん","known_identities":[],"targets":[{"id":"person","kind":"person","start":495,"end":516,"value":"かすみがくえん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["かすみがくえん"]},"customers":{"required_absent":[],"required_present":["かすみがくえん"]},"all":{"required_absent":[],"required_present":["かすみがくえん"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ja-redact-055","language":"ja","script":"Hiragana","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=55 --message=\"顧客が話した相手は\" --value=はるかとう","known_identities":[],"targets":[{"id":"person","kind":"person","start":60,"end":75,"value":"はるかとう","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["はるかとう"]},"customers":{"required_absent":["はるかとう"],"required_present":[]},"all":{"required_absent":["はるかとう"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ja-preserve-055","language":"ja","script":"Hiragana","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=55 --message=\"公開組織は\" --value=かすみぶんかかい","known_identities":[],"targets":[{"id":"person","kind":"person","start":48,"end":72,"value":"かすみぶんかかい","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["かすみぶんかかい"]},"customers":{"required_absent":[],"required_present":["かすみぶんかかい"]},"all":{"required_absent":[],"required_present":["かすみぶんかかい"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-055","language":"ja","script":"Hiragana","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=55 --message=\"顧客が話した相手は\" --credential=\"はるかとう\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":66,"end":81,"value":"はるかとう","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["はるかとう"]},"customers":{"required_absent":["はるかとう"],"required_present":[]},"all":{"required_absent":["はるかとう"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-055","language":"ja","script":"Hiragana","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=55 --message=\"公開組織は\" --credential=\"かすみぶんかかい\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":54,"end":78,"value":"かすみぶんかかい","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["かすみぶんかかい"]},"customers":{"required_absent":[],"required_present":["かすみぶんかかい"]},"all":{"required_absent":[],"required_present":["かすみぶんかかい"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ja-redact-056","language":"ja","script":"Hiragana","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"顧客が話した相手ははるきむら","known_identities":[],"targets":[{"id":"person","kind":"person","start":27,"end":42,"value":"はるきむら","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["はるきむら"]},"customers":{"required_absent":["はるきむら"],"required_present":[]},"all":{"required_absent":["はるきむら"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ja-preserve-056","language":"ja","script":"Hiragana","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"公開組織はかすみとしょかん","known_identities":[],"targets":[{"id":"person","kind":"person","start":15,"end":39,"value":"かすみとしょかん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["かすみとしょかん"]},"customers":{"required_absent":[],"required_present":["かすみとしょかん"]},"all":{"required_absent":[],"required_present":["かすみとしょかん"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ja-redact-057","language":"ja","script":"Hiragana","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_57\":\"顧客が話した相手ははるこばやし\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":60,"value":"はるこばやし","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["はるこばやし"]},"customers":{"required_absent":["はるこばやし"],"required_present":[]},"all":{"required_absent":["はるこばやし"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ja-preserve-057","language":"ja","script":"Hiragana","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_57\":\"公開組織はかすみげきだん\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":51,"value":"かすみげきだん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["かすみげきだん"]},"customers":{"required_absent":[],"required_present":["かすみげきだん"]},"all":{"required_absent":[],"required_present":["かすみげきだん"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ja-redact-058","language":"ja","script":"Hiragana","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_58: 顧客が話した相手ははるさとう","known_identities":[],"targets":[{"id":"person","kind":"person","start":39,"end":54,"value":"はるさとう","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["はるさとう"]},"customers":{"required_absent":["はるさとう"],"required_present":[]},"all":{"required_absent":["はるさとう"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ja-preserve-058","language":"ja","script":"Hiragana","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_58: 公開組織はかすみはくぶつかん","known_identities":[],"targets":[{"id":"person","kind":"person","start":27,"end":54,"value":"かすみはくぶつかん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["かすみはくぶつかん"]},"customers":{"required_absent":[],"required_present":["かすみはくぶつかん"]},"all":{"required_absent":[],"required_present":["かすみはくぶつかん"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-058","language":"ja","script":"Hiragana","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_58: \"顧客が話した相手ははるさとう\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":40,"end":55,"value":"はるさとう","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["はるさとう"]},"customers":{"required_absent":["はるさとう"],"required_present":[]},"all":{"required_absent":["はるさとう"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-058","language":"ja","script":"Hiragana","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_58: \"公開組織はかすみはくぶつかん\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":28,"end":55,"value":"かすみはくぶつかん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["かすみはくぶつかん"]},"customers":{"required_absent":[],"required_present":["かすみはくぶつかん"]},"all":{"required_absent":[],"required_present":["かすみはくぶつかん"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ja-redact-059","language":"ja","script":"Hiragana","shape":"shell","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_59='顧客が話した相手ははるたなか'","known_identities":[],"targets":[{"id":"person","kind":"person","start":39,"end":54,"value":"はるたなか","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["はるたなか"]},"customers":{"required_absent":["はるたなか"],"required_present":[]},"all":{"required_absent":["はるたなか"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ja-preserve-059","language":"ja","script":"Hiragana","shape":"shell","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_59='公開組織はかすみきょうかい'","known_identities":[],"targets":[{"id":"person","kind":"person","start":27,"end":51,"value":"かすみきょうかい","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["かすみきょうかい"]},"customers":{"required_absent":[],"required_present":["かすみきょうかい"]},"all":{"required_absent":[],"required_present":["かすみきょうかい"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ja-redact-060","language":"ja","script":"Hiragana","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/60 ; 顧客が話した相手はひなたあらい","known_identities":[],"targets":[{"id":"person","kind":"person","start":60,"end":78,"value":"ひなたあらい","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["ひなたあらい"]},"customers":{"required_absent":["ひなたあらい"],"required_present":[]},"all":{"required_absent":["ひなたあらい"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ja-preserve-060","language":"ja","script":"Hiragana","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/60 ; 公開組織はきぼうけんきゅうじょ","known_identities":[],"targets":[{"id":"person","kind":"person","start":48,"end":78,"value":"きぼうけんきゅうじょ","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["きぼうけんきゅうじょ"]},"customers":{"required_absent":[],"required_present":["きぼうけんきゅうじょ"]},"all":{"required_absent":[],"required_present":["きぼうけんきゅうじょ"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ja-redact-061","language":"ja","script":"Hiragana","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"**顧客が話した相手はひなたいとう**","known_identities":[],"targets":[{"id":"person","kind":"person","start":29,"end":47,"value":"ひなたいとう","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["ひなたいとう"]},"customers":{"required_absent":["ひなたいとう"],"required_present":[]},"all":{"required_absent":["ひなたいとう"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ja-preserve-061","language":"ja","script":"Hiragana","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"**公開組織はきぼうしゅっぱん**","known_identities":[],"targets":[{"id":"person","kind":"person","start":17,"end":41,"value":"きぼうしゅっぱん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["きぼうしゅっぱん"]},"customers":{"required_absent":[],"required_present":["きぼうしゅっぱん"]},"all":{"required_absent":[],"required_present":["きぼうしゅっぱん"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ja-redact-062","language":"ja","script":"Hiragana","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003e顧客が話した相手はひなたうえだ\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":48,"value":"ひなたうえだ","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["ひなたうえだ"]},"customers":{"required_absent":["ひなたうえだ"],"required_present":[]},"all":{"required_absent":["ひなたうえだ"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ja-preserve-062","language":"ja","script":"Hiragana","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003e公開組織はきぼうざいだん\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":18,"end":39,"value":"きぼうざいだん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["きぼうざいだん"]},"customers":{"required_absent":[],"required_present":["きぼうざいだん"]},"all":{"required_absent":[],"required_present":["きぼうざいだん"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-060","language":"ja","script":"Hiragana","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/60?credential=ひなたあらい\u0026note=%E9%A1%A7%E5%AE%A2%E3%81%8C%E8%A9%B1%E3%81%97%E3%81%9F%E7%9B%B8%E6%89%8B%E3%81%AF","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":60,"value":"ひなたあらい","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["ひなたあらい"]},"customers":{"required_absent":["ひなたあらい"],"required_present":[]},"all":{"required_absent":["ひなたあらい"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-060","language":"ja","script":"Hiragana","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/60?credential=きぼうけんきゅうじょ\u0026note=%E5%85%AC%E9%96%8B%E7%B5%84%E7%B9%94%E3%81%AF","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":72,"value":"きぼうけんきゅうじょ","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["きぼうけんきゅうじょ"]},"customers":{"required_absent":[],"required_present":["きぼうけんきゅうじょ"]},"all":{"required_absent":[],"required_present":["きぼうけんきゅうじょ"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-061","language":"ja","script":"Hiragana","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"顧客が話した相手は`ひなたいとう`","known_identities":[],"targets":[{"id":"person","kind":"person","start":28,"end":46,"value":"ひなたいとう","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["ひなたいとう"]},"customers":{"required_absent":["ひなたいとう"],"required_present":[]},"all":{"required_absent":["ひなたいとう"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-061","language":"ja","script":"Hiragana","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"公開組織は`きぼうしゅっぱん`","known_identities":[],"targets":[{"id":"person","kind":"person","start":16,"end":40,"value":"きぼうしゅっぱん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["きぼうしゅっぱん"]},"customers":{"required_absent":[],"required_present":["きぼうしゅっぱん"]},"all":{"required_absent":[],"required_present":["きぼうしゅっぱん"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-062","language":"ja","script":"Hiragana","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003e顧客が話した相手は\u003ccode\u003eひなたうえだ\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":36,"end":54,"value":"ひなたうえだ","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["ひなたうえだ"]},"customers":{"required_absent":["ひなたうえだ"],"required_present":[]},"all":{"required_absent":["ひなたうえだ"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-062","language":"ja","script":"Hiragana","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003e公開組織は\u003ccode\u003eきぼうざいだん\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":24,"end":45,"value":"きぼうざいだん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["きぼうざいだん"]},"customers":{"required_absent":[],"required_present":["きぼうざいだん"]},"all":{"required_absent":[],"required_present":["きぼうざいだん"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ja-redact-063","language":"ja","script":"Hiragana","shape":"quoted-reply","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e 顧客が話した相手はひなたえんどう","known_identities":[],"targets":[{"id":"person","kind":"person","start":29,"end":50,"value":"ひなたえんどう","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["ひなたえんどう"]},"customers":{"required_absent":["ひなたえんどう"],"required_present":[]},"all":{"required_absent":["ひなたえんどう"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ja-preserve-063","language":"ja","script":"Hiragana","shape":"quoted-reply","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e 公開組織はきぼうこうぼう","known_identities":[],"targets":[{"id":"person","kind":"person","start":17,"end":38,"value":"きぼうこうぼう","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["きぼうこうぼう"]},"customers":{"required_absent":[],"required_present":["きぼうこうぼう"]},"all":{"required_absent":[],"required_present":["きぼうこうぼう"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ja-redact-064","language":"ja","script":"Hiragana","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=64 message=\"顧客が話した相手は\" value=ひなたおおた","known_identities":[],"targets":[{"id":"person","kind":"person","start":65,"end":83,"value":"ひなたおおた","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["ひなたおおた"]},"customers":{"required_absent":["ひなたおおた"],"required_present":[]},"all":{"required_absent":["ひなたおおた"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ja-preserve-064","language":"ja","script":"Hiragana","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=64 message=\"公開組織は\" value=きぼうがくえん","known_identities":[],"targets":[{"id":"person","kind":"person","start":53,"end":74,"value":"きぼうがくえん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["きぼうがくえん"]},"customers":{"required_absent":[],"required_present":["きぼうがくえん"]},"all":{"required_absent":[],"required_present":["きぼうがくえん"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-064","language":"ja","script":"Hiragana","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=64 message=\"顧客が話した相手は\" credential=\"ひなたおおた\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":71,"end":89,"value":"ひなたおおた","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["ひなたおおた"]},"customers":{"required_absent":["ひなたおおた"],"required_present":[]},"all":{"required_absent":["ひなたおおた"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-064","language":"ja","script":"Hiragana","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=64 message=\"公開組織は\" credential=\"きぼうがくえん\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":59,"end":80,"value":"きぼうがくえん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["きぼうがくえん"]},"customers":{"required_absent":[],"required_present":["きぼうがくえん"]},"all":{"required_absent":[],"required_present":["きぼうがくえん"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ja-redact-065","language":"ja","script":"Hiragana","shape":"stack-trace","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[65]: 顧客が話した相手はひなたかとう","known_identities":[],"targets":[{"id":"person","kind":"person","start":38,"end":56,"value":"ひなたかとう","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["ひなたかとう"]},"customers":{"required_absent":["ひなたかとう"],"required_present":[]},"all":{"required_absent":["ひなたかとう"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ja-preserve-065","language":"ja","script":"Hiragana","shape":"stack-trace","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[65]: 公開組織はきぼうぶんかかい","known_identities":[],"targets":[{"id":"person","kind":"person","start":26,"end":50,"value":"きぼうぶんかかい","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["きぼうぶんかかい"]},"customers":{"required_absent":[],"required_present":["きぼうぶんかかい"]},"all":{"required_absent":[],"required_present":["きぼうぶんかかい"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ja-redact-066","language":"ja","script":"Hiragana","shape":"code","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_66 := `顧客が話した相手はひなたきむら`","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":60,"value":"ひなたきむら","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["ひなたきむら"]},"customers":{"required_absent":["ひなたきむら"],"required_present":[]},"all":{"required_absent":["ひなたきむら"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, @@ -1540,26 +1540,26 @@ {"id":"broad-language-ja-preserve-067","language":"ja","script":"Hiragana","shape":"signature","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--\n公開組織はきぼうげきだん","known_identities":[],"targets":[{"id":"person","kind":"person","start":18,"end":39,"value":"きぼうげきだん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["きぼうげきだん"]},"customers":{"required_absent":[],"required_present":["きぼうげきだん"]},"all":{"required_absent":[],"required_present":["きぼうげきだん"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ja-redact-068","language":"ja","script":"Hiragana","shape":"long-thread","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. 顧客が話した相手はひなたさとう","known_identities":[],"targets":[{"id":"person","kind":"person","start":507,"end":525,"value":"ひなたさとう","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["ひなたさとう"]},"customers":{"required_absent":["ひなたさとう"],"required_present":[]},"all":{"required_absent":["ひなたさとう"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ja-preserve-068","language":"ja","script":"Hiragana","shape":"long-thread","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. 公開組織はきぼうはくぶつかん","known_identities":[],"targets":[{"id":"person","kind":"person","start":495,"end":522,"value":"きぼうはくぶつかん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["きぼうはくぶつかん"]},"customers":{"required_absent":[],"required_present":["きぼうはくぶつかん"]},"all":{"required_absent":[],"required_present":["きぼうはくぶつかん"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ja-redact-069","language":"ja","script":"Hiragana","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=69 --message=\"顧客が話した相手は\" --value=ひなたたなか","known_identities":[],"targets":[{"id":"person","kind":"person","start":60,"end":78,"value":"ひなたたなか","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["ひなたたなか"]},"customers":{"required_absent":["ひなたたなか"],"required_present":[]},"all":{"required_absent":["ひなたたなか"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ja-preserve-069","language":"ja","script":"Hiragana","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=69 --message=\"公開組織は\" --value=きぼうきょうかい","known_identities":[],"targets":[{"id":"person","kind":"person","start":48,"end":72,"value":"きぼうきょうかい","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["きぼうきょうかい"]},"customers":{"required_absent":[],"required_present":["きぼうきょうかい"]},"all":{"required_absent":[],"required_present":["きぼうきょうかい"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-069","language":"ja","script":"Hiragana","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=69 --message=\"顧客が話した相手は\" --credential=\"ひなたたなか\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":66,"end":84,"value":"ひなたたなか","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["ひなたたなか"]},"customers":{"required_absent":["ひなたたなか"],"required_present":[]},"all":{"required_absent":["ひなたたなか"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-069","language":"ja","script":"Hiragana","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=69 --message=\"公開組織は\" --credential=\"きぼうきょうかい\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":54,"end":78,"value":"きぼうきょうかい","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["きぼうきょうかい"]},"customers":{"required_absent":[],"required_present":["きぼうきょうかい"]},"all":{"required_absent":[],"required_present":["きぼうきょうかい"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ja-redact-070","language":"ja","script":"Hiragana","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"顧客が話した相手はまことあらい","known_identities":[],"targets":[{"id":"person","kind":"person","start":27,"end":45,"value":"まことあらい","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["まことあらい"]},"customers":{"required_absent":["まことあらい"],"required_present":[]},"all":{"required_absent":["まことあらい"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ja-preserve-070","language":"ja","script":"Hiragana","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"公開組織はこもれびけんきゅうじょ","known_identities":[],"targets":[{"id":"person","kind":"person","start":15,"end":48,"value":"こもれびけんきゅうじょ","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["こもれびけんきゅうじょ"]},"customers":{"required_absent":[],"required_present":["こもれびけんきゅうじょ"]},"all":{"required_absent":[],"required_present":["こもれびけんきゅうじょ"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ja-redact-071","language":"ja","script":"Hiragana","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_71\":\"顧客が話した相手はまこといとう\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":60,"value":"まこといとう","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["まこといとう"]},"customers":{"required_absent":["まこといとう"],"required_present":[]},"all":{"required_absent":["まこといとう"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ja-preserve-071","language":"ja","script":"Hiragana","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_71\":\"公開組織はこもれびしゅっぱん\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":57,"value":"こもれびしゅっぱん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["こもれびしゅっぱん"]},"customers":{"required_absent":[],"required_present":["こもれびしゅっぱん"]},"all":{"required_absent":[],"required_present":["こもれびしゅっぱん"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ja-redact-072","language":"ja","script":"Hiragana","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_72: 顧客が話した相手はまことうえだ","known_identities":[],"targets":[{"id":"person","kind":"person","start":39,"end":57,"value":"まことうえだ","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["まことうえだ"]},"customers":{"required_absent":["まことうえだ"],"required_present":[]},"all":{"required_absent":["まことうえだ"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ja-preserve-072","language":"ja","script":"Hiragana","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_72: 公開組織はこもれびざいだん","known_identities":[],"targets":[{"id":"person","kind":"person","start":27,"end":51,"value":"こもれびざいだん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["こもれびざいだん"]},"customers":{"required_absent":[],"required_present":["こもれびざいだん"]},"all":{"required_absent":[],"required_present":["こもれびざいだん"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-072","language":"ja","script":"Hiragana","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_72: \"顧客が話した相手はまことうえだ\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":40,"end":58,"value":"まことうえだ","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["まことうえだ"]},"customers":{"required_absent":["まことうえだ"],"required_present":[]},"all":{"required_absent":["まことうえだ"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-072","language":"ja","script":"Hiragana","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_72: \"公開組織はこもれびざいだん\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":28,"end":52,"value":"こもれびざいだん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["こもれびざいだん"]},"customers":{"required_absent":[],"required_present":["こもれびざいだん"]},"all":{"required_absent":[],"required_present":["こもれびざいだん"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ja-redact-073","language":"ja","script":"Hiragana","shape":"shell","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_73='顧客が話した相手はまことえんどう'","known_identities":[],"targets":[{"id":"person","kind":"person","start":39,"end":60,"value":"まことえんどう","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["まことえんどう"]},"customers":{"required_absent":["まことえんどう"],"required_present":[]},"all":{"required_absent":["まことえんどう"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ja-preserve-073","language":"ja","script":"Hiragana","shape":"shell","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_73='公開組織はこもれびこうぼう'","known_identities":[],"targets":[{"id":"person","kind":"person","start":27,"end":51,"value":"こもれびこうぼう","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["こもれびこうぼう"]},"customers":{"required_absent":[],"required_present":["こもれびこうぼう"]},"all":{"required_absent":[],"required_present":["こもれびこうぼう"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ja-redact-074","language":"ja","script":"Hiragana","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/74 ; 顧客が話した相手はまことおおた","known_identities":[],"targets":[{"id":"person","kind":"person","start":60,"end":78,"value":"まことおおた","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["まことおおた"]},"customers":{"required_absent":["まことおおた"],"required_present":[]},"all":{"required_absent":["まことおおた"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ja-preserve-074","language":"ja","script":"Hiragana","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/74 ; 公開組織はこもれびがくえん","known_identities":[],"targets":[{"id":"person","kind":"person","start":48,"end":72,"value":"こもれびがくえん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["こもれびがくえん"]},"customers":{"required_absent":[],"required_present":["こもれびがくえん"]},"all":{"required_absent":[],"required_present":["こもれびがくえん"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ja-redact-075","language":"ja","script":"Hiragana","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"**顧客が話した相手はまことかとう**","known_identities":[],"targets":[{"id":"person","kind":"person","start":29,"end":47,"value":"まことかとう","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["まことかとう"]},"customers":{"required_absent":["まことかとう"],"required_present":[]},"all":{"required_absent":["まことかとう"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ja-preserve-075","language":"ja","script":"Hiragana","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"**公開組織はこもれびぶんかかい**","known_identities":[],"targets":[{"id":"person","kind":"person","start":17,"end":44,"value":"こもれびぶんかかい","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["こもれびぶんかかい"]},"customers":{"required_absent":[],"required_present":["こもれびぶんかかい"]},"all":{"required_absent":[],"required_present":["こもれびぶんかかい"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ja-redact-076","language":"ja","script":"Hiragana","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003e顧客が話した相手はまこときむら\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":48,"value":"まこときむら","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["まこときむら"]},"customers":{"required_absent":["まこときむら"],"required_present":[]},"all":{"required_absent":["まこときむら"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ja-preserve-076","language":"ja","script":"Hiragana","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003e公開組織はこもれびとしょかん\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":18,"end":45,"value":"こもれびとしょかん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["こもれびとしょかん"]},"customers":{"required_absent":[],"required_present":["こもれびとしょかん"]},"all":{"required_absent":[],"required_present":["こもれびとしょかん"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-074","language":"ja","script":"Hiragana","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/74?credential=まことおおた\u0026note=%E9%A1%A7%E5%AE%A2%E3%81%8C%E8%A9%B1%E3%81%97%E3%81%9F%E7%9B%B8%E6%89%8B%E3%81%AF","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":60,"value":"まことおおた","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["まことおおた"]},"customers":{"required_absent":["まことおおた"],"required_present":[]},"all":{"required_absent":["まことおおた"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-074","language":"ja","script":"Hiragana","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/74?credential=こもれびがくえん\u0026note=%E5%85%AC%E9%96%8B%E7%B5%84%E7%B9%94%E3%81%AF","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":66,"value":"こもれびがくえん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["こもれびがくえん"]},"customers":{"required_absent":[],"required_present":["こもれびがくえん"]},"all":{"required_absent":[],"required_present":["こもれびがくえん"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-075","language":"ja","script":"Hiragana","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"顧客が話した相手は`まことかとう`","known_identities":[],"targets":[{"id":"person","kind":"person","start":28,"end":46,"value":"まことかとう","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["まことかとう"]},"customers":{"required_absent":["まことかとう"],"required_present":[]},"all":{"required_absent":["まことかとう"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-075","language":"ja","script":"Hiragana","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"公開組織は`こもれびぶんかかい`","known_identities":[],"targets":[{"id":"person","kind":"person","start":16,"end":43,"value":"こもれびぶんかかい","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["こもれびぶんかかい"]},"customers":{"required_absent":[],"required_present":["こもれびぶんかかい"]},"all":{"required_absent":[],"required_present":["こもれびぶんかかい"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-076","language":"ja","script":"Hiragana","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003e顧客が話した相手は\u003ccode\u003eまこときむら\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":36,"end":54,"value":"まこときむら","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["まこときむら"]},"customers":{"required_absent":["まこときむら"],"required_present":[]},"all":{"required_absent":["まこときむら"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-076","language":"ja","script":"Hiragana","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003e公開組織は\u003ccode\u003eこもれびとしょかん\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":24,"end":51,"value":"こもれびとしょかん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["こもれびとしょかん"]},"customers":{"required_absent":[],"required_present":["こもれびとしょかん"]},"all":{"required_absent":[],"required_present":["こもれびとしょかん"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ja-redact-077","language":"ja","script":"Hiragana","shape":"quoted-reply","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e 顧客が話した相手はまことこばやし","known_identities":[],"targets":[{"id":"person","kind":"person","start":29,"end":50,"value":"まことこばやし","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["まことこばやし"]},"customers":{"required_absent":["まことこばやし"],"required_present":[]},"all":{"required_absent":["まことこばやし"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ja-preserve-077","language":"ja","script":"Hiragana","shape":"quoted-reply","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e 公開組織はこもれびげきだん","known_identities":[],"targets":[{"id":"person","kind":"person","start":17,"end":41,"value":"こもれびげきだん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["こもれびげきだん"]},"customers":{"required_absent":[],"required_present":["こもれびげきだん"]},"all":{"required_absent":[],"required_present":["こもれびげきだん"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ja-redact-078","language":"ja","script":"Hiragana","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=78 message=\"顧客が話した相手は\" value=まことさとう","known_identities":[],"targets":[{"id":"person","kind":"person","start":65,"end":83,"value":"まことさとう","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["まことさとう"]},"customers":{"required_absent":["まことさとう"],"required_present":[]},"all":{"required_absent":["まことさとう"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ja-preserve-078","language":"ja","script":"Hiragana","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=78 message=\"公開組織は\" value=こもれびはくぶつかん","known_identities":[],"targets":[{"id":"person","kind":"person","start":53,"end":83,"value":"こもれびはくぶつかん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["こもれびはくぶつかん"]},"customers":{"required_absent":[],"required_present":["こもれびはくぶつかん"]},"all":{"required_absent":[],"required_present":["こもれびはくぶつかん"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-078","language":"ja","script":"Hiragana","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=78 message=\"顧客が話した相手は\" credential=\"まことさとう\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":71,"end":89,"value":"まことさとう","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["まことさとう"]},"customers":{"required_absent":["まことさとう"],"required_present":[]},"all":{"required_absent":["まことさとう"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-078","language":"ja","script":"Hiragana","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=78 message=\"公開組織は\" credential=\"こもれびはくぶつかん\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":59,"end":89,"value":"こもれびはくぶつかん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["こもれびはくぶつかん"]},"customers":{"required_absent":[],"required_present":["こもれびはくぶつかん"]},"all":{"required_absent":[],"required_present":["こもれびはくぶつかん"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ja-redact-079","language":"ja","script":"Hiragana","shape":"stack-trace","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[79]: 顧客が話した相手はまことたなか","known_identities":[],"targets":[{"id":"person","kind":"person","start":38,"end":56,"value":"まことたなか","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["まことたなか"]},"customers":{"required_absent":["まことたなか"],"required_present":[]},"all":{"required_absent":["まことたなか"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ja-preserve-079","language":"ja","script":"Hiragana","shape":"stack-trace","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[79]: 公開組織はこもれびきょうかい","known_identities":[],"targets":[{"id":"person","kind":"person","start":26,"end":53,"value":"こもれびきょうかい","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["こもれびきょうかい"]},"customers":{"required_absent":[],"required_present":["こもれびきょうかい"]},"all":{"required_absent":[],"required_present":["こもれびきょうかい"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ja-redact-080","language":"ja","script":"Hiragana","shape":"code","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_80 := `顧客が話した相手はゆいあらい`","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":57,"value":"ゆいあらい","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["ゆいあらい"]},"customers":{"required_absent":["ゆいあらい"],"required_present":[]},"all":{"required_absent":["ゆいあらい"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, @@ -1568,26 +1568,26 @@ {"id":"broad-language-ja-preserve-081","language":"ja","script":"Hiragana","shape":"signature","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--\n公開組織はさざなみしゅっぱん","known_identities":[],"targets":[{"id":"person","kind":"person","start":18,"end":45,"value":"さざなみしゅっぱん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["さざなみしゅっぱん"]},"customers":{"required_absent":[],"required_present":["さざなみしゅっぱん"]},"all":{"required_absent":[],"required_present":["さざなみしゅっぱん"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ja-redact-082","language":"ja","script":"Hiragana","shape":"long-thread","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. 顧客が話した相手はゆいうえだ","known_identities":[],"targets":[{"id":"person","kind":"person","start":507,"end":522,"value":"ゆいうえだ","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["ゆいうえだ"]},"customers":{"required_absent":["ゆいうえだ"],"required_present":[]},"all":{"required_absent":["ゆいうえだ"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ja-preserve-082","language":"ja","script":"Hiragana","shape":"long-thread","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. 公開組織はさざなみざいだん","known_identities":[],"targets":[{"id":"person","kind":"person","start":495,"end":519,"value":"さざなみざいだん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["さざなみざいだん"]},"customers":{"required_absent":[],"required_present":["さざなみざいだん"]},"all":{"required_absent":[],"required_present":["さざなみざいだん"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ja-redact-083","language":"ja","script":"Hiragana","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=83 --message=\"顧客が話した相手は\" --value=ゆいえんどう","known_identities":[],"targets":[{"id":"person","kind":"person","start":60,"end":78,"value":"ゆいえんどう","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["ゆいえんどう"]},"customers":{"required_absent":["ゆいえんどう"],"required_present":[]},"all":{"required_absent":["ゆいえんどう"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ja-preserve-083","language":"ja","script":"Hiragana","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=83 --message=\"公開組織は\" --value=さざなみこうぼう","known_identities":[],"targets":[{"id":"person","kind":"person","start":48,"end":72,"value":"さざなみこうぼう","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["さざなみこうぼう"]},"customers":{"required_absent":[],"required_present":["さざなみこうぼう"]},"all":{"required_absent":[],"required_present":["さざなみこうぼう"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-083","language":"ja","script":"Hiragana","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=83 --message=\"顧客が話した相手は\" --credential=\"ゆいえんどう\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":66,"end":84,"value":"ゆいえんどう","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["ゆいえんどう"]},"customers":{"required_absent":["ゆいえんどう"],"required_present":[]},"all":{"required_absent":["ゆいえんどう"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-083","language":"ja","script":"Hiragana","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=83 --message=\"公開組織は\" --credential=\"さざなみこうぼう\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":54,"end":78,"value":"さざなみこうぼう","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["さざなみこうぼう"]},"customers":{"required_absent":[],"required_present":["さざなみこうぼう"]},"all":{"required_absent":[],"required_present":["さざなみこうぼう"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ja-redact-084","language":"ja","script":"Hiragana","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"顧客が話した相手はゆいおおた","known_identities":[],"targets":[{"id":"person","kind":"person","start":27,"end":42,"value":"ゆいおおた","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["ゆいおおた"]},"customers":{"required_absent":["ゆいおおた"],"required_present":[]},"all":{"required_absent":["ゆいおおた"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ja-preserve-084","language":"ja","script":"Hiragana","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"公開組織はさざなみがくえん","known_identities":[],"targets":[{"id":"person","kind":"person","start":15,"end":39,"value":"さざなみがくえん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["さざなみがくえん"]},"customers":{"required_absent":[],"required_present":["さざなみがくえん"]},"all":{"required_absent":[],"required_present":["さざなみがくえん"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ja-redact-085","language":"ja","script":"Hiragana","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_85\":\"顧客が話した相手はゆいかとう\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":57,"value":"ゆいかとう","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["ゆいかとう"]},"customers":{"required_absent":["ゆいかとう"],"required_present":[]},"all":{"required_absent":["ゆいかとう"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ja-preserve-085","language":"ja","script":"Hiragana","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_85\":\"公開組織はさざなみぶんかかい\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":57,"value":"さざなみぶんかかい","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["さざなみぶんかかい"]},"customers":{"required_absent":[],"required_present":["さざなみぶんかかい"]},"all":{"required_absent":[],"required_present":["さざなみぶんかかい"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ja-redact-086","language":"ja","script":"Hiragana","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_86: 顧客が話した相手はゆいきむら","known_identities":[],"targets":[{"id":"person","kind":"person","start":39,"end":54,"value":"ゆいきむら","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["ゆいきむら"]},"customers":{"required_absent":["ゆいきむら"],"required_present":[]},"all":{"required_absent":["ゆいきむら"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ja-preserve-086","language":"ja","script":"Hiragana","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_86: 公開組織はさざなみとしょかん","known_identities":[],"targets":[{"id":"person","kind":"person","start":27,"end":54,"value":"さざなみとしょかん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["さざなみとしょかん"]},"customers":{"required_absent":[],"required_present":["さざなみとしょかん"]},"all":{"required_absent":[],"required_present":["さざなみとしょかん"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-086","language":"ja","script":"Hiragana","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_86: \"顧客が話した相手はゆいきむら\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":40,"end":55,"value":"ゆいきむら","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["ゆいきむら"]},"customers":{"required_absent":["ゆいきむら"],"required_present":[]},"all":{"required_absent":["ゆいきむら"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-086","language":"ja","script":"Hiragana","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_86: \"公開組織はさざなみとしょかん\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":28,"end":55,"value":"さざなみとしょかん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["さざなみとしょかん"]},"customers":{"required_absent":[],"required_present":["さざなみとしょかん"]},"all":{"required_absent":[],"required_present":["さざなみとしょかん"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ja-redact-087","language":"ja","script":"Hiragana","shape":"shell","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_87='顧客が話した相手はゆいこばやし'","known_identities":[],"targets":[{"id":"person","kind":"person","start":39,"end":57,"value":"ゆいこばやし","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["ゆいこばやし"]},"customers":{"required_absent":["ゆいこばやし"],"required_present":[]},"all":{"required_absent":["ゆいこばやし"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ja-preserve-087","language":"ja","script":"Hiragana","shape":"shell","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_87='公開組織はさざなみげきだん'","known_identities":[],"targets":[{"id":"person","kind":"person","start":27,"end":51,"value":"さざなみげきだん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["さざなみげきだん"]},"customers":{"required_absent":[],"required_present":["さざなみげきだん"]},"all":{"required_absent":[],"required_present":["さざなみげきだん"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ja-redact-088","language":"ja","script":"Hiragana","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/88 ; 顧客が話した相手はゆいさとう","known_identities":[],"targets":[{"id":"person","kind":"person","start":60,"end":75,"value":"ゆいさとう","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["ゆいさとう"]},"customers":{"required_absent":["ゆいさとう"],"required_present":[]},"all":{"required_absent":["ゆいさとう"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ja-preserve-088","language":"ja","script":"Hiragana","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/88 ; 公開組織はさざなみはくぶつかん","known_identities":[],"targets":[{"id":"person","kind":"person","start":48,"end":78,"value":"さざなみはくぶつかん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["さざなみはくぶつかん"]},"customers":{"required_absent":[],"required_present":["さざなみはくぶつかん"]},"all":{"required_absent":[],"required_present":["さざなみはくぶつかん"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ja-redact-089","language":"ja","script":"Hiragana","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"**顧客が話した相手はゆいたなか**","known_identities":[],"targets":[{"id":"person","kind":"person","start":29,"end":44,"value":"ゆいたなか","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["ゆいたなか"]},"customers":{"required_absent":["ゆいたなか"],"required_present":[]},"all":{"required_absent":["ゆいたなか"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ja-preserve-089","language":"ja","script":"Hiragana","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"**公開組織はさざなみきょうかい**","known_identities":[],"targets":[{"id":"person","kind":"person","start":17,"end":44,"value":"さざなみきょうかい","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["さざなみきょうかい"]},"customers":{"required_absent":[],"required_present":["さざなみきょうかい"]},"all":{"required_absent":[],"required_present":["さざなみきょうかい"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ja-redact-090","language":"ja","script":"Hiragana","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003e顧客が話した相手はりんあらい\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":45,"value":"りんあらい","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["りんあらい"]},"customers":{"required_absent":["りんあらい"],"required_present":[]},"all":{"required_absent":["りんあらい"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ja-preserve-090","language":"ja","script":"Hiragana","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003e公開組織はつばさけんきゅうじょ\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":18,"end":48,"value":"つばさけんきゅうじょ","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["つばさけんきゅうじょ"]},"customers":{"required_absent":[],"required_present":["つばさけんきゅうじょ"]},"all":{"required_absent":[],"required_present":["つばさけんきゅうじょ"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-088","language":"ja","script":"Hiragana","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/88?credential=ゆいさとう\u0026note=%E9%A1%A7%E5%AE%A2%E3%81%8C%E8%A9%B1%E3%81%97%E3%81%9F%E7%9B%B8%E6%89%8B%E3%81%AF","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":57,"value":"ゆいさとう","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["ゆいさとう"]},"customers":{"required_absent":["ゆいさとう"],"required_present":[]},"all":{"required_absent":["ゆいさとう"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-088","language":"ja","script":"Hiragana","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/88?credential=さざなみはくぶつかん\u0026note=%E5%85%AC%E9%96%8B%E7%B5%84%E7%B9%94%E3%81%AF","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":72,"value":"さざなみはくぶつかん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["さざなみはくぶつかん"]},"customers":{"required_absent":[],"required_present":["さざなみはくぶつかん"]},"all":{"required_absent":[],"required_present":["さざなみはくぶつかん"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-089","language":"ja","script":"Hiragana","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"顧客が話した相手は`ゆいたなか`","known_identities":[],"targets":[{"id":"person","kind":"person","start":28,"end":43,"value":"ゆいたなか","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["ゆいたなか"]},"customers":{"required_absent":["ゆいたなか"],"required_present":[]},"all":{"required_absent":["ゆいたなか"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-089","language":"ja","script":"Hiragana","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"公開組織は`さざなみきょうかい`","known_identities":[],"targets":[{"id":"person","kind":"person","start":16,"end":43,"value":"さざなみきょうかい","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["さざなみきょうかい"]},"customers":{"required_absent":[],"required_present":["さざなみきょうかい"]},"all":{"required_absent":[],"required_present":["さざなみきょうかい"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-090","language":"ja","script":"Hiragana","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003e顧客が話した相手は\u003ccode\u003eりんあらい\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":36,"end":51,"value":"りんあらい","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["りんあらい"]},"customers":{"required_absent":["りんあらい"],"required_present":[]},"all":{"required_absent":["りんあらい"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-090","language":"ja","script":"Hiragana","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003e公開組織は\u003ccode\u003eつばさけんきゅうじょ\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":24,"end":54,"value":"つばさけんきゅうじょ","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["つばさけんきゅうじょ"]},"customers":{"required_absent":[],"required_present":["つばさけんきゅうじょ"]},"all":{"required_absent":[],"required_present":["つばさけんきゅうじょ"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ja-redact-091","language":"ja","script":"Hiragana","shape":"quoted-reply","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e 顧客が話した相手はりんいとう","known_identities":[],"targets":[{"id":"person","kind":"person","start":29,"end":44,"value":"りんいとう","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["りんいとう"]},"customers":{"required_absent":["りんいとう"],"required_present":[]},"all":{"required_absent":["りんいとう"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ja-preserve-091","language":"ja","script":"Hiragana","shape":"quoted-reply","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e 公開組織はつばさしゅっぱん","known_identities":[],"targets":[{"id":"person","kind":"person","start":17,"end":41,"value":"つばさしゅっぱん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["つばさしゅっぱん"]},"customers":{"required_absent":[],"required_present":["つばさしゅっぱん"]},"all":{"required_absent":[],"required_present":["つばさしゅっぱん"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ja-redact-092","language":"ja","script":"Hiragana","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=92 message=\"顧客が話した相手は\" value=りんうえだ","known_identities":[],"targets":[{"id":"person","kind":"person","start":65,"end":80,"value":"りんうえだ","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["りんうえだ"]},"customers":{"required_absent":["りんうえだ"],"required_present":[]},"all":{"required_absent":["りんうえだ"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ja-preserve-092","language":"ja","script":"Hiragana","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=92 message=\"公開組織は\" value=つばさざいだん","known_identities":[],"targets":[{"id":"person","kind":"person","start":53,"end":74,"value":"つばさざいだん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["つばさざいだん"]},"customers":{"required_absent":[],"required_present":["つばさざいだん"]},"all":{"required_absent":[],"required_present":["つばさざいだん"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-092","language":"ja","script":"Hiragana","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=92 message=\"顧客が話した相手は\" credential=\"りんうえだ\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":71,"end":86,"value":"りんうえだ","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["りんうえだ"]},"customers":{"required_absent":["りんうえだ"],"required_present":[]},"all":{"required_absent":["りんうえだ"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-092","language":"ja","script":"Hiragana","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=92 message=\"公開組織は\" credential=\"つばさざいだん\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":59,"end":80,"value":"つばさざいだん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["つばさざいだん"]},"customers":{"required_absent":[],"required_present":["つばさざいだん"]},"all":{"required_absent":[],"required_present":["つばさざいだん"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ja-redact-093","language":"ja","script":"Hiragana","shape":"stack-trace","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[93]: 顧客が話した相手はりんえんどう","known_identities":[],"targets":[{"id":"person","kind":"person","start":38,"end":56,"value":"りんえんどう","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["りんえんどう"]},"customers":{"required_absent":["りんえんどう"],"required_present":[]},"all":{"required_absent":["りんえんどう"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ja-preserve-093","language":"ja","script":"Hiragana","shape":"stack-trace","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[93]: 公開組織はつばさこうぼう","known_identities":[],"targets":[{"id":"person","kind":"person","start":26,"end":47,"value":"つばさこうぼう","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["つばさこうぼう"]},"customers":{"required_absent":[],"required_present":["つばさこうぼう"]},"all":{"required_absent":[],"required_present":["つばさこうぼう"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ja-redact-094","language":"ja","script":"Hiragana","shape":"code","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_94 := `顧客が話した相手はりんおおた`","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":57,"value":"りんおおた","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["りんおおた"]},"customers":{"required_absent":["りんおおた"],"required_present":[]},"all":{"required_absent":["りんおおた"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, @@ -1596,8 +1596,8 @@ {"id":"broad-language-ja-preserve-095","language":"ja","script":"Hiragana","shape":"signature","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--\n公開組織はつばさぶんかかい","known_identities":[],"targets":[{"id":"person","kind":"person","start":18,"end":42,"value":"つばさぶんかかい","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["つばさぶんかかい"]},"customers":{"required_absent":[],"required_present":["つばさぶんかかい"]},"all":{"required_absent":[],"required_present":["つばさぶんかかい"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ja-redact-096","language":"ja","script":"Hiragana","shape":"long-thread","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. 顧客が話した相手はりんきむら","known_identities":[],"targets":[{"id":"person","kind":"person","start":507,"end":522,"value":"りんきむら","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["りんきむら"]},"customers":{"required_absent":["りんきむら"],"required_present":[]},"all":{"required_absent":["りんきむら"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ja-preserve-096","language":"ja","script":"Hiragana","shape":"long-thread","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. 公開組織はつばさとしょかん","known_identities":[],"targets":[{"id":"person","kind":"person","start":495,"end":519,"value":"つばさとしょかん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["つばさとしょかん"]},"customers":{"required_absent":[],"required_present":["つばさとしょかん"]},"all":{"required_absent":[],"required_present":["つばさとしょかん"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ja-redact-097","language":"ja","script":"Hiragana","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=97 --message=\"顧客が話した相手は\" --value=りんこばやし","known_identities":[],"targets":[{"id":"person","kind":"person","start":60,"end":78,"value":"りんこばやし","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["りんこばやし"]},"customers":{"required_absent":["りんこばやし"],"required_present":[]},"all":{"required_absent":["りんこばやし"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ja-preserve-097","language":"ja","script":"Hiragana","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=97 --message=\"公開組織は\" --value=つばさげきだん","known_identities":[],"targets":[{"id":"person","kind":"person","start":48,"end":69,"value":"つばさげきだん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["つばさげきだん"]},"customers":{"required_absent":[],"required_present":["つばさげきだん"]},"all":{"required_absent":[],"required_present":["つばさげきだん"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-redact-097","language":"ja","script":"Hiragana","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=97 --message=\"顧客が話した相手は\" --credential=\"りんこばやし\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":66,"end":84,"value":"りんこばやし","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["りんこばやし"]},"customers":{"required_absent":["りんこばやし"],"required_present":[]},"all":{"required_absent":["りんこばやし"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ja-preserve-097","language":"ja","script":"Hiragana","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=97 --message=\"公開組織は\" --credential=\"つばさげきだん\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":54,"end":75,"value":"つばさげきだん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["つばさげきだん"]},"customers":{"required_absent":[],"required_present":["つばさげきだん"]},"all":{"required_absent":[],"required_present":["つばさげきだん"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ja-redact-098","language":"ja","script":"Hiragana","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"顧客が話した相手はりんさとう","known_identities":[],"targets":[{"id":"person","kind":"person","start":27,"end":42,"value":"りんさとう","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["りんさとう"]},"customers":{"required_absent":["りんさとう"],"required_present":[]},"all":{"required_absent":["りんさとう"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ja-preserve-098","language":"ja","script":"Hiragana","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"公開組織はつばさはくぶつかん","known_identities":[],"targets":[{"id":"person","kind":"person","start":15,"end":42,"value":"つばさはくぶつかん","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["つばさはくぶつかん"]},"customers":{"required_absent":[],"required_present":["つばさはくぶつかん"]},"all":{"required_absent":[],"required_present":["つばさはくぶつかん"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ja-redact-099","language":"ja","script":"Hiragana","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_99\":\"顧客が話した相手はりんたなか\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":57,"value":"りんたなか","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["りんたなか"]},"customers":{"required_absent":["りんたなか"],"required_present":[]},"all":{"required_absent":["りんたなか"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, @@ -1606,20 +1606,20 @@ {"id":"broad-language-ko-preserve-000","language":"ko","script":"Hangul","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"공개 기관은 가온 연구소","known_identities":[],"targets":[{"id":"person","kind":"person","start":17,"end":33,"value":"가온 연구소","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["가온 연구소"]},"customers":{"required_absent":[],"required_present":["가온 연구소"]},"all":{"required_absent":[],"required_present":["가온 연구소"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ko-redact-001","language":"ko","script":"Hangul","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_1\":\"고객이 언급한 사람은 가람 이\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":44,"end":54,"value":"가람 이","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["가람 이"]},"customers":{"required_absent":["가람 이"],"required_present":[]},"all":{"required_absent":["가람 이"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ko-preserve-001","language":"ko","script":"Hangul","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_1\":\"공개 기관은 가온 출판사\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":47,"value":"가온 출판사","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["가온 출판사"]},"customers":{"required_absent":[],"required_present":["가온 출판사"]},"all":{"required_absent":[],"required_present":["가온 출판사"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ko-redact-002","language":"ko","script":"Hangul","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_2: 고객이 언급한 사람은 가람 박","known_identities":[],"targets":[{"id":"person","kind":"person","start":41,"end":51,"value":"가람 박","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["가람 박"]},"customers":{"required_absent":["가람 박"],"required_present":[]},"all":{"required_absent":["가람 박"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ko-preserve-002","language":"ko","script":"Hangul","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_2: 공개 기관은 가온 재단","known_identities":[],"targets":[{"id":"person","kind":"person","start":28,"end":41,"value":"가온 재단","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["가온 재단"]},"customers":{"required_absent":[],"required_present":["가온 재단"]},"all":{"required_absent":[],"required_present":["가온 재단"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-002","language":"ko","script":"Hangul","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_2: \"고객이 언급한 사람은 가람 박\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":52,"value":"가람 박","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["가람 박"]},"customers":{"required_absent":["가람 박"],"required_present":[]},"all":{"required_absent":["가람 박"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-002","language":"ko","script":"Hangul","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_2: \"공개 기관은 가온 재단\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":29,"end":42,"value":"가온 재단","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["가온 재단"]},"customers":{"required_absent":[],"required_present":["가온 재단"]},"all":{"required_absent":[],"required_present":["가온 재단"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ko-redact-003","language":"ko","script":"Hangul","shape":"shell","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_3='고객이 언급한 사람은 가람 최'","known_identities":[],"targets":[{"id":"person","kind":"person","start":41,"end":51,"value":"가람 최","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["가람 최"]},"customers":{"required_absent":["가람 최"],"required_present":[]},"all":{"required_absent":["가람 최"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ko-preserve-003","language":"ko","script":"Hangul","shape":"shell","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_3='공개 기관은 가온 공방'","known_identities":[],"targets":[{"id":"person","kind":"person","start":28,"end":41,"value":"가온 공방","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["가온 공방"]},"customers":{"required_absent":[],"required_present":["가온 공방"]},"all":{"required_absent":[],"required_present":["가온 공방"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ko-redact-004","language":"ko","script":"Hangul","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/4 ; 고객이 언급한 사람은 가람 정","known_identities":[],"targets":[{"id":"person","kind":"person","start":62,"end":72,"value":"가람 정","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["가람 정"]},"customers":{"required_absent":["가람 정"],"required_present":[]},"all":{"required_absent":["가람 정"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ko-preserve-004","language":"ko","script":"Hangul","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/4 ; 공개 기관은 가온 학교","known_identities":[],"targets":[{"id":"person","kind":"person","start":49,"end":62,"value":"가온 학교","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["가온 학교"]},"customers":{"required_absent":[],"required_present":["가온 학교"]},"all":{"required_absent":[],"required_present":["가온 학교"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ko-redact-005","language":"ko","script":"Hangul","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"**고객이 언급한 사람은 가람 강**","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":42,"value":"가람 강","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["가람 강"]},"customers":{"required_absent":["가람 강"],"required_present":[]},"all":{"required_absent":["가람 강"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ko-preserve-005","language":"ko","script":"Hangul","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"**공개 기관은 가온 협회**","known_identities":[],"targets":[{"id":"person","kind":"person","start":19,"end":32,"value":"가온 협회","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["가온 협회"]},"customers":{"required_absent":[],"required_present":["가온 협회"]},"all":{"required_absent":[],"required_present":["가온 협회"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ko-redact-006","language":"ko","script":"Hangul","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003e고객이 언급한 사람은 가람 조\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":33,"end":43,"value":"가람 조","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["가람 조"]},"customers":{"required_absent":["가람 조"],"required_present":[]},"all":{"required_absent":["가람 조"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ko-preserve-006","language":"ko","script":"Hangul","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003e공개 기관은 가온 박물관\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":20,"end":36,"value":"가온 박물관","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["가온 박물관"]},"customers":{"required_absent":[],"required_present":["가온 박물관"]},"all":{"required_absent":[],"required_present":["가온 박물관"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-004","language":"ko","script":"Hangul","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/4?credential=가람 정\u0026note=%EA%B3%A0%EA%B0%9D%EC%9D%B4+%EC%96%B8%EA%B8%89%ED%95%9C+%EC%82%AC%EB%9E%8C%EC%9D%80+","known_identities":[],"targets":[{"id":"person","kind":"person","start":41,"end":51,"value":"가람 정","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["가람 정"]},"customers":{"required_absent":["가람 정"],"required_present":[]},"all":{"required_absent":["가람 정"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-004","language":"ko","script":"Hangul","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/4?credential=가온 학교\u0026note=%EA%B3%B5%EA%B0%9C+%EA%B8%B0%EA%B4%80%EC%9D%80+","known_identities":[],"targets":[{"id":"person","kind":"person","start":41,"end":54,"value":"가온 학교","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["가온 학교"]},"customers":{"required_absent":[],"required_present":["가온 학교"]},"all":{"required_absent":[],"required_present":["가온 학교"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-005","language":"ko","script":"Hangul","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"고객이 언급한 사람은 `가람 강`","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":41,"value":"가람 강","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["가람 강"]},"customers":{"required_absent":["가람 강"],"required_present":[]},"all":{"required_absent":["가람 강"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-005","language":"ko","script":"Hangul","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"공개 기관은 `가온 협회`","known_identities":[],"targets":[{"id":"person","kind":"person","start":18,"end":31,"value":"가온 협회","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["가온 협회"]},"customers":{"required_absent":[],"required_present":["가온 협회"]},"all":{"required_absent":[],"required_present":["가온 협회"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-006","language":"ko","script":"Hangul","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003e고객이 언급한 사람은 \u003ccode\u003e가람 조\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":39,"end":49,"value":"가람 조","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["가람 조"]},"customers":{"required_absent":["가람 조"],"required_present":[]},"all":{"required_absent":["가람 조"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-006","language":"ko","script":"Hangul","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003e공개 기관은 \u003ccode\u003e가온 박물관\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":26,"end":42,"value":"가온 박물관","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["가온 박물관"]},"customers":{"required_absent":[],"required_present":["가온 박물관"]},"all":{"required_absent":[],"required_present":["가온 박물관"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ko-redact-007","language":"ko","script":"Hangul","shape":"quoted-reply","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e 고객이 언급한 사람은 가람 윤","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":42,"value":"가람 윤","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["가람 윤"]},"customers":{"required_absent":["가람 윤"],"required_present":[]},"all":{"required_absent":["가람 윤"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ko-preserve-007","language":"ko","script":"Hangul","shape":"quoted-reply","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e 공개 기관은 가온 도서관","known_identities":[],"targets":[{"id":"person","kind":"person","start":19,"end":35,"value":"가온 도서관","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["가온 도서관"]},"customers":{"required_absent":[],"required_present":["가온 도서관"]},"all":{"required_absent":[],"required_present":["가온 도서관"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ko-redact-008","language":"ko","script":"Hangul","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=8 message=\"고객이 언급한 사람은 \" value=가람 장","known_identities":[],"targets":[{"id":"person","kind":"person","start":67,"end":77,"value":"가람 장","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["가람 장"]},"customers":{"required_absent":["가람 장"],"required_present":[]},"all":{"required_absent":["가람 장"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ko-preserve-008","language":"ko","script":"Hangul","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=8 message=\"공개 기관은 \" value=가온 극단","known_identities":[],"targets":[{"id":"person","kind":"person","start":54,"end":67,"value":"가온 극단","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["가온 극단"]},"customers":{"required_absent":[],"required_present":["가온 극단"]},"all":{"required_absent":[],"required_present":["가온 극단"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-008","language":"ko","script":"Hangul","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=8 message=\"고객이 언급한 사람은 \" credential=\"가람 장\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":73,"end":83,"value":"가람 장","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["가람 장"]},"customers":{"required_absent":["가람 장"],"required_present":[]},"all":{"required_absent":["가람 장"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-008","language":"ko","script":"Hangul","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=8 message=\"공개 기관은 \" credential=\"가온 극단\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":60,"end":73,"value":"가온 극단","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["가온 극단"]},"customers":{"required_absent":[],"required_present":["가온 극단"]},"all":{"required_absent":[],"required_present":["가온 극단"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ko-redact-009","language":"ko","script":"Hangul","shape":"stack-trace","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[9]: 고객이 언급한 사람은 가람 임","known_identities":[],"targets":[{"id":"person","kind":"person","start":40,"end":50,"value":"가람 임","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["가람 임"]},"customers":{"required_absent":["가람 임"],"required_present":[]},"all":{"required_absent":["가람 임"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ko-preserve-009","language":"ko","script":"Hangul","shape":"stack-trace","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[9]: 공개 기관은 가온 센터","known_identities":[],"targets":[{"id":"person","kind":"person","start":27,"end":40,"value":"가온 센터","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["가온 센터"]},"customers":{"required_absent":[],"required_present":["가온 센터"]},"all":{"required_absent":[],"required_present":["가온 센터"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ko-redact-010","language":"ko","script":"Hangul","shape":"code","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_10 := `고객이 언급한 사람은 나래 김`","known_identities":[],"targets":[{"id":"person","kind":"person","start":45,"end":55,"value":"나래 김","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["나래 김"]},"customers":{"required_absent":["나래 김"],"required_present":[]},"all":{"required_absent":["나래 김"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, @@ -1628,26 +1628,26 @@ {"id":"broad-language-ko-preserve-011","language":"ko","script":"Hangul","shape":"signature","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--\n공개 기관은 나무 출판사","known_identities":[],"targets":[{"id":"person","kind":"person","start":20,"end":36,"value":"나무 출판사","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["나무 출판사"]},"customers":{"required_absent":[],"required_present":["나무 출판사"]},"all":{"required_absent":[],"required_present":["나무 출판사"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ko-redact-012","language":"ko","script":"Hangul","shape":"long-thread","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. 고객이 언급한 사람은 나래 박","known_identities":[],"targets":[{"id":"person","kind":"person","start":510,"end":520,"value":"나래 박","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["나래 박"]},"customers":{"required_absent":["나래 박"],"required_present":[]},"all":{"required_absent":["나래 박"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ko-preserve-012","language":"ko","script":"Hangul","shape":"long-thread","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. 공개 기관은 나무 재단","known_identities":[],"targets":[{"id":"person","kind":"person","start":497,"end":510,"value":"나무 재단","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["나무 재단"]},"customers":{"required_absent":[],"required_present":["나무 재단"]},"all":{"required_absent":[],"required_present":["나무 재단"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ko-redact-013","language":"ko","script":"Hangul","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=13 --message=\"고객이 언급한 사람은 \" --value=나래 최","known_identities":[],"targets":[{"id":"person","kind":"person","start":63,"end":73,"value":"나래 최","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["나래 최"]},"customers":{"required_absent":["나래 최"],"required_present":[]},"all":{"required_absent":["나래 최"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ko-preserve-013","language":"ko","script":"Hangul","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=13 --message=\"공개 기관은 \" --value=나무 공방","known_identities":[],"targets":[{"id":"person","kind":"person","start":50,"end":63,"value":"나무 공방","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["나무 공방"]},"customers":{"required_absent":[],"required_present":["나무 공방"]},"all":{"required_absent":[],"required_present":["나무 공방"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-013","language":"ko","script":"Hangul","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=13 --message=\"고객이 언급한 사람은 \" --credential=\"나래 최\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":69,"end":79,"value":"나래 최","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["나래 최"]},"customers":{"required_absent":["나래 최"],"required_present":[]},"all":{"required_absent":["나래 최"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-013","language":"ko","script":"Hangul","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=13 --message=\"공개 기관은 \" --credential=\"나무 공방\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":56,"end":69,"value":"나무 공방","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["나무 공방"]},"customers":{"required_absent":[],"required_present":["나무 공방"]},"all":{"required_absent":[],"required_present":["나무 공방"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ko-redact-014","language":"ko","script":"Hangul","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"고객이 언급한 사람은 나래 정","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":40,"value":"나래 정","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["나래 정"]},"customers":{"required_absent":["나래 정"],"required_present":[]},"all":{"required_absent":["나래 정"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ko-preserve-014","language":"ko","script":"Hangul","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"공개 기관은 나무 학교","known_identities":[],"targets":[{"id":"person","kind":"person","start":17,"end":30,"value":"나무 학교","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["나무 학교"]},"customers":{"required_absent":[],"required_present":["나무 학교"]},"all":{"required_absent":[],"required_present":["나무 학교"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ko-redact-015","language":"ko","script":"Hangul","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_15\":\"고객이 언급한 사람은 나래 강\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":45,"end":55,"value":"나래 강","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["나래 강"]},"customers":{"required_absent":["나래 강"],"required_present":[]},"all":{"required_absent":["나래 강"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ko-preserve-015","language":"ko","script":"Hangul","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_15\":\"공개 기관은 나무 협회\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":45,"value":"나무 협회","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["나무 협회"]},"customers":{"required_absent":[],"required_present":["나무 협회"]},"all":{"required_absent":[],"required_present":["나무 협회"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ko-redact-016","language":"ko","script":"Hangul","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_16: 고객이 언급한 사람은 나래 조","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":52,"value":"나래 조","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["나래 조"]},"customers":{"required_absent":["나래 조"],"required_present":[]},"all":{"required_absent":["나래 조"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ko-preserve-016","language":"ko","script":"Hangul","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_16: 공개 기관은 나무 박물관","known_identities":[],"targets":[{"id":"person","kind":"person","start":29,"end":45,"value":"나무 박물관","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["나무 박물관"]},"customers":{"required_absent":[],"required_present":["나무 박물관"]},"all":{"required_absent":[],"required_present":["나무 박물관"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-016","language":"ko","script":"Hangul","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_16: \"고객이 언급한 사람은 나래 조\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":43,"end":53,"value":"나래 조","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["나래 조"]},"customers":{"required_absent":["나래 조"],"required_present":[]},"all":{"required_absent":["나래 조"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-016","language":"ko","script":"Hangul","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_16: \"공개 기관은 나무 박물관\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":46,"value":"나무 박물관","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["나무 박물관"]},"customers":{"required_absent":[],"required_present":["나무 박물관"]},"all":{"required_absent":[],"required_present":["나무 박물관"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ko-redact-017","language":"ko","script":"Hangul","shape":"shell","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_17='고객이 언급한 사람은 나래 윤'","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":52,"value":"나래 윤","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["나래 윤"]},"customers":{"required_absent":["나래 윤"],"required_present":[]},"all":{"required_absent":["나래 윤"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ko-preserve-017","language":"ko","script":"Hangul","shape":"shell","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_17='공개 기관은 나무 도서관'","known_identities":[],"targets":[{"id":"person","kind":"person","start":29,"end":45,"value":"나무 도서관","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["나무 도서관"]},"customers":{"required_absent":[],"required_present":["나무 도서관"]},"all":{"required_absent":[],"required_present":["나무 도서관"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ko-redact-018","language":"ko","script":"Hangul","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/18 ; 고객이 언급한 사람은 나래 장","known_identities":[],"targets":[{"id":"person","kind":"person","start":63,"end":73,"value":"나래 장","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["나래 장"]},"customers":{"required_absent":["나래 장"],"required_present":[]},"all":{"required_absent":["나래 장"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ko-preserve-018","language":"ko","script":"Hangul","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/18 ; 공개 기관은 나무 극단","known_identities":[],"targets":[{"id":"person","kind":"person","start":50,"end":63,"value":"나무 극단","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["나무 극단"]},"customers":{"required_absent":[],"required_present":["나무 극단"]},"all":{"required_absent":[],"required_present":["나무 극단"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ko-redact-019","language":"ko","script":"Hangul","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"**고객이 언급한 사람은 나래 임**","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":42,"value":"나래 임","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["나래 임"]},"customers":{"required_absent":["나래 임"],"required_present":[]},"all":{"required_absent":["나래 임"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ko-preserve-019","language":"ko","script":"Hangul","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"**공개 기관은 나무 센터**","known_identities":[],"targets":[{"id":"person","kind":"person","start":19,"end":32,"value":"나무 센터","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["나무 센터"]},"customers":{"required_absent":[],"required_present":["나무 센터"]},"all":{"required_absent":[],"required_present":["나무 센터"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ko-redact-020","language":"ko","script":"Hangul","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003e고객이 언급한 사람은 다온 김\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":33,"end":43,"value":"다온 김","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["다온 김"]},"customers":{"required_absent":["다온 김"],"required_present":[]},"all":{"required_absent":["다온 김"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ko-preserve-020","language":"ko","script":"Hangul","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003e공개 기관은 다솜 연구소\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":20,"end":36,"value":"다솜 연구소","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["다솜 연구소"]},"customers":{"required_absent":[],"required_present":["다솜 연구소"]},"all":{"required_absent":[],"required_present":["다솜 연구소"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-018","language":"ko","script":"Hangul","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/18?credential=나래 장\u0026note=%EA%B3%A0%EA%B0%9D%EC%9D%B4+%EC%96%B8%EA%B8%89%ED%95%9C+%EC%82%AC%EB%9E%8C%EC%9D%80+","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":52,"value":"나래 장","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["나래 장"]},"customers":{"required_absent":["나래 장"],"required_present":[]},"all":{"required_absent":["나래 장"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-018","language":"ko","script":"Hangul","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/18?credential=나무 극단\u0026note=%EA%B3%B5%EA%B0%9C+%EA%B8%B0%EA%B4%80%EC%9D%80+","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":55,"value":"나무 극단","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["나무 극단"]},"customers":{"required_absent":[],"required_present":["나무 극단"]},"all":{"required_absent":[],"required_present":["나무 극단"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-019","language":"ko","script":"Hangul","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"고객이 언급한 사람은 `나래 임`","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":41,"value":"나래 임","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["나래 임"]},"customers":{"required_absent":["나래 임"],"required_present":[]},"all":{"required_absent":["나래 임"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-019","language":"ko","script":"Hangul","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"공개 기관은 `나무 센터`","known_identities":[],"targets":[{"id":"person","kind":"person","start":18,"end":31,"value":"나무 센터","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["나무 센터"]},"customers":{"required_absent":[],"required_present":["나무 센터"]},"all":{"required_absent":[],"required_present":["나무 센터"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-020","language":"ko","script":"Hangul","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003e고객이 언급한 사람은 \u003ccode\u003e다온 김\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":39,"end":49,"value":"다온 김","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["다온 김"]},"customers":{"required_absent":["다온 김"],"required_present":[]},"all":{"required_absent":["다온 김"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-020","language":"ko","script":"Hangul","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003e공개 기관은 \u003ccode\u003e다솜 연구소\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":26,"end":42,"value":"다솜 연구소","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["다솜 연구소"]},"customers":{"required_absent":[],"required_present":["다솜 연구소"]},"all":{"required_absent":[],"required_present":["다솜 연구소"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ko-redact-021","language":"ko","script":"Hangul","shape":"quoted-reply","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e 고객이 언급한 사람은 다온 이","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":42,"value":"다온 이","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["다온 이"]},"customers":{"required_absent":["다온 이"],"required_present":[]},"all":{"required_absent":["다온 이"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ko-preserve-021","language":"ko","script":"Hangul","shape":"quoted-reply","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e 공개 기관은 다솜 출판사","known_identities":[],"targets":[{"id":"person","kind":"person","start":19,"end":35,"value":"다솜 출판사","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["다솜 출판사"]},"customers":{"required_absent":[],"required_present":["다솜 출판사"]},"all":{"required_absent":[],"required_present":["다솜 출판사"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ko-redact-022","language":"ko","script":"Hangul","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=22 message=\"고객이 언급한 사람은 \" value=다온 박","known_identities":[],"targets":[{"id":"person","kind":"person","start":68,"end":78,"value":"다온 박","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["다온 박"]},"customers":{"required_absent":["다온 박"],"required_present":[]},"all":{"required_absent":["다온 박"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ko-preserve-022","language":"ko","script":"Hangul","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=22 message=\"공개 기관은 \" value=다솜 재단","known_identities":[],"targets":[{"id":"person","kind":"person","start":55,"end":68,"value":"다솜 재단","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["다솜 재단"]},"customers":{"required_absent":[],"required_present":["다솜 재단"]},"all":{"required_absent":[],"required_present":["다솜 재단"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-022","language":"ko","script":"Hangul","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=22 message=\"고객이 언급한 사람은 \" credential=\"다온 박\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":74,"end":84,"value":"다온 박","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["다온 박"]},"customers":{"required_absent":["다온 박"],"required_present":[]},"all":{"required_absent":["다온 박"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-022","language":"ko","script":"Hangul","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=22 message=\"공개 기관은 \" credential=\"다솜 재단\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":61,"end":74,"value":"다솜 재단","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["다솜 재단"]},"customers":{"required_absent":[],"required_present":["다솜 재단"]},"all":{"required_absent":[],"required_present":["다솜 재단"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ko-redact-023","language":"ko","script":"Hangul","shape":"stack-trace","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[23]: 고객이 언급한 사람은 다온 최","known_identities":[],"targets":[{"id":"person","kind":"person","start":41,"end":51,"value":"다온 최","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["다온 최"]},"customers":{"required_absent":["다온 최"],"required_present":[]},"all":{"required_absent":["다온 최"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ko-preserve-023","language":"ko","script":"Hangul","shape":"stack-trace","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[23]: 공개 기관은 다솜 공방","known_identities":[],"targets":[{"id":"person","kind":"person","start":28,"end":41,"value":"다솜 공방","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["다솜 공방"]},"customers":{"required_absent":[],"required_present":["다솜 공방"]},"all":{"required_absent":[],"required_present":["다솜 공방"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ko-redact-024","language":"ko","script":"Hangul","shape":"code","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_24 := `고객이 언급한 사람은 다온 정`","known_identities":[],"targets":[{"id":"person","kind":"person","start":45,"end":55,"value":"다온 정","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["다온 정"]},"customers":{"required_absent":["다온 정"],"required_present":[]},"all":{"required_absent":["다온 정"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, @@ -1656,26 +1656,26 @@ {"id":"broad-language-ko-preserve-025","language":"ko","script":"Hangul","shape":"signature","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--\n공개 기관은 다솜 협회","known_identities":[],"targets":[{"id":"person","kind":"person","start":20,"end":33,"value":"다솜 협회","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["다솜 협회"]},"customers":{"required_absent":[],"required_present":["다솜 협회"]},"all":{"required_absent":[],"required_present":["다솜 협회"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ko-redact-026","language":"ko","script":"Hangul","shape":"long-thread","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. 고객이 언급한 사람은 다온 조","known_identities":[],"targets":[{"id":"person","kind":"person","start":510,"end":520,"value":"다온 조","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["다온 조"]},"customers":{"required_absent":["다온 조"],"required_present":[]},"all":{"required_absent":["다온 조"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ko-preserve-026","language":"ko","script":"Hangul","shape":"long-thread","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. 공개 기관은 다솜 박물관","known_identities":[],"targets":[{"id":"person","kind":"person","start":497,"end":513,"value":"다솜 박물관","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["다솜 박물관"]},"customers":{"required_absent":[],"required_present":["다솜 박물관"]},"all":{"required_absent":[],"required_present":["다솜 박물관"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ko-redact-027","language":"ko","script":"Hangul","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=27 --message=\"고객이 언급한 사람은 \" --value=다온 윤","known_identities":[],"targets":[{"id":"person","kind":"person","start":63,"end":73,"value":"다온 윤","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["다온 윤"]},"customers":{"required_absent":["다온 윤"],"required_present":[]},"all":{"required_absent":["다온 윤"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ko-preserve-027","language":"ko","script":"Hangul","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=27 --message=\"공개 기관은 \" --value=다솜 도서관","known_identities":[],"targets":[{"id":"person","kind":"person","start":50,"end":66,"value":"다솜 도서관","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["다솜 도서관"]},"customers":{"required_absent":[],"required_present":["다솜 도서관"]},"all":{"required_absent":[],"required_present":["다솜 도서관"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-027","language":"ko","script":"Hangul","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=27 --message=\"고객이 언급한 사람은 \" --credential=\"다온 윤\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":69,"end":79,"value":"다온 윤","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["다온 윤"]},"customers":{"required_absent":["다온 윤"],"required_present":[]},"all":{"required_absent":["다온 윤"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-027","language":"ko","script":"Hangul","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=27 --message=\"공개 기관은 \" --credential=\"다솜 도서관\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":56,"end":72,"value":"다솜 도서관","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["다솜 도서관"]},"customers":{"required_absent":[],"required_present":["다솜 도서관"]},"all":{"required_absent":[],"required_present":["다솜 도서관"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ko-redact-028","language":"ko","script":"Hangul","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"고객이 언급한 사람은 다온 장","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":40,"value":"다온 장","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["다온 장"]},"customers":{"required_absent":["다온 장"],"required_present":[]},"all":{"required_absent":["다온 장"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ko-preserve-028","language":"ko","script":"Hangul","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"공개 기관은 다솜 극단","known_identities":[],"targets":[{"id":"person","kind":"person","start":17,"end":30,"value":"다솜 극단","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["다솜 극단"]},"customers":{"required_absent":[],"required_present":["다솜 극단"]},"all":{"required_absent":[],"required_present":["다솜 극단"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ko-redact-029","language":"ko","script":"Hangul","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_29\":\"고객이 언급한 사람은 다온 임\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":45,"end":55,"value":"다온 임","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["다온 임"]},"customers":{"required_absent":["다온 임"],"required_present":[]},"all":{"required_absent":["다온 임"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ko-preserve-029","language":"ko","script":"Hangul","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_29\":\"공개 기관은 다솜 센터\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":45,"value":"다솜 센터","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["다솜 센터"]},"customers":{"required_absent":[],"required_present":["다솜 센터"]},"all":{"required_absent":[],"required_present":["다솜 센터"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ko-redact-030","language":"ko","script":"Hangul","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_30: 고객이 언급한 사람은 라온 김","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":52,"value":"라온 김","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["라온 김"]},"customers":{"required_absent":["라온 김"],"required_present":[]},"all":{"required_absent":["라온 김"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ko-preserve-030","language":"ko","script":"Hangul","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_30: 공개 기관은 라움 연구소","known_identities":[],"targets":[{"id":"person","kind":"person","start":29,"end":45,"value":"라움 연구소","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["라움 연구소"]},"customers":{"required_absent":[],"required_present":["라움 연구소"]},"all":{"required_absent":[],"required_present":["라움 연구소"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-030","language":"ko","script":"Hangul","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_30: \"고객이 언급한 사람은 라온 김\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":43,"end":53,"value":"라온 김","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["라온 김"]},"customers":{"required_absent":["라온 김"],"required_present":[]},"all":{"required_absent":["라온 김"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-030","language":"ko","script":"Hangul","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_30: \"공개 기관은 라움 연구소\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":46,"value":"라움 연구소","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["라움 연구소"]},"customers":{"required_absent":[],"required_present":["라움 연구소"]},"all":{"required_absent":[],"required_present":["라움 연구소"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ko-redact-031","language":"ko","script":"Hangul","shape":"shell","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_31='고객이 언급한 사람은 라온 이'","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":52,"value":"라온 이","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["라온 이"]},"customers":{"required_absent":["라온 이"],"required_present":[]},"all":{"required_absent":["라온 이"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ko-preserve-031","language":"ko","script":"Hangul","shape":"shell","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_31='공개 기관은 라움 출판사'","known_identities":[],"targets":[{"id":"person","kind":"person","start":29,"end":45,"value":"라움 출판사","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["라움 출판사"]},"customers":{"required_absent":[],"required_present":["라움 출판사"]},"all":{"required_absent":[],"required_present":["라움 출판사"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ko-redact-032","language":"ko","script":"Hangul","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/32 ; 고객이 언급한 사람은 라온 박","known_identities":[],"targets":[{"id":"person","kind":"person","start":63,"end":73,"value":"라온 박","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["라온 박"]},"customers":{"required_absent":["라온 박"],"required_present":[]},"all":{"required_absent":["라온 박"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ko-preserve-032","language":"ko","script":"Hangul","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/32 ; 공개 기관은 라움 재단","known_identities":[],"targets":[{"id":"person","kind":"person","start":50,"end":63,"value":"라움 재단","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["라움 재단"]},"customers":{"required_absent":[],"required_present":["라움 재단"]},"all":{"required_absent":[],"required_present":["라움 재단"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ko-redact-033","language":"ko","script":"Hangul","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"**고객이 언급한 사람은 라온 최**","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":42,"value":"라온 최","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["라온 최"]},"customers":{"required_absent":["라온 최"],"required_present":[]},"all":{"required_absent":["라온 최"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ko-preserve-033","language":"ko","script":"Hangul","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"**공개 기관은 라움 공방**","known_identities":[],"targets":[{"id":"person","kind":"person","start":19,"end":32,"value":"라움 공방","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["라움 공방"]},"customers":{"required_absent":[],"required_present":["라움 공방"]},"all":{"required_absent":[],"required_present":["라움 공방"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ko-redact-034","language":"ko","script":"Hangul","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003e고객이 언급한 사람은 라온 정\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":33,"end":43,"value":"라온 정","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["라온 정"]},"customers":{"required_absent":["라온 정"],"required_present":[]},"all":{"required_absent":["라온 정"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ko-preserve-034","language":"ko","script":"Hangul","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003e공개 기관은 라움 학교\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":20,"end":33,"value":"라움 학교","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["라움 학교"]},"customers":{"required_absent":[],"required_present":["라움 학교"]},"all":{"required_absent":[],"required_present":["라움 학교"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-032","language":"ko","script":"Hangul","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/32?credential=라온 박\u0026note=%EA%B3%A0%EA%B0%9D%EC%9D%B4+%EC%96%B8%EA%B8%89%ED%95%9C+%EC%82%AC%EB%9E%8C%EC%9D%80+","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":52,"value":"라온 박","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["라온 박"]},"customers":{"required_absent":["라온 박"],"required_present":[]},"all":{"required_absent":["라온 박"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-032","language":"ko","script":"Hangul","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/32?credential=라움 재단\u0026note=%EA%B3%B5%EA%B0%9C+%EA%B8%B0%EA%B4%80%EC%9D%80+","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":55,"value":"라움 재단","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["라움 재단"]},"customers":{"required_absent":[],"required_present":["라움 재단"]},"all":{"required_absent":[],"required_present":["라움 재단"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-033","language":"ko","script":"Hangul","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"고객이 언급한 사람은 `라온 최`","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":41,"value":"라온 최","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["라온 최"]},"customers":{"required_absent":["라온 최"],"required_present":[]},"all":{"required_absent":["라온 최"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-033","language":"ko","script":"Hangul","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"공개 기관은 `라움 공방`","known_identities":[],"targets":[{"id":"person","kind":"person","start":18,"end":31,"value":"라움 공방","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["라움 공방"]},"customers":{"required_absent":[],"required_present":["라움 공방"]},"all":{"required_absent":[],"required_present":["라움 공방"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-034","language":"ko","script":"Hangul","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003e고객이 언급한 사람은 \u003ccode\u003e라온 정\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":39,"end":49,"value":"라온 정","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["라온 정"]},"customers":{"required_absent":["라온 정"],"required_present":[]},"all":{"required_absent":["라온 정"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-034","language":"ko","script":"Hangul","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003e공개 기관은 \u003ccode\u003e라움 학교\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":26,"end":39,"value":"라움 학교","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["라움 학교"]},"customers":{"required_absent":[],"required_present":["라움 학교"]},"all":{"required_absent":[],"required_present":["라움 학교"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ko-redact-035","language":"ko","script":"Hangul","shape":"quoted-reply","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e 고객이 언급한 사람은 라온 강","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":42,"value":"라온 강","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["라온 강"]},"customers":{"required_absent":["라온 강"],"required_present":[]},"all":{"required_absent":["라온 강"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ko-preserve-035","language":"ko","script":"Hangul","shape":"quoted-reply","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e 공개 기관은 라움 협회","known_identities":[],"targets":[{"id":"person","kind":"person","start":19,"end":32,"value":"라움 협회","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["라움 협회"]},"customers":{"required_absent":[],"required_present":["라움 협회"]},"all":{"required_absent":[],"required_present":["라움 협회"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ko-redact-036","language":"ko","script":"Hangul","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=36 message=\"고객이 언급한 사람은 \" value=라온 조","known_identities":[],"targets":[{"id":"person","kind":"person","start":68,"end":78,"value":"라온 조","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["라온 조"]},"customers":{"required_absent":["라온 조"],"required_present":[]},"all":{"required_absent":["라온 조"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ko-preserve-036","language":"ko","script":"Hangul","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=36 message=\"공개 기관은 \" value=라움 박물관","known_identities":[],"targets":[{"id":"person","kind":"person","start":55,"end":71,"value":"라움 박물관","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["라움 박물관"]},"customers":{"required_absent":[],"required_present":["라움 박물관"]},"all":{"required_absent":[],"required_present":["라움 박물관"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-036","language":"ko","script":"Hangul","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=36 message=\"고객이 언급한 사람은 \" credential=\"라온 조\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":74,"end":84,"value":"라온 조","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["라온 조"]},"customers":{"required_absent":["라온 조"],"required_present":[]},"all":{"required_absent":["라온 조"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-036","language":"ko","script":"Hangul","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=36 message=\"공개 기관은 \" credential=\"라움 박물관\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":61,"end":77,"value":"라움 박물관","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["라움 박물관"]},"customers":{"required_absent":[],"required_present":["라움 박물관"]},"all":{"required_absent":[],"required_present":["라움 박물관"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ko-redact-037","language":"ko","script":"Hangul","shape":"stack-trace","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[37]: 고객이 언급한 사람은 라온 윤","known_identities":[],"targets":[{"id":"person","kind":"person","start":41,"end":51,"value":"라온 윤","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["라온 윤"]},"customers":{"required_absent":["라온 윤"],"required_present":[]},"all":{"required_absent":["라온 윤"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ko-preserve-037","language":"ko","script":"Hangul","shape":"stack-trace","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[37]: 공개 기관은 라움 도서관","known_identities":[],"targets":[{"id":"person","kind":"person","start":28,"end":44,"value":"라움 도서관","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["라움 도서관"]},"customers":{"required_absent":[],"required_present":["라움 도서관"]},"all":{"required_absent":[],"required_present":["라움 도서관"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ko-redact-038","language":"ko","script":"Hangul","shape":"code","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_38 := `고객이 언급한 사람은 라온 장`","known_identities":[],"targets":[{"id":"person","kind":"person","start":45,"end":55,"value":"라온 장","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["라온 장"]},"customers":{"required_absent":["라온 장"],"required_present":[]},"all":{"required_absent":["라온 장"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, @@ -1684,26 +1684,26 @@ {"id":"broad-language-ko-preserve-039","language":"ko","script":"Hangul","shape":"signature","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--\n공개 기관은 라움 센터","known_identities":[],"targets":[{"id":"person","kind":"person","start":20,"end":33,"value":"라움 센터","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["라움 센터"]},"customers":{"required_absent":[],"required_present":["라움 센터"]},"all":{"required_absent":[],"required_present":["라움 센터"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ko-redact-040","language":"ko","script":"Hangul","shape":"long-thread","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. 고객이 언급한 사람은 마루 김","known_identities":[],"targets":[{"id":"person","kind":"person","start":510,"end":520,"value":"마루 김","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["마루 김"]},"customers":{"required_absent":["마루 김"],"required_present":[]},"all":{"required_absent":["마루 김"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ko-preserve-040","language":"ko","script":"Hangul","shape":"long-thread","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. 공개 기관은 마중 연구소","known_identities":[],"targets":[{"id":"person","kind":"person","start":497,"end":513,"value":"마중 연구소","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["마중 연구소"]},"customers":{"required_absent":[],"required_present":["마중 연구소"]},"all":{"required_absent":[],"required_present":["마중 연구소"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ko-redact-041","language":"ko","script":"Hangul","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=41 --message=\"고객이 언급한 사람은 \" --value=마루 이","known_identities":[],"targets":[{"id":"person","kind":"person","start":63,"end":73,"value":"마루 이","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["마루 이"]},"customers":{"required_absent":["마루 이"],"required_present":[]},"all":{"required_absent":["마루 이"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ko-preserve-041","language":"ko","script":"Hangul","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=41 --message=\"공개 기관은 \" --value=마중 출판사","known_identities":[],"targets":[{"id":"person","kind":"person","start":50,"end":66,"value":"마중 출판사","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["마중 출판사"]},"customers":{"required_absent":[],"required_present":["마중 출판사"]},"all":{"required_absent":[],"required_present":["마중 출판사"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-041","language":"ko","script":"Hangul","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=41 --message=\"고객이 언급한 사람은 \" --credential=\"마루 이\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":69,"end":79,"value":"마루 이","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["마루 이"]},"customers":{"required_absent":["마루 이"],"required_present":[]},"all":{"required_absent":["마루 이"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-041","language":"ko","script":"Hangul","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=41 --message=\"공개 기관은 \" --credential=\"마중 출판사\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":56,"end":72,"value":"마중 출판사","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["마중 출판사"]},"customers":{"required_absent":[],"required_present":["마중 출판사"]},"all":{"required_absent":[],"required_present":["마중 출판사"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ko-redact-042","language":"ko","script":"Hangul","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"고객이 언급한 사람은 마루 박","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":40,"value":"마루 박","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["마루 박"]},"customers":{"required_absent":["마루 박"],"required_present":[]},"all":{"required_absent":["마루 박"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ko-preserve-042","language":"ko","script":"Hangul","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"공개 기관은 마중 재단","known_identities":[],"targets":[{"id":"person","kind":"person","start":17,"end":30,"value":"마중 재단","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["마중 재단"]},"customers":{"required_absent":[],"required_present":["마중 재단"]},"all":{"required_absent":[],"required_present":["마중 재단"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ko-redact-043","language":"ko","script":"Hangul","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_43\":\"고객이 언급한 사람은 마루 최\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":45,"end":55,"value":"마루 최","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["마루 최"]},"customers":{"required_absent":["마루 최"],"required_present":[]},"all":{"required_absent":["마루 최"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ko-preserve-043","language":"ko","script":"Hangul","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_43\":\"공개 기관은 마중 공방\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":45,"value":"마중 공방","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["마중 공방"]},"customers":{"required_absent":[],"required_present":["마중 공방"]},"all":{"required_absent":[],"required_present":["마중 공방"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ko-redact-044","language":"ko","script":"Hangul","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_44: 고객이 언급한 사람은 마루 정","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":52,"value":"마루 정","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["마루 정"]},"customers":{"required_absent":["마루 정"],"required_present":[]},"all":{"required_absent":["마루 정"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ko-preserve-044","language":"ko","script":"Hangul","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_44: 공개 기관은 마중 학교","known_identities":[],"targets":[{"id":"person","kind":"person","start":29,"end":42,"value":"마중 학교","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["마중 학교"]},"customers":{"required_absent":[],"required_present":["마중 학교"]},"all":{"required_absent":[],"required_present":["마중 학교"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-044","language":"ko","script":"Hangul","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_44: \"고객이 언급한 사람은 마루 정\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":43,"end":53,"value":"마루 정","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["마루 정"]},"customers":{"required_absent":["마루 정"],"required_present":[]},"all":{"required_absent":["마루 정"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-044","language":"ko","script":"Hangul","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_44: \"공개 기관은 마중 학교\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":43,"value":"마중 학교","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["마중 학교"]},"customers":{"required_absent":[],"required_present":["마중 학교"]},"all":{"required_absent":[],"required_present":["마중 학교"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ko-redact-045","language":"ko","script":"Hangul","shape":"shell","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_45='고객이 언급한 사람은 마루 강'","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":52,"value":"마루 강","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["마루 강"]},"customers":{"required_absent":["마루 강"],"required_present":[]},"all":{"required_absent":["마루 강"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ko-preserve-045","language":"ko","script":"Hangul","shape":"shell","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_45='공개 기관은 마중 협회'","known_identities":[],"targets":[{"id":"person","kind":"person","start":29,"end":42,"value":"마중 협회","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["마중 협회"]},"customers":{"required_absent":[],"required_present":["마중 협회"]},"all":{"required_absent":[],"required_present":["마중 협회"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ko-redact-046","language":"ko","script":"Hangul","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/46 ; 고객이 언급한 사람은 마루 조","known_identities":[],"targets":[{"id":"person","kind":"person","start":63,"end":73,"value":"마루 조","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["마루 조"]},"customers":{"required_absent":["마루 조"],"required_present":[]},"all":{"required_absent":["마루 조"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ko-preserve-046","language":"ko","script":"Hangul","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/46 ; 공개 기관은 마중 박물관","known_identities":[],"targets":[{"id":"person","kind":"person","start":50,"end":66,"value":"마중 박물관","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["마중 박물관"]},"customers":{"required_absent":[],"required_present":["마중 박물관"]},"all":{"required_absent":[],"required_present":["마중 박물관"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ko-redact-047","language":"ko","script":"Hangul","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"**고객이 언급한 사람은 마루 윤**","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":42,"value":"마루 윤","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["마루 윤"]},"customers":{"required_absent":["마루 윤"],"required_present":[]},"all":{"required_absent":["마루 윤"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ko-preserve-047","language":"ko","script":"Hangul","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"**공개 기관은 마중 도서관**","known_identities":[],"targets":[{"id":"person","kind":"person","start":19,"end":35,"value":"마중 도서관","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["마중 도서관"]},"customers":{"required_absent":[],"required_present":["마중 도서관"]},"all":{"required_absent":[],"required_present":["마중 도서관"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ko-redact-048","language":"ko","script":"Hangul","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003e고객이 언급한 사람은 마루 장\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":33,"end":43,"value":"마루 장","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["마루 장"]},"customers":{"required_absent":["마루 장"],"required_present":[]},"all":{"required_absent":["마루 장"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ko-preserve-048","language":"ko","script":"Hangul","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003e공개 기관은 마중 극단\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":20,"end":33,"value":"마중 극단","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["마중 극단"]},"customers":{"required_absent":[],"required_present":["마중 극단"]},"all":{"required_absent":[],"required_present":["마중 극단"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-046","language":"ko","script":"Hangul","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/46?credential=마루 조\u0026note=%EA%B3%A0%EA%B0%9D%EC%9D%B4+%EC%96%B8%EA%B8%89%ED%95%9C+%EC%82%AC%EB%9E%8C%EC%9D%80+","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":52,"value":"마루 조","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["마루 조"]},"customers":{"required_absent":["마루 조"],"required_present":[]},"all":{"required_absent":["마루 조"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-046","language":"ko","script":"Hangul","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/46?credential=마중 박물관\u0026note=%EA%B3%B5%EA%B0%9C+%EA%B8%B0%EA%B4%80%EC%9D%80+","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":58,"value":"마중 박물관","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["마중 박물관"]},"customers":{"required_absent":[],"required_present":["마중 박물관"]},"all":{"required_absent":[],"required_present":["마중 박물관"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-047","language":"ko","script":"Hangul","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"고객이 언급한 사람은 `마루 윤`","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":41,"value":"마루 윤","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["마루 윤"]},"customers":{"required_absent":["마루 윤"],"required_present":[]},"all":{"required_absent":["마루 윤"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-047","language":"ko","script":"Hangul","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"공개 기관은 `마중 도서관`","known_identities":[],"targets":[{"id":"person","kind":"person","start":18,"end":34,"value":"마중 도서관","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["마중 도서관"]},"customers":{"required_absent":[],"required_present":["마중 도서관"]},"all":{"required_absent":[],"required_present":["마중 도서관"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-048","language":"ko","script":"Hangul","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003e고객이 언급한 사람은 \u003ccode\u003e마루 장\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":39,"end":49,"value":"마루 장","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["마루 장"]},"customers":{"required_absent":["마루 장"],"required_present":[]},"all":{"required_absent":["마루 장"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-048","language":"ko","script":"Hangul","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003e공개 기관은 \u003ccode\u003e마중 극단\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":26,"end":39,"value":"마중 극단","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["마중 극단"]},"customers":{"required_absent":[],"required_present":["마중 극단"]},"all":{"required_absent":[],"required_present":["마중 극단"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ko-redact-049","language":"ko","script":"Hangul","shape":"quoted-reply","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e 고객이 언급한 사람은 마루 임","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":42,"value":"마루 임","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["마루 임"]},"customers":{"required_absent":["마루 임"],"required_present":[]},"all":{"required_absent":["마루 임"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ko-preserve-049","language":"ko","script":"Hangul","shape":"quoted-reply","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e 공개 기관은 마중 센터","known_identities":[],"targets":[{"id":"person","kind":"person","start":19,"end":32,"value":"마중 센터","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["마중 센터"]},"customers":{"required_absent":[],"required_present":["마중 센터"]},"all":{"required_absent":[],"required_present":["마중 센터"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ko-redact-050","language":"ko","script":"Hangul","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=50 message=\"고객이 언급한 사람은 \" value=바다 김","known_identities":[],"targets":[{"id":"person","kind":"person","start":68,"end":78,"value":"바다 김","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["바다 김"]},"customers":{"required_absent":["바다 김"],"required_present":[]},"all":{"required_absent":["바다 김"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ko-preserve-050","language":"ko","script":"Hangul","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=50 message=\"공개 기관은 \" value=바람 연구소","known_identities":[],"targets":[{"id":"person","kind":"person","start":55,"end":71,"value":"바람 연구소","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["바람 연구소"]},"customers":{"required_absent":[],"required_present":["바람 연구소"]},"all":{"required_absent":[],"required_present":["바람 연구소"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-050","language":"ko","script":"Hangul","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=50 message=\"고객이 언급한 사람은 \" credential=\"바다 김\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":74,"end":84,"value":"바다 김","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["바다 김"]},"customers":{"required_absent":["바다 김"],"required_present":[]},"all":{"required_absent":["바다 김"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-050","language":"ko","script":"Hangul","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=50 message=\"공개 기관은 \" credential=\"바람 연구소\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":61,"end":77,"value":"바람 연구소","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["바람 연구소"]},"customers":{"required_absent":[],"required_present":["바람 연구소"]},"all":{"required_absent":[],"required_present":["바람 연구소"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ko-redact-051","language":"ko","script":"Hangul","shape":"stack-trace","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[51]: 고객이 언급한 사람은 바다 이","known_identities":[],"targets":[{"id":"person","kind":"person","start":41,"end":51,"value":"바다 이","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["바다 이"]},"customers":{"required_absent":["바다 이"],"required_present":[]},"all":{"required_absent":["바다 이"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ko-preserve-051","language":"ko","script":"Hangul","shape":"stack-trace","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[51]: 공개 기관은 바람 출판사","known_identities":[],"targets":[{"id":"person","kind":"person","start":28,"end":44,"value":"바람 출판사","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["바람 출판사"]},"customers":{"required_absent":[],"required_present":["바람 출판사"]},"all":{"required_absent":[],"required_present":["바람 출판사"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ko-redact-052","language":"ko","script":"Hangul","shape":"code","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_52 := `고객이 언급한 사람은 바다 박`","known_identities":[],"targets":[{"id":"person","kind":"person","start":45,"end":55,"value":"바다 박","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["바다 박"]},"customers":{"required_absent":["바다 박"],"required_present":[]},"all":{"required_absent":["바다 박"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, @@ -1712,26 +1712,26 @@ {"id":"broad-language-ko-preserve-053","language":"ko","script":"Hangul","shape":"signature","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--\n공개 기관은 바람 공방","known_identities":[],"targets":[{"id":"person","kind":"person","start":20,"end":33,"value":"바람 공방","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["바람 공방"]},"customers":{"required_absent":[],"required_present":["바람 공방"]},"all":{"required_absent":[],"required_present":["바람 공방"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ko-redact-054","language":"ko","script":"Hangul","shape":"long-thread","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. 고객이 언급한 사람은 바다 정","known_identities":[],"targets":[{"id":"person","kind":"person","start":510,"end":520,"value":"바다 정","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["바다 정"]},"customers":{"required_absent":["바다 정"],"required_present":[]},"all":{"required_absent":["바다 정"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ko-preserve-054","language":"ko","script":"Hangul","shape":"long-thread","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. 공개 기관은 바람 학교","known_identities":[],"targets":[{"id":"person","kind":"person","start":497,"end":510,"value":"바람 학교","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["바람 학교"]},"customers":{"required_absent":[],"required_present":["바람 학교"]},"all":{"required_absent":[],"required_present":["바람 학교"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ko-redact-055","language":"ko","script":"Hangul","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=55 --message=\"고객이 언급한 사람은 \" --value=바다 강","known_identities":[],"targets":[{"id":"person","kind":"person","start":63,"end":73,"value":"바다 강","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["바다 강"]},"customers":{"required_absent":["바다 강"],"required_present":[]},"all":{"required_absent":["바다 강"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ko-preserve-055","language":"ko","script":"Hangul","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=55 --message=\"공개 기관은 \" --value=바람 협회","known_identities":[],"targets":[{"id":"person","kind":"person","start":50,"end":63,"value":"바람 협회","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["바람 협회"]},"customers":{"required_absent":[],"required_present":["바람 협회"]},"all":{"required_absent":[],"required_present":["바람 협회"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-055","language":"ko","script":"Hangul","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=55 --message=\"고객이 언급한 사람은 \" --credential=\"바다 강\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":69,"end":79,"value":"바다 강","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["바다 강"]},"customers":{"required_absent":["바다 강"],"required_present":[]},"all":{"required_absent":["바다 강"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-055","language":"ko","script":"Hangul","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=55 --message=\"공개 기관은 \" --credential=\"바람 협회\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":56,"end":69,"value":"바람 협회","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["바람 협회"]},"customers":{"required_absent":[],"required_present":["바람 협회"]},"all":{"required_absent":[],"required_present":["바람 협회"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ko-redact-056","language":"ko","script":"Hangul","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"고객이 언급한 사람은 바다 조","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":40,"value":"바다 조","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["바다 조"]},"customers":{"required_absent":["바다 조"],"required_present":[]},"all":{"required_absent":["바다 조"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ko-preserve-056","language":"ko","script":"Hangul","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"공개 기관은 바람 박물관","known_identities":[],"targets":[{"id":"person","kind":"person","start":17,"end":33,"value":"바람 박물관","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["바람 박물관"]},"customers":{"required_absent":[],"required_present":["바람 박물관"]},"all":{"required_absent":[],"required_present":["바람 박물관"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ko-redact-057","language":"ko","script":"Hangul","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_57\":\"고객이 언급한 사람은 바다 윤\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":45,"end":55,"value":"바다 윤","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["바다 윤"]},"customers":{"required_absent":["바다 윤"],"required_present":[]},"all":{"required_absent":["바다 윤"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ko-preserve-057","language":"ko","script":"Hangul","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_57\":\"공개 기관은 바람 도서관\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":48,"value":"바람 도서관","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["바람 도서관"]},"customers":{"required_absent":[],"required_present":["바람 도서관"]},"all":{"required_absent":[],"required_present":["바람 도서관"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ko-redact-058","language":"ko","script":"Hangul","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_58: 고객이 언급한 사람은 바다 장","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":52,"value":"바다 장","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["바다 장"]},"customers":{"required_absent":["바다 장"],"required_present":[]},"all":{"required_absent":["바다 장"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ko-preserve-058","language":"ko","script":"Hangul","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_58: 공개 기관은 바람 극단","known_identities":[],"targets":[{"id":"person","kind":"person","start":29,"end":42,"value":"바람 극단","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["바람 극단"]},"customers":{"required_absent":[],"required_present":["바람 극단"]},"all":{"required_absent":[],"required_present":["바람 극단"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-058","language":"ko","script":"Hangul","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_58: \"고객이 언급한 사람은 바다 장\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":43,"end":53,"value":"바다 장","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["바다 장"]},"customers":{"required_absent":["바다 장"],"required_present":[]},"all":{"required_absent":["바다 장"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-058","language":"ko","script":"Hangul","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_58: \"공개 기관은 바람 극단\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":43,"value":"바람 극단","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["바람 극단"]},"customers":{"required_absent":[],"required_present":["바람 극단"]},"all":{"required_absent":[],"required_present":["바람 극단"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ko-redact-059","language":"ko","script":"Hangul","shape":"shell","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_59='고객이 언급한 사람은 바다 임'","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":52,"value":"바다 임","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["바다 임"]},"customers":{"required_absent":["바다 임"],"required_present":[]},"all":{"required_absent":["바다 임"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ko-preserve-059","language":"ko","script":"Hangul","shape":"shell","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_59='공개 기관은 바람 센터'","known_identities":[],"targets":[{"id":"person","kind":"person","start":29,"end":42,"value":"바람 센터","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["바람 센터"]},"customers":{"required_absent":[],"required_present":["바람 센터"]},"all":{"required_absent":[],"required_present":["바람 센터"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ko-redact-060","language":"ko","script":"Hangul","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/60 ; 고객이 언급한 사람은 새봄 김","known_identities":[],"targets":[{"id":"person","kind":"person","start":63,"end":73,"value":"새봄 김","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["새봄 김"]},"customers":{"required_absent":["새봄 김"],"required_present":[]},"all":{"required_absent":["새봄 김"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ko-preserve-060","language":"ko","script":"Hangul","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/60 ; 공개 기관은 새길 연구소","known_identities":[],"targets":[{"id":"person","kind":"person","start":50,"end":66,"value":"새길 연구소","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["새길 연구소"]},"customers":{"required_absent":[],"required_present":["새길 연구소"]},"all":{"required_absent":[],"required_present":["새길 연구소"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ko-redact-061","language":"ko","script":"Hangul","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"**고객이 언급한 사람은 새봄 이**","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":42,"value":"새봄 이","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["새봄 이"]},"customers":{"required_absent":["새봄 이"],"required_present":[]},"all":{"required_absent":["새봄 이"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ko-preserve-061","language":"ko","script":"Hangul","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"**공개 기관은 새길 출판사**","known_identities":[],"targets":[{"id":"person","kind":"person","start":19,"end":35,"value":"새길 출판사","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["새길 출판사"]},"customers":{"required_absent":[],"required_present":["새길 출판사"]},"all":{"required_absent":[],"required_present":["새길 출판사"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ko-redact-062","language":"ko","script":"Hangul","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003e고객이 언급한 사람은 새봄 박\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":33,"end":43,"value":"새봄 박","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["새봄 박"]},"customers":{"required_absent":["새봄 박"],"required_present":[]},"all":{"required_absent":["새봄 박"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ko-preserve-062","language":"ko","script":"Hangul","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003e공개 기관은 새길 재단\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":20,"end":33,"value":"새길 재단","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["새길 재단"]},"customers":{"required_absent":[],"required_present":["새길 재단"]},"all":{"required_absent":[],"required_present":["새길 재단"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-060","language":"ko","script":"Hangul","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/60?credential=새봄 김\u0026note=%EA%B3%A0%EA%B0%9D%EC%9D%B4+%EC%96%B8%EA%B8%89%ED%95%9C+%EC%82%AC%EB%9E%8C%EC%9D%80+","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":52,"value":"새봄 김","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["새봄 김"]},"customers":{"required_absent":["새봄 김"],"required_present":[]},"all":{"required_absent":["새봄 김"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-060","language":"ko","script":"Hangul","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/60?credential=새길 연구소\u0026note=%EA%B3%B5%EA%B0%9C+%EA%B8%B0%EA%B4%80%EC%9D%80+","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":58,"value":"새길 연구소","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["새길 연구소"]},"customers":{"required_absent":[],"required_present":["새길 연구소"]},"all":{"required_absent":[],"required_present":["새길 연구소"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-061","language":"ko","script":"Hangul","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"고객이 언급한 사람은 `새봄 이`","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":41,"value":"새봄 이","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["새봄 이"]},"customers":{"required_absent":["새봄 이"],"required_present":[]},"all":{"required_absent":["새봄 이"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-061","language":"ko","script":"Hangul","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"공개 기관은 `새길 출판사`","known_identities":[],"targets":[{"id":"person","kind":"person","start":18,"end":34,"value":"새길 출판사","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["새길 출판사"]},"customers":{"required_absent":[],"required_present":["새길 출판사"]},"all":{"required_absent":[],"required_present":["새길 출판사"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-062","language":"ko","script":"Hangul","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003e고객이 언급한 사람은 \u003ccode\u003e새봄 박\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":39,"end":49,"value":"새봄 박","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["새봄 박"]},"customers":{"required_absent":["새봄 박"],"required_present":[]},"all":{"required_absent":["새봄 박"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-062","language":"ko","script":"Hangul","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003e공개 기관은 \u003ccode\u003e새길 재단\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":26,"end":39,"value":"새길 재단","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["새길 재단"]},"customers":{"required_absent":[],"required_present":["새길 재단"]},"all":{"required_absent":[],"required_present":["새길 재단"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ko-redact-063","language":"ko","script":"Hangul","shape":"quoted-reply","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e 고객이 언급한 사람은 새봄 최","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":42,"value":"새봄 최","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["새봄 최"]},"customers":{"required_absent":["새봄 최"],"required_present":[]},"all":{"required_absent":["새봄 최"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ko-preserve-063","language":"ko","script":"Hangul","shape":"quoted-reply","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e 공개 기관은 새길 공방","known_identities":[],"targets":[{"id":"person","kind":"person","start":19,"end":32,"value":"새길 공방","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["새길 공방"]},"customers":{"required_absent":[],"required_present":["새길 공방"]},"all":{"required_absent":[],"required_present":["새길 공방"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ko-redact-064","language":"ko","script":"Hangul","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=64 message=\"고객이 언급한 사람은 \" value=새봄 정","known_identities":[],"targets":[{"id":"person","kind":"person","start":68,"end":78,"value":"새봄 정","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["새봄 정"]},"customers":{"required_absent":["새봄 정"],"required_present":[]},"all":{"required_absent":["새봄 정"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ko-preserve-064","language":"ko","script":"Hangul","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=64 message=\"공개 기관은 \" value=새길 학교","known_identities":[],"targets":[{"id":"person","kind":"person","start":55,"end":68,"value":"새길 학교","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["새길 학교"]},"customers":{"required_absent":[],"required_present":["새길 학교"]},"all":{"required_absent":[],"required_present":["새길 학교"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-064","language":"ko","script":"Hangul","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=64 message=\"고객이 언급한 사람은 \" credential=\"새봄 정\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":74,"end":84,"value":"새봄 정","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["새봄 정"]},"customers":{"required_absent":["새봄 정"],"required_present":[]},"all":{"required_absent":["새봄 정"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-064","language":"ko","script":"Hangul","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=64 message=\"공개 기관은 \" credential=\"새길 학교\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":61,"end":74,"value":"새길 학교","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["새길 학교"]},"customers":{"required_absent":[],"required_present":["새길 학교"]},"all":{"required_absent":[],"required_present":["새길 학교"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ko-redact-065","language":"ko","script":"Hangul","shape":"stack-trace","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[65]: 고객이 언급한 사람은 새봄 강","known_identities":[],"targets":[{"id":"person","kind":"person","start":41,"end":51,"value":"새봄 강","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["새봄 강"]},"customers":{"required_absent":["새봄 강"],"required_present":[]},"all":{"required_absent":["새봄 강"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ko-preserve-065","language":"ko","script":"Hangul","shape":"stack-trace","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[65]: 공개 기관은 새길 협회","known_identities":[],"targets":[{"id":"person","kind":"person","start":28,"end":41,"value":"새길 협회","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["새길 협회"]},"customers":{"required_absent":[],"required_present":["새길 협회"]},"all":{"required_absent":[],"required_present":["새길 협회"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ko-redact-066","language":"ko","script":"Hangul","shape":"code","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_66 := `고객이 언급한 사람은 새봄 조`","known_identities":[],"targets":[{"id":"person","kind":"person","start":45,"end":55,"value":"새봄 조","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["새봄 조"]},"customers":{"required_absent":["새봄 조"],"required_present":[]},"all":{"required_absent":["새봄 조"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, @@ -1740,26 +1740,26 @@ {"id":"broad-language-ko-preserve-067","language":"ko","script":"Hangul","shape":"signature","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--\n공개 기관은 새길 도서관","known_identities":[],"targets":[{"id":"person","kind":"person","start":20,"end":36,"value":"새길 도서관","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["새길 도서관"]},"customers":{"required_absent":[],"required_present":["새길 도서관"]},"all":{"required_absent":[],"required_present":["새길 도서관"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ko-redact-068","language":"ko","script":"Hangul","shape":"long-thread","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. 고객이 언급한 사람은 새봄 장","known_identities":[],"targets":[{"id":"person","kind":"person","start":510,"end":520,"value":"새봄 장","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["새봄 장"]},"customers":{"required_absent":["새봄 장"],"required_present":[]},"all":{"required_absent":["새봄 장"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ko-preserve-068","language":"ko","script":"Hangul","shape":"long-thread","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. 공개 기관은 새길 극단","known_identities":[],"targets":[{"id":"person","kind":"person","start":497,"end":510,"value":"새길 극단","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["새길 극단"]},"customers":{"required_absent":[],"required_present":["새길 극단"]},"all":{"required_absent":[],"required_present":["새길 극단"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ko-redact-069","language":"ko","script":"Hangul","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=69 --message=\"고객이 언급한 사람은 \" --value=새봄 임","known_identities":[],"targets":[{"id":"person","kind":"person","start":63,"end":73,"value":"새봄 임","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["새봄 임"]},"customers":{"required_absent":["새봄 임"],"required_present":[]},"all":{"required_absent":["새봄 임"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ko-preserve-069","language":"ko","script":"Hangul","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=69 --message=\"공개 기관은 \" --value=새길 센터","known_identities":[],"targets":[{"id":"person","kind":"person","start":50,"end":63,"value":"새길 센터","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["새길 센터"]},"customers":{"required_absent":[],"required_present":["새길 센터"]},"all":{"required_absent":[],"required_present":["새길 센터"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-069","language":"ko","script":"Hangul","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=69 --message=\"고객이 언급한 사람은 \" --credential=\"새봄 임\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":69,"end":79,"value":"새봄 임","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["새봄 임"]},"customers":{"required_absent":["새봄 임"],"required_present":[]},"all":{"required_absent":["새봄 임"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-069","language":"ko","script":"Hangul","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=69 --message=\"공개 기관은 \" --credential=\"새길 센터\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":56,"end":69,"value":"새길 센터","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["새길 센터"]},"customers":{"required_absent":[],"required_present":["새길 센터"]},"all":{"required_absent":[],"required_present":["새길 센터"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ko-redact-070","language":"ko","script":"Hangul","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"고객이 언급한 사람은 아람 김","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":40,"value":"아람 김","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["아람 김"]},"customers":{"required_absent":["아람 김"],"required_present":[]},"all":{"required_absent":["아람 김"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ko-preserve-070","language":"ko","script":"Hangul","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"공개 기관은 아침 연구소","known_identities":[],"targets":[{"id":"person","kind":"person","start":17,"end":33,"value":"아침 연구소","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["아침 연구소"]},"customers":{"required_absent":[],"required_present":["아침 연구소"]},"all":{"required_absent":[],"required_present":["아침 연구소"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ko-redact-071","language":"ko","script":"Hangul","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_71\":\"고객이 언급한 사람은 아람 이\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":45,"end":55,"value":"아람 이","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["아람 이"]},"customers":{"required_absent":["아람 이"],"required_present":[]},"all":{"required_absent":["아람 이"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ko-preserve-071","language":"ko","script":"Hangul","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_71\":\"공개 기관은 아침 출판사\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":48,"value":"아침 출판사","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["아침 출판사"]},"customers":{"required_absent":[],"required_present":["아침 출판사"]},"all":{"required_absent":[],"required_present":["아침 출판사"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ko-redact-072","language":"ko","script":"Hangul","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_72: 고객이 언급한 사람은 아람 박","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":52,"value":"아람 박","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["아람 박"]},"customers":{"required_absent":["아람 박"],"required_present":[]},"all":{"required_absent":["아람 박"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ko-preserve-072","language":"ko","script":"Hangul","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_72: 공개 기관은 아침 재단","known_identities":[],"targets":[{"id":"person","kind":"person","start":29,"end":42,"value":"아침 재단","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["아침 재단"]},"customers":{"required_absent":[],"required_present":["아침 재단"]},"all":{"required_absent":[],"required_present":["아침 재단"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-072","language":"ko","script":"Hangul","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_72: \"고객이 언급한 사람은 아람 박\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":43,"end":53,"value":"아람 박","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["아람 박"]},"customers":{"required_absent":["아람 박"],"required_present":[]},"all":{"required_absent":["아람 박"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-072","language":"ko","script":"Hangul","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_72: \"공개 기관은 아침 재단\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":43,"value":"아침 재단","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["아침 재단"]},"customers":{"required_absent":[],"required_present":["아침 재단"]},"all":{"required_absent":[],"required_present":["아침 재단"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ko-redact-073","language":"ko","script":"Hangul","shape":"shell","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_73='고객이 언급한 사람은 아람 최'","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":52,"value":"아람 최","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["아람 최"]},"customers":{"required_absent":["아람 최"],"required_present":[]},"all":{"required_absent":["아람 최"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ko-preserve-073","language":"ko","script":"Hangul","shape":"shell","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_73='공개 기관은 아침 공방'","known_identities":[],"targets":[{"id":"person","kind":"person","start":29,"end":42,"value":"아침 공방","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["아침 공방"]},"customers":{"required_absent":[],"required_present":["아침 공방"]},"all":{"required_absent":[],"required_present":["아침 공방"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ko-redact-074","language":"ko","script":"Hangul","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/74 ; 고객이 언급한 사람은 아람 정","known_identities":[],"targets":[{"id":"person","kind":"person","start":63,"end":73,"value":"아람 정","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["아람 정"]},"customers":{"required_absent":["아람 정"],"required_present":[]},"all":{"required_absent":["아람 정"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ko-preserve-074","language":"ko","script":"Hangul","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/74 ; 공개 기관은 아침 학교","known_identities":[],"targets":[{"id":"person","kind":"person","start":50,"end":63,"value":"아침 학교","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["아침 학교"]},"customers":{"required_absent":[],"required_present":["아침 학교"]},"all":{"required_absent":[],"required_present":["아침 학교"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ko-redact-075","language":"ko","script":"Hangul","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"**고객이 언급한 사람은 아람 강**","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":42,"value":"아람 강","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["아람 강"]},"customers":{"required_absent":["아람 강"],"required_present":[]},"all":{"required_absent":["아람 강"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ko-preserve-075","language":"ko","script":"Hangul","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"**공개 기관은 아침 협회**","known_identities":[],"targets":[{"id":"person","kind":"person","start":19,"end":32,"value":"아침 협회","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["아침 협회"]},"customers":{"required_absent":[],"required_present":["아침 협회"]},"all":{"required_absent":[],"required_present":["아침 협회"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ko-redact-076","language":"ko","script":"Hangul","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003e고객이 언급한 사람은 아람 조\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":33,"end":43,"value":"아람 조","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["아람 조"]},"customers":{"required_absent":["아람 조"],"required_present":[]},"all":{"required_absent":["아람 조"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ko-preserve-076","language":"ko","script":"Hangul","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003e공개 기관은 아침 박물관\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":20,"end":36,"value":"아침 박물관","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["아침 박물관"]},"customers":{"required_absent":[],"required_present":["아침 박물관"]},"all":{"required_absent":[],"required_present":["아침 박물관"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-074","language":"ko","script":"Hangul","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/74?credential=아람 정\u0026note=%EA%B3%A0%EA%B0%9D%EC%9D%B4+%EC%96%B8%EA%B8%89%ED%95%9C+%EC%82%AC%EB%9E%8C%EC%9D%80+","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":52,"value":"아람 정","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["아람 정"]},"customers":{"required_absent":["아람 정"],"required_present":[]},"all":{"required_absent":["아람 정"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-074","language":"ko","script":"Hangul","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/74?credential=아침 학교\u0026note=%EA%B3%B5%EA%B0%9C+%EA%B8%B0%EA%B4%80%EC%9D%80+","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":55,"value":"아침 학교","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["아침 학교"]},"customers":{"required_absent":[],"required_present":["아침 학교"]},"all":{"required_absent":[],"required_present":["아침 학교"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-075","language":"ko","script":"Hangul","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"고객이 언급한 사람은 `아람 강`","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":41,"value":"아람 강","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["아람 강"]},"customers":{"required_absent":["아람 강"],"required_present":[]},"all":{"required_absent":["아람 강"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-075","language":"ko","script":"Hangul","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"공개 기관은 `아침 협회`","known_identities":[],"targets":[{"id":"person","kind":"person","start":18,"end":31,"value":"아침 협회","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["아침 협회"]},"customers":{"required_absent":[],"required_present":["아침 협회"]},"all":{"required_absent":[],"required_present":["아침 협회"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-076","language":"ko","script":"Hangul","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003e고객이 언급한 사람은 \u003ccode\u003e아람 조\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":39,"end":49,"value":"아람 조","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["아람 조"]},"customers":{"required_absent":["아람 조"],"required_present":[]},"all":{"required_absent":["아람 조"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-076","language":"ko","script":"Hangul","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003e공개 기관은 \u003ccode\u003e아침 박물관\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":26,"end":42,"value":"아침 박물관","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["아침 박물관"]},"customers":{"required_absent":[],"required_present":["아침 박물관"]},"all":{"required_absent":[],"required_present":["아침 박물관"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ko-redact-077","language":"ko","script":"Hangul","shape":"quoted-reply","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e 고객이 언급한 사람은 아람 윤","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":42,"value":"아람 윤","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["아람 윤"]},"customers":{"required_absent":["아람 윤"],"required_present":[]},"all":{"required_absent":["아람 윤"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ko-preserve-077","language":"ko","script":"Hangul","shape":"quoted-reply","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e 공개 기관은 아침 도서관","known_identities":[],"targets":[{"id":"person","kind":"person","start":19,"end":35,"value":"아침 도서관","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["아침 도서관"]},"customers":{"required_absent":[],"required_present":["아침 도서관"]},"all":{"required_absent":[],"required_present":["아침 도서관"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ko-redact-078","language":"ko","script":"Hangul","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=78 message=\"고객이 언급한 사람은 \" value=아람 장","known_identities":[],"targets":[{"id":"person","kind":"person","start":68,"end":78,"value":"아람 장","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["아람 장"]},"customers":{"required_absent":["아람 장"],"required_present":[]},"all":{"required_absent":["아람 장"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ko-preserve-078","language":"ko","script":"Hangul","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=78 message=\"공개 기관은 \" value=아침 극단","known_identities":[],"targets":[{"id":"person","kind":"person","start":55,"end":68,"value":"아침 극단","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["아침 극단"]},"customers":{"required_absent":[],"required_present":["아침 극단"]},"all":{"required_absent":[],"required_present":["아침 극단"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-078","language":"ko","script":"Hangul","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=78 message=\"고객이 언급한 사람은 \" credential=\"아람 장\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":74,"end":84,"value":"아람 장","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["아람 장"]},"customers":{"required_absent":["아람 장"],"required_present":[]},"all":{"required_absent":["아람 장"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-078","language":"ko","script":"Hangul","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=78 message=\"공개 기관은 \" credential=\"아침 극단\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":61,"end":74,"value":"아침 극단","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["아침 극단"]},"customers":{"required_absent":[],"required_present":["아침 극단"]},"all":{"required_absent":[],"required_present":["아침 극단"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ko-redact-079","language":"ko","script":"Hangul","shape":"stack-trace","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[79]: 고객이 언급한 사람은 아람 임","known_identities":[],"targets":[{"id":"person","kind":"person","start":41,"end":51,"value":"아람 임","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["아람 임"]},"customers":{"required_absent":["아람 임"],"required_present":[]},"all":{"required_absent":["아람 임"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ko-preserve-079","language":"ko","script":"Hangul","shape":"stack-trace","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[79]: 공개 기관은 아침 센터","known_identities":[],"targets":[{"id":"person","kind":"person","start":28,"end":41,"value":"아침 센터","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["아침 센터"]},"customers":{"required_absent":[],"required_present":["아침 센터"]},"all":{"required_absent":[],"required_present":["아침 센터"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ko-redact-080","language":"ko","script":"Hangul","shape":"code","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_80 := `고객이 언급한 사람은 이든 김`","known_identities":[],"targets":[{"id":"person","kind":"person","start":45,"end":55,"value":"이든 김","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["이든 김"]},"customers":{"required_absent":["이든 김"],"required_present":[]},"all":{"required_absent":["이든 김"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, @@ -1768,26 +1768,26 @@ {"id":"broad-language-ko-preserve-081","language":"ko","script":"Hangul","shape":"signature","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--\n공개 기관은 이음 출판사","known_identities":[],"targets":[{"id":"person","kind":"person","start":20,"end":36,"value":"이음 출판사","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["이음 출판사"]},"customers":{"required_absent":[],"required_present":["이음 출판사"]},"all":{"required_absent":[],"required_present":["이음 출판사"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ko-redact-082","language":"ko","script":"Hangul","shape":"long-thread","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. 고객이 언급한 사람은 이든 박","known_identities":[],"targets":[{"id":"person","kind":"person","start":510,"end":520,"value":"이든 박","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["이든 박"]},"customers":{"required_absent":["이든 박"],"required_present":[]},"all":{"required_absent":["이든 박"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ko-preserve-082","language":"ko","script":"Hangul","shape":"long-thread","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. 공개 기관은 이음 재단","known_identities":[],"targets":[{"id":"person","kind":"person","start":497,"end":510,"value":"이음 재단","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["이음 재단"]},"customers":{"required_absent":[],"required_present":["이음 재단"]},"all":{"required_absent":[],"required_present":["이음 재단"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ko-redact-083","language":"ko","script":"Hangul","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=83 --message=\"고객이 언급한 사람은 \" --value=이든 최","known_identities":[],"targets":[{"id":"person","kind":"person","start":63,"end":73,"value":"이든 최","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["이든 최"]},"customers":{"required_absent":["이든 최"],"required_present":[]},"all":{"required_absent":["이든 최"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ko-preserve-083","language":"ko","script":"Hangul","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=83 --message=\"공개 기관은 \" --value=이음 공방","known_identities":[],"targets":[{"id":"person","kind":"person","start":50,"end":63,"value":"이음 공방","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["이음 공방"]},"customers":{"required_absent":[],"required_present":["이음 공방"]},"all":{"required_absent":[],"required_present":["이음 공방"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-083","language":"ko","script":"Hangul","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=83 --message=\"고객이 언급한 사람은 \" --credential=\"이든 최\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":69,"end":79,"value":"이든 최","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["이든 최"]},"customers":{"required_absent":["이든 최"],"required_present":[]},"all":{"required_absent":["이든 최"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-083","language":"ko","script":"Hangul","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=83 --message=\"공개 기관은 \" --credential=\"이음 공방\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":56,"end":69,"value":"이음 공방","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["이음 공방"]},"customers":{"required_absent":[],"required_present":["이음 공방"]},"all":{"required_absent":[],"required_present":["이음 공방"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ko-redact-084","language":"ko","script":"Hangul","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"고객이 언급한 사람은 이든 정","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":40,"value":"이든 정","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["이든 정"]},"customers":{"required_absent":["이든 정"],"required_present":[]},"all":{"required_absent":["이든 정"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ko-preserve-084","language":"ko","script":"Hangul","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"공개 기관은 이음 학교","known_identities":[],"targets":[{"id":"person","kind":"person","start":17,"end":30,"value":"이음 학교","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["이음 학교"]},"customers":{"required_absent":[],"required_present":["이음 학교"]},"all":{"required_absent":[],"required_present":["이음 학교"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ko-redact-085","language":"ko","script":"Hangul","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_85\":\"고객이 언급한 사람은 이든 강\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":45,"end":55,"value":"이든 강","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["이든 강"]},"customers":{"required_absent":["이든 강"],"required_present":[]},"all":{"required_absent":["이든 강"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ko-preserve-085","language":"ko","script":"Hangul","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_85\":\"공개 기관은 이음 협회\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":45,"value":"이음 협회","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["이음 협회"]},"customers":{"required_absent":[],"required_present":["이음 협회"]},"all":{"required_absent":[],"required_present":["이음 협회"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ko-redact-086","language":"ko","script":"Hangul","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_86: 고객이 언급한 사람은 이든 조","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":52,"value":"이든 조","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["이든 조"]},"customers":{"required_absent":["이든 조"],"required_present":[]},"all":{"required_absent":["이든 조"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ko-preserve-086","language":"ko","script":"Hangul","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_86: 공개 기관은 이음 박물관","known_identities":[],"targets":[{"id":"person","kind":"person","start":29,"end":45,"value":"이음 박물관","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["이음 박물관"]},"customers":{"required_absent":[],"required_present":["이음 박물관"]},"all":{"required_absent":[],"required_present":["이음 박물관"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-086","language":"ko","script":"Hangul","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_86: \"고객이 언급한 사람은 이든 조\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":43,"end":53,"value":"이든 조","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["이든 조"]},"customers":{"required_absent":["이든 조"],"required_present":[]},"all":{"required_absent":["이든 조"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-086","language":"ko","script":"Hangul","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_86: \"공개 기관은 이음 박물관\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":46,"value":"이음 박물관","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["이음 박물관"]},"customers":{"required_absent":[],"required_present":["이음 박물관"]},"all":{"required_absent":[],"required_present":["이음 박물관"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ko-redact-087","language":"ko","script":"Hangul","shape":"shell","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_87='고객이 언급한 사람은 이든 윤'","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":52,"value":"이든 윤","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["이든 윤"]},"customers":{"required_absent":["이든 윤"],"required_present":[]},"all":{"required_absent":["이든 윤"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ko-preserve-087","language":"ko","script":"Hangul","shape":"shell","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_87='공개 기관은 이음 도서관'","known_identities":[],"targets":[{"id":"person","kind":"person","start":29,"end":45,"value":"이음 도서관","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["이음 도서관"]},"customers":{"required_absent":[],"required_present":["이음 도서관"]},"all":{"required_absent":[],"required_present":["이음 도서관"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ko-redact-088","language":"ko","script":"Hangul","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/88 ; 고객이 언급한 사람은 이든 장","known_identities":[],"targets":[{"id":"person","kind":"person","start":63,"end":73,"value":"이든 장","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["이든 장"]},"customers":{"required_absent":["이든 장"],"required_present":[]},"all":{"required_absent":["이든 장"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ko-preserve-088","language":"ko","script":"Hangul","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/88 ; 공개 기관은 이음 극단","known_identities":[],"targets":[{"id":"person","kind":"person","start":50,"end":63,"value":"이음 극단","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["이음 극단"]},"customers":{"required_absent":[],"required_present":["이음 극단"]},"all":{"required_absent":[],"required_present":["이음 극단"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ko-redact-089","language":"ko","script":"Hangul","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"**고객이 언급한 사람은 이든 임**","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":42,"value":"이든 임","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["이든 임"]},"customers":{"required_absent":["이든 임"],"required_present":[]},"all":{"required_absent":["이든 임"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ko-preserve-089","language":"ko","script":"Hangul","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"**공개 기관은 이음 센터**","known_identities":[],"targets":[{"id":"person","kind":"person","start":19,"end":32,"value":"이음 센터","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["이음 센터"]},"customers":{"required_absent":[],"required_present":["이음 센터"]},"all":{"required_absent":[],"required_present":["이음 센터"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ko-redact-090","language":"ko","script":"Hangul","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003e고객이 언급한 사람은 하늘 김\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":33,"end":43,"value":"하늘 김","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["하늘 김"]},"customers":{"required_absent":["하늘 김"],"required_present":[]},"all":{"required_absent":["하늘 김"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ko-preserve-090","language":"ko","script":"Hangul","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003e공개 기관은 한빛 연구소\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":20,"end":36,"value":"한빛 연구소","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["한빛 연구소"]},"customers":{"required_absent":[],"required_present":["한빛 연구소"]},"all":{"required_absent":[],"required_present":["한빛 연구소"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-088","language":"ko","script":"Hangul","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/88?credential=이든 장\u0026note=%EA%B3%A0%EA%B0%9D%EC%9D%B4+%EC%96%B8%EA%B8%89%ED%95%9C+%EC%82%AC%EB%9E%8C%EC%9D%80+","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":52,"value":"이든 장","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["이든 장"]},"customers":{"required_absent":["이든 장"],"required_present":[]},"all":{"required_absent":["이든 장"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-088","language":"ko","script":"Hangul","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/88?credential=이음 극단\u0026note=%EA%B3%B5%EA%B0%9C+%EA%B8%B0%EA%B4%80%EC%9D%80+","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":55,"value":"이음 극단","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["이음 극단"]},"customers":{"required_absent":[],"required_present":["이음 극단"]},"all":{"required_absent":[],"required_present":["이음 극단"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-089","language":"ko","script":"Hangul","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"고객이 언급한 사람은 `이든 임`","known_identities":[],"targets":[{"id":"person","kind":"person","start":31,"end":41,"value":"이든 임","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["이든 임"]},"customers":{"required_absent":["이든 임"],"required_present":[]},"all":{"required_absent":["이든 임"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-089","language":"ko","script":"Hangul","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"공개 기관은 `이음 센터`","known_identities":[],"targets":[{"id":"person","kind":"person","start":18,"end":31,"value":"이음 센터","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["이음 센터"]},"customers":{"required_absent":[],"required_present":["이음 센터"]},"all":{"required_absent":[],"required_present":["이음 센터"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-090","language":"ko","script":"Hangul","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003e고객이 언급한 사람은 \u003ccode\u003e하늘 김\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":39,"end":49,"value":"하늘 김","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["하늘 김"]},"customers":{"required_absent":["하늘 김"],"required_present":[]},"all":{"required_absent":["하늘 김"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-090","language":"ko","script":"Hangul","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003e공개 기관은 \u003ccode\u003e한빛 연구소\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":26,"end":42,"value":"한빛 연구소","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["한빛 연구소"]},"customers":{"required_absent":[],"required_present":["한빛 연구소"]},"all":{"required_absent":[],"required_present":["한빛 연구소"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ko-redact-091","language":"ko","script":"Hangul","shape":"quoted-reply","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e 고객이 언급한 사람은 하늘 이","known_identities":[],"targets":[{"id":"person","kind":"person","start":32,"end":42,"value":"하늘 이","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["하늘 이"]},"customers":{"required_absent":["하늘 이"],"required_present":[]},"all":{"required_absent":["하늘 이"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ko-preserve-091","language":"ko","script":"Hangul","shape":"quoted-reply","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e 공개 기관은 한빛 출판사","known_identities":[],"targets":[{"id":"person","kind":"person","start":19,"end":35,"value":"한빛 출판사","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["한빛 출판사"]},"customers":{"required_absent":[],"required_present":["한빛 출판사"]},"all":{"required_absent":[],"required_present":["한빛 출판사"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ko-redact-092","language":"ko","script":"Hangul","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=92 message=\"고객이 언급한 사람은 \" value=하늘 박","known_identities":[],"targets":[{"id":"person","kind":"person","start":68,"end":78,"value":"하늘 박","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["하늘 박"]},"customers":{"required_absent":["하늘 박"],"required_present":[]},"all":{"required_absent":["하늘 박"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ko-preserve-092","language":"ko","script":"Hangul","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=92 message=\"공개 기관은 \" value=한빛 재단","known_identities":[],"targets":[{"id":"person","kind":"person","start":55,"end":68,"value":"한빛 재단","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["한빛 재단"]},"customers":{"required_absent":[],"required_present":["한빛 재단"]},"all":{"required_absent":[],"required_present":["한빛 재단"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-092","language":"ko","script":"Hangul","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=92 message=\"고객이 언급한 사람은 \" credential=\"하늘 박\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":74,"end":84,"value":"하늘 박","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["하늘 박"]},"customers":{"required_absent":["하늘 박"],"required_present":[]},"all":{"required_absent":["하늘 박"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-092","language":"ko","script":"Hangul","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=92 message=\"공개 기관은 \" credential=\"한빛 재단\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":61,"end":74,"value":"한빛 재단","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["한빛 재단"]},"customers":{"required_absent":[],"required_present":["한빛 재단"]},"all":{"required_absent":[],"required_present":["한빛 재단"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ko-redact-093","language":"ko","script":"Hangul","shape":"stack-trace","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[93]: 고객이 언급한 사람은 하늘 최","known_identities":[],"targets":[{"id":"person","kind":"person","start":41,"end":51,"value":"하늘 최","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["하늘 최"]},"customers":{"required_absent":["하늘 최"],"required_present":[]},"all":{"required_absent":["하늘 최"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ko-preserve-093","language":"ko","script":"Hangul","shape":"stack-trace","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[93]: 공개 기관은 한빛 공방","known_identities":[],"targets":[{"id":"person","kind":"person","start":28,"end":41,"value":"한빛 공방","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["한빛 공방"]},"customers":{"required_absent":[],"required_present":["한빛 공방"]},"all":{"required_absent":[],"required_present":["한빛 공방"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ko-redact-094","language":"ko","script":"Hangul","shape":"code","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_94 := `고객이 언급한 사람은 하늘 정`","known_identities":[],"targets":[{"id":"person","kind":"person","start":45,"end":55,"value":"하늘 정","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["하늘 정"]},"customers":{"required_absent":["하늘 정"],"required_present":[]},"all":{"required_absent":["하늘 정"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, @@ -1796,8 +1796,8 @@ {"id":"broad-language-ko-preserve-095","language":"ko","script":"Hangul","shape":"signature","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--\n공개 기관은 한빛 협회","known_identities":[],"targets":[{"id":"person","kind":"person","start":20,"end":33,"value":"한빛 협회","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["한빛 협회"]},"customers":{"required_absent":[],"required_present":["한빛 협회"]},"all":{"required_absent":[],"required_present":["한빛 협회"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ko-redact-096","language":"ko","script":"Hangul","shape":"long-thread","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. 고객이 언급한 사람은 하늘 조","known_identities":[],"targets":[{"id":"person","kind":"person","start":510,"end":520,"value":"하늘 조","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["하늘 조"]},"customers":{"required_absent":["하늘 조"],"required_present":[]},"all":{"required_absent":["하늘 조"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ko-preserve-096","language":"ko","script":"Hangul","shape":"long-thread","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. 공개 기관은 한빛 박물관","known_identities":[],"targets":[{"id":"person","kind":"person","start":497,"end":513,"value":"한빛 박물관","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["한빛 박물관"]},"customers":{"required_absent":[],"required_present":["한빛 박물관"]},"all":{"required_absent":[],"required_present":["한빛 박물관"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ko-redact-097","language":"ko","script":"Hangul","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=97 --message=\"고객이 언급한 사람은 \" --value=하늘 윤","known_identities":[],"targets":[{"id":"person","kind":"person","start":63,"end":73,"value":"하늘 윤","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["하늘 윤"]},"customers":{"required_absent":["하늘 윤"],"required_present":[]},"all":{"required_absent":["하늘 윤"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-ko-preserve-097","language":"ko","script":"Hangul","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=97 --message=\"공개 기관은 \" --value=한빛 도서관","known_identities":[],"targets":[{"id":"person","kind":"person","start":50,"end":66,"value":"한빛 도서관","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["한빛 도서관"]},"customers":{"required_absent":[],"required_present":["한빛 도서관"]},"all":{"required_absent":[],"required_present":["한빛 도서관"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-redact-097","language":"ko","script":"Hangul","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=97 --message=\"고객이 언급한 사람은 \" --credential=\"하늘 윤\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":69,"end":79,"value":"하늘 윤","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["하늘 윤"]},"customers":{"required_absent":["하늘 윤"],"required_present":[]},"all":{"required_absent":["하늘 윤"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-ko-preserve-097","language":"ko","script":"Hangul","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=97 --message=\"공개 기관은 \" --credential=\"한빛 도서관\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":56,"end":72,"value":"한빛 도서관","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["한빛 도서관"]},"customers":{"required_absent":[],"required_present":["한빛 도서관"]},"all":{"required_absent":[],"required_present":["한빛 도서관"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ko-redact-098","language":"ko","script":"Hangul","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"고객이 언급한 사람은 하늘 장","known_identities":[],"targets":[{"id":"person","kind":"person","start":30,"end":40,"value":"하늘 장","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["하늘 장"]},"customers":{"required_absent":["하늘 장"],"required_present":[]},"all":{"required_absent":["하늘 장"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ko-preserve-098","language":"ko","script":"Hangul","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"공개 기관은 한빛 극단","known_identities":[],"targets":[{"id":"person","kind":"person","start":17,"end":30,"value":"한빛 극단","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["한빛 극단"]},"customers":{"required_absent":[],"required_present":["한빛 극단"]},"all":{"required_absent":[],"required_present":["한빛 극단"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-ko-redact-099","language":"ko","script":"Hangul","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_99\":\"고객이 언급한 사람은 하늘 임\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":45,"end":55,"value":"하늘 임","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["하늘 임"]},"customers":{"required_absent":["하늘 임"],"required_present":[]},"all":{"required_absent":["하늘 임"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, @@ -1806,20 +1806,20 @@ {"id":"broad-language-hi-preserve-000","language":"hi","script":"Devanagari","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"सार्वजनिक संस्था आकाश संस्थान","known_identities":[],"targets":[{"id":"person","kind":"person","start":47,"end":81,"value":"आकाश संस्थान","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["आकाश संस्थान"]},"customers":{"required_absent":[],"required_present":["आकाश संस्थान"]},"all":{"required_absent":[],"required_present":["आकाश संस्थान"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-hi-redact-001","language":"hi","script":"Devanagari","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_1\":\"ग्राहक ने उल्लेख किया आरव बंसल\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":72,"end":94,"value":"आरव बंसल","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["आरव बंसल"]},"customers":{"required_absent":["आरव बंसल"],"required_present":[]},"all":{"required_absent":["आरव बंसल"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-hi-preserve-001","language":"hi","script":"Devanagari","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_1\":\"सार्वजनिक संस्था आकाश प्रकाशन\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":61,"end":95,"value":"आकाश प्रकाशन","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["आकाश प्रकाशन"]},"customers":{"required_absent":[],"required_present":["आकाश प्रकाशन"]},"all":{"required_absent":[],"required_present":["आकाश प्रकाशन"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-hi-redact-002","language":"hi","script":"Devanagari","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_2: ग्राहक ने उल्लेख किया आरव चौहान","known_identities":[],"targets":[{"id":"person","kind":"person","start":69,"end":94,"value":"आरव चौहान","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["आरव चौहान"]},"customers":{"required_absent":["आरव चौहान"],"required_present":[]},"all":{"required_absent":["आरव चौहान"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-hi-preserve-002","language":"hi","script":"Devanagari","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_2: सार्वजनिक संस्था आकाश फाउंडेशन","known_identities":[],"targets":[{"id":"person","kind":"person","start":58,"end":95,"value":"आकाश फाउंडेशन","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["आकाश फाउंडेशन"]},"customers":{"required_absent":[],"required_present":["आकाश फाउंडेशन"]},"all":{"required_absent":[],"required_present":["आकाश फाउंडेशन"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-002","language":"hi","script":"Devanagari","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_2: \"ग्राहक ने उल्लेख किया आरव चौहान\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":70,"end":95,"value":"आरव चौहान","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["आरव चौहान"]},"customers":{"required_absent":["आरव चौहान"],"required_present":[]},"all":{"required_absent":["आरव चौहान"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-002","language":"hi","script":"Devanagari","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_2: \"सार्वजनिक संस्था आकाश फाउंडेशन\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":59,"end":96,"value":"आकाश फाउंडेशन","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["आकाश फाउंडेशन"]},"customers":{"required_absent":[],"required_present":["आकाश फाउंडेशन"]},"all":{"required_absent":[],"required_present":["आकाश फाउंडेशन"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-hi-redact-003","language":"hi","script":"Devanagari","shape":"shell","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_3='ग्राहक ने उल्लेख किया आरव देसाई'","known_identities":[],"targets":[{"id":"person","kind":"person","start":69,"end":94,"value":"आरव देसाई","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["आरव देसाई"]},"customers":{"required_absent":["आरव देसाई"],"required_present":[]},"all":{"required_absent":["आरव देसाई"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-hi-preserve-003","language":"hi","script":"Devanagari","shape":"shell","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_3='सार्वजनिक संस्था आकाश प्रयोगशाला'","known_identities":[],"targets":[{"id":"person","kind":"person","start":58,"end":101,"value":"आकाश प्रयोगशाला","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["आकाश प्रयोगशाला"]},"customers":{"required_absent":[],"required_present":["आकाश प्रयोगशाला"]},"all":{"required_absent":[],"required_present":["आकाश प्रयोगशाला"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-hi-redact-004","language":"hi","script":"Devanagari","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/4 ; ग्राहक ने उल्लेख किया आरव गोयल","known_identities":[],"targets":[{"id":"person","kind":"person","start":90,"end":112,"value":"आरव गोयल","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["आरव गोयल"]},"customers":{"required_absent":["आरव गोयल"],"required_present":[]},"all":{"required_absent":["आरव गोयल"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-hi-preserve-004","language":"hi","script":"Devanagari","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/4 ; सार्वजनिक संस्था आकाश विद्यालय","known_identities":[],"targets":[{"id":"person","kind":"person","start":79,"end":116,"value":"आकाश विद्यालय","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["आकाश विद्यालय"]},"customers":{"required_absent":[],"required_present":["आकाश विद्यालय"]},"all":{"required_absent":[],"required_present":["आकाश विद्यालय"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-hi-redact-005","language":"hi","script":"Devanagari","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"**ग्राहक ने उल्लेख किया आरव कपूर**","known_identities":[],"targets":[{"id":"person","kind":"person","start":60,"end":82,"value":"आरव कपूर","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["आरव कपूर"]},"customers":{"required_absent":["आरव कपूर"],"required_present":[]},"all":{"required_absent":["आरव कपूर"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-hi-preserve-005","language":"hi","script":"Devanagari","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"**सार्वजनिक संस्था आकाश संग्रहालय**","known_identities":[],"targets":[{"id":"person","kind":"person","start":49,"end":89,"value":"आकाश संग्रहालय","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["आकाश संग्रहालय"]},"customers":{"required_absent":[],"required_present":["आकाश संग्रहालय"]},"all":{"required_absent":[],"required_present":["आकाश संग्रहालय"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-hi-redact-006","language":"hi","script":"Devanagari","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eग्राहक ने उल्लेख किया आरव मेहता\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":61,"end":86,"value":"आरव मेहता","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["आरव मेहता"]},"customers":{"required_absent":["आरव मेहता"],"required_present":[]},"all":{"required_absent":["आरव मेहता"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-hi-preserve-006","language":"hi","script":"Devanagari","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eसार्वजनिक संस्था आकाश पुस्तकालय\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":50,"end":90,"value":"आकाश पुस्तकालय","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["आकाश पुस्तकालय"]},"customers":{"required_absent":[],"required_present":["आकाश पुस्तकालय"]},"all":{"required_absent":[],"required_present":["आकाश पुस्तकालय"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-004","language":"hi","script":"Devanagari","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/4?credential=आरव गोयल\u0026note=%E0%A4%97%E0%A5%8D%E0%A4%B0%E0%A4%BE%E0%A4%B9%E0%A4%95+%E0%A4%A8%E0%A5%87+%E0%A4%89%E0%A4%B2%E0%A5%8D%E0%A4%B2%E0%A5%87%E0%A4%96+%E0%A4%95%E0%A4%BF%E0%A4%AF%E0%A4%BE+","known_identities":[],"targets":[{"id":"person","kind":"person","start":41,"end":63,"value":"आरव गोयल","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["आरव गोयल"]},"customers":{"required_absent":["आरव गोयल"],"required_present":[]},"all":{"required_absent":["आरव गोयल"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-004","language":"hi","script":"Devanagari","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/4?credential=आकाश विद्यालय\u0026note=%E0%A4%B8%E0%A4%BE%E0%A4%B0%E0%A5%8D%E0%A4%B5%E0%A4%9C%E0%A4%A8%E0%A4%BF%E0%A4%95+%E0%A4%B8%E0%A4%82%E0%A4%B8%E0%A5%8D%E0%A4%A5%E0%A4%BE+","known_identities":[],"targets":[{"id":"person","kind":"person","start":41,"end":78,"value":"आकाश विद्यालय","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["आकाश विद्यालय"]},"customers":{"required_absent":[],"required_present":["आकाश विद्यालय"]},"all":{"required_absent":[],"required_present":["आकाश विद्यालय"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-005","language":"hi","script":"Devanagari","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"ग्राहक ने उल्लेख किया `आरव कपूर`","known_identities":[],"targets":[{"id":"person","kind":"person","start":59,"end":81,"value":"आरव कपूर","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["आरव कपूर"]},"customers":{"required_absent":["आरव कपूर"],"required_present":[]},"all":{"required_absent":["आरव कपूर"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-005","language":"hi","script":"Devanagari","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"सार्वजनिक संस्था `आकाश संग्रहालय`","known_identities":[],"targets":[{"id":"person","kind":"person","start":48,"end":88,"value":"आकाश संग्रहालय","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["आकाश संग्रहालय"]},"customers":{"required_absent":[],"required_present":["आकाश संग्रहालय"]},"all":{"required_absent":[],"required_present":["आकाश संग्रहालय"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-006","language":"hi","script":"Devanagari","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eग्राहक ने उल्लेख किया \u003ccode\u003eआरव मेहता\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":67,"end":92,"value":"आरव मेहता","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["आरव मेहता"]},"customers":{"required_absent":["आरव मेहता"],"required_present":[]},"all":{"required_absent":["आरव मेहता"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-006","language":"hi","script":"Devanagari","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eसार्वजनिक संस्था \u003ccode\u003eआकाश पुस्तकालय\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":56,"end":96,"value":"आकाश पुस्तकालय","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["आकाश पुस्तकालय"]},"customers":{"required_absent":[],"required_present":["आकाश पुस्तकालय"]},"all":{"required_absent":[],"required_present":["आकाश पुस्तकालय"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-hi-redact-007","language":"hi","script":"Devanagari","shape":"quoted-reply","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e ग्राहक ने उल्लेख किया आरव नायर","known_identities":[],"targets":[{"id":"person","kind":"person","start":60,"end":82,"value":"आरव नायर","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["आरव नायर"]},"customers":{"required_absent":["आरव नायर"],"required_present":[]},"all":{"required_absent":["आरव नायर"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-hi-preserve-007","language":"hi","script":"Devanagari","shape":"quoted-reply","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e सार्वजनिक संस्था आकाश परिषद","known_identities":[],"targets":[{"id":"person","kind":"person","start":49,"end":77,"value":"आकाश परिषद","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["आकाश परिषद"]},"customers":{"required_absent":[],"required_present":["आकाश परिषद"]},"all":{"required_absent":[],"required_present":["आकाश परिषद"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-hi-redact-008","language":"hi","script":"Devanagari","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=8 message=\"ग्राहक ने उल्लेख किया \" value=आरव पटेल","known_identities":[],"targets":[{"id":"person","kind":"person","start":95,"end":117,"value":"आरव पटेल","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["आरव पटेल"]},"customers":{"required_absent":["आरव पटेल"],"required_present":[]},"all":{"required_absent":["आरव पटेल"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-hi-preserve-008","language":"hi","script":"Devanagari","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=8 message=\"सार्वजनिक संस्था \" value=आकाश केंद्र","known_identities":[],"targets":[{"id":"person","kind":"person","start":84,"end":115,"value":"आकाश केंद्र","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["आकाश केंद्र"]},"customers":{"required_absent":[],"required_present":["आकाश केंद्र"]},"all":{"required_absent":[],"required_present":["आकाश केंद्र"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-008","language":"hi","script":"Devanagari","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=8 message=\"ग्राहक ने उल्लेख किया \" credential=\"आरव पटेल\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":101,"end":123,"value":"आरव पटेल","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["आरव पटेल"]},"customers":{"required_absent":["आरव पटेल"],"required_present":[]},"all":{"required_absent":["आरव पटेल"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-008","language":"hi","script":"Devanagari","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=8 message=\"सार्वजनिक संस्था \" credential=\"आकाश केंद्र\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":90,"end":121,"value":"आकाश केंद्र","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["आकाश केंद्र"]},"customers":{"required_absent":[],"required_present":["आकाश केंद्र"]},"all":{"required_absent":[],"required_present":["आकाश केंद्र"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-hi-redact-009","language":"hi","script":"Devanagari","shape":"stack-trace","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[9]: ग्राहक ने उल्लेख किया आरव शर्मा","known_identities":[],"targets":[{"id":"person","kind":"person","start":68,"end":93,"value":"आरव शर्मा","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["आरव शर्मा"]},"customers":{"required_absent":["आरव शर्मा"],"required_present":[]},"all":{"required_absent":["आरव शर्मा"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-hi-preserve-009","language":"hi","script":"Devanagari","shape":"stack-trace","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[9]: सार्वजनिक संस्था आकाश मंच","known_identities":[],"targets":[{"id":"person","kind":"person","start":57,"end":79,"value":"आकाश मंच","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["आकाश मंच"]},"customers":{"required_absent":[],"required_present":["आकाश मंच"]},"all":{"required_absent":[],"required_present":["आकाश मंच"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-hi-redact-010","language":"hi","script":"Devanagari","shape":"code","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_10 := `ग्राहक ने उल्लेख किया इशान अरोड़ा`","known_identities":[],"targets":[{"id":"person","kind":"person","start":73,"end":104,"value":"इशान अरोड़ा","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["इशान अरोड़ा"]},"customers":{"required_absent":["इशान अरोड़ा"],"required_present":[]},"all":{"required_absent":["इशान अरोड़ा"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, @@ -1828,26 +1828,26 @@ {"id":"broad-language-hi-preserve-011","language":"hi","script":"Devanagari","shape":"signature","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--\nसार्वजनिक संस्था उदय प्रकाशन","known_identities":[],"targets":[{"id":"person","kind":"person","start":50,"end":81,"value":"उदय प्रकाशन","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["उदय प्रकाशन"]},"customers":{"required_absent":[],"required_present":["उदय प्रकाशन"]},"all":{"required_absent":[],"required_present":["उदय प्रकाशन"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-hi-redact-012","language":"hi","script":"Devanagari","shape":"long-thread","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. ग्राहक ने उल्लेख किया इशान चौहान","known_identities":[],"targets":[{"id":"person","kind":"person","start":538,"end":566,"value":"इशान चौहान","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["इशान चौहान"]},"customers":{"required_absent":["इशान चौहान"],"required_present":[]},"all":{"required_absent":["इशान चौहान"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-hi-preserve-012","language":"hi","script":"Devanagari","shape":"long-thread","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. सार्वजनिक संस्था उदय फाउंडेशन","known_identities":[],"targets":[{"id":"person","kind":"person","start":527,"end":561,"value":"उदय फाउंडेशन","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["उदय फाउंडेशन"]},"customers":{"required_absent":[],"required_present":["उदय फाउंडेशन"]},"all":{"required_absent":[],"required_present":["उदय फाउंडेशन"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-hi-redact-013","language":"hi","script":"Devanagari","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=13 --message=\"ग्राहक ने उल्लेख किया \" --value=इशान देसाई","known_identities":[],"targets":[{"id":"person","kind":"person","start":91,"end":119,"value":"इशान देसाई","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["इशान देसाई"]},"customers":{"required_absent":["इशान देसाई"],"required_present":[]},"all":{"required_absent":["इशान देसाई"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-hi-preserve-013","language":"hi","script":"Devanagari","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=13 --message=\"सार्वजनिक संस्था \" --value=उदय प्रयोगशाला","known_identities":[],"targets":[{"id":"person","kind":"person","start":80,"end":120,"value":"उदय प्रयोगशाला","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["उदय प्रयोगशाला"]},"customers":{"required_absent":[],"required_present":["उदय प्रयोगशाला"]},"all":{"required_absent":[],"required_present":["उदय प्रयोगशाला"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-013","language":"hi","script":"Devanagari","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=13 --message=\"ग्राहक ने उल्लेख किया \" --credential=\"इशान देसाई\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":97,"end":125,"value":"इशान देसाई","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["इशान देसाई"]},"customers":{"required_absent":["इशान देसाई"],"required_present":[]},"all":{"required_absent":["इशान देसाई"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-013","language":"hi","script":"Devanagari","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=13 --message=\"सार्वजनिक संस्था \" --credential=\"उदय प्रयोगशाला\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":86,"end":126,"value":"उदय प्रयोगशाला","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["उदय प्रयोगशाला"]},"customers":{"required_absent":[],"required_present":["उदय प्रयोगशाला"]},"all":{"required_absent":[],"required_present":["उदय प्रयोगशाला"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-hi-redact-014","language":"hi","script":"Devanagari","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"ग्राहक ने उल्लेख किया इशान गोयल","known_identities":[],"targets":[{"id":"person","kind":"person","start":58,"end":83,"value":"इशान गोयल","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["इशान गोयल"]},"customers":{"required_absent":["इशान गोयल"],"required_present":[]},"all":{"required_absent":["इशान गोयल"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-hi-preserve-014","language":"hi","script":"Devanagari","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"सार्वजनिक संस्था उदय विद्यालय","known_identities":[],"targets":[{"id":"person","kind":"person","start":47,"end":81,"value":"उदय विद्यालय","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["उदय विद्यालय"]},"customers":{"required_absent":[],"required_present":["उदय विद्यालय"]},"all":{"required_absent":[],"required_present":["उदय विद्यालय"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-hi-redact-015","language":"hi","script":"Devanagari","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_15\":\"ग्राहक ने उल्लेख किया इशान कपूर\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":73,"end":98,"value":"इशान कपूर","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["इशान कपूर"]},"customers":{"required_absent":["इशान कपूर"],"required_present":[]},"all":{"required_absent":["इशान कपूर"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-hi-preserve-015","language":"hi","script":"Devanagari","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_15\":\"सार्वजनिक संस्था उदय संग्रहालय\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":62,"end":99,"value":"उदय संग्रहालय","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["उदय संग्रहालय"]},"customers":{"required_absent":[],"required_present":["उदय संग्रहालय"]},"all":{"required_absent":[],"required_present":["उदय संग्रहालय"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-hi-redact-016","language":"hi","script":"Devanagari","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_16: ग्राहक ने उल्लेख किया इशान मेहता","known_identities":[],"targets":[{"id":"person","kind":"person","start":70,"end":98,"value":"इशान मेहता","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["इशान मेहता"]},"customers":{"required_absent":["इशान मेहता"],"required_present":[]},"all":{"required_absent":["इशान मेहता"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-hi-preserve-016","language":"hi","script":"Devanagari","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_16: सार्वजनिक संस्था उदय पुस्तकालय","known_identities":[],"targets":[{"id":"person","kind":"person","start":59,"end":96,"value":"उदय पुस्तकालय","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["उदय पुस्तकालय"]},"customers":{"required_absent":[],"required_present":["उदय पुस्तकालय"]},"all":{"required_absent":[],"required_present":["उदय पुस्तकालय"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-016","language":"hi","script":"Devanagari","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_16: \"ग्राहक ने उल्लेख किया इशान मेहता\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":71,"end":99,"value":"इशान मेहता","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["इशान मेहता"]},"customers":{"required_absent":["इशान मेहता"],"required_present":[]},"all":{"required_absent":["इशान मेहता"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-016","language":"hi","script":"Devanagari","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_16: \"सार्वजनिक संस्था उदय पुस्तकालय\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":60,"end":97,"value":"उदय पुस्तकालय","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["उदय पुस्तकालय"]},"customers":{"required_absent":[],"required_present":["उदय पुस्तकालय"]},"all":{"required_absent":[],"required_present":["उदय पुस्तकालय"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-hi-redact-017","language":"hi","script":"Devanagari","shape":"shell","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_17='ग्राहक ने उल्लेख किया इशान नायर'","known_identities":[],"targets":[{"id":"person","kind":"person","start":70,"end":95,"value":"इशान नायर","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["इशान नायर"]},"customers":{"required_absent":["इशान नायर"],"required_present":[]},"all":{"required_absent":["इशान नायर"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-hi-preserve-017","language":"hi","script":"Devanagari","shape":"shell","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_17='सार्वजनिक संस्था उदय परिषद'","known_identities":[],"targets":[{"id":"person","kind":"person","start":59,"end":84,"value":"उदय परिषद","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["उदय परिषद"]},"customers":{"required_absent":[],"required_present":["उदय परिषद"]},"all":{"required_absent":[],"required_present":["उदय परिषद"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-hi-redact-018","language":"hi","script":"Devanagari","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/18 ; ग्राहक ने उल्लेख किया इशान पटेल","known_identities":[],"targets":[{"id":"person","kind":"person","start":91,"end":116,"value":"इशान पटेल","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["इशान पटेल"]},"customers":{"required_absent":["इशान पटेल"],"required_present":[]},"all":{"required_absent":["इशान पटेल"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-hi-preserve-018","language":"hi","script":"Devanagari","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/18 ; सार्वजनिक संस्था उदय केंद्र","known_identities":[],"targets":[{"id":"person","kind":"person","start":80,"end":108,"value":"उदय केंद्र","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["उदय केंद्र"]},"customers":{"required_absent":[],"required_present":["उदय केंद्र"]},"all":{"required_absent":[],"required_present":["उदय केंद्र"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-hi-redact-019","language":"hi","script":"Devanagari","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"**ग्राहक ने उल्लेख किया इशान शर्मा**","known_identities":[],"targets":[{"id":"person","kind":"person","start":60,"end":88,"value":"इशान शर्मा","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["इशान शर्मा"]},"customers":{"required_absent":["इशान शर्मा"],"required_present":[]},"all":{"required_absent":["इशान शर्मा"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-hi-preserve-019","language":"hi","script":"Devanagari","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"**सार्वजनिक संस्था उदय मंच**","known_identities":[],"targets":[{"id":"person","kind":"person","start":49,"end":68,"value":"उदय मंच","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["उदय मंच"]},"customers":{"required_absent":[],"required_present":["उदय मंच"]},"all":{"required_absent":[],"required_present":["उदय मंच"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-hi-redact-020","language":"hi","script":"Devanagari","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eग्राहक ने उल्लेख किया काव्या अरोड़ा\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":61,"end":98,"value":"काव्या अरोड़ा","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["काव्या अरोड़ा"]},"customers":{"required_absent":["काव्या अरोड़ा"],"required_present":[]},"all":{"required_absent":["काव्या अरोड़ा"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-hi-preserve-020","language":"hi","script":"Devanagari","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eसार्वजनिक संस्था किरण संस्थान\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":50,"end":84,"value":"किरण संस्थान","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["किरण संस्थान"]},"customers":{"required_absent":[],"required_present":["किरण संस्थान"]},"all":{"required_absent":[],"required_present":["किरण संस्थान"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-018","language":"hi","script":"Devanagari","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/18?credential=इशान पटेल\u0026note=%E0%A4%97%E0%A5%8D%E0%A4%B0%E0%A4%BE%E0%A4%B9%E0%A4%95+%E0%A4%A8%E0%A5%87+%E0%A4%89%E0%A4%B2%E0%A5%8D%E0%A4%B2%E0%A5%87%E0%A4%96+%E0%A4%95%E0%A4%BF%E0%A4%AF%E0%A4%BE+","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":67,"value":"इशान पटेल","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["इशान पटेल"]},"customers":{"required_absent":["इशान पटेल"],"required_present":[]},"all":{"required_absent":["इशान पटेल"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-018","language":"hi","script":"Devanagari","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/18?credential=उदय केंद्र\u0026note=%E0%A4%B8%E0%A4%BE%E0%A4%B0%E0%A5%8D%E0%A4%B5%E0%A4%9C%E0%A4%A8%E0%A4%BF%E0%A4%95+%E0%A4%B8%E0%A4%82%E0%A4%B8%E0%A5%8D%E0%A4%A5%E0%A4%BE+","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":70,"value":"उदय केंद्र","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["उदय केंद्र"]},"customers":{"required_absent":[],"required_present":["उदय केंद्र"]},"all":{"required_absent":[],"required_present":["उदय केंद्र"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-019","language":"hi","script":"Devanagari","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"ग्राहक ने उल्लेख किया `इशान शर्मा`","known_identities":[],"targets":[{"id":"person","kind":"person","start":59,"end":87,"value":"इशान शर्मा","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["इशान शर्मा"]},"customers":{"required_absent":["इशान शर्मा"],"required_present":[]},"all":{"required_absent":["इशान शर्मा"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-019","language":"hi","script":"Devanagari","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"सार्वजनिक संस्था `उदय मंच`","known_identities":[],"targets":[{"id":"person","kind":"person","start":48,"end":67,"value":"उदय मंच","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["उदय मंच"]},"customers":{"required_absent":[],"required_present":["उदय मंच"]},"all":{"required_absent":[],"required_present":["उदय मंच"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-020","language":"hi","script":"Devanagari","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eग्राहक ने उल्लेख किया \u003ccode\u003eकाव्या अरोड़ा\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":67,"end":104,"value":"काव्या अरोड़ा","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["काव्या अरोड़ा"]},"customers":{"required_absent":["काव्या अरोड़ा"],"required_present":[]},"all":{"required_absent":["काव्या अरोड़ा"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-020","language":"hi","script":"Devanagari","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eसार्वजनिक संस्था \u003ccode\u003eकिरण संस्थान\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":56,"end":90,"value":"किरण संस्थान","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["किरण संस्थान"]},"customers":{"required_absent":[],"required_present":["किरण संस्थान"]},"all":{"required_absent":[],"required_present":["किरण संस्थान"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-hi-redact-021","language":"hi","script":"Devanagari","shape":"quoted-reply","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e ग्राहक ने उल्लेख किया काव्या बंसल","known_identities":[],"targets":[{"id":"person","kind":"person","start":60,"end":91,"value":"काव्या बंसल","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["काव्या बंसल"]},"customers":{"required_absent":["काव्या बंसल"],"required_present":[]},"all":{"required_absent":["काव्या बंसल"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-hi-preserve-021","language":"hi","script":"Devanagari","shape":"quoted-reply","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e सार्वजनिक संस्था किरण प्रकाशन","known_identities":[],"targets":[{"id":"person","kind":"person","start":49,"end":83,"value":"किरण प्रकाशन","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["किरण प्रकाशन"]},"customers":{"required_absent":[],"required_present":["किरण प्रकाशन"]},"all":{"required_absent":[],"required_present":["किरण प्रकाशन"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-hi-redact-022","language":"hi","script":"Devanagari","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=22 message=\"ग्राहक ने उल्लेख किया \" value=काव्या चौहान","known_identities":[],"targets":[{"id":"person","kind":"person","start":96,"end":130,"value":"काव्या चौहान","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["काव्या चौहान"]},"customers":{"required_absent":["काव्या चौहान"],"required_present":[]},"all":{"required_absent":["काव्या चौहान"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-hi-preserve-022","language":"hi","script":"Devanagari","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=22 message=\"सार्वजनिक संस्था \" value=किरण फाउंडेशन","known_identities":[],"targets":[{"id":"person","kind":"person","start":85,"end":122,"value":"किरण फाउंडेशन","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["किरण फाउंडेशन"]},"customers":{"required_absent":[],"required_present":["किरण फाउंडेशन"]},"all":{"required_absent":[],"required_present":["किरण फाउंडेशन"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-022","language":"hi","script":"Devanagari","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=22 message=\"ग्राहक ने उल्लेख किया \" credential=\"काव्या चौहान\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":102,"end":136,"value":"काव्या चौहान","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["काव्या चौहान"]},"customers":{"required_absent":["काव्या चौहान"],"required_present":[]},"all":{"required_absent":["काव्या चौहान"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-022","language":"hi","script":"Devanagari","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=22 message=\"सार्वजनिक संस्था \" credential=\"किरण फाउंडेशन\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":91,"end":128,"value":"किरण फाउंडेशन","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["किरण फाउंडेशन"]},"customers":{"required_absent":[],"required_present":["किरण फाउंडेशन"]},"all":{"required_absent":[],"required_present":["किरण फाउंडेशन"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-hi-redact-023","language":"hi","script":"Devanagari","shape":"stack-trace","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[23]: ग्राहक ने उल्लेख किया काव्या देसाई","known_identities":[],"targets":[{"id":"person","kind":"person","start":69,"end":103,"value":"काव्या देसाई","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["काव्या देसाई"]},"customers":{"required_absent":["काव्या देसाई"],"required_present":[]},"all":{"required_absent":["काव्या देसाई"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-hi-preserve-023","language":"hi","script":"Devanagari","shape":"stack-trace","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[23]: सार्वजनिक संस्था किरण प्रयोगशाला","known_identities":[],"targets":[{"id":"person","kind":"person","start":58,"end":101,"value":"किरण प्रयोगशाला","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["किरण प्रयोगशाला"]},"customers":{"required_absent":[],"required_present":["किरण प्रयोगशाला"]},"all":{"required_absent":[],"required_present":["किरण प्रयोगशाला"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-hi-redact-024","language":"hi","script":"Devanagari","shape":"code","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_24 := `ग्राहक ने उल्लेख किया काव्या गोयल`","known_identities":[],"targets":[{"id":"person","kind":"person","start":73,"end":104,"value":"काव्या गोयल","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["काव्या गोयल"]},"customers":{"required_absent":["काव्या गोयल"],"required_present":[]},"all":{"required_absent":["काव्या गोयल"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, @@ -1856,26 +1856,26 @@ {"id":"broad-language-hi-preserve-025","language":"hi","script":"Devanagari","shape":"signature","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--\nसार्वजनिक संस्था किरण संग्रहालय","known_identities":[],"targets":[{"id":"person","kind":"person","start":50,"end":90,"value":"किरण संग्रहालय","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["किरण संग्रहालय"]},"customers":{"required_absent":[],"required_present":["किरण संग्रहालय"]},"all":{"required_absent":[],"required_present":["किरण संग्रहालय"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-hi-redact-026","language":"hi","script":"Devanagari","shape":"long-thread","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. ग्राहक ने उल्लेख किया काव्या मेहता","known_identities":[],"targets":[{"id":"person","kind":"person","start":538,"end":572,"value":"काव्या मेहता","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["काव्या मेहता"]},"customers":{"required_absent":["काव्या मेहता"],"required_present":[]},"all":{"required_absent":["काव्या मेहता"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-hi-preserve-026","language":"hi","script":"Devanagari","shape":"long-thread","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. सार्वजनिक संस्था किरण पुस्तकालय","known_identities":[],"targets":[{"id":"person","kind":"person","start":527,"end":567,"value":"किरण पुस्तकालय","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["किरण पुस्तकालय"]},"customers":{"required_absent":[],"required_present":["किरण पुस्तकालय"]},"all":{"required_absent":[],"required_present":["किरण पुस्तकालय"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-hi-redact-027","language":"hi","script":"Devanagari","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=27 --message=\"ग्राहक ने उल्लेख किया \" --value=काव्या नायर","known_identities":[],"targets":[{"id":"person","kind":"person","start":91,"end":122,"value":"काव्या नायर","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["काव्या नायर"]},"customers":{"required_absent":["काव्या नायर"],"required_present":[]},"all":{"required_absent":["काव्या नायर"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-hi-preserve-027","language":"hi","script":"Devanagari","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=27 --message=\"सार्वजनिक संस्था \" --value=किरण परिषद","known_identities":[],"targets":[{"id":"person","kind":"person","start":80,"end":108,"value":"किरण परिषद","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["किरण परिषद"]},"customers":{"required_absent":[],"required_present":["किरण परिषद"]},"all":{"required_absent":[],"required_present":["किरण परिषद"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-027","language":"hi","script":"Devanagari","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=27 --message=\"ग्राहक ने उल्लेख किया \" --credential=\"काव्या नायर\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":97,"end":128,"value":"काव्या नायर","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["काव्या नायर"]},"customers":{"required_absent":["काव्या नायर"],"required_present":[]},"all":{"required_absent":["काव्या नायर"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-027","language":"hi","script":"Devanagari","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=27 --message=\"सार्वजनिक संस्था \" --credential=\"किरण परिषद\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":86,"end":114,"value":"किरण परिषद","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["किरण परिषद"]},"customers":{"required_absent":[],"required_present":["किरण परिषद"]},"all":{"required_absent":[],"required_present":["किरण परिषद"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-hi-redact-028","language":"hi","script":"Devanagari","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"ग्राहक ने उल्लेख किया काव्या पटेल","known_identities":[],"targets":[{"id":"person","kind":"person","start":58,"end":89,"value":"काव्या पटेल","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["काव्या पटेल"]},"customers":{"required_absent":["काव्या पटेल"],"required_present":[]},"all":{"required_absent":["काव्या पटेल"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-hi-preserve-028","language":"hi","script":"Devanagari","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"सार्वजनिक संस्था किरण केंद्र","known_identities":[],"targets":[{"id":"person","kind":"person","start":47,"end":78,"value":"किरण केंद्र","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["किरण केंद्र"]},"customers":{"required_absent":[],"required_present":["किरण केंद्र"]},"all":{"required_absent":[],"required_present":["किरण केंद्र"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-hi-redact-029","language":"hi","script":"Devanagari","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_29\":\"ग्राहक ने उल्लेख किया काव्या शर्मा\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":73,"end":107,"value":"काव्या शर्मा","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["काव्या शर्मा"]},"customers":{"required_absent":["काव्या शर्मा"],"required_present":[]},"all":{"required_absent":["काव्या शर्मा"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-hi-preserve-029","language":"hi","script":"Devanagari","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_29\":\"सार्वजनिक संस्था किरण मंच\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":62,"end":84,"value":"किरण मंच","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["किरण मंच"]},"customers":{"required_absent":[],"required_present":["किरण मंच"]},"all":{"required_absent":[],"required_present":["किरण मंच"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-hi-redact-030","language":"hi","script":"Devanagari","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_30: ग्राहक ने उल्लेख किया दीया अरोड़ा","known_identities":[],"targets":[{"id":"person","kind":"person","start":70,"end":101,"value":"दीया अरोड़ा","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["दीया अरोड़ा"]},"customers":{"required_absent":["दीया अरोड़ा"],"required_present":[]},"all":{"required_absent":["दीया अरोड़ा"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-hi-preserve-030","language":"hi","script":"Devanagari","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_30: सार्वजनिक संस्था गंगा संस्थान","known_identities":[],"targets":[{"id":"person","kind":"person","start":59,"end":93,"value":"गंगा संस्थान","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["गंगा संस्थान"]},"customers":{"required_absent":[],"required_present":["गंगा संस्थान"]},"all":{"required_absent":[],"required_present":["गंगा संस्थान"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-030","language":"hi","script":"Devanagari","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_30: \"ग्राहक ने उल्लेख किया दीया अरोड़ा\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":71,"end":102,"value":"दीया अरोड़ा","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["दीया अरोड़ा"]},"customers":{"required_absent":["दीया अरोड़ा"],"required_present":[]},"all":{"required_absent":["दीया अरोड़ा"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-030","language":"hi","script":"Devanagari","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_30: \"सार्वजनिक संस्था गंगा संस्थान\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":60,"end":94,"value":"गंगा संस्थान","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["गंगा संस्थान"]},"customers":{"required_absent":[],"required_present":["गंगा संस्थान"]},"all":{"required_absent":[],"required_present":["गंगा संस्थान"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-hi-redact-031","language":"hi","script":"Devanagari","shape":"shell","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_31='ग्राहक ने उल्लेख किया दीया बंसल'","known_identities":[],"targets":[{"id":"person","kind":"person","start":70,"end":95,"value":"दीया बंसल","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["दीया बंसल"]},"customers":{"required_absent":["दीया बंसल"],"required_present":[]},"all":{"required_absent":["दीया बंसल"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-hi-preserve-031","language":"hi","script":"Devanagari","shape":"shell","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_31='सार्वजनिक संस्था गंगा प्रकाशन'","known_identities":[],"targets":[{"id":"person","kind":"person","start":59,"end":93,"value":"गंगा प्रकाशन","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["गंगा प्रकाशन"]},"customers":{"required_absent":[],"required_present":["गंगा प्रकाशन"]},"all":{"required_absent":[],"required_present":["गंगा प्रकाशन"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-hi-redact-032","language":"hi","script":"Devanagari","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/32 ; ग्राहक ने उल्लेख किया दीया चौहान","known_identities":[],"targets":[{"id":"person","kind":"person","start":91,"end":119,"value":"दीया चौहान","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["दीया चौहान"]},"customers":{"required_absent":["दीया चौहान"],"required_present":[]},"all":{"required_absent":["दीया चौहान"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-hi-preserve-032","language":"hi","script":"Devanagari","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/32 ; सार्वजनिक संस्था गंगा फाउंडेशन","known_identities":[],"targets":[{"id":"person","kind":"person","start":80,"end":117,"value":"गंगा फाउंडेशन","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["गंगा फाउंडेशन"]},"customers":{"required_absent":[],"required_present":["गंगा फाउंडेशन"]},"all":{"required_absent":[],"required_present":["गंगा फाउंडेशन"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-hi-redact-033","language":"hi","script":"Devanagari","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"**ग्राहक ने उल्लेख किया दीया देसाई**","known_identities":[],"targets":[{"id":"person","kind":"person","start":60,"end":88,"value":"दीया देसाई","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["दीया देसाई"]},"customers":{"required_absent":["दीया देसाई"],"required_present":[]},"all":{"required_absent":["दीया देसाई"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-hi-preserve-033","language":"hi","script":"Devanagari","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"**सार्वजनिक संस्था गंगा प्रयोगशाला**","known_identities":[],"targets":[{"id":"person","kind":"person","start":49,"end":92,"value":"गंगा प्रयोगशाला","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["गंगा प्रयोगशाला"]},"customers":{"required_absent":[],"required_present":["गंगा प्रयोगशाला"]},"all":{"required_absent":[],"required_present":["गंगा प्रयोगशाला"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-hi-redact-034","language":"hi","script":"Devanagari","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eग्राहक ने उल्लेख किया दीया गोयल\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":61,"end":86,"value":"दीया गोयल","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["दीया गोयल"]},"customers":{"required_absent":["दीया गोयल"],"required_present":[]},"all":{"required_absent":["दीया गोयल"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-hi-preserve-034","language":"hi","script":"Devanagari","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eसार्वजनिक संस्था गंगा विद्यालय\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":50,"end":87,"value":"गंगा विद्यालय","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["गंगा विद्यालय"]},"customers":{"required_absent":[],"required_present":["गंगा विद्यालय"]},"all":{"required_absent":[],"required_present":["गंगा विद्यालय"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-032","language":"hi","script":"Devanagari","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/32?credential=दीया चौहान\u0026note=%E0%A4%97%E0%A5%8D%E0%A4%B0%E0%A4%BE%E0%A4%B9%E0%A4%95+%E0%A4%A8%E0%A5%87+%E0%A4%89%E0%A4%B2%E0%A5%8D%E0%A4%B2%E0%A5%87%E0%A4%96+%E0%A4%95%E0%A4%BF%E0%A4%AF%E0%A4%BE+","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":70,"value":"दीया चौहान","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["दीया चौहान"]},"customers":{"required_absent":["दीया चौहान"],"required_present":[]},"all":{"required_absent":["दीया चौहान"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-032","language":"hi","script":"Devanagari","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/32?credential=गंगा फाउंडेशन\u0026note=%E0%A4%B8%E0%A4%BE%E0%A4%B0%E0%A5%8D%E0%A4%B5%E0%A4%9C%E0%A4%A8%E0%A4%BF%E0%A4%95+%E0%A4%B8%E0%A4%82%E0%A4%B8%E0%A5%8D%E0%A4%A5%E0%A4%BE+","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":79,"value":"गंगा फाउंडेशन","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["गंगा फाउंडेशन"]},"customers":{"required_absent":[],"required_present":["गंगा फाउंडेशन"]},"all":{"required_absent":[],"required_present":["गंगा फाउंडेशन"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-033","language":"hi","script":"Devanagari","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"ग्राहक ने उल्लेख किया `दीया देसाई`","known_identities":[],"targets":[{"id":"person","kind":"person","start":59,"end":87,"value":"दीया देसाई","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["दीया देसाई"]},"customers":{"required_absent":["दीया देसाई"],"required_present":[]},"all":{"required_absent":["दीया देसाई"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-033","language":"hi","script":"Devanagari","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"सार्वजनिक संस्था `गंगा प्रयोगशाला`","known_identities":[],"targets":[{"id":"person","kind":"person","start":48,"end":91,"value":"गंगा प्रयोगशाला","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["गंगा प्रयोगशाला"]},"customers":{"required_absent":[],"required_present":["गंगा प्रयोगशाला"]},"all":{"required_absent":[],"required_present":["गंगा प्रयोगशाला"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-034","language":"hi","script":"Devanagari","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eग्राहक ने उल्लेख किया \u003ccode\u003eदीया गोयल\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":67,"end":92,"value":"दीया गोयल","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["दीया गोयल"]},"customers":{"required_absent":["दीया गोयल"],"required_present":[]},"all":{"required_absent":["दीया गोयल"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-034","language":"hi","script":"Devanagari","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eसार्वजनिक संस्था \u003ccode\u003eगंगा विद्यालय\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":56,"end":93,"value":"गंगा विद्यालय","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["गंगा विद्यालय"]},"customers":{"required_absent":[],"required_present":["गंगा विद्यालय"]},"all":{"required_absent":[],"required_present":["गंगा विद्यालय"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-hi-redact-035","language":"hi","script":"Devanagari","shape":"quoted-reply","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e ग्राहक ने उल्लेख किया दीया कपूर","known_identities":[],"targets":[{"id":"person","kind":"person","start":60,"end":85,"value":"दीया कपूर","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["दीया कपूर"]},"customers":{"required_absent":["दीया कपूर"],"required_present":[]},"all":{"required_absent":["दीया कपूर"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-hi-preserve-035","language":"hi","script":"Devanagari","shape":"quoted-reply","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e सार्वजनिक संस्था गंगा संग्रहालय","known_identities":[],"targets":[{"id":"person","kind":"person","start":49,"end":89,"value":"गंगा संग्रहालय","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["गंगा संग्रहालय"]},"customers":{"required_absent":[],"required_present":["गंगा संग्रहालय"]},"all":{"required_absent":[],"required_present":["गंगा संग्रहालय"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-hi-redact-036","language":"hi","script":"Devanagari","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=36 message=\"ग्राहक ने उल्लेख किया \" value=दीया मेहता","known_identities":[],"targets":[{"id":"person","kind":"person","start":96,"end":124,"value":"दीया मेहता","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["दीया मेहता"]},"customers":{"required_absent":["दीया मेहता"],"required_present":[]},"all":{"required_absent":["दीया मेहता"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-hi-preserve-036","language":"hi","script":"Devanagari","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=36 message=\"सार्वजनिक संस्था \" value=गंगा पुस्तकालय","known_identities":[],"targets":[{"id":"person","kind":"person","start":85,"end":125,"value":"गंगा पुस्तकालय","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["गंगा पुस्तकालय"]},"customers":{"required_absent":[],"required_present":["गंगा पुस्तकालय"]},"all":{"required_absent":[],"required_present":["गंगा पुस्तकालय"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-036","language":"hi","script":"Devanagari","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=36 message=\"ग्राहक ने उल्लेख किया \" credential=\"दीया मेहता\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":102,"end":130,"value":"दीया मेहता","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["दीया मेहता"]},"customers":{"required_absent":["दीया मेहता"],"required_present":[]},"all":{"required_absent":["दीया मेहता"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-036","language":"hi","script":"Devanagari","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=36 message=\"सार्वजनिक संस्था \" credential=\"गंगा पुस्तकालय\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":91,"end":131,"value":"गंगा पुस्तकालय","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["गंगा पुस्तकालय"]},"customers":{"required_absent":[],"required_present":["गंगा पुस्तकालय"]},"all":{"required_absent":[],"required_present":["गंगा पुस्तकालय"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-hi-redact-037","language":"hi","script":"Devanagari","shape":"stack-trace","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[37]: ग्राहक ने उल्लेख किया दीया नायर","known_identities":[],"targets":[{"id":"person","kind":"person","start":69,"end":94,"value":"दीया नायर","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["दीया नायर"]},"customers":{"required_absent":["दीया नायर"],"required_present":[]},"all":{"required_absent":["दीया नायर"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-hi-preserve-037","language":"hi","script":"Devanagari","shape":"stack-trace","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[37]: सार्वजनिक संस्था गंगा परिषद","known_identities":[],"targets":[{"id":"person","kind":"person","start":58,"end":86,"value":"गंगा परिषद","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["गंगा परिषद"]},"customers":{"required_absent":[],"required_present":["गंगा परिषद"]},"all":{"required_absent":[],"required_present":["गंगा परिषद"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-hi-redact-038","language":"hi","script":"Devanagari","shape":"code","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_38 := `ग्राहक ने उल्लेख किया दीया पटेल`","known_identities":[],"targets":[{"id":"person","kind":"person","start":73,"end":98,"value":"दीया पटेल","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["दीया पटेल"]},"customers":{"required_absent":["दीया पटेल"],"required_present":[]},"all":{"required_absent":["दीया पटेल"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, @@ -1884,26 +1884,26 @@ {"id":"broad-language-hi-preserve-039","language":"hi","script":"Devanagari","shape":"signature","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--\nसार्वजनिक संस्था गंगा मंच","known_identities":[],"targets":[{"id":"person","kind":"person","start":50,"end":72,"value":"गंगा मंच","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["गंगा मंच"]},"customers":{"required_absent":[],"required_present":["गंगा मंच"]},"all":{"required_absent":[],"required_present":["गंगा मंच"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-hi-redact-040","language":"hi","script":"Devanagari","shape":"long-thread","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. ग्राहक ने उल्लेख किया नील अरोड़ा","known_identities":[],"targets":[{"id":"person","kind":"person","start":538,"end":566,"value":"नील अरोड़ा","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["नील अरोड़ा"]},"customers":{"required_absent":["नील अरोड़ा"],"required_present":[]},"all":{"required_absent":["नील अरोड़ा"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-hi-preserve-040","language":"hi","script":"Devanagari","shape":"long-thread","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. सार्वजनिक संस्था चेतना संस्थान","known_identities":[],"targets":[{"id":"person","kind":"person","start":527,"end":564,"value":"चेतना संस्थान","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["चेतना संस्थान"]},"customers":{"required_absent":[],"required_present":["चेतना संस्थान"]},"all":{"required_absent":[],"required_present":["चेतना संस्थान"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-hi-redact-041","language":"hi","script":"Devanagari","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=41 --message=\"ग्राहक ने उल्लेख किया \" --value=नील बंसल","known_identities":[],"targets":[{"id":"person","kind":"person","start":91,"end":113,"value":"नील बंसल","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["नील बंसल"]},"customers":{"required_absent":["नील बंसल"],"required_present":[]},"all":{"required_absent":["नील बंसल"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-hi-preserve-041","language":"hi","script":"Devanagari","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=41 --message=\"सार्वजनिक संस्था \" --value=चेतना प्रकाशन","known_identities":[],"targets":[{"id":"person","kind":"person","start":80,"end":117,"value":"चेतना प्रकाशन","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["चेतना प्रकाशन"]},"customers":{"required_absent":[],"required_present":["चेतना प्रकाशन"]},"all":{"required_absent":[],"required_present":["चेतना प्रकाशन"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-041","language":"hi","script":"Devanagari","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=41 --message=\"ग्राहक ने उल्लेख किया \" --credential=\"नील बंसल\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":97,"end":119,"value":"नील बंसल","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["नील बंसल"]},"customers":{"required_absent":["नील बंसल"],"required_present":[]},"all":{"required_absent":["नील बंसल"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-041","language":"hi","script":"Devanagari","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=41 --message=\"सार्वजनिक संस्था \" --credential=\"चेतना प्रकाशन\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":86,"end":123,"value":"चेतना प्रकाशन","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["चेतना प्रकाशन"]},"customers":{"required_absent":[],"required_present":["चेतना प्रकाशन"]},"all":{"required_absent":[],"required_present":["चेतना प्रकाशन"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-hi-redact-042","language":"hi","script":"Devanagari","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"ग्राहक ने उल्लेख किया नील चौहान","known_identities":[],"targets":[{"id":"person","kind":"person","start":58,"end":83,"value":"नील चौहान","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["नील चौहान"]},"customers":{"required_absent":["नील चौहान"],"required_present":[]},"all":{"required_absent":["नील चौहान"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-hi-preserve-042","language":"hi","script":"Devanagari","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"सार्वजनिक संस्था चेतना फाउंडेशन","known_identities":[],"targets":[{"id":"person","kind":"person","start":47,"end":87,"value":"चेतना फाउंडेशन","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["चेतना फाउंडेशन"]},"customers":{"required_absent":[],"required_present":["चेतना फाउंडेशन"]},"all":{"required_absent":[],"required_present":["चेतना फाउंडेशन"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-hi-redact-043","language":"hi","script":"Devanagari","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_43\":\"ग्राहक ने उल्लेख किया नील देसाई\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":73,"end":98,"value":"नील देसाई","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["नील देसाई"]},"customers":{"required_absent":["नील देसाई"],"required_present":[]},"all":{"required_absent":["नील देसाई"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-hi-preserve-043","language":"hi","script":"Devanagari","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_43\":\"सार्वजनिक संस्था चेतना प्रयोगशाला\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":62,"end":108,"value":"चेतना प्रयोगशाला","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["चेतना प्रयोगशाला"]},"customers":{"required_absent":[],"required_present":["चेतना प्रयोगशाला"]},"all":{"required_absent":[],"required_present":["चेतना प्रयोगशाला"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-hi-redact-044","language":"hi","script":"Devanagari","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_44: ग्राहक ने उल्लेख किया नील गोयल","known_identities":[],"targets":[{"id":"person","kind":"person","start":70,"end":92,"value":"नील गोयल","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["नील गोयल"]},"customers":{"required_absent":["नील गोयल"],"required_present":[]},"all":{"required_absent":["नील गोयल"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-hi-preserve-044","language":"hi","script":"Devanagari","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_44: सार्वजनिक संस्था चेतना विद्यालय","known_identities":[],"targets":[{"id":"person","kind":"person","start":59,"end":99,"value":"चेतना विद्यालय","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["चेतना विद्यालय"]},"customers":{"required_absent":[],"required_present":["चेतना विद्यालय"]},"all":{"required_absent":[],"required_present":["चेतना विद्यालय"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-044","language":"hi","script":"Devanagari","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_44: \"ग्राहक ने उल्लेख किया नील गोयल\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":71,"end":93,"value":"नील गोयल","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["नील गोयल"]},"customers":{"required_absent":["नील गोयल"],"required_present":[]},"all":{"required_absent":["नील गोयल"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-044","language":"hi","script":"Devanagari","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_44: \"सार्वजनिक संस्था चेतना विद्यालय\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":60,"end":100,"value":"चेतना विद्यालय","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["चेतना विद्यालय"]},"customers":{"required_absent":[],"required_present":["चेतना विद्यालय"]},"all":{"required_absent":[],"required_present":["चेतना विद्यालय"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-hi-redact-045","language":"hi","script":"Devanagari","shape":"shell","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_45='ग्राहक ने उल्लेख किया नील कपूर'","known_identities":[],"targets":[{"id":"person","kind":"person","start":70,"end":92,"value":"नील कपूर","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["नील कपूर"]},"customers":{"required_absent":["नील कपूर"],"required_present":[]},"all":{"required_absent":["नील कपूर"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-hi-preserve-045","language":"hi","script":"Devanagari","shape":"shell","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_45='सार्वजनिक संस्था चेतना संग्रहालय'","known_identities":[],"targets":[{"id":"person","kind":"person","start":59,"end":102,"value":"चेतना संग्रहालय","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["चेतना संग्रहालय"]},"customers":{"required_absent":[],"required_present":["चेतना संग्रहालय"]},"all":{"required_absent":[],"required_present":["चेतना संग्रहालय"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-hi-redact-046","language":"hi","script":"Devanagari","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/46 ; ग्राहक ने उल्लेख किया नील मेहता","known_identities":[],"targets":[{"id":"person","kind":"person","start":91,"end":116,"value":"नील मेहता","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["नील मेहता"]},"customers":{"required_absent":["नील मेहता"],"required_present":[]},"all":{"required_absent":["नील मेहता"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-hi-preserve-046","language":"hi","script":"Devanagari","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/46 ; सार्वजनिक संस्था चेतना पुस्तकालय","known_identities":[],"targets":[{"id":"person","kind":"person","start":80,"end":123,"value":"चेतना पुस्तकालय","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["चेतना पुस्तकालय"]},"customers":{"required_absent":[],"required_present":["चेतना पुस्तकालय"]},"all":{"required_absent":[],"required_present":["चेतना पुस्तकालय"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-hi-redact-047","language":"hi","script":"Devanagari","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"**ग्राहक ने उल्लेख किया नील नायर**","known_identities":[],"targets":[{"id":"person","kind":"person","start":60,"end":82,"value":"नील नायर","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["नील नायर"]},"customers":{"required_absent":["नील नायर"],"required_present":[]},"all":{"required_absent":["नील नायर"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-hi-preserve-047","language":"hi","script":"Devanagari","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"**सार्वजनिक संस्था चेतना परिषद**","known_identities":[],"targets":[{"id":"person","kind":"person","start":49,"end":80,"value":"चेतना परिषद","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["चेतना परिषद"]},"customers":{"required_absent":[],"required_present":["चेतना परिषद"]},"all":{"required_absent":[],"required_present":["चेतना परिषद"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-hi-redact-048","language":"hi","script":"Devanagari","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eग्राहक ने उल्लेख किया नील पटेल\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":61,"end":83,"value":"नील पटेल","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["नील पटेल"]},"customers":{"required_absent":["नील पटेल"],"required_present":[]},"all":{"required_absent":["नील पटेल"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-hi-preserve-048","language":"hi","script":"Devanagari","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eसार्वजनिक संस्था चेतना केंद्र\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":50,"end":84,"value":"चेतना केंद्र","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["चेतना केंद्र"]},"customers":{"required_absent":[],"required_present":["चेतना केंद्र"]},"all":{"required_absent":[],"required_present":["चेतना केंद्र"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-046","language":"hi","script":"Devanagari","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/46?credential=नील मेहता\u0026note=%E0%A4%97%E0%A5%8D%E0%A4%B0%E0%A4%BE%E0%A4%B9%E0%A4%95+%E0%A4%A8%E0%A5%87+%E0%A4%89%E0%A4%B2%E0%A5%8D%E0%A4%B2%E0%A5%87%E0%A4%96+%E0%A4%95%E0%A4%BF%E0%A4%AF%E0%A4%BE+","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":67,"value":"नील मेहता","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["नील मेहता"]},"customers":{"required_absent":["नील मेहता"],"required_present":[]},"all":{"required_absent":["नील मेहता"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-046","language":"hi","script":"Devanagari","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/46?credential=चेतना पुस्तकालय\u0026note=%E0%A4%B8%E0%A4%BE%E0%A4%B0%E0%A5%8D%E0%A4%B5%E0%A4%9C%E0%A4%A8%E0%A4%BF%E0%A4%95+%E0%A4%B8%E0%A4%82%E0%A4%B8%E0%A5%8D%E0%A4%A5%E0%A4%BE+","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":85,"value":"चेतना पुस्तकालय","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["चेतना पुस्तकालय"]},"customers":{"required_absent":[],"required_present":["चेतना पुस्तकालय"]},"all":{"required_absent":[],"required_present":["चेतना पुस्तकालय"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-047","language":"hi","script":"Devanagari","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"ग्राहक ने उल्लेख किया `नील नायर`","known_identities":[],"targets":[{"id":"person","kind":"person","start":59,"end":81,"value":"नील नायर","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["नील नायर"]},"customers":{"required_absent":["नील नायर"],"required_present":[]},"all":{"required_absent":["नील नायर"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-047","language":"hi","script":"Devanagari","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"सार्वजनिक संस्था `चेतना परिषद`","known_identities":[],"targets":[{"id":"person","kind":"person","start":48,"end":79,"value":"चेतना परिषद","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["चेतना परिषद"]},"customers":{"required_absent":[],"required_present":["चेतना परिषद"]},"all":{"required_absent":[],"required_present":["चेतना परिषद"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-048","language":"hi","script":"Devanagari","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eग्राहक ने उल्लेख किया \u003ccode\u003eनील पटेल\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":67,"end":89,"value":"नील पटेल","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["नील पटेल"]},"customers":{"required_absent":["नील पटेल"],"required_present":[]},"all":{"required_absent":["नील पटेल"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-048","language":"hi","script":"Devanagari","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eसार्वजनिक संस्था \u003ccode\u003eचेतना केंद्र\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":56,"end":90,"value":"चेतना केंद्र","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["चेतना केंद्र"]},"customers":{"required_absent":[],"required_present":["चेतना केंद्र"]},"all":{"required_absent":[],"required_present":["चेतना केंद्र"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-hi-redact-049","language":"hi","script":"Devanagari","shape":"quoted-reply","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e ग्राहक ने उल्लेख किया नील शर्मा","known_identities":[],"targets":[{"id":"person","kind":"person","start":60,"end":85,"value":"नील शर्मा","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["नील शर्मा"]},"customers":{"required_absent":["नील शर्मा"],"required_present":[]},"all":{"required_absent":["नील शर्मा"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-hi-preserve-049","language":"hi","script":"Devanagari","shape":"quoted-reply","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e सार्वजनिक संस्था चेतना मंच","known_identities":[],"targets":[{"id":"person","kind":"person","start":49,"end":74,"value":"चेतना मंच","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["चेतना मंच"]},"customers":{"required_absent":[],"required_present":["चेतना मंच"]},"all":{"required_absent":[],"required_present":["चेतना मंच"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-hi-redact-050","language":"hi","script":"Devanagari","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=50 message=\"ग्राहक ने उल्लेख किया \" value=प्रिया अरोड़ा","known_identities":[],"targets":[{"id":"person","kind":"person","start":96,"end":133,"value":"प्रिया अरोड़ा","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["प्रिया अरोड़ा"]},"customers":{"required_absent":["प्रिया अरोड़ा"],"required_present":[]},"all":{"required_absent":["प्रिया अरोड़ा"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-hi-preserve-050","language":"hi","script":"Devanagari","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=50 message=\"सार्वजनिक संस्था \" value=तरंग संस्थान","known_identities":[],"targets":[{"id":"person","kind":"person","start":85,"end":119,"value":"तरंग संस्थान","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["तरंग संस्थान"]},"customers":{"required_absent":[],"required_present":["तरंग संस्थान"]},"all":{"required_absent":[],"required_present":["तरंग संस्थान"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-050","language":"hi","script":"Devanagari","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=50 message=\"ग्राहक ने उल्लेख किया \" credential=\"प्रिया अरोड़ा\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":102,"end":139,"value":"प्रिया अरोड़ा","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["प्रिया अरोड़ा"]},"customers":{"required_absent":["प्रिया अरोड़ा"],"required_present":[]},"all":{"required_absent":["प्रिया अरोड़ा"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-050","language":"hi","script":"Devanagari","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=50 message=\"सार्वजनिक संस्था \" credential=\"तरंग संस्थान\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":91,"end":125,"value":"तरंग संस्थान","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["तरंग संस्थान"]},"customers":{"required_absent":[],"required_present":["तरंग संस्थान"]},"all":{"required_absent":[],"required_present":["तरंग संस्थान"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-hi-redact-051","language":"hi","script":"Devanagari","shape":"stack-trace","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[51]: ग्राहक ने उल्लेख किया प्रिया बंसल","known_identities":[],"targets":[{"id":"person","kind":"person","start":69,"end":100,"value":"प्रिया बंसल","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["प्रिया बंसल"]},"customers":{"required_absent":["प्रिया बंसल"],"required_present":[]},"all":{"required_absent":["प्रिया बंसल"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-hi-preserve-051","language":"hi","script":"Devanagari","shape":"stack-trace","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[51]: सार्वजनिक संस्था तरंग प्रकाशन","known_identities":[],"targets":[{"id":"person","kind":"person","start":58,"end":92,"value":"तरंग प्रकाशन","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["तरंग प्रकाशन"]},"customers":{"required_absent":[],"required_present":["तरंग प्रकाशन"]},"all":{"required_absent":[],"required_present":["तरंग प्रकाशन"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-hi-redact-052","language":"hi","script":"Devanagari","shape":"code","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_52 := `ग्राहक ने उल्लेख किया प्रिया चौहान`","known_identities":[],"targets":[{"id":"person","kind":"person","start":73,"end":107,"value":"प्रिया चौहान","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["प्रिया चौहान"]},"customers":{"required_absent":["प्रिया चौहान"],"required_present":[]},"all":{"required_absent":["प्रिया चौहान"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, @@ -1912,26 +1912,26 @@ {"id":"broad-language-hi-preserve-053","language":"hi","script":"Devanagari","shape":"signature","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--\nसार्वजनिक संस्था तरंग प्रयोगशाला","known_identities":[],"targets":[{"id":"person","kind":"person","start":50,"end":93,"value":"तरंग प्रयोगशाला","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["तरंग प्रयोगशाला"]},"customers":{"required_absent":[],"required_present":["तरंग प्रयोगशाला"]},"all":{"required_absent":[],"required_present":["तरंग प्रयोगशाला"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-hi-redact-054","language":"hi","script":"Devanagari","shape":"long-thread","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. ग्राहक ने उल्लेख किया प्रिया गोयल","known_identities":[],"targets":[{"id":"person","kind":"person","start":538,"end":569,"value":"प्रिया गोयल","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["प्रिया गोयल"]},"customers":{"required_absent":["प्रिया गोयल"],"required_present":[]},"all":{"required_absent":["प्रिया गोयल"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-hi-preserve-054","language":"hi","script":"Devanagari","shape":"long-thread","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. सार्वजनिक संस्था तरंग विद्यालय","known_identities":[],"targets":[{"id":"person","kind":"person","start":527,"end":564,"value":"तरंग विद्यालय","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["तरंग विद्यालय"]},"customers":{"required_absent":[],"required_present":["तरंग विद्यालय"]},"all":{"required_absent":[],"required_present":["तरंग विद्यालय"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-hi-redact-055","language":"hi","script":"Devanagari","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=55 --message=\"ग्राहक ने उल्लेख किया \" --value=प्रिया कपूर","known_identities":[],"targets":[{"id":"person","kind":"person","start":91,"end":122,"value":"प्रिया कपूर","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["प्रिया कपूर"]},"customers":{"required_absent":["प्रिया कपूर"],"required_present":[]},"all":{"required_absent":["प्रिया कपूर"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-hi-preserve-055","language":"hi","script":"Devanagari","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=55 --message=\"सार्वजनिक संस्था \" --value=तरंग संग्रहालय","known_identities":[],"targets":[{"id":"person","kind":"person","start":80,"end":120,"value":"तरंग संग्रहालय","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["तरंग संग्रहालय"]},"customers":{"required_absent":[],"required_present":["तरंग संग्रहालय"]},"all":{"required_absent":[],"required_present":["तरंग संग्रहालय"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-055","language":"hi","script":"Devanagari","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=55 --message=\"ग्राहक ने उल्लेख किया \" --credential=\"प्रिया कपूर\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":97,"end":128,"value":"प्रिया कपूर","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["प्रिया कपूर"]},"customers":{"required_absent":["प्रिया कपूर"],"required_present":[]},"all":{"required_absent":["प्रिया कपूर"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-055","language":"hi","script":"Devanagari","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=55 --message=\"सार्वजनिक संस्था \" --credential=\"तरंग संग्रहालय\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":86,"end":126,"value":"तरंग संग्रहालय","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["तरंग संग्रहालय"]},"customers":{"required_absent":[],"required_present":["तरंग संग्रहालय"]},"all":{"required_absent":[],"required_present":["तरंग संग्रहालय"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-hi-redact-056","language":"hi","script":"Devanagari","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"ग्राहक ने उल्लेख किया प्रिया मेहता","known_identities":[],"targets":[{"id":"person","kind":"person","start":58,"end":92,"value":"प्रिया मेहता","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["प्रिया मेहता"]},"customers":{"required_absent":["प्रिया मेहता"],"required_present":[]},"all":{"required_absent":["प्रिया मेहता"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-hi-preserve-056","language":"hi","script":"Devanagari","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"सार्वजनिक संस्था तरंग पुस्तकालय","known_identities":[],"targets":[{"id":"person","kind":"person","start":47,"end":87,"value":"तरंग पुस्तकालय","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["तरंग पुस्तकालय"]},"customers":{"required_absent":[],"required_present":["तरंग पुस्तकालय"]},"all":{"required_absent":[],"required_present":["तरंग पुस्तकालय"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-hi-redact-057","language":"hi","script":"Devanagari","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_57\":\"ग्राहक ने उल्लेख किया प्रिया नायर\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":73,"end":104,"value":"प्रिया नायर","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["प्रिया नायर"]},"customers":{"required_absent":["प्रिया नायर"],"required_present":[]},"all":{"required_absent":["प्रिया नायर"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-hi-preserve-057","language":"hi","script":"Devanagari","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_57\":\"सार्वजनिक संस्था तरंग परिषद\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":62,"end":90,"value":"तरंग परिषद","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["तरंग परिषद"]},"customers":{"required_absent":[],"required_present":["तरंग परिषद"]},"all":{"required_absent":[],"required_present":["तरंग परिषद"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-hi-redact-058","language":"hi","script":"Devanagari","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_58: ग्राहक ने उल्लेख किया प्रिया पटेल","known_identities":[],"targets":[{"id":"person","kind":"person","start":70,"end":101,"value":"प्रिया पटेल","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["प्रिया पटेल"]},"customers":{"required_absent":["प्रिया पटेल"],"required_present":[]},"all":{"required_absent":["प्रिया पटेल"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-hi-preserve-058","language":"hi","script":"Devanagari","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_58: सार्वजनिक संस्था तरंग केंद्र","known_identities":[],"targets":[{"id":"person","kind":"person","start":59,"end":90,"value":"तरंग केंद्र","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["तरंग केंद्र"]},"customers":{"required_absent":[],"required_present":["तरंग केंद्र"]},"all":{"required_absent":[],"required_present":["तरंग केंद्र"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-058","language":"hi","script":"Devanagari","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_58: \"ग्राहक ने उल्लेख किया प्रिया पटेल\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":71,"end":102,"value":"प्रिया पटेल","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["प्रिया पटेल"]},"customers":{"required_absent":["प्रिया पटेल"],"required_present":[]},"all":{"required_absent":["प्रिया पटेल"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-058","language":"hi","script":"Devanagari","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_58: \"सार्वजनिक संस्था तरंग केंद्र\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":60,"end":91,"value":"तरंग केंद्र","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["तरंग केंद्र"]},"customers":{"required_absent":[],"required_present":["तरंग केंद्र"]},"all":{"required_absent":[],"required_present":["तरंग केंद्र"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-hi-redact-059","language":"hi","script":"Devanagari","shape":"shell","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_59='ग्राहक ने उल्लेख किया प्रिया शर्मा'","known_identities":[],"targets":[{"id":"person","kind":"person","start":70,"end":104,"value":"प्रिया शर्मा","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["प्रिया शर्मा"]},"customers":{"required_absent":["प्रिया शर्मा"],"required_present":[]},"all":{"required_absent":["प्रिया शर्मा"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-hi-preserve-059","language":"hi","script":"Devanagari","shape":"shell","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_59='सार्वजनिक संस्था तरंग मंच'","known_identities":[],"targets":[{"id":"person","kind":"person","start":59,"end":81,"value":"तरंग मंच","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["तरंग मंच"]},"customers":{"required_absent":[],"required_present":["तरंग मंच"]},"all":{"required_absent":[],"required_present":["तरंग मंच"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-hi-redact-060","language":"hi","script":"Devanagari","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/60 ; ग्राहक ने उल्लेख किया रवि अरोड़ा","known_identities":[],"targets":[{"id":"person","kind":"person","start":91,"end":119,"value":"रवि अरोड़ा","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["रवि अरोड़ा"]},"customers":{"required_absent":["रवि अरोड़ा"],"required_present":[]},"all":{"required_absent":["रवि अरोड़ा"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-hi-preserve-060","language":"hi","script":"Devanagari","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/60 ; सार्वजनिक संस्था दिशा संस्थान","known_identities":[],"targets":[{"id":"person","kind":"person","start":80,"end":114,"value":"दिशा संस्थान","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["दिशा संस्थान"]},"customers":{"required_absent":[],"required_present":["दिशा संस्थान"]},"all":{"required_absent":[],"required_present":["दिशा संस्थान"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-hi-redact-061","language":"hi","script":"Devanagari","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"**ग्राहक ने उल्लेख किया रवि बंसल**","known_identities":[],"targets":[{"id":"person","kind":"person","start":60,"end":82,"value":"रवि बंसल","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["रवि बंसल"]},"customers":{"required_absent":["रवि बंसल"],"required_present":[]},"all":{"required_absent":["रवि बंसल"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-hi-preserve-061","language":"hi","script":"Devanagari","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"**सार्वजनिक संस्था दिशा प्रकाशन**","known_identities":[],"targets":[{"id":"person","kind":"person","start":49,"end":83,"value":"दिशा प्रकाशन","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["दिशा प्रकाशन"]},"customers":{"required_absent":[],"required_present":["दिशा प्रकाशन"]},"all":{"required_absent":[],"required_present":["दिशा प्रकाशन"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-hi-redact-062","language":"hi","script":"Devanagari","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eग्राहक ने उल्लेख किया रवि चौहान\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":61,"end":86,"value":"रवि चौहान","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["रवि चौहान"]},"customers":{"required_absent":["रवि चौहान"],"required_present":[]},"all":{"required_absent":["रवि चौहान"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-hi-preserve-062","language":"hi","script":"Devanagari","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eसार्वजनिक संस्था दिशा फाउंडेशन\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":50,"end":87,"value":"दिशा फाउंडेशन","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["दिशा फाउंडेशन"]},"customers":{"required_absent":[],"required_present":["दिशा फाउंडेशन"]},"all":{"required_absent":[],"required_present":["दिशा फाउंडेशन"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-060","language":"hi","script":"Devanagari","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/60?credential=रवि अरोड़ा\u0026note=%E0%A4%97%E0%A5%8D%E0%A4%B0%E0%A4%BE%E0%A4%B9%E0%A4%95+%E0%A4%A8%E0%A5%87+%E0%A4%89%E0%A4%B2%E0%A5%8D%E0%A4%B2%E0%A5%87%E0%A4%96+%E0%A4%95%E0%A4%BF%E0%A4%AF%E0%A4%BE+","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":70,"value":"रवि अरोड़ा","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["रवि अरोड़ा"]},"customers":{"required_absent":["रवि अरोड़ा"],"required_present":[]},"all":{"required_absent":["रवि अरोड़ा"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-060","language":"hi","script":"Devanagari","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/60?credential=दिशा संस्थान\u0026note=%E0%A4%B8%E0%A4%BE%E0%A4%B0%E0%A5%8D%E0%A4%B5%E0%A4%9C%E0%A4%A8%E0%A4%BF%E0%A4%95+%E0%A4%B8%E0%A4%82%E0%A4%B8%E0%A5%8D%E0%A4%A5%E0%A4%BE+","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":76,"value":"दिशा संस्थान","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["दिशा संस्थान"]},"customers":{"required_absent":[],"required_present":["दिशा संस्थान"]},"all":{"required_absent":[],"required_present":["दिशा संस्थान"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-061","language":"hi","script":"Devanagari","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"ग्राहक ने उल्लेख किया `रवि बंसल`","known_identities":[],"targets":[{"id":"person","kind":"person","start":59,"end":81,"value":"रवि बंसल","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["रवि बंसल"]},"customers":{"required_absent":["रवि बंसल"],"required_present":[]},"all":{"required_absent":["रवि बंसल"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-061","language":"hi","script":"Devanagari","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"सार्वजनिक संस्था `दिशा प्रकाशन`","known_identities":[],"targets":[{"id":"person","kind":"person","start":48,"end":82,"value":"दिशा प्रकाशन","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["दिशा प्रकाशन"]},"customers":{"required_absent":[],"required_present":["दिशा प्रकाशन"]},"all":{"required_absent":[],"required_present":["दिशा प्रकाशन"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-062","language":"hi","script":"Devanagari","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eग्राहक ने उल्लेख किया \u003ccode\u003eरवि चौहान\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":67,"end":92,"value":"रवि चौहान","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["रवि चौहान"]},"customers":{"required_absent":["रवि चौहान"],"required_present":[]},"all":{"required_absent":["रवि चौहान"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-062","language":"hi","script":"Devanagari","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eसार्वजनिक संस्था \u003ccode\u003eदिशा फाउंडेशन\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":56,"end":93,"value":"दिशा फाउंडेशन","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["दिशा फाउंडेशन"]},"customers":{"required_absent":[],"required_present":["दिशा फाउंडेशन"]},"all":{"required_absent":[],"required_present":["दिशा फाउंडेशन"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-hi-redact-063","language":"hi","script":"Devanagari","shape":"quoted-reply","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e ग्राहक ने उल्लेख किया रवि देसाई","known_identities":[],"targets":[{"id":"person","kind":"person","start":60,"end":85,"value":"रवि देसाई","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["रवि देसाई"]},"customers":{"required_absent":["रवि देसाई"],"required_present":[]},"all":{"required_absent":["रवि देसाई"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-hi-preserve-063","language":"hi","script":"Devanagari","shape":"quoted-reply","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e सार्वजनिक संस्था दिशा प्रयोगशाला","known_identities":[],"targets":[{"id":"person","kind":"person","start":49,"end":92,"value":"दिशा प्रयोगशाला","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["दिशा प्रयोगशाला"]},"customers":{"required_absent":[],"required_present":["दिशा प्रयोगशाला"]},"all":{"required_absent":[],"required_present":["दिशा प्रयोगशाला"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-hi-redact-064","language":"hi","script":"Devanagari","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=64 message=\"ग्राहक ने उल्लेख किया \" value=रवि गोयल","known_identities":[],"targets":[{"id":"person","kind":"person","start":96,"end":118,"value":"रवि गोयल","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["रवि गोयल"]},"customers":{"required_absent":["रवि गोयल"],"required_present":[]},"all":{"required_absent":["रवि गोयल"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-hi-preserve-064","language":"hi","script":"Devanagari","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=64 message=\"सार्वजनिक संस्था \" value=दिशा विद्यालय","known_identities":[],"targets":[{"id":"person","kind":"person","start":85,"end":122,"value":"दिशा विद्यालय","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["दिशा विद्यालय"]},"customers":{"required_absent":[],"required_present":["दिशा विद्यालय"]},"all":{"required_absent":[],"required_present":["दिशा विद्यालय"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-064","language":"hi","script":"Devanagari","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=64 message=\"ग्राहक ने उल्लेख किया \" credential=\"रवि गोयल\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":102,"end":124,"value":"रवि गोयल","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["रवि गोयल"]},"customers":{"required_absent":["रवि गोयल"],"required_present":[]},"all":{"required_absent":["रवि गोयल"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-064","language":"hi","script":"Devanagari","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=64 message=\"सार्वजनिक संस्था \" credential=\"दिशा विद्यालय\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":91,"end":128,"value":"दिशा विद्यालय","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["दिशा विद्यालय"]},"customers":{"required_absent":[],"required_present":["दिशा विद्यालय"]},"all":{"required_absent":[],"required_present":["दिशा विद्यालय"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-hi-redact-065","language":"hi","script":"Devanagari","shape":"stack-trace","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[65]: ग्राहक ने उल्लेख किया रवि कपूर","known_identities":[],"targets":[{"id":"person","kind":"person","start":69,"end":91,"value":"रवि कपूर","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["रवि कपूर"]},"customers":{"required_absent":["रवि कपूर"],"required_present":[]},"all":{"required_absent":["रवि कपूर"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-hi-preserve-065","language":"hi","script":"Devanagari","shape":"stack-trace","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[65]: सार्वजनिक संस्था दिशा संग्रहालय","known_identities":[],"targets":[{"id":"person","kind":"person","start":58,"end":98,"value":"दिशा संग्रहालय","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["दिशा संग्रहालय"]},"customers":{"required_absent":[],"required_present":["दिशा संग्रहालय"]},"all":{"required_absent":[],"required_present":["दिशा संग्रहालय"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-hi-redact-066","language":"hi","script":"Devanagari","shape":"code","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_66 := `ग्राहक ने उल्लेख किया रवि मेहता`","known_identities":[],"targets":[{"id":"person","kind":"person","start":73,"end":98,"value":"रवि मेहता","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["रवि मेहता"]},"customers":{"required_absent":["रवि मेहता"],"required_present":[]},"all":{"required_absent":["रवि मेहता"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, @@ -1940,26 +1940,26 @@ {"id":"broad-language-hi-preserve-067","language":"hi","script":"Devanagari","shape":"signature","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--\nसार्वजनिक संस्था दिशा परिषद","known_identities":[],"targets":[{"id":"person","kind":"person","start":50,"end":78,"value":"दिशा परिषद","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["दिशा परिषद"]},"customers":{"required_absent":[],"required_present":["दिशा परिषद"]},"all":{"required_absent":[],"required_present":["दिशा परिषद"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-hi-redact-068","language":"hi","script":"Devanagari","shape":"long-thread","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. ग्राहक ने उल्लेख किया रवि पटेल","known_identities":[],"targets":[{"id":"person","kind":"person","start":538,"end":560,"value":"रवि पटेल","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["रवि पटेल"]},"customers":{"required_absent":["रवि पटेल"],"required_present":[]},"all":{"required_absent":["रवि पटेल"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-hi-preserve-068","language":"hi","script":"Devanagari","shape":"long-thread","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. सार्वजनिक संस्था दिशा केंद्र","known_identities":[],"targets":[{"id":"person","kind":"person","start":527,"end":558,"value":"दिशा केंद्र","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["दिशा केंद्र"]},"customers":{"required_absent":[],"required_present":["दिशा केंद्र"]},"all":{"required_absent":[],"required_present":["दिशा केंद्र"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-hi-redact-069","language":"hi","script":"Devanagari","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=69 --message=\"ग्राहक ने उल्लेख किया \" --value=रवि शर्मा","known_identities":[],"targets":[{"id":"person","kind":"person","start":91,"end":116,"value":"रवि शर्मा","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["रवि शर्मा"]},"customers":{"required_absent":["रवि शर्मा"],"required_present":[]},"all":{"required_absent":["रवि शर्मा"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-hi-preserve-069","language":"hi","script":"Devanagari","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=69 --message=\"सार्वजनिक संस्था \" --value=दिशा मंच","known_identities":[],"targets":[{"id":"person","kind":"person","start":80,"end":102,"value":"दिशा मंच","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["दिशा मंच"]},"customers":{"required_absent":[],"required_present":["दिशा मंच"]},"all":{"required_absent":[],"required_present":["दिशा मंच"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-069","language":"hi","script":"Devanagari","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=69 --message=\"ग्राहक ने उल्लेख किया \" --credential=\"रवि शर्मा\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":97,"end":122,"value":"रवि शर्मा","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["रवि शर्मा"]},"customers":{"required_absent":["रवि शर्मा"],"required_present":[]},"all":{"required_absent":["रवि शर्मा"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-069","language":"hi","script":"Devanagari","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=69 --message=\"सार्वजनिक संस्था \" --credential=\"दिशा मंच\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":86,"end":108,"value":"दिशा मंच","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["दिशा मंच"]},"customers":{"required_absent":[],"required_present":["दिशा मंच"]},"all":{"required_absent":[],"required_present":["दिशा मंच"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-hi-redact-070","language":"hi","script":"Devanagari","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"ग्राहक ने उल्लेख किया सिया अरोड़ा","known_identities":[],"targets":[{"id":"person","kind":"person","start":58,"end":89,"value":"सिया अरोड़ा","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["सिया अरोड़ा"]},"customers":{"required_absent":["सिया अरोड़ा"],"required_present":[]},"all":{"required_absent":["सिया अरोड़ा"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-hi-preserve-070","language":"hi","script":"Devanagari","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"सार्वजनिक संस्था नव संस्थान","known_identities":[],"targets":[{"id":"person","kind":"person","start":47,"end":75,"value":"नव संस्थान","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["नव संस्थान"]},"customers":{"required_absent":[],"required_present":["नव संस्थान"]},"all":{"required_absent":[],"required_present":["नव संस्थान"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-hi-redact-071","language":"hi","script":"Devanagari","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_71\":\"ग्राहक ने उल्लेख किया सिया बंसल\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":73,"end":98,"value":"सिया बंसल","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["सिया बंसल"]},"customers":{"required_absent":["सिया बंसल"],"required_present":[]},"all":{"required_absent":["सिया बंसल"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-hi-preserve-071","language":"hi","script":"Devanagari","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_71\":\"सार्वजनिक संस्था नव प्रकाशन\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":62,"end":90,"value":"नव प्रकाशन","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["नव प्रकाशन"]},"customers":{"required_absent":[],"required_present":["नव प्रकाशन"]},"all":{"required_absent":[],"required_present":["नव प्रकाशन"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-hi-redact-072","language":"hi","script":"Devanagari","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_72: ग्राहक ने उल्लेख किया सिया चौहान","known_identities":[],"targets":[{"id":"person","kind":"person","start":70,"end":98,"value":"सिया चौहान","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["सिया चौहान"]},"customers":{"required_absent":["सिया चौहान"],"required_present":[]},"all":{"required_absent":["सिया चौहान"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-hi-preserve-072","language":"hi","script":"Devanagari","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_72: सार्वजनिक संस्था नव फाउंडेशन","known_identities":[],"targets":[{"id":"person","kind":"person","start":59,"end":90,"value":"नव फाउंडेशन","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["नव फाउंडेशन"]},"customers":{"required_absent":[],"required_present":["नव फाउंडेशन"]},"all":{"required_absent":[],"required_present":["नव फाउंडेशन"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-072","language":"hi","script":"Devanagari","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_72: \"ग्राहक ने उल्लेख किया सिया चौहान\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":71,"end":99,"value":"सिया चौहान","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["सिया चौहान"]},"customers":{"required_absent":["सिया चौहान"],"required_present":[]},"all":{"required_absent":["सिया चौहान"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-072","language":"hi","script":"Devanagari","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_72: \"सार्वजनिक संस्था नव फाउंडेशन\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":60,"end":91,"value":"नव फाउंडेशन","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["नव फाउंडेशन"]},"customers":{"required_absent":[],"required_present":["नव फाउंडेशन"]},"all":{"required_absent":[],"required_present":["नव फाउंडेशन"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-hi-redact-073","language":"hi","script":"Devanagari","shape":"shell","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_73='ग्राहक ने उल्लेख किया सिया देसाई'","known_identities":[],"targets":[{"id":"person","kind":"person","start":70,"end":98,"value":"सिया देसाई","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["सिया देसाई"]},"customers":{"required_absent":["सिया देसाई"],"required_present":[]},"all":{"required_absent":["सिया देसाई"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-hi-preserve-073","language":"hi","script":"Devanagari","shape":"shell","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_73='सार्वजनिक संस्था नव प्रयोगशाला'","known_identities":[],"targets":[{"id":"person","kind":"person","start":59,"end":96,"value":"नव प्रयोगशाला","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["नव प्रयोगशाला"]},"customers":{"required_absent":[],"required_present":["नव प्रयोगशाला"]},"all":{"required_absent":[],"required_present":["नव प्रयोगशाला"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-hi-redact-074","language":"hi","script":"Devanagari","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/74 ; ग्राहक ने उल्लेख किया सिया गोयल","known_identities":[],"targets":[{"id":"person","kind":"person","start":91,"end":116,"value":"सिया गोयल","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["सिया गोयल"]},"customers":{"required_absent":["सिया गोयल"],"required_present":[]},"all":{"required_absent":["सिया गोयल"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-hi-preserve-074","language":"hi","script":"Devanagari","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/74 ; सार्वजनिक संस्था नव विद्यालय","known_identities":[],"targets":[{"id":"person","kind":"person","start":80,"end":111,"value":"नव विद्यालय","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["नव विद्यालय"]},"customers":{"required_absent":[],"required_present":["नव विद्यालय"]},"all":{"required_absent":[],"required_present":["नव विद्यालय"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-hi-redact-075","language":"hi","script":"Devanagari","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"**ग्राहक ने उल्लेख किया सिया कपूर**","known_identities":[],"targets":[{"id":"person","kind":"person","start":60,"end":85,"value":"सिया कपूर","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["सिया कपूर"]},"customers":{"required_absent":["सिया कपूर"],"required_present":[]},"all":{"required_absent":["सिया कपूर"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-hi-preserve-075","language":"hi","script":"Devanagari","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"**सार्वजनिक संस्था नव संग्रहालय**","known_identities":[],"targets":[{"id":"person","kind":"person","start":49,"end":83,"value":"नव संग्रहालय","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["नव संग्रहालय"]},"customers":{"required_absent":[],"required_present":["नव संग्रहालय"]},"all":{"required_absent":[],"required_present":["नव संग्रहालय"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-hi-redact-076","language":"hi","script":"Devanagari","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eग्राहक ने उल्लेख किया सिया मेहता\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":61,"end":89,"value":"सिया मेहता","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["सिया मेहता"]},"customers":{"required_absent":["सिया मेहता"],"required_present":[]},"all":{"required_absent":["सिया मेहता"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-hi-preserve-076","language":"hi","script":"Devanagari","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eसार्वजनिक संस्था नव पुस्तकालय\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":50,"end":84,"value":"नव पुस्तकालय","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["नव पुस्तकालय"]},"customers":{"required_absent":[],"required_present":["नव पुस्तकालय"]},"all":{"required_absent":[],"required_present":["नव पुस्तकालय"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-074","language":"hi","script":"Devanagari","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/74?credential=सिया गोयल\u0026note=%E0%A4%97%E0%A5%8D%E0%A4%B0%E0%A4%BE%E0%A4%B9%E0%A4%95+%E0%A4%A8%E0%A5%87+%E0%A4%89%E0%A4%B2%E0%A5%8D%E0%A4%B2%E0%A5%87%E0%A4%96+%E0%A4%95%E0%A4%BF%E0%A4%AF%E0%A4%BE+","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":67,"value":"सिया गोयल","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["सिया गोयल"]},"customers":{"required_absent":["सिया गोयल"],"required_present":[]},"all":{"required_absent":["सिया गोयल"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-074","language":"hi","script":"Devanagari","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/74?credential=नव विद्यालय\u0026note=%E0%A4%B8%E0%A4%BE%E0%A4%B0%E0%A5%8D%E0%A4%B5%E0%A4%9C%E0%A4%A8%E0%A4%BF%E0%A4%95+%E0%A4%B8%E0%A4%82%E0%A4%B8%E0%A5%8D%E0%A4%A5%E0%A4%BE+","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":73,"value":"नव विद्यालय","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["नव विद्यालय"]},"customers":{"required_absent":[],"required_present":["नव विद्यालय"]},"all":{"required_absent":[],"required_present":["नव विद्यालय"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-075","language":"hi","script":"Devanagari","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"ग्राहक ने उल्लेख किया `सिया कपूर`","known_identities":[],"targets":[{"id":"person","kind":"person","start":59,"end":84,"value":"सिया कपूर","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["सिया कपूर"]},"customers":{"required_absent":["सिया कपूर"],"required_present":[]},"all":{"required_absent":["सिया कपूर"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-075","language":"hi","script":"Devanagari","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"सार्वजनिक संस्था `नव संग्रहालय`","known_identities":[],"targets":[{"id":"person","kind":"person","start":48,"end":82,"value":"नव संग्रहालय","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["नव संग्रहालय"]},"customers":{"required_absent":[],"required_present":["नव संग्रहालय"]},"all":{"required_absent":[],"required_present":["नव संग्रहालय"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-076","language":"hi","script":"Devanagari","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eग्राहक ने उल्लेख किया \u003ccode\u003eसिया मेहता\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":67,"end":95,"value":"सिया मेहता","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["सिया मेहता"]},"customers":{"required_absent":["सिया मेहता"],"required_present":[]},"all":{"required_absent":["सिया मेहता"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-076","language":"hi","script":"Devanagari","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eसार्वजनिक संस्था \u003ccode\u003eनव पुस्तकालय\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":56,"end":90,"value":"नव पुस्तकालय","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["नव पुस्तकालय"]},"customers":{"required_absent":[],"required_present":["नव पुस्तकालय"]},"all":{"required_absent":[],"required_present":["नव पुस्तकालय"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-hi-redact-077","language":"hi","script":"Devanagari","shape":"quoted-reply","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e ग्राहक ने उल्लेख किया सिया नायर","known_identities":[],"targets":[{"id":"person","kind":"person","start":60,"end":85,"value":"सिया नायर","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["सिया नायर"]},"customers":{"required_absent":["सिया नायर"],"required_present":[]},"all":{"required_absent":["सिया नायर"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-hi-preserve-077","language":"hi","script":"Devanagari","shape":"quoted-reply","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e सार्वजनिक संस्था नव परिषद","known_identities":[],"targets":[{"id":"person","kind":"person","start":49,"end":71,"value":"नव परिषद","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["नव परिषद"]},"customers":{"required_absent":[],"required_present":["नव परिषद"]},"all":{"required_absent":[],"required_present":["नव परिषद"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-hi-redact-078","language":"hi","script":"Devanagari","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=78 message=\"ग्राहक ने उल्लेख किया \" value=सिया पटेल","known_identities":[],"targets":[{"id":"person","kind":"person","start":96,"end":121,"value":"सिया पटेल","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["सिया पटेल"]},"customers":{"required_absent":["सिया पटेल"],"required_present":[]},"all":{"required_absent":["सिया पटेल"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-hi-preserve-078","language":"hi","script":"Devanagari","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=78 message=\"सार्वजनिक संस्था \" value=नव केंद्र","known_identities":[],"targets":[{"id":"person","kind":"person","start":85,"end":110,"value":"नव केंद्र","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["नव केंद्र"]},"customers":{"required_absent":[],"required_present":["नव केंद्र"]},"all":{"required_absent":[],"required_present":["नव केंद्र"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-078","language":"hi","script":"Devanagari","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=78 message=\"ग्राहक ने उल्लेख किया \" credential=\"सिया पटेल\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":102,"end":127,"value":"सिया पटेल","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["सिया पटेल"]},"customers":{"required_absent":["सिया पटेल"],"required_present":[]},"all":{"required_absent":["सिया पटेल"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-078","language":"hi","script":"Devanagari","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=78 message=\"सार्वजनिक संस्था \" credential=\"नव केंद्र\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":91,"end":116,"value":"नव केंद्र","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["नव केंद्र"]},"customers":{"required_absent":[],"required_present":["नव केंद्र"]},"all":{"required_absent":[],"required_present":["नव केंद्र"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-hi-redact-079","language":"hi","script":"Devanagari","shape":"stack-trace","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[79]: ग्राहक ने उल्लेख किया सिया शर्मा","known_identities":[],"targets":[{"id":"person","kind":"person","start":69,"end":97,"value":"सिया शर्मा","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["सिया शर्मा"]},"customers":{"required_absent":["सिया शर्मा"],"required_present":[]},"all":{"required_absent":["सिया शर्मा"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-hi-preserve-079","language":"hi","script":"Devanagari","shape":"stack-trace","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[79]: सार्वजनिक संस्था नव मंच","known_identities":[],"targets":[{"id":"person","kind":"person","start":58,"end":74,"value":"नव मंच","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["नव मंच"]},"customers":{"required_absent":[],"required_present":["नव मंच"]},"all":{"required_absent":[],"required_present":["नव मंच"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-hi-redact-080","language":"hi","script":"Devanagari","shape":"code","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_80 := `ग्राहक ने उल्लेख किया तनय अरोड़ा`","known_identities":[],"targets":[{"id":"person","kind":"person","start":73,"end":101,"value":"तनय अरोड़ा","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["तनय अरोड़ा"]},"customers":{"required_absent":["तनय अरोड़ा"],"required_present":[]},"all":{"required_absent":["तनय अरोड़ा"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, @@ -1968,26 +1968,26 @@ {"id":"broad-language-hi-preserve-081","language":"hi","script":"Devanagari","shape":"signature","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--\nसार्वजनिक संस्था प्रकाश प्रकाशन","known_identities":[],"targets":[{"id":"person","kind":"person","start":50,"end":90,"value":"प्रकाश प्रकाशन","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["प्रकाश प्रकाशन"]},"customers":{"required_absent":[],"required_present":["प्रकाश प्रकाशन"]},"all":{"required_absent":[],"required_present":["प्रकाश प्रकाशन"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-hi-redact-082","language":"hi","script":"Devanagari","shape":"long-thread","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. ग्राहक ने उल्लेख किया तनय चौहान","known_identities":[],"targets":[{"id":"person","kind":"person","start":538,"end":563,"value":"तनय चौहान","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["तनय चौहान"]},"customers":{"required_absent":["तनय चौहान"],"required_present":[]},"all":{"required_absent":["तनय चौहान"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-hi-preserve-082","language":"hi","script":"Devanagari","shape":"long-thread","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. सार्वजनिक संस्था प्रकाश फाउंडेशन","known_identities":[],"targets":[{"id":"person","kind":"person","start":527,"end":570,"value":"प्रकाश फाउंडेशन","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["प्रकाश फाउंडेशन"]},"customers":{"required_absent":[],"required_present":["प्रकाश फाउंडेशन"]},"all":{"required_absent":[],"required_present":["प्रकाश फाउंडेशन"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-hi-redact-083","language":"hi","script":"Devanagari","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=83 --message=\"ग्राहक ने उल्लेख किया \" --value=तनय देसाई","known_identities":[],"targets":[{"id":"person","kind":"person","start":91,"end":116,"value":"तनय देसाई","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["तनय देसाई"]},"customers":{"required_absent":["तनय देसाई"],"required_present":[]},"all":{"required_absent":["तनय देसाई"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-hi-preserve-083","language":"hi","script":"Devanagari","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=83 --message=\"सार्वजनिक संस्था \" --value=प्रकाश प्रयोगशाला","known_identities":[],"targets":[{"id":"person","kind":"person","start":80,"end":129,"value":"प्रकाश प्रयोगशाला","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["प्रकाश प्रयोगशाला"]},"customers":{"required_absent":[],"required_present":["प्रकाश प्रयोगशाला"]},"all":{"required_absent":[],"required_present":["प्रकाश प्रयोगशाला"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-083","language":"hi","script":"Devanagari","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=83 --message=\"ग्राहक ने उल्लेख किया \" --credential=\"तनय देसाई\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":97,"end":122,"value":"तनय देसाई","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["तनय देसाई"]},"customers":{"required_absent":["तनय देसाई"],"required_present":[]},"all":{"required_absent":["तनय देसाई"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-083","language":"hi","script":"Devanagari","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=83 --message=\"सार्वजनिक संस्था \" --credential=\"प्रकाश प्रयोगशाला\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":86,"end":135,"value":"प्रकाश प्रयोगशाला","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["प्रकाश प्रयोगशाला"]},"customers":{"required_absent":[],"required_present":["प्रकाश प्रयोगशाला"]},"all":{"required_absent":[],"required_present":["प्रकाश प्रयोगशाला"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-hi-redact-084","language":"hi","script":"Devanagari","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"ग्राहक ने उल्लेख किया तनय गोयल","known_identities":[],"targets":[{"id":"person","kind":"person","start":58,"end":80,"value":"तनय गोयल","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["तनय गोयल"]},"customers":{"required_absent":["तनय गोयल"],"required_present":[]},"all":{"required_absent":["तनय गोयल"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-hi-preserve-084","language":"hi","script":"Devanagari","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"सार्वजनिक संस्था प्रकाश विद्यालय","known_identities":[],"targets":[{"id":"person","kind":"person","start":47,"end":90,"value":"प्रकाश विद्यालय","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["प्रकाश विद्यालय"]},"customers":{"required_absent":[],"required_present":["प्रकाश विद्यालय"]},"all":{"required_absent":[],"required_present":["प्रकाश विद्यालय"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-hi-redact-085","language":"hi","script":"Devanagari","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_85\":\"ग्राहक ने उल्लेख किया तनय कपूर\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":73,"end":95,"value":"तनय कपूर","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["तनय कपूर"]},"customers":{"required_absent":["तनय कपूर"],"required_present":[]},"all":{"required_absent":["तनय कपूर"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-hi-preserve-085","language":"hi","script":"Devanagari","shape":"json","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_85\":\"सार्वजनिक संस्था प्रकाश संग्रहालय\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":62,"end":108,"value":"प्रकाश संग्रहालय","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["प्रकाश संग्रहालय"]},"customers":{"required_absent":[],"required_present":["प्रकाश संग्रहालय"]},"all":{"required_absent":[],"required_present":["प्रकाश संग्रहालय"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-hi-redact-086","language":"hi","script":"Devanagari","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_86: ग्राहक ने उल्लेख किया तनय मेहता","known_identities":[],"targets":[{"id":"person","kind":"person","start":70,"end":95,"value":"तनय मेहता","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["तनय मेहता"]},"customers":{"required_absent":["तनय मेहता"],"required_present":[]},"all":{"required_absent":["तनय मेहता"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-hi-preserve-086","language":"hi","script":"Devanagari","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_86: सार्वजनिक संस्था प्रकाश पुस्तकालय","known_identities":[],"targets":[{"id":"person","kind":"person","start":59,"end":105,"value":"प्रकाश पुस्तकालय","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["प्रकाश पुस्तकालय"]},"customers":{"required_absent":[],"required_present":["प्रकाश पुस्तकालय"]},"all":{"required_absent":[],"required_present":["प्रकाश पुस्तकालय"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-086","language":"hi","script":"Devanagari","shape":"yaml","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"message_86: \"ग्राहक ने उल्लेख किया तनय मेहता\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":71,"end":96,"value":"तनय मेहता","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["तनय मेहता"]},"customers":{"required_absent":["तनय मेहता"],"required_present":[]},"all":{"required_absent":["तनय मेहता"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-086","language":"hi","script":"Devanagari","shape":"yaml","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"message_86: \"सार्वजनिक संस्था प्रकाश पुस्तकालय\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":60,"end":106,"value":"प्रकाश पुस्तकालय","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["प्रकाश पुस्तकालय"]},"customers":{"required_absent":[],"required_present":["प्रकाश पुस्तकालय"]},"all":{"required_absent":[],"required_present":["प्रकाश पुस्तकालय"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-hi-redact-087","language":"hi","script":"Devanagari","shape":"shell","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_87='ग्राहक ने उल्लेख किया तनय नायर'","known_identities":[],"targets":[{"id":"person","kind":"person","start":70,"end":92,"value":"तनय नायर","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["तनय नायर"]},"customers":{"required_absent":["तनय नायर"],"required_present":[]},"all":{"required_absent":["तनय नायर"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-hi-preserve-087","language":"hi","script":"Devanagari","shape":"shell","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"MESSAGE_87='सार्वजनिक संस्था प्रकाश परिषद'","known_identities":[],"targets":[{"id":"person","kind":"person","start":59,"end":93,"value":"प्रकाश परिषद","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["प्रकाश परिषद"]},"customers":{"required_absent":[],"required_present":["प्रकाश परिषद"]},"all":{"required_absent":[],"required_present":["प्रकाश परिषद"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-hi-redact-088","language":"hi","script":"Devanagari","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/88 ; ग्राहक ने उल्लेख किया तनय पटेल","known_identities":[],"targets":[{"id":"person","kind":"person","start":91,"end":113,"value":"तनय पटेल","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["तनय पटेल"]},"customers":{"required_absent":["तनय पटेल"],"required_present":[]},"all":{"required_absent":["तनय पटेल"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-hi-preserve-088","language":"hi","script":"Devanagari","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/88 ; सार्वजनिक संस्था प्रकाश केंद्र","known_identities":[],"targets":[{"id":"person","kind":"person","start":80,"end":117,"value":"प्रकाश केंद्र","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["प्रकाश केंद्र"]},"customers":{"required_absent":[],"required_present":["प्रकाश केंद्र"]},"all":{"required_absent":[],"required_present":["प्रकाश केंद्र"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-hi-redact-089","language":"hi","script":"Devanagari","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"**ग्राहक ने उल्लेख किया तनय शर्मा**","known_identities":[],"targets":[{"id":"person","kind":"person","start":60,"end":85,"value":"तनय शर्मा","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["तनय शर्मा"]},"customers":{"required_absent":["तनय शर्मा"],"required_present":[]},"all":{"required_absent":["तनय शर्मा"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-hi-preserve-089","language":"hi","script":"Devanagari","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"**सार्वजनिक संस्था प्रकाश मंच**","known_identities":[],"targets":[{"id":"person","kind":"person","start":49,"end":77,"value":"प्रकाश मंच","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["प्रकाश मंच"]},"customers":{"required_absent":[],"required_present":["प्रकाश मंच"]},"all":{"required_absent":[],"required_present":["प्रकाश मंच"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-hi-redact-090","language":"hi","script":"Devanagari","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eग्राहक ने उल्लेख किया वाणी अरोड़ा\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":61,"end":92,"value":"वाणी अरोड़ा","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["वाणी अरोड़ा"]},"customers":{"required_absent":["वाणी अरोड़ा"],"required_present":[]},"all":{"required_absent":["वाणी अरोड़ा"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-hi-preserve-090","language":"hi","script":"Devanagari","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eसार्वजनिक संस्था संगम संस्थान\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":50,"end":84,"value":"संगम संस्थान","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["संगम संस्थान"]},"customers":{"required_absent":[],"required_present":["संगम संस्थान"]},"all":{"required_absent":[],"required_present":["संगम संस्थान"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-088","language":"hi","script":"Devanagari","shape":"url","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/88?credential=तनय पटेल\u0026note=%E0%A4%97%E0%A5%8D%E0%A4%B0%E0%A4%BE%E0%A4%B9%E0%A4%95+%E0%A4%A8%E0%A5%87+%E0%A4%89%E0%A4%B2%E0%A5%8D%E0%A4%B2%E0%A5%87%E0%A4%96+%E0%A4%95%E0%A4%BF%E0%A4%AF%E0%A4%BE+","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":64,"value":"तनय पटेल","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["तनय पटेल"]},"customers":{"required_absent":["तनय पटेल"],"required_present":[]},"all":{"required_absent":["तनय पटेल"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-088","language":"hi","script":"Devanagari","shape":"url","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"endpoint=https://192.0.2.10/88?credential=प्रकाश केंद्र\u0026note=%E0%A4%B8%E0%A4%BE%E0%A4%B0%E0%A5%8D%E0%A4%B5%E0%A4%9C%E0%A4%A8%E0%A4%BF%E0%A4%95+%E0%A4%B8%E0%A4%82%E0%A4%B8%E0%A5%8D%E0%A4%A5%E0%A4%BE+","known_identities":[],"targets":[{"id":"person","kind":"person","start":42,"end":79,"value":"प्रकाश केंद्र","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["प्रकाश केंद्र"]},"customers":{"required_absent":[],"required_present":["प्रकाश केंद्र"]},"all":{"required_absent":[],"required_present":["प्रकाश केंद्र"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-089","language":"hi","script":"Devanagari","shape":"markdown","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"ग्राहक ने उल्लेख किया `तनय शर्मा`","known_identities":[],"targets":[{"id":"person","kind":"person","start":59,"end":84,"value":"तनय शर्मा","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["तनय शर्मा"]},"customers":{"required_absent":["तनय शर्मा"],"required_present":[]},"all":{"required_absent":["तनय शर्मा"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-089","language":"hi","script":"Devanagari","shape":"markdown","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"सार्वजनिक संस्था `प्रकाश मंच`","known_identities":[],"targets":[{"id":"person","kind":"person","start":48,"end":76,"value":"प्रकाश मंच","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["प्रकाश मंच"]},"customers":{"required_absent":[],"required_present":["प्रकाश मंच"]},"all":{"required_absent":[],"required_present":["प्रकाश मंच"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-090","language":"hi","script":"Devanagari","shape":"html","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eग्राहक ने उल्लेख किया \u003ccode\u003eवाणी अरोड़ा\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":67,"end":98,"value":"वाणी अरोड़ा","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["वाणी अरोड़ा"]},"customers":{"required_absent":["वाणी अरोड़ा"],"required_present":[]},"all":{"required_absent":["वाणी अरोड़ा"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-090","language":"hi","script":"Devanagari","shape":"html","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003cp\u003eसार्वजनिक संस्था \u003ccode\u003eसंगम संस्थान\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"person","kind":"person","start":56,"end":90,"value":"संगम संस्थान","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["संगम संस्थान"]},"customers":{"required_absent":[],"required_present":["संगम संस्थान"]},"all":{"required_absent":[],"required_present":["संगम संस्थान"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-hi-redact-091","language":"hi","script":"Devanagari","shape":"quoted-reply","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e ग्राहक ने उल्लेख किया वाणी बंसल","known_identities":[],"targets":[{"id":"person","kind":"person","start":60,"end":85,"value":"वाणी बंसल","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["वाणी बंसल"]},"customers":{"required_absent":["वाणी बंसल"],"required_present":[]},"all":{"required_absent":["वाणी बंसल"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-hi-preserve-091","language":"hi","script":"Devanagari","shape":"quoted-reply","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"\u003e सार्वजनिक संस्था संगम प्रकाशन","known_identities":[],"targets":[{"id":"person","kind":"person","start":49,"end":83,"value":"संगम प्रकाशन","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["संगम प्रकाशन"]},"customers":{"required_absent":[],"required_present":["संगम प्रकाशन"]},"all":{"required_absent":[],"required_present":["संगम प्रकाशन"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-hi-redact-092","language":"hi","script":"Devanagari","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=92 message=\"ग्राहक ने उल्लेख किया \" value=वाणी चौहान","known_identities":[],"targets":[{"id":"person","kind":"person","start":96,"end":124,"value":"वाणी चौहान","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["वाणी चौहान"]},"customers":{"required_absent":["वाणी चौहान"],"required_present":[]},"all":{"required_absent":["वाणी चौहान"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-hi-preserve-092","language":"hi","script":"Devanagari","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=92 message=\"सार्वजनिक संस्था \" value=संगम फाउंडेशन","known_identities":[],"targets":[{"id":"person","kind":"person","start":85,"end":122,"value":"संगम फाउंडेशन","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["संगम फाउंडेशन"]},"customers":{"required_absent":[],"required_present":["संगम फाउंडेशन"]},"all":{"required_absent":[],"required_present":["संगम फाउंडेशन"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-092","language":"hi","script":"Devanagari","shape":"log","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=92 message=\"ग्राहक ने उल्लेख किया \" credential=\"वाणी चौहान\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":102,"end":130,"value":"वाणी चौहान","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["वाणी चौहान"]},"customers":{"required_absent":["वाणी चौहान"],"required_present":[]},"all":{"required_absent":["वाणी चौहान"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-092","language":"hi","script":"Devanagari","shape":"log","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"level=warn sample=92 message=\"सार्वजनिक संस्था \" credential=\"संगम फाउंडेशन\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":91,"end":128,"value":"संगम फाउंडेशन","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["संगम फाउंडेशन"]},"customers":{"required_absent":[],"required_present":["संगम फाउंडेशन"]},"all":{"required_absent":[],"required_present":["संगम फाउंडेशन"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-hi-redact-093","language":"hi","script":"Devanagari","shape":"stack-trace","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[93]: ग्राहक ने उल्लेख किया वाणी देसाई","known_identities":[],"targets":[{"id":"person","kind":"person","start":69,"end":97,"value":"वाणी देसाई","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["वाणी देसाई"]},"customers":{"required_absent":["वाणी देसाई"],"required_present":[]},"all":{"required_absent":["वाणी देसाई"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-hi-preserve-093","language":"hi","script":"Devanagari","shape":"stack-trace","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Trace[93]: सार्वजनिक संस्था संगम प्रयोगशाला","known_identities":[],"targets":[{"id":"person","kind":"person","start":58,"end":101,"value":"संगम प्रयोगशाला","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["संगम प्रयोगशाला"]},"customers":{"required_absent":[],"required_present":["संगम प्रयोगशाला"]},"all":{"required_absent":[],"required_present":["संगम प्रयोगशाला"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-hi-redact-094","language":"hi","script":"Devanagari","shape":"code","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"fixture_94 := `ग्राहक ने उल्लेख किया वाणी गोयल`","known_identities":[],"targets":[{"id":"person","kind":"person","start":73,"end":98,"value":"वाणी गोयल","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["वाणी गोयल"]},"customers":{"required_absent":["वाणी गोयल"],"required_present":[]},"all":{"required_absent":["वाणी गोयल"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, @@ -1996,8 +1996,8 @@ {"id":"broad-language-hi-preserve-095","language":"hi","script":"Devanagari","shape":"signature","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--\nसार्वजनिक संस्था संगम संग्रहालय","known_identities":[],"targets":[{"id":"person","kind":"person","start":50,"end":90,"value":"संगम संग्रहालय","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["संगम संग्रहालय"]},"customers":{"required_absent":[],"required_present":["संगम संग्रहालय"]},"all":{"required_absent":[],"required_present":["संगम संग्रहालय"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-hi-redact-096","language":"hi","script":"Devanagari","shape":"long-thread","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. ग्राहक ने उल्लेख किया वाणी मेहता","known_identities":[],"targets":[{"id":"person","kind":"person","start":538,"end":566,"value":"वाणी मेहता","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["वाणी मेहता"]},"customers":{"required_absent":["वाणी मेहता"],"required_present":[]},"all":{"required_absent":["वाणी मेहता"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-hi-preserve-096","language":"hi","script":"Devanagari","shape":"long-thread","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. सार्वजनिक संस्था संगम पुस्तकालय","known_identities":[],"targets":[{"id":"person","kind":"person","start":527,"end":567,"value":"संगम पुस्तकालय","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["संगम पुस्तकालय"]},"customers":{"required_absent":[],"required_present":["संगम पुस्तकालय"]},"all":{"required_absent":[],"required_present":["संगम पुस्तकालय"]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-hi-redact-097","language":"hi","script":"Devanagari","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=97 --message=\"ग्राहक ने उल्लेख किया \" --value=वाणी नायर","known_identities":[],"targets":[{"id":"person","kind":"person","start":91,"end":116,"value":"वाणी नायर","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["वाणी नायर"]},"customers":{"required_absent":["वाणी नायर"],"required_present":[]},"all":{"required_absent":["वाणी नायर"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, - {"id":"broad-language-hi-preserve-097","language":"hi","script":"Devanagari","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=97 --message=\"सार्वजनिक संस्था \" --value=संगम परिषद","known_identities":[],"targets":[{"id":"person","kind":"person","start":80,"end":108,"value":"संगम परिषद","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["संगम परिषद"]},"customers":{"required_absent":[],"required_present":["संगम परिषद"]},"all":{"required_absent":[],"required_present":["संगम परिषद"]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-redact-097","language":"hi","script":"Devanagari","shape":"command-payload","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=97 --message=\"ग्राहक ने उल्लेख किया \" --credential=\"वाणी नायर\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":97,"end":122,"value":"वाणी नायर","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["वाणी नायर"]},"customers":{"required_absent":["वाणी नायर"],"required_present":[]},"all":{"required_absent":["वाणी नायर"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, + {"id":"broad-language-hi-preserve-097","language":"hi","script":"Devanagari","shape":"command-payload","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"--sample=97 --message=\"सार्वजनिक संस्था \" --credential=\"संगम परिषद\"","known_identities":[],"targets":[{"id":"person","kind":"person","start":86,"end":114,"value":"संगम परिषद","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["संगम परिषद"]},"customers":{"required_absent":[],"required_present":["संगम परिषद"]},"all":{"required_absent":[],"required_present":["संगम परिषद"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-hi-redact-098","language":"hi","script":"Devanagari","shape":"prose","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"ग्राहक ने उल्लेख किया वाणी पटेल","known_identities":[],"targets":[{"id":"person","kind":"person","start":58,"end":83,"value":"वाणी पटेल","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["वाणी पटेल"]},"customers":{"required_absent":["वाणी पटेल"],"required_present":[]},"all":{"required_absent":["वाणी पटेल"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-hi-preserve-098","language":"hi","script":"Devanagari","shape":"prose","risk":"preservation","reason":"Locked broad multilingual person/preservation variation.","text":"सार्वजनिक संस्था संगम केंद्र","known_identities":[],"targets":[{"id":"person","kind":"person","start":47,"end":78,"value":"संगम केंद्र","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["संगम केंद्र"]},"customers":{"required_absent":[],"required_present":["संगम केंद्र"]},"all":{"required_absent":[],"required_present":["संगम केंद्र"]}},"tags":["broad-quality","multilingual"]}, {"id":"broad-language-hi-redact-099","language":"hi","script":"Devanagari","shape":"json","risk":"high","reason":"Locked broad multilingual person/preservation variation.","text":"{\"message_99\":\"ग्राहक ने उल्लेख किया वाणी शर्मा\"}","known_identities":[],"targets":[{"id":"person","kind":"person","start":73,"end":101,"value":"वाणी शर्मा","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["वाणी शर्मा"]},"customers":{"required_absent":["वाणी शर्मा"],"required_present":[]},"all":{"required_absent":["वाणी शर्मा"],"required_present":[]}},"tags":["broad-quality","multilingual"]}, diff --git a/internal/pii/testdata/privacy-filter/broad/v1/preservation.json b/internal/pii/testdata/privacy-filter/broad/v1/preservation.json index 4b36604..307a9a0 100644 --- a/internal/pii/testdata/privacy-filter/broad/v1/preservation.json +++ b/internal/pii/testdata/privacy-filter/broad/v1/preservation.json @@ -3,104 +3,104 @@ "partition": "preservation", "cases": [ {"id":"broad-preservation-checksum-000","language":"en","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"\u003e Published artifact checksum: e8de46b6eb17d64bdeacffa9a6bd65ca4be0fdbe2bc1ba57dc5dc2b6eaa6a1ed","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":31,"end":95,"value":"e8de46b6eb17d64bdeacffa9a6bd65ca4be0fdbe2bc1ba57dc5dc2b6eaa6a1ed","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-000","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["e8de46b6eb17d64bdeacffa9a6bd65ca4be0fdbe2bc1ba57dc5dc2b6eaa6a1ed"]},"customers":{"required_absent":[],"required_present":["e8de46b6eb17d64bdeacffa9a6bd65ca4be0fdbe2bc1ba57dc5dc2b6eaa6a1ed"]},"all":{"required_absent":[],"required_present":["e8de46b6eb17d64bdeacffa9a6bd65ca4be0fdbe2bc1ba57dc5dc2b6eaa6a1ed"]}},"tags":["broad-quality","preservation","checksum"]}, - {"id":"broad-preservation-checksum-001","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"level=warn sample=1 message=\"Published artifact checksum: \" value=c03adbbc8f07edfd95a77d98f2cc59e59b6cbdee36d62d39fa4f3eb74b75e7ab","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":66,"end":130,"value":"c03adbbc8f07edfd95a77d98f2cc59e59b6cbdee36d62d39fa4f3eb74b75e7ab","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-001","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["c03adbbc8f07edfd95a77d98f2cc59e59b6cbdee36d62d39fa4f3eb74b75e7ab"]},"customers":{"required_absent":[],"required_present":["c03adbbc8f07edfd95a77d98f2cc59e59b6cbdee36d62d39fa4f3eb74b75e7ab"]},"all":{"required_absent":[],"required_present":["c03adbbc8f07edfd95a77d98f2cc59e59b6cbdee36d62d39fa4f3eb74b75e7ab"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-001","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"level=warn sample=1 message=\"Published artifact checksum: \" credential=\"c03adbbc8f07edfd95a77d98f2cc59e59b6cbdee36d62d39fa4f3eb74b75e7ab\"","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":72,"end":136,"value":"c03adbbc8f07edfd95a77d98f2cc59e59b6cbdee36d62d39fa4f3eb74b75e7ab","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-001","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["c03adbbc8f07edfd95a77d98f2cc59e59b6cbdee36d62d39fa4f3eb74b75e7ab"]},"customers":{"required_absent":[],"required_present":["c03adbbc8f07edfd95a77d98f2cc59e59b6cbdee36d62d39fa4f3eb74b75e7ab"]},"all":{"required_absent":[],"required_present":["c03adbbc8f07edfd95a77d98f2cc59e59b6cbdee36d62d39fa4f3eb74b75e7ab"]}},"tags":["broad-quality","preservation","checksum"]}, {"id":"broad-preservation-checksum-002","language":"en","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"Trace[2]: Published artifact checksum: b6fae2a21b95ee8c6ed83a37c90f99a0ab1ce30c74a0aef2d10d92eedfeddc7c","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":39,"end":103,"value":"b6fae2a21b95ee8c6ed83a37c90f99a0ab1ce30c74a0aef2d10d92eedfeddc7c","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-002","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["b6fae2a21b95ee8c6ed83a37c90f99a0ab1ce30c74a0aef2d10d92eedfeddc7c"]},"customers":{"required_absent":[],"required_present":["b6fae2a21b95ee8c6ed83a37c90f99a0ab1ce30c74a0aef2d10d92eedfeddc7c"]},"all":{"required_absent":[],"required_present":["b6fae2a21b95ee8c6ed83a37c90f99a0ab1ce30c74a0aef2d10d92eedfeddc7c"]}},"tags":["broad-quality","preservation","checksum"]}, {"id":"broad-preservation-checksum-003","language":"en","script":"Latin","shape":"code","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"fixture_3 := `Published artifact checksum: d0bb5db00c24b08dc9c1ae5be5da11f91c7cb8ea88f88e78f1ba07fcaa2ad8fa`","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":43,"end":107,"value":"d0bb5db00c24b08dc9c1ae5be5da11f91c7cb8ea88f88e78f1ba07fcaa2ad8fa","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-003","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["d0bb5db00c24b08dc9c1ae5be5da11f91c7cb8ea88f88e78f1ba07fcaa2ad8fa"]},"customers":{"required_absent":[],"required_present":["d0bb5db00c24b08dc9c1ae5be5da11f91c7cb8ea88f88e78f1ba07fcaa2ad8fa"]},"all":{"required_absent":[],"required_present":["d0bb5db00c24b08dc9c1ae5be5da11f91c7cb8ea88f88e78f1ba07fcaa2ad8fa"]}},"tags":["broad-quality","preservation","checksum"]}, {"id":"broad-preservation-checksum-004","language":"en","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"--\nPublished artifact checksum: c0ad28b6be86cb6bf1c70f31d68d98b80ca2a0efede8ea96b6cc31facb97ccea","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":32,"end":96,"value":"c0ad28b6be86cb6bf1c70f31d68d98b80ca2a0efede8ea96b6cc31facb97ccea","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-004","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["c0ad28b6be86cb6bf1c70f31d68d98b80ca2a0efede8ea96b6cc31facb97ccea"]},"customers":{"required_absent":[],"required_present":["c0ad28b6be86cb6bf1c70f31d68d98b80ca2a0efede8ea96b6cc31facb97ccea"]},"all":{"required_absent":[],"required_present":["c0ad28b6be86cb6bf1c70f31d68d98b80ca2a0efede8ea96b6cc31facb97ccea"]}},"tags":["broad-quality","preservation","checksum"]}, {"id":"broad-preservation-checksum-005","language":"en","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Published artifact checksum: f56d14c7beb6c6ffdacefcd6edef39e79cc3e3fc69b95ca6dd6cb8a30d5bdd3c","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":509,"end":573,"value":"f56d14c7beb6c6ffdacefcd6edef39e79cc3e3fc69b95ca6dd6cb8a30d5bdd3c","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-005","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["f56d14c7beb6c6ffdacefcd6edef39e79cc3e3fc69b95ca6dd6cb8a30d5bdd3c"]},"customers":{"required_absent":[],"required_present":["f56d14c7beb6c6ffdacefcd6edef39e79cc3e3fc69b95ca6dd6cb8a30d5bdd3c"]},"all":{"required_absent":[],"required_present":["f56d14c7beb6c6ffdacefcd6edef39e79cc3e3fc69b95ca6dd6cb8a30d5bdd3c"]}},"tags":["broad-quality","preservation","checksum"]}, - {"id":"broad-preservation-checksum-006","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"--sample=6 --message=\"Published artifact checksum: \" --value=fcefd6fcba85a56db6cb9bfcc20f04bebae0ad5f00b42d81af4f89d9bf72d00e","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":61,"end":125,"value":"fcefd6fcba85a56db6cb9bfcc20f04bebae0ad5f00b42d81af4f89d9bf72d00e","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-006","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["fcefd6fcba85a56db6cb9bfcc20f04bebae0ad5f00b42d81af4f89d9bf72d00e"]},"customers":{"required_absent":[],"required_present":["fcefd6fcba85a56db6cb9bfcc20f04bebae0ad5f00b42d81af4f89d9bf72d00e"]},"all":{"required_absent":[],"required_present":["fcefd6fcba85a56db6cb9bfcc20f04bebae0ad5f00b42d81af4f89d9bf72d00e"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-006","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"--sample=6 --message=\"Published artifact checksum: \" --credential=\"fcefd6fcba85a56db6cb9bfcc20f04bebae0ad5f00b42d81af4f89d9bf72d00e\"","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":67,"end":131,"value":"fcefd6fcba85a56db6cb9bfcc20f04bebae0ad5f00b42d81af4f89d9bf72d00e","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-006","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["fcefd6fcba85a56db6cb9bfcc20f04bebae0ad5f00b42d81af4f89d9bf72d00e"]},"customers":{"required_absent":[],"required_present":["fcefd6fcba85a56db6cb9bfcc20f04bebae0ad5f00b42d81af4f89d9bf72d00e"]},"all":{"required_absent":[],"required_present":["fcefd6fcba85a56db6cb9bfcc20f04bebae0ad5f00b42d81af4f89d9bf72d00e"]}},"tags":["broad-quality","preservation","checksum"]}, {"id":"broad-preservation-checksum-007","language":"en","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"Published artifact checksum: d09a72c4eaa5c43b24a42e2aa55c68ff1f45dd0a33e35d83a71ddbc7ad57bddb","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":29,"end":93,"value":"d09a72c4eaa5c43b24a42e2aa55c68ff1f45dd0a33e35d83a71ddbc7ad57bddb","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-007","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["d09a72c4eaa5c43b24a42e2aa55c68ff1f45dd0a33e35d83a71ddbc7ad57bddb"]},"customers":{"required_absent":[],"required_present":["d09a72c4eaa5c43b24a42e2aa55c68ff1f45dd0a33e35d83a71ddbc7ad57bddb"]},"all":{"required_absent":[],"required_present":["d09a72c4eaa5c43b24a42e2aa55c68ff1f45dd0a33e35d83a71ddbc7ad57bddb"]}},"tags":["broad-quality","preservation","checksum"]}, {"id":"broad-preservation-checksum-008","language":"en","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"{\"message_8\":\"Published artifact checksum: be9e49afff61d34f36c5bed5ad1c46e92acdbb4d13fffc55b23d2ed37d48ccaf\"}","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":43,"end":107,"value":"be9e49afff61d34f36c5bed5ad1c46e92acdbb4d13fffc55b23d2ed37d48ccaf","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-008","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["be9e49afff61d34f36c5bed5ad1c46e92acdbb4d13fffc55b23d2ed37d48ccaf"]},"customers":{"required_absent":[],"required_present":["be9e49afff61d34f36c5bed5ad1c46e92acdbb4d13fffc55b23d2ed37d48ccaf"]},"all":{"required_absent":[],"required_present":["be9e49afff61d34f36c5bed5ad1c46e92acdbb4d13fffc55b23d2ed37d48ccaf"]}},"tags":["broad-quality","preservation","checksum"]}, - {"id":"broad-preservation-checksum-009","language":"en","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"message_9: Published artifact checksum: d26d48c6fdeccfccdabd5d87f34ab9c75cdce45becbd0e26fe8fe1e89a98b06f","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":40,"end":104,"value":"d26d48c6fdeccfccdabd5d87f34ab9c75cdce45becbd0e26fe8fe1e89a98b06f","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-009","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["d26d48c6fdeccfccdabd5d87f34ab9c75cdce45becbd0e26fe8fe1e89a98b06f"]},"customers":{"required_absent":[],"required_present":["d26d48c6fdeccfccdabd5d87f34ab9c75cdce45becbd0e26fe8fe1e89a98b06f"]},"all":{"required_absent":[],"required_present":["d26d48c6fdeccfccdabd5d87f34ab9c75cdce45becbd0e26fe8fe1e89a98b06f"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-009","language":"en","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"message_9: \"Published artifact checksum: d26d48c6fdeccfccdabd5d87f34ab9c75cdce45becbd0e26fe8fe1e89a98b06f\"","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":41,"end":105,"value":"d26d48c6fdeccfccdabd5d87f34ab9c75cdce45becbd0e26fe8fe1e89a98b06f","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-009","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["d26d48c6fdeccfccdabd5d87f34ab9c75cdce45becbd0e26fe8fe1e89a98b06f"]},"customers":{"required_absent":[],"required_present":["d26d48c6fdeccfccdabd5d87f34ab9c75cdce45becbd0e26fe8fe1e89a98b06f"]},"all":{"required_absent":[],"required_present":["d26d48c6fdeccfccdabd5d87f34ab9c75cdce45becbd0e26fe8fe1e89a98b06f"]}},"tags":["broad-quality","preservation","checksum"]}, {"id":"broad-preservation-checksum-010","language":"en","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"MESSAGE_10='Published artifact checksum: a61ee3e43dccc8ad0abbadbce52ceedbdd20c16d63d0ad33d62f64dcab07c3fe'","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":41,"end":105,"value":"a61ee3e43dccc8ad0abbadbce52ceedbdd20c16d63d0ad33d62f64dcab07c3fe","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-010","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["a61ee3e43dccc8ad0abbadbce52ceedbdd20c16d63d0ad33d62f64dcab07c3fe"]},"customers":{"required_absent":[],"required_present":["a61ee3e43dccc8ad0abbadbce52ceedbdd20c16d63d0ad33d62f64dcab07c3fe"]},"all":{"required_absent":[],"required_present":["a61ee3e43dccc8ad0abbadbce52ceedbdd20c16d63d0ad33d62f64dcab07c3fe"]}},"tags":["broad-quality","preservation","checksum"]}, - {"id":"broad-preservation-checksum-011","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"endpoint=https://192.0.2.10/11 ; Published artifact checksum: a23fcfc7bd0cb67e9cc3fc1ac6feffed1c4afcaa5ef24ae0b77f7be7dca2b58a","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":62,"end":126,"value":"a23fcfc7bd0cb67e9cc3fc1ac6feffed1c4afcaa5ef24ae0b77f7be7dca2b58a","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-011","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["a23fcfc7bd0cb67e9cc3fc1ac6feffed1c4afcaa5ef24ae0b77f7be7dca2b58a"]},"customers":{"required_absent":[],"required_present":["a23fcfc7bd0cb67e9cc3fc1ac6feffed1c4afcaa5ef24ae0b77f7be7dca2b58a"]},"all":{"required_absent":[],"required_present":["a23fcfc7bd0cb67e9cc3fc1ac6feffed1c4afcaa5ef24ae0b77f7be7dca2b58a"]}},"tags":["broad-quality","preservation","checksum"]}, - {"id":"broad-preservation-checksum-012","language":"en","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"**Published artifact checksum: f34fb3fbdd22f3dacbbc4fc7f57b69c9addcf68e2db70a07dfde69cfcb11c1af**","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":31,"end":95,"value":"f34fb3fbdd22f3dacbbc4fc7f57b69c9addcf68e2db70a07dfde69cfcb11c1af","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-012","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["f34fb3fbdd22f3dacbbc4fc7f57b69c9addcf68e2db70a07dfde69cfcb11c1af"]},"customers":{"required_absent":[],"required_present":["f34fb3fbdd22f3dacbbc4fc7f57b69c9addcf68e2db70a07dfde69cfcb11c1af"]},"all":{"required_absent":[],"required_present":["f34fb3fbdd22f3dacbbc4fc7f57b69c9addcf68e2db70a07dfde69cfcb11c1af"]}},"tags":["broad-quality","preservation","checksum"]}, - {"id":"broad-preservation-checksum-013","language":"en","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"\u003cp\u003ePublished artifact checksum: f21c27e57a7ae69f5de54a89f52d6ff66c6ac42cf9ee3acaf18b60a3aa58d6dd\u003c/p\u003e","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":32,"end":96,"value":"f21c27e57a7ae69f5de54a89f52d6ff66c6ac42cf9ee3acaf18b60a3aa58d6dd","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-013","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["f21c27e57a7ae69f5de54a89f52d6ff66c6ac42cf9ee3acaf18b60a3aa58d6dd"]},"customers":{"required_absent":[],"required_present":["f21c27e57a7ae69f5de54a89f52d6ff66c6ac42cf9ee3acaf18b60a3aa58d6dd"]},"all":{"required_absent":[],"required_present":["f21c27e57a7ae69f5de54a89f52d6ff66c6ac42cf9ee3acaf18b60a3aa58d6dd"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-011","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"endpoint=https://192.0.2.10/11?credential=a23fcfc7bd0cb67e9cc3fc1ac6feffed1c4afcaa5ef24ae0b77f7be7dca2b58a\u0026note=Published+artifact+checksum%3A+","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":42,"end":106,"value":"a23fcfc7bd0cb67e9cc3fc1ac6feffed1c4afcaa5ef24ae0b77f7be7dca2b58a","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-011","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["a23fcfc7bd0cb67e9cc3fc1ac6feffed1c4afcaa5ef24ae0b77f7be7dca2b58a"]},"customers":{"required_absent":[],"required_present":["a23fcfc7bd0cb67e9cc3fc1ac6feffed1c4afcaa5ef24ae0b77f7be7dca2b58a"]},"all":{"required_absent":[],"required_present":["a23fcfc7bd0cb67e9cc3fc1ac6feffed1c4afcaa5ef24ae0b77f7be7dca2b58a"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-012","language":"en","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"Published artifact checksum: `f34fb3fbdd22f3dacbbc4fc7f57b69c9addcf68e2db70a07dfde69cfcb11c1af`","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":30,"end":94,"value":"f34fb3fbdd22f3dacbbc4fc7f57b69c9addcf68e2db70a07dfde69cfcb11c1af","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-012","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["f34fb3fbdd22f3dacbbc4fc7f57b69c9addcf68e2db70a07dfde69cfcb11c1af"]},"customers":{"required_absent":[],"required_present":["f34fb3fbdd22f3dacbbc4fc7f57b69c9addcf68e2db70a07dfde69cfcb11c1af"]},"all":{"required_absent":[],"required_present":["f34fb3fbdd22f3dacbbc4fc7f57b69c9addcf68e2db70a07dfde69cfcb11c1af"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-013","language":"en","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"\u003cp\u003ePublished artifact checksum: \u003ccode\u003ef21c27e57a7ae69f5de54a89f52d6ff66c6ac42cf9ee3acaf18b60a3aa58d6dd\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":38,"end":102,"value":"f21c27e57a7ae69f5de54a89f52d6ff66c6ac42cf9ee3acaf18b60a3aa58d6dd","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-013","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["f21c27e57a7ae69f5de54a89f52d6ff66c6ac42cf9ee3acaf18b60a3aa58d6dd"]},"customers":{"required_absent":[],"required_present":["f21c27e57a7ae69f5de54a89f52d6ff66c6ac42cf9ee3acaf18b60a3aa58d6dd"]},"all":{"required_absent":[],"required_present":["f21c27e57a7ae69f5de54a89f52d6ff66c6ac42cf9ee3acaf18b60a3aa58d6dd"]}},"tags":["broad-quality","preservation","checksum"]}, {"id":"broad-preservation-checksum-014","language":"en","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"\u003e Published artifact checksum: b32ee3f67b43a2bef2c35b35d51b07f03e1bdc9f30e59e3fae5afecd2c2fd1ac","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":31,"end":95,"value":"b32ee3f67b43a2bef2c35b35d51b07f03e1bdc9f30e59e3fae5afecd2c2fd1ac","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-014","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["b32ee3f67b43a2bef2c35b35d51b07f03e1bdc9f30e59e3fae5afecd2c2fd1ac"]},"customers":{"required_absent":[],"required_present":["b32ee3f67b43a2bef2c35b35d51b07f03e1bdc9f30e59e3fae5afecd2c2fd1ac"]},"all":{"required_absent":[],"required_present":["b32ee3f67b43a2bef2c35b35d51b07f03e1bdc9f30e59e3fae5afecd2c2fd1ac"]}},"tags":["broad-quality","preservation","checksum"]}, - {"id":"broad-preservation-checksum-015","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"level=warn sample=15 message=\"Published artifact checksum: \" value=c09d61f8cc70f95a10f22ed4c7dd06f22f09afab9aad1d68f04d2da7ed3eb5dc","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":67,"end":131,"value":"c09d61f8cc70f95a10f22ed4c7dd06f22f09afab9aad1d68f04d2da7ed3eb5dc","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-015","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["c09d61f8cc70f95a10f22ed4c7dd06f22f09afab9aad1d68f04d2da7ed3eb5dc"]},"customers":{"required_absent":[],"required_present":["c09d61f8cc70f95a10f22ed4c7dd06f22f09afab9aad1d68f04d2da7ed3eb5dc"]},"all":{"required_absent":[],"required_present":["c09d61f8cc70f95a10f22ed4c7dd06f22f09afab9aad1d68f04d2da7ed3eb5dc"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-015","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"level=warn sample=15 message=\"Published artifact checksum: \" credential=\"c09d61f8cc70f95a10f22ed4c7dd06f22f09afab9aad1d68f04d2da7ed3eb5dc\"","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":73,"end":137,"value":"c09d61f8cc70f95a10f22ed4c7dd06f22f09afab9aad1d68f04d2da7ed3eb5dc","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-015","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["c09d61f8cc70f95a10f22ed4c7dd06f22f09afab9aad1d68f04d2da7ed3eb5dc"]},"customers":{"required_absent":[],"required_present":["c09d61f8cc70f95a10f22ed4c7dd06f22f09afab9aad1d68f04d2da7ed3eb5dc"]},"all":{"required_absent":[],"required_present":["c09d61f8cc70f95a10f22ed4c7dd06f22f09afab9aad1d68f04d2da7ed3eb5dc"]}},"tags":["broad-quality","preservation","checksum"]}, {"id":"broad-preservation-checksum-016","language":"en","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"Trace[16]: Published artifact checksum: a74c9ee07c04a4bed2c8de18c26df2d9aecfa28addf9ca04ff6d3bcdaa5ab35c","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":40,"end":104,"value":"a74c9ee07c04a4bed2c8de18c26df2d9aecfa28addf9ca04ff6d3bcdaa5ab35c","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-016","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["a74c9ee07c04a4bed2c8de18c26df2d9aecfa28addf9ca04ff6d3bcdaa5ab35c"]},"customers":{"required_absent":[],"required_present":["a74c9ee07c04a4bed2c8de18c26df2d9aecfa28addf9ca04ff6d3bcdaa5ab35c"]},"all":{"required_absent":[],"required_present":["a74c9ee07c04a4bed2c8de18c26df2d9aecfa28addf9ca04ff6d3bcdaa5ab35c"]}},"tags":["broad-quality","preservation","checksum"]}, {"id":"broad-preservation-checksum-017","language":"en","script":"Latin","shape":"code","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"fixture_17 := `Published artifact checksum: b51d51b99dc8b01eeedc9e0dbabc21abff8cd8ccdaf1ce9ce79ccdee9a8db40e`","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":44,"end":108,"value":"b51d51b99dc8b01eeedc9e0dbabc21abff8cd8ccdaf1ce9ce79ccdee9a8db40e","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-017","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["b51d51b99dc8b01eeedc9e0dbabc21abff8cd8ccdaf1ce9ce79ccdee9a8db40e"]},"customers":{"required_absent":[],"required_present":["b51d51b99dc8b01eeedc9e0dbabc21abff8cd8ccdaf1ce9ce79ccdee9a8db40e"]},"all":{"required_absent":[],"required_present":["b51d51b99dc8b01eeedc9e0dbabc21abff8cd8ccdaf1ce9ce79ccdee9a8db40e"]}},"tags":["broad-quality","preservation","checksum"]}, {"id":"broad-preservation-checksum-018","language":"en","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"--\nPublished artifact checksum: f1fc6dae0dc1c74a0be1bb5ddfcd4edf0bd5ecadf4a0fb3cb77ed3a3bcd9c37b","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":32,"end":96,"value":"f1fc6dae0dc1c74a0be1bb5ddfcd4edf0bd5ecadf4a0fb3cb77ed3a3bcd9c37b","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-018","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["f1fc6dae0dc1c74a0be1bb5ddfcd4edf0bd5ecadf4a0fb3cb77ed3a3bcd9c37b"]},"customers":{"required_absent":[],"required_present":["f1fc6dae0dc1c74a0be1bb5ddfcd4edf0bd5ecadf4a0fb3cb77ed3a3bcd9c37b"]},"all":{"required_absent":[],"required_present":["f1fc6dae0dc1c74a0be1bb5ddfcd4edf0bd5ecadf4a0fb3cb77ed3a3bcd9c37b"]}},"tags":["broad-quality","preservation","checksum"]}, {"id":"broad-preservation-checksum-019","language":"en","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Published artifact checksum: dd7bc7b14c04e73ae0dc8d5fa30d34ca0fb5a23ff0ce6e89f18e0def9fdffaec","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":509,"end":573,"value":"dd7bc7b14c04e73ae0dc8d5fa30d34ca0fb5a23ff0ce6e89f18e0def9fdffaec","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-019","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["dd7bc7b14c04e73ae0dc8d5fa30d34ca0fb5a23ff0ce6e89f18e0def9fdffaec"]},"customers":{"required_absent":[],"required_present":["dd7bc7b14c04e73ae0dc8d5fa30d34ca0fb5a23ff0ce6e89f18e0def9fdffaec"]},"all":{"required_absent":[],"required_present":["dd7bc7b14c04e73ae0dc8d5fa30d34ca0fb5a23ff0ce6e89f18e0def9fdffaec"]}},"tags":["broad-quality","preservation","checksum"]}, - {"id":"broad-preservation-checksum-020","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"--sample=20 --message=\"Published artifact checksum: \" --value=e3eb88c57a77e69b8cfb7f4eb6ee22fd9afdc5bd65bf7b3ba6ab08c3eb4bc39a","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":62,"end":126,"value":"e3eb88c57a77e69b8cfb7f4eb6ee22fd9afdc5bd65bf7b3ba6ab08c3eb4bc39a","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-020","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["e3eb88c57a77e69b8cfb7f4eb6ee22fd9afdc5bd65bf7b3ba6ab08c3eb4bc39a"]},"customers":{"required_absent":[],"required_present":["e3eb88c57a77e69b8cfb7f4eb6ee22fd9afdc5bd65bf7b3ba6ab08c3eb4bc39a"]},"all":{"required_absent":[],"required_present":["e3eb88c57a77e69b8cfb7f4eb6ee22fd9afdc5bd65bf7b3ba6ab08c3eb4bc39a"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-020","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"--sample=20 --message=\"Published artifact checksum: \" --credential=\"e3eb88c57a77e69b8cfb7f4eb6ee22fd9afdc5bd65bf7b3ba6ab08c3eb4bc39a\"","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":68,"end":132,"value":"e3eb88c57a77e69b8cfb7f4eb6ee22fd9afdc5bd65bf7b3ba6ab08c3eb4bc39a","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-020","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["e3eb88c57a77e69b8cfb7f4eb6ee22fd9afdc5bd65bf7b3ba6ab08c3eb4bc39a"]},"customers":{"required_absent":[],"required_present":["e3eb88c57a77e69b8cfb7f4eb6ee22fd9afdc5bd65bf7b3ba6ab08c3eb4bc39a"]},"all":{"required_absent":[],"required_present":["e3eb88c57a77e69b8cfb7f4eb6ee22fd9afdc5bd65bf7b3ba6ab08c3eb4bc39a"]}},"tags":["broad-quality","preservation","checksum"]}, {"id":"broad-preservation-checksum-021","language":"en","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"Published artifact checksum: cb9c9ae40c1cd78b91ce6e1fd2eff3dbbf85f8dae1b0ba2cc92cf3ae1c3af2dd","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":29,"end":93,"value":"cb9c9ae40c1cd78b91ce6e1fd2eff3dbbf85f8dae1b0ba2cc92cf3ae1c3af2dd","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-021","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["cb9c9ae40c1cd78b91ce6e1fd2eff3dbbf85f8dae1b0ba2cc92cf3ae1c3af2dd"]},"customers":{"required_absent":[],"required_present":["cb9c9ae40c1cd78b91ce6e1fd2eff3dbbf85f8dae1b0ba2cc92cf3ae1c3af2dd"]},"all":{"required_absent":[],"required_present":["cb9c9ae40c1cd78b91ce6e1fd2eff3dbbf85f8dae1b0ba2cc92cf3ae1c3af2dd"]}},"tags":["broad-quality","preservation","checksum"]}, {"id":"broad-preservation-checksum-022","language":"en","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"{\"message_22\":\"Published artifact checksum: fa6c1ca39a57caced6c29b1fad1df7f06ba1f54c43b3fb3ce27b90bfbe45a6ee\"}","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":44,"end":108,"value":"fa6c1ca39a57caced6c29b1fad1df7f06ba1f54c43b3fb3ce27b90bfbe45a6ee","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-022","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["fa6c1ca39a57caced6c29b1fad1df7f06ba1f54c43b3fb3ce27b90bfbe45a6ee"]},"customers":{"required_absent":[],"required_present":["fa6c1ca39a57caced6c29b1fad1df7f06ba1f54c43b3fb3ce27b90bfbe45a6ee"]},"all":{"required_absent":[],"required_present":["fa6c1ca39a57caced6c29b1fad1df7f06ba1f54c43b3fb3ce27b90bfbe45a6ee"]}},"tags":["broad-quality","preservation","checksum"]}, - {"id":"broad-preservation-checksum-023","language":"en","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"message_23: Published artifact checksum: ecab0fb75e8ddc2b46e55f29fa1cbdea0d82d9eafec28aa6abbc41a6ed5cadae","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":41,"end":105,"value":"ecab0fb75e8ddc2b46e55f29fa1cbdea0d82d9eafec28aa6abbc41a6ed5cadae","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-023","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["ecab0fb75e8ddc2b46e55f29fa1cbdea0d82d9eafec28aa6abbc41a6ed5cadae"]},"customers":{"required_absent":[],"required_present":["ecab0fb75e8ddc2b46e55f29fa1cbdea0d82d9eafec28aa6abbc41a6ed5cadae"]},"all":{"required_absent":[],"required_present":["ecab0fb75e8ddc2b46e55f29fa1cbdea0d82d9eafec28aa6abbc41a6ed5cadae"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-023","language":"en","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"message_23: \"Published artifact checksum: ecab0fb75e8ddc2b46e55f29fa1cbdea0d82d9eafec28aa6abbc41a6ed5cadae\"","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":42,"end":106,"value":"ecab0fb75e8ddc2b46e55f29fa1cbdea0d82d9eafec28aa6abbc41a6ed5cadae","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-023","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["ecab0fb75e8ddc2b46e55f29fa1cbdea0d82d9eafec28aa6abbc41a6ed5cadae"]},"customers":{"required_absent":[],"required_present":["ecab0fb75e8ddc2b46e55f29fa1cbdea0d82d9eafec28aa6abbc41a6ed5cadae"]},"all":{"required_absent":[],"required_present":["ecab0fb75e8ddc2b46e55f29fa1cbdea0d82d9eafec28aa6abbc41a6ed5cadae"]}},"tags":["broad-quality","preservation","checksum"]}, {"id":"broad-preservation-checksum-024","language":"en","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"MESSAGE_24='Published artifact checksum: d75cd2adfba0faca1cd9cae7a52d79e0ebc1b27ab5f8ab88fe5bf9ef5dffc65e'","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":41,"end":105,"value":"d75cd2adfba0faca1cd9cae7a52d79e0ebc1b27ab5f8ab88fe5bf9ef5dffc65e","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-024","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["d75cd2adfba0faca1cd9cae7a52d79e0ebc1b27ab5f8ab88fe5bf9ef5dffc65e"]},"customers":{"required_absent":[],"required_present":["d75cd2adfba0faca1cd9cae7a52d79e0ebc1b27ab5f8ab88fe5bf9ef5dffc65e"]},"all":{"required_absent":[],"required_present":["d75cd2adfba0faca1cd9cae7a52d79e0ebc1b27ab5f8ab88fe5bf9ef5dffc65e"]}},"tags":["broad-quality","preservation","checksum"]}, - {"id":"broad-preservation-checksum-025","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"endpoint=https://192.0.2.10/25 ; Published artifact checksum: a94d74ecdaf0f32d2ea8be12c66feeb55a55d17b7afb2b7cbf4be6fb7d1be9bf","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":62,"end":126,"value":"a94d74ecdaf0f32d2ea8be12c66feeb55a55d17b7afb2b7cbf4be6fb7d1be9bf","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-025","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["a94d74ecdaf0f32d2ea8be12c66feeb55a55d17b7afb2b7cbf4be6fb7d1be9bf"]},"customers":{"required_absent":[],"required_present":["a94d74ecdaf0f32d2ea8be12c66feeb55a55d17b7afb2b7cbf4be6fb7d1be9bf"]},"all":{"required_absent":[],"required_present":["a94d74ecdaf0f32d2ea8be12c66feeb55a55d17b7afb2b7cbf4be6fb7d1be9bf"]}},"tags":["broad-quality","preservation","checksum"]}, - {"id":"broad-preservation-checksum-026","language":"en","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"**Published artifact checksum: d71c1fbb1b04b9caa5f7ad2df87f0cd41c39d17d21ae3fded82e82ee2c53cfaa**","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":31,"end":95,"value":"d71c1fbb1b04b9caa5f7ad2df87f0cd41c39d17d21ae3fded82e82ee2c53cfaa","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-026","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["d71c1fbb1b04b9caa5f7ad2df87f0cd41c39d17d21ae3fded82e82ee2c53cfaa"]},"customers":{"required_absent":[],"required_present":["d71c1fbb1b04b9caa5f7ad2df87f0cd41c39d17d21ae3fded82e82ee2c53cfaa"]},"all":{"required_absent":[],"required_present":["d71c1fbb1b04b9caa5f7ad2df87f0cd41c39d17d21ae3fded82e82ee2c53cfaa"]}},"tags":["broad-quality","preservation","checksum"]}, - {"id":"broad-preservation-checksum-027","language":"en","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"\u003cp\u003ePublished artifact checksum: cb2a2fe1cf32bdbfefb21cc4aa0d1ac0aee6dd3dbfba3ce7b19fa5b1bd6aec2b\u003c/p\u003e","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":32,"end":96,"value":"cb2a2fe1cf32bdbfefb21cc4aa0d1ac0aee6dd3dbfba3ce7b19fa5b1bd6aec2b","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-027","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["cb2a2fe1cf32bdbfefb21cc4aa0d1ac0aee6dd3dbfba3ce7b19fa5b1bd6aec2b"]},"customers":{"required_absent":[],"required_present":["cb2a2fe1cf32bdbfefb21cc4aa0d1ac0aee6dd3dbfba3ce7b19fa5b1bd6aec2b"]},"all":{"required_absent":[],"required_present":["cb2a2fe1cf32bdbfefb21cc4aa0d1ac0aee6dd3dbfba3ce7b19fa5b1bd6aec2b"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-025","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"endpoint=https://192.0.2.10/25?credential=a94d74ecdaf0f32d2ea8be12c66feeb55a55d17b7afb2b7cbf4be6fb7d1be9bf\u0026note=Published+artifact+checksum%3A+","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":42,"end":106,"value":"a94d74ecdaf0f32d2ea8be12c66feeb55a55d17b7afb2b7cbf4be6fb7d1be9bf","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-025","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["a94d74ecdaf0f32d2ea8be12c66feeb55a55d17b7afb2b7cbf4be6fb7d1be9bf"]},"customers":{"required_absent":[],"required_present":["a94d74ecdaf0f32d2ea8be12c66feeb55a55d17b7afb2b7cbf4be6fb7d1be9bf"]},"all":{"required_absent":[],"required_present":["a94d74ecdaf0f32d2ea8be12c66feeb55a55d17b7afb2b7cbf4be6fb7d1be9bf"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-026","language":"en","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"Published artifact checksum: `d71c1fbb1b04b9caa5f7ad2df87f0cd41c39d17d21ae3fded82e82ee2c53cfaa`","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":30,"end":94,"value":"d71c1fbb1b04b9caa5f7ad2df87f0cd41c39d17d21ae3fded82e82ee2c53cfaa","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-026","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["d71c1fbb1b04b9caa5f7ad2df87f0cd41c39d17d21ae3fded82e82ee2c53cfaa"]},"customers":{"required_absent":[],"required_present":["d71c1fbb1b04b9caa5f7ad2df87f0cd41c39d17d21ae3fded82e82ee2c53cfaa"]},"all":{"required_absent":[],"required_present":["d71c1fbb1b04b9caa5f7ad2df87f0cd41c39d17d21ae3fded82e82ee2c53cfaa"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-027","language":"en","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"\u003cp\u003ePublished artifact checksum: \u003ccode\u003ecb2a2fe1cf32bdbfefb21cc4aa0d1ac0aee6dd3dbfba3ce7b19fa5b1bd6aec2b\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":38,"end":102,"value":"cb2a2fe1cf32bdbfefb21cc4aa0d1ac0aee6dd3dbfba3ce7b19fa5b1bd6aec2b","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-027","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["cb2a2fe1cf32bdbfefb21cc4aa0d1ac0aee6dd3dbfba3ce7b19fa5b1bd6aec2b"]},"customers":{"required_absent":[],"required_present":["cb2a2fe1cf32bdbfefb21cc4aa0d1ac0aee6dd3dbfba3ce7b19fa5b1bd6aec2b"]},"all":{"required_absent":[],"required_present":["cb2a2fe1cf32bdbfefb21cc4aa0d1ac0aee6dd3dbfba3ce7b19fa5b1bd6aec2b"]}},"tags":["broad-quality","preservation","checksum"]}, {"id":"broad-preservation-checksum-028","language":"en","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"\u003e Published artifact checksum: ac3ef8d28a06f40e15b68f78f81d2fb6ebdcf80d77f1ce2cc4eae2e4ba53b5bc","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":31,"end":95,"value":"ac3ef8d28a06f40e15b68f78f81d2fb6ebdcf80d77f1ce2cc4eae2e4ba53b5bc","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-028","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["ac3ef8d28a06f40e15b68f78f81d2fb6ebdcf80d77f1ce2cc4eae2e4ba53b5bc"]},"customers":{"required_absent":[],"required_present":["ac3ef8d28a06f40e15b68f78f81d2fb6ebdcf80d77f1ce2cc4eae2e4ba53b5bc"]},"all":{"required_absent":[],"required_present":["ac3ef8d28a06f40e15b68f78f81d2fb6ebdcf80d77f1ce2cc4eae2e4ba53b5bc"]}},"tags":["broad-quality","preservation","checksum"]}, - {"id":"broad-preservation-checksum-029","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"level=warn sample=29 message=\"Published artifact checksum: \" value=bf8a5dbdfd41f2dee8be8b45ba5ea6cfac81f28e9ee83ba2c53acaecafd1e40c","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":67,"end":131,"value":"bf8a5dbdfd41f2dee8be8b45ba5ea6cfac81f28e9ee83ba2c53acaecafd1e40c","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-029","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["bf8a5dbdfd41f2dee8be8b45ba5ea6cfac81f28e9ee83ba2c53acaecafd1e40c"]},"customers":{"required_absent":[],"required_present":["bf8a5dbdfd41f2dee8be8b45ba5ea6cfac81f28e9ee83ba2c53acaecafd1e40c"]},"all":{"required_absent":[],"required_present":["bf8a5dbdfd41f2dee8be8b45ba5ea6cfac81f28e9ee83ba2c53acaecafd1e40c"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-029","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"level=warn sample=29 message=\"Published artifact checksum: \" credential=\"bf8a5dbdfd41f2dee8be8b45ba5ea6cfac81f28e9ee83ba2c53acaecafd1e40c\"","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":73,"end":137,"value":"bf8a5dbdfd41f2dee8be8b45ba5ea6cfac81f28e9ee83ba2c53acaecafd1e40c","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-029","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["bf8a5dbdfd41f2dee8be8b45ba5ea6cfac81f28e9ee83ba2c53acaecafd1e40c"]},"customers":{"required_absent":[],"required_present":["bf8a5dbdfd41f2dee8be8b45ba5ea6cfac81f28e9ee83ba2c53acaecafd1e40c"]},"all":{"required_absent":[],"required_present":["bf8a5dbdfd41f2dee8be8b45ba5ea6cfac81f28e9ee83ba2c53acaecafd1e40c"]}},"tags":["broad-quality","preservation","checksum"]}, {"id":"broad-preservation-checksum-030","language":"en","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"Trace[30]: Published artifact checksum: c37d44f79c6ff23e85afae48fd7fffd01c3fd59f30f84f53d68f76ce8fddf99c","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":40,"end":104,"value":"c37d44f79c6ff23e85afae48fd7fffd01c3fd59f30f84f53d68f76ce8fddf99c","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-030","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["c37d44f79c6ff23e85afae48fd7fffd01c3fd59f30f84f53d68f76ce8fddf99c"]},"customers":{"required_absent":[],"required_present":["c37d44f79c6ff23e85afae48fd7fffd01c3fd59f30f84f53d68f76ce8fddf99c"]},"all":{"required_absent":[],"required_present":["c37d44f79c6ff23e85afae48fd7fffd01c3fd59f30f84f53d68f76ce8fddf99c"]}},"tags":["broad-quality","preservation","checksum"]}, {"id":"broad-preservation-checksum-031","language":"en","script":"Latin","shape":"code","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"fixture_31 := `Published artifact checksum: cf9f1abfaccff1de6bdf3acdab1a2caeefe6daec32c64c2cf65eb2a98c65aeeb`","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":44,"end":108,"value":"cf9f1abfaccff1de6bdf3acdab1a2caeefe6daec32c64c2cf65eb2a98c65aeeb","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-031","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["cf9f1abfaccff1de6bdf3acdab1a2caeefe6daec32c64c2cf65eb2a98c65aeeb"]},"customers":{"required_absent":[],"required_present":["cf9f1abfaccff1de6bdf3acdab1a2caeefe6daec32c64c2cf65eb2a98c65aeeb"]},"all":{"required_absent":[],"required_present":["cf9f1abfaccff1de6bdf3acdab1a2caeefe6daec32c64c2cf65eb2a98c65aeeb"]}},"tags":["broad-quality","preservation","checksum"]}, {"id":"broad-preservation-checksum-032","language":"en","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"--\nPublished artifact checksum: abdf91afbc00aa2c30a41b54e14ee9bf3f76e68e8edbfe22e9bf9cff6bddacee","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":32,"end":96,"value":"abdf91afbc00aa2c30a41b54e14ee9bf3f76e68e8edbfe22e9bf9cff6bddacee","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-032","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["abdf91afbc00aa2c30a41b54e14ee9bf3f76e68e8edbfe22e9bf9cff6bddacee"]},"customers":{"required_absent":[],"required_present":["abdf91afbc00aa2c30a41b54e14ee9bf3f76e68e8edbfe22e9bf9cff6bddacee"]},"all":{"required_absent":[],"required_present":["abdf91afbc00aa2c30a41b54e14ee9bf3f76e68e8edbfe22e9bf9cff6bddacee"]}},"tags":["broad-quality","preservation","checksum"]}, {"id":"broad-preservation-checksum-033","language":"en","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Published artifact checksum: b08f27de0d49a72d6eb42b23fc3ae5b7eee3d7dcecbd4d00ef4c76c8ea5bc99c","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":509,"end":573,"value":"b08f27de0d49a72d6eb42b23fc3ae5b7eee3d7dcecbd4d00ef4c76c8ea5bc99c","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-033","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["b08f27de0d49a72d6eb42b23fc3ae5b7eee3d7dcecbd4d00ef4c76c8ea5bc99c"]},"customers":{"required_absent":[],"required_present":["b08f27de0d49a72d6eb42b23fc3ae5b7eee3d7dcecbd4d00ef4c76c8ea5bc99c"]},"all":{"required_absent":[],"required_present":["b08f27de0d49a72d6eb42b23fc3ae5b7eee3d7dcecbd4d00ef4c76c8ea5bc99c"]}},"tags":["broad-quality","preservation","checksum"]}, - {"id":"broad-preservation-checksum-034","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"--sample=34 --message=\"Published artifact checksum: \" --value=b34b05cdac9fef6bfed69f19e52a29f68e52ed6d6dcc9b34d5ac07c94ec9d4db","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":62,"end":126,"value":"b34b05cdac9fef6bfed69f19e52a29f68e52ed6d6dcc9b34d5ac07c94ec9d4db","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-034","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["b34b05cdac9fef6bfed69f19e52a29f68e52ed6d6dcc9b34d5ac07c94ec9d4db"]},"customers":{"required_absent":[],"required_present":["b34b05cdac9fef6bfed69f19e52a29f68e52ed6d6dcc9b34d5ac07c94ec9d4db"]},"all":{"required_absent":[],"required_present":["b34b05cdac9fef6bfed69f19e52a29f68e52ed6d6dcc9b34d5ac07c94ec9d4db"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-034","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"--sample=34 --message=\"Published artifact checksum: \" --credential=\"b34b05cdac9fef6bfed69f19e52a29f68e52ed6d6dcc9b34d5ac07c94ec9d4db\"","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":68,"end":132,"value":"b34b05cdac9fef6bfed69f19e52a29f68e52ed6d6dcc9b34d5ac07c94ec9d4db","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-034","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["b34b05cdac9fef6bfed69f19e52a29f68e52ed6d6dcc9b34d5ac07c94ec9d4db"]},"customers":{"required_absent":[],"required_present":["b34b05cdac9fef6bfed69f19e52a29f68e52ed6d6dcc9b34d5ac07c94ec9d4db"]},"all":{"required_absent":[],"required_present":["b34b05cdac9fef6bfed69f19e52a29f68e52ed6d6dcc9b34d5ac07c94ec9d4db"]}},"tags":["broad-quality","preservation","checksum"]}, {"id":"broad-preservation-checksum-035","language":"en","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"Published artifact checksum: e10e9ce10fa7a90cd6bbaa79df5b41cc2c9fd70c61efbfd3dbcda7d09cb7b21f","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":29,"end":93,"value":"e10e9ce10fa7a90cd6bbaa79df5b41cc2c9fd70c61efbfd3dbcda7d09cb7b21f","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-035","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["e10e9ce10fa7a90cd6bbaa79df5b41cc2c9fd70c61efbfd3dbcda7d09cb7b21f"]},"customers":{"required_absent":[],"required_present":["e10e9ce10fa7a90cd6bbaa79df5b41cc2c9fd70c61efbfd3dbcda7d09cb7b21f"]},"all":{"required_absent":[],"required_present":["e10e9ce10fa7a90cd6bbaa79df5b41cc2c9fd70c61efbfd3dbcda7d09cb7b21f"]}},"tags":["broad-quality","preservation","checksum"]}, {"id":"broad-preservation-checksum-036","language":"en","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"{\"message_36\":\"Published artifact checksum: c1bd4fd46e00f6fc3bf9ea00d60a92d6fb3ec4df57e53accb5fd00ae7b63f76f\"}","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":44,"end":108,"value":"c1bd4fd46e00f6fc3bf9ea00d60a92d6fb3ec4df57e53accb5fd00ae7b63f76f","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-036","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["c1bd4fd46e00f6fc3bf9ea00d60a92d6fb3ec4df57e53accb5fd00ae7b63f76f"]},"customers":{"required_absent":[],"required_present":["c1bd4fd46e00f6fc3bf9ea00d60a92d6fb3ec4df57e53accb5fd00ae7b63f76f"]},"all":{"required_absent":[],"required_present":["c1bd4fd46e00f6fc3bf9ea00d60a92d6fb3ec4df57e53accb5fd00ae7b63f76f"]}},"tags":["broad-quality","preservation","checksum"]}, - {"id":"broad-preservation-checksum-037","language":"en","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"message_37: Published artifact checksum: d3acc2c28fbccdff4dce7c28e90b53b0ca44c99b48a1dc4cdacc6fbf6c2ee89e","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":41,"end":105,"value":"d3acc2c28fbccdff4dce7c28e90b53b0ca44c99b48a1dc4cdacc6fbf6c2ee89e","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-037","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["d3acc2c28fbccdff4dce7c28e90b53b0ca44c99b48a1dc4cdacc6fbf6c2ee89e"]},"customers":{"required_absent":[],"required_present":["d3acc2c28fbccdff4dce7c28e90b53b0ca44c99b48a1dc4cdacc6fbf6c2ee89e"]},"all":{"required_absent":[],"required_present":["d3acc2c28fbccdff4dce7c28e90b53b0ca44c99b48a1dc4cdacc6fbf6c2ee89e"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-037","language":"en","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"message_37: \"Published artifact checksum: d3acc2c28fbccdff4dce7c28e90b53b0ca44c99b48a1dc4cdacc6fbf6c2ee89e\"","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":42,"end":106,"value":"d3acc2c28fbccdff4dce7c28e90b53b0ca44c99b48a1dc4cdacc6fbf6c2ee89e","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-037","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["d3acc2c28fbccdff4dce7c28e90b53b0ca44c99b48a1dc4cdacc6fbf6c2ee89e"]},"customers":{"required_absent":[],"required_present":["d3acc2c28fbccdff4dce7c28e90b53b0ca44c99b48a1dc4cdacc6fbf6c2ee89e"]},"all":{"required_absent":[],"required_present":["d3acc2c28fbccdff4dce7c28e90b53b0ca44c99b48a1dc4cdacc6fbf6c2ee89e"]}},"tags":["broad-quality","preservation","checksum"]}, {"id":"broad-preservation-checksum-038","language":"en","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"MESSAGE_38='Published artifact checksum: e71f26d20e23c20adcf35ba6e54d8fc2bd2fb6fc42b99a09f5cac2c75c99c70d'","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":41,"end":105,"value":"e71f26d20e23c20adcf35ba6e54d8fc2bd2fb6fc42b99a09f5cac2c75c99c70d","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-038","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["e71f26d20e23c20adcf35ba6e54d8fc2bd2fb6fc42b99a09f5cac2c75c99c70d"]},"customers":{"required_absent":[],"required_present":["e71f26d20e23c20adcf35ba6e54d8fc2bd2fb6fc42b99a09f5cac2c75c99c70d"]},"all":{"required_absent":[],"required_present":["e71f26d20e23c20adcf35ba6e54d8fc2bd2fb6fc42b99a09f5cac2c75c99c70d"]}},"tags":["broad-quality","preservation","checksum"]}, - {"id":"broad-preservation-checksum-039","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"endpoint=https://192.0.2.10/39 ; Published artifact checksum: d73ba1baab1ea47c83d1cdf8b8fe51e8ddf2f0faa1c20e12c36a25d34c90c29b","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":62,"end":126,"value":"d73ba1baab1ea47c83d1cdf8b8fe51e8ddf2f0faa1c20e12c36a25d34c90c29b","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-039","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["d73ba1baab1ea47c83d1cdf8b8fe51e8ddf2f0faa1c20e12c36a25d34c90c29b"]},"customers":{"required_absent":[],"required_present":["d73ba1baab1ea47c83d1cdf8b8fe51e8ddf2f0faa1c20e12c36a25d34c90c29b"]},"all":{"required_absent":[],"required_present":["d73ba1baab1ea47c83d1cdf8b8fe51e8ddf2f0faa1c20e12c36a25d34c90c29b"]}},"tags":["broad-quality","preservation","checksum"]}, - {"id":"broad-preservation-checksum-040","language":"en","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"**Published artifact checksum: ca4e2caebb30d65d51d18ca2bf1b5faccbf4cdca73c46e60ffdeceaa2d6bfaca**","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":31,"end":95,"value":"ca4e2caebb30d65d51d18ca2bf1b5faccbf4cdca73c46e60ffdeceaa2d6bfaca","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-040","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["ca4e2caebb30d65d51d18ca2bf1b5faccbf4cdca73c46e60ffdeceaa2d6bfaca"]},"customers":{"required_absent":[],"required_present":["ca4e2caebb30d65d51d18ca2bf1b5faccbf4cdca73c46e60ffdeceaa2d6bfaca"]},"all":{"required_absent":[],"required_present":["ca4e2caebb30d65d51d18ca2bf1b5faccbf4cdca73c46e60ffdeceaa2d6bfaca"]}},"tags":["broad-quality","preservation","checksum"]}, - {"id":"broad-preservation-checksum-041","language":"en","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"\u003cp\u003ePublished artifact checksum: c0dea0a7cd8cb6cac5d88d8ec7de45e3afd4db9dc5b47c5ecd9a66b57c90f4ac\u003c/p\u003e","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":32,"end":96,"value":"c0dea0a7cd8cb6cac5d88d8ec7de45e3afd4db9dc5b47c5ecd9a66b57c90f4ac","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-041","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["c0dea0a7cd8cb6cac5d88d8ec7de45e3afd4db9dc5b47c5ecd9a66b57c90f4ac"]},"customers":{"required_absent":[],"required_present":["c0dea0a7cd8cb6cac5d88d8ec7de45e3afd4db9dc5b47c5ecd9a66b57c90f4ac"]},"all":{"required_absent":[],"required_present":["c0dea0a7cd8cb6cac5d88d8ec7de45e3afd4db9dc5b47c5ecd9a66b57c90f4ac"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-039","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"endpoint=https://192.0.2.10/39?credential=d73ba1baab1ea47c83d1cdf8b8fe51e8ddf2f0faa1c20e12c36a25d34c90c29b\u0026note=Published+artifact+checksum%3A+","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":42,"end":106,"value":"d73ba1baab1ea47c83d1cdf8b8fe51e8ddf2f0faa1c20e12c36a25d34c90c29b","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-039","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["d73ba1baab1ea47c83d1cdf8b8fe51e8ddf2f0faa1c20e12c36a25d34c90c29b"]},"customers":{"required_absent":[],"required_present":["d73ba1baab1ea47c83d1cdf8b8fe51e8ddf2f0faa1c20e12c36a25d34c90c29b"]},"all":{"required_absent":[],"required_present":["d73ba1baab1ea47c83d1cdf8b8fe51e8ddf2f0faa1c20e12c36a25d34c90c29b"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-040","language":"en","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"Published artifact checksum: `ca4e2caebb30d65d51d18ca2bf1b5faccbf4cdca73c46e60ffdeceaa2d6bfaca`","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":30,"end":94,"value":"ca4e2caebb30d65d51d18ca2bf1b5faccbf4cdca73c46e60ffdeceaa2d6bfaca","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-040","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["ca4e2caebb30d65d51d18ca2bf1b5faccbf4cdca73c46e60ffdeceaa2d6bfaca"]},"customers":{"required_absent":[],"required_present":["ca4e2caebb30d65d51d18ca2bf1b5faccbf4cdca73c46e60ffdeceaa2d6bfaca"]},"all":{"required_absent":[],"required_present":["ca4e2caebb30d65d51d18ca2bf1b5faccbf4cdca73c46e60ffdeceaa2d6bfaca"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-041","language":"en","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"\u003cp\u003ePublished artifact checksum: \u003ccode\u003ec0dea0a7cd8cb6cac5d88d8ec7de45e3afd4db9dc5b47c5ecd9a66b57c90f4ac\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":38,"end":102,"value":"c0dea0a7cd8cb6cac5d88d8ec7de45e3afd4db9dc5b47c5ecd9a66b57c90f4ac","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-041","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["c0dea0a7cd8cb6cac5d88d8ec7de45e3afd4db9dc5b47c5ecd9a66b57c90f4ac"]},"customers":{"required_absent":[],"required_present":["c0dea0a7cd8cb6cac5d88d8ec7de45e3afd4db9dc5b47c5ecd9a66b57c90f4ac"]},"all":{"required_absent":[],"required_present":["c0dea0a7cd8cb6cac5d88d8ec7de45e3afd4db9dc5b47c5ecd9a66b57c90f4ac"]}},"tags":["broad-quality","preservation","checksum"]}, {"id":"broad-preservation-checksum-042","language":"en","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"\u003e Published artifact checksum: b0dd45a5bbf1e7bd2aee8e8ca5cb07ec0d8ef57ef6bc1dd3e52d99a52a55fa1b","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":31,"end":95,"value":"b0dd45a5bbf1e7bd2aee8e8ca5cb07ec0d8ef57ef6bc1dd3e52d99a52a55fa1b","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-042","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["b0dd45a5bbf1e7bd2aee8e8ca5cb07ec0d8ef57ef6bc1dd3e52d99a52a55fa1b"]},"customers":{"required_absent":[],"required_present":["b0dd45a5bbf1e7bd2aee8e8ca5cb07ec0d8ef57ef6bc1dd3e52d99a52a55fa1b"]},"all":{"required_absent":[],"required_present":["b0dd45a5bbf1e7bd2aee8e8ca5cb07ec0d8ef57ef6bc1dd3e52d99a52a55fa1b"]}},"tags":["broad-quality","preservation","checksum"]}, - {"id":"broad-preservation-checksum-043","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"level=warn sample=43 message=\"Published artifact checksum: \" value=a85ef4c1fbb4bc4c29c07beefdfff7c0da0ea1eb4ec72c5ea21ad3cf3bd1ab7d","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":67,"end":131,"value":"a85ef4c1fbb4bc4c29c07beefdfff7c0da0ea1eb4ec72c5ea21ad3cf3bd1ab7d","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-043","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["a85ef4c1fbb4bc4c29c07beefdfff7c0da0ea1eb4ec72c5ea21ad3cf3bd1ab7d"]},"customers":{"required_absent":[],"required_present":["a85ef4c1fbb4bc4c29c07beefdfff7c0da0ea1eb4ec72c5ea21ad3cf3bd1ab7d"]},"all":{"required_absent":[],"required_present":["a85ef4c1fbb4bc4c29c07beefdfff7c0da0ea1eb4ec72c5ea21ad3cf3bd1ab7d"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-043","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"level=warn sample=43 message=\"Published artifact checksum: \" credential=\"a85ef4c1fbb4bc4c29c07beefdfff7c0da0ea1eb4ec72c5ea21ad3cf3bd1ab7d\"","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":73,"end":137,"value":"a85ef4c1fbb4bc4c29c07beefdfff7c0da0ea1eb4ec72c5ea21ad3cf3bd1ab7d","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-043","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["a85ef4c1fbb4bc4c29c07beefdfff7c0da0ea1eb4ec72c5ea21ad3cf3bd1ab7d"]},"customers":{"required_absent":[],"required_present":["a85ef4c1fbb4bc4c29c07beefdfff7c0da0ea1eb4ec72c5ea21ad3cf3bd1ab7d"]},"all":{"required_absent":[],"required_present":["a85ef4c1fbb4bc4c29c07beefdfff7c0da0ea1eb4ec72c5ea21ad3cf3bd1ab7d"]}},"tags":["broad-quality","preservation","checksum"]}, {"id":"broad-preservation-checksum-044","language":"en","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"Trace[44]: Published artifact checksum: b33f04b56d0fd65f84fc6b3ba35a58c30e59da1ae2e24d3ea2db2fc4dddeda2a","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":40,"end":104,"value":"b33f04b56d0fd65f84fc6b3ba35a58c30e59da1ae2e24d3ea2db2fc4dddeda2a","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-044","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["b33f04b56d0fd65f84fc6b3ba35a58c30e59da1ae2e24d3ea2db2fc4dddeda2a"]},"customers":{"required_absent":[],"required_present":["b33f04b56d0fd65f84fc6b3ba35a58c30e59da1ae2e24d3ea2db2fc4dddeda2a"]},"all":{"required_absent":[],"required_present":["b33f04b56d0fd65f84fc6b3ba35a58c30e59da1ae2e24d3ea2db2fc4dddeda2a"]}},"tags":["broad-quality","preservation","checksum"]}, {"id":"broad-preservation-checksum-045","language":"en","script":"Latin","shape":"code","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"fixture_45 := `Published artifact checksum: db1dabc12fe5d65c54d75ed5f4bf5ded1c90a9cf88e61b6bb2cb89a70a90b0fc`","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":44,"end":108,"value":"db1dabc12fe5d65c54d75ed5f4bf5ded1c90a9cf88e61b6bb2cb89a70a90b0fc","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-045","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["db1dabc12fe5d65c54d75ed5f4bf5ded1c90a9cf88e61b6bb2cb89a70a90b0fc"]},"customers":{"required_absent":[],"required_present":["db1dabc12fe5d65c54d75ed5f4bf5ded1c90a9cf88e61b6bb2cb89a70a90b0fc"]},"all":{"required_absent":[],"required_present":["db1dabc12fe5d65c54d75ed5f4bf5ded1c90a9cf88e61b6bb2cb89a70a90b0fc"]}},"tags":["broad-quality","preservation","checksum"]}, {"id":"broad-preservation-checksum-046","language":"en","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"--\nPublished artifact checksum: b1ba7fcfbe3ea73f18a75a20e2ecb0b08d31e9ad28fd3bd9c98c5dbb1a19b78b","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":32,"end":96,"value":"b1ba7fcfbe3ea73f18a75a20e2ecb0b08d31e9ad28fd3bd9c98c5dbb1a19b78b","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-046","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["b1ba7fcfbe3ea73f18a75a20e2ecb0b08d31e9ad28fd3bd9c98c5dbb1a19b78b"]},"customers":{"required_absent":[],"required_present":["b1ba7fcfbe3ea73f18a75a20e2ecb0b08d31e9ad28fd3bd9c98c5dbb1a19b78b"]},"all":{"required_absent":[],"required_present":["b1ba7fcfbe3ea73f18a75a20e2ecb0b08d31e9ad28fd3bd9c98c5dbb1a19b78b"]}},"tags":["broad-quality","preservation","checksum"]}, {"id":"broad-preservation-checksum-047","language":"en","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Published artifact checksum: dc8faabb0e85a9ccfec36d32c02b20e17cbae6bef2ecde22bc4d37cdae16fe1b","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":509,"end":573,"value":"dc8faabb0e85a9ccfec36d32c02b20e17cbae6bef2ecde22bc4d37cdae16fe1b","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-047","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["dc8faabb0e85a9ccfec36d32c02b20e17cbae6bef2ecde22bc4d37cdae16fe1b"]},"customers":{"required_absent":[],"required_present":["dc8faabb0e85a9ccfec36d32c02b20e17cbae6bef2ecde22bc4d37cdae16fe1b"]},"all":{"required_absent":[],"required_present":["dc8faabb0e85a9ccfec36d32c02b20e17cbae6bef2ecde22bc4d37cdae16fe1b"]}},"tags":["broad-quality","preservation","checksum"]}, - {"id":"broad-preservation-checksum-048","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"--sample=48 --message=\"Published artifact checksum: \" --value=daad1bd8fc57a05d05be1b6fc89ecdd33a0ef29e43aedb45adeb78a9ab27dc7d","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":62,"end":126,"value":"daad1bd8fc57a05d05be1b6fc89ecdd33a0ef29e43aedb45adeb78a9ab27dc7d","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-048","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["daad1bd8fc57a05d05be1b6fc89ecdd33a0ef29e43aedb45adeb78a9ab27dc7d"]},"customers":{"required_absent":[],"required_present":["daad1bd8fc57a05d05be1b6fc89ecdd33a0ef29e43aedb45adeb78a9ab27dc7d"]},"all":{"required_absent":[],"required_present":["daad1bd8fc57a05d05be1b6fc89ecdd33a0ef29e43aedb45adeb78a9ab27dc7d"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-048","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"--sample=48 --message=\"Published artifact checksum: \" --credential=\"daad1bd8fc57a05d05be1b6fc89ecdd33a0ef29e43aedb45adeb78a9ab27dc7d\"","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":68,"end":132,"value":"daad1bd8fc57a05d05be1b6fc89ecdd33a0ef29e43aedb45adeb78a9ab27dc7d","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-048","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["daad1bd8fc57a05d05be1b6fc89ecdd33a0ef29e43aedb45adeb78a9ab27dc7d"]},"customers":{"required_absent":[],"required_present":["daad1bd8fc57a05d05be1b6fc89ecdd33a0ef29e43aedb45adeb78a9ab27dc7d"]},"all":{"required_absent":[],"required_present":["daad1bd8fc57a05d05be1b6fc89ecdd33a0ef29e43aedb45adeb78a9ab27dc7d"]}},"tags":["broad-quality","preservation","checksum"]}, {"id":"broad-preservation-checksum-049","language":"en","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"Published artifact checksum: abcdfcc11ff9dc7b53be2e3cbada9bcbda5fd3fe75d3cdccd38ad4d3ca06f9da","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":29,"end":93,"value":"abcdfcc11ff9dc7b53be2e3cbada9bcbda5fd3fe75d3cdccd38ad4d3ca06f9da","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-049","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["abcdfcc11ff9dc7b53be2e3cbada9bcbda5fd3fe75d3cdccd38ad4d3ca06f9da"]},"customers":{"required_absent":[],"required_present":["abcdfcc11ff9dc7b53be2e3cbada9bcbda5fd3fe75d3cdccd38ad4d3ca06f9da"]},"all":{"required_absent":[],"required_present":["abcdfcc11ff9dc7b53be2e3cbada9bcbda5fd3fe75d3cdccd38ad4d3ca06f9da"]}},"tags":["broad-quality","preservation","checksum"]}, {"id":"broad-preservation-checksum-050","language":"en","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"{\"message_50\":\"Published artifact checksum: edad49c48aa9f95dc9ceab10e80e15ab9c16f7dcfbbf9e85ec2bffbcdf89c0da\"}","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":44,"end":108,"value":"edad49c48aa9f95dc9ceab10e80e15ab9c16f7dcfbbf9e85ec2bffbcdf89c0da","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-050","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["edad49c48aa9f95dc9ceab10e80e15ab9c16f7dcfbbf9e85ec2bffbcdf89c0da"]},"customers":{"required_absent":[],"required_present":["edad49c48aa9f95dc9ceab10e80e15ab9c16f7dcfbbf9e85ec2bffbcdf89c0da"]},"all":{"required_absent":[],"required_present":["edad49c48aa9f95dc9ceab10e80e15ab9c16f7dcfbbf9e85ec2bffbcdf89c0da"]}},"tags":["broad-quality","preservation","checksum"]}, - {"id":"broad-preservation-checksum-051","language":"en","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"message_51: Published artifact checksum: c16d75a6ea7fd5eeb5b01f42b6fcc9af4f4ba17b3fe21aabaa4da4eb3a5cdfdc","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":41,"end":105,"value":"c16d75a6ea7fd5eeb5b01f42b6fcc9af4f4ba17b3fe21aabaa4da4eb3a5cdfdc","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-051","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["c16d75a6ea7fd5eeb5b01f42b6fcc9af4f4ba17b3fe21aabaa4da4eb3a5cdfdc"]},"customers":{"required_absent":[],"required_present":["c16d75a6ea7fd5eeb5b01f42b6fcc9af4f4ba17b3fe21aabaa4da4eb3a5cdfdc"]},"all":{"required_absent":[],"required_present":["c16d75a6ea7fd5eeb5b01f42b6fcc9af4f4ba17b3fe21aabaa4da4eb3a5cdfdc"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-051","language":"en","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"message_51: \"Published artifact checksum: c16d75a6ea7fd5eeb5b01f42b6fcc9af4f4ba17b3fe21aabaa4da4eb3a5cdfdc\"","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":42,"end":106,"value":"c16d75a6ea7fd5eeb5b01f42b6fcc9af4f4ba17b3fe21aabaa4da4eb3a5cdfdc","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-051","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["c16d75a6ea7fd5eeb5b01f42b6fcc9af4f4ba17b3fe21aabaa4da4eb3a5cdfdc"]},"customers":{"required_absent":[],"required_present":["c16d75a6ea7fd5eeb5b01f42b6fcc9af4f4ba17b3fe21aabaa4da4eb3a5cdfdc"]},"all":{"required_absent":[],"required_present":["c16d75a6ea7fd5eeb5b01f42b6fcc9af4f4ba17b3fe21aabaa4da4eb3a5cdfdc"]}},"tags":["broad-quality","preservation","checksum"]}, {"id":"broad-preservation-checksum-052","language":"en","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"MESSAGE_52='Published artifact checksum: a91d13e1ee65db4a40f90e50f37f58a40c65f73c32cd1b4df7cbdbac4a35d47c'","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":41,"end":105,"value":"a91d13e1ee65db4a40f90e50f37f58a40c65f73c32cd1b4df7cbdbac4a35d47c","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-052","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["a91d13e1ee65db4a40f90e50f37f58a40c65f73c32cd1b4df7cbdbac4a35d47c"]},"customers":{"required_absent":[],"required_present":["a91d13e1ee65db4a40f90e50f37f58a40c65f73c32cd1b4df7cbdbac4a35d47c"]},"all":{"required_absent":[],"required_present":["a91d13e1ee65db4a40f90e50f37f58a40c65f73c32cd1b4df7cbdbac4a35d47c"]}},"tags":["broad-quality","preservation","checksum"]}, - {"id":"broad-preservation-checksum-053","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"endpoint=https://192.0.2.10/53 ; Published artifact checksum: d1cc37c38a4ed0eb7eb4be84d45e34dc2d71c6fb5ede5a0cc9eb30eb6e5dae5d","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":62,"end":126,"value":"d1cc37c38a4ed0eb7eb4be84d45e34dc2d71c6fb5ede5a0cc9eb30eb6e5dae5d","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-053","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["d1cc37c38a4ed0eb7eb4be84d45e34dc2d71c6fb5ede5a0cc9eb30eb6e5dae5d"]},"customers":{"required_absent":[],"required_present":["d1cc37c38a4ed0eb7eb4be84d45e34dc2d71c6fb5ede5a0cc9eb30eb6e5dae5d"]},"all":{"required_absent":[],"required_present":["d1cc37c38a4ed0eb7eb4be84d45e34dc2d71c6fb5ede5a0cc9eb30eb6e5dae5d"]}},"tags":["broad-quality","preservation","checksum"]}, - {"id":"broad-preservation-checksum-054","language":"en","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"**Published artifact checksum: e55b70e5ae10e88d6bc81ea8bf9e37e17b4ac77bc5e8af82aa8a7eb20e52b94f**","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":31,"end":95,"value":"e55b70e5ae10e88d6bc81ea8bf9e37e17b4ac77bc5e8af82aa8a7eb20e52b94f","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-054","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["e55b70e5ae10e88d6bc81ea8bf9e37e17b4ac77bc5e8af82aa8a7eb20e52b94f"]},"customers":{"required_absent":[],"required_present":["e55b70e5ae10e88d6bc81ea8bf9e37e17b4ac77bc5e8af82aa8a7eb20e52b94f"]},"all":{"required_absent":[],"required_present":["e55b70e5ae10e88d6bc81ea8bf9e37e17b4ac77bc5e8af82aa8a7eb20e52b94f"]}},"tags":["broad-quality","preservation","checksum"]}, - {"id":"broad-preservation-checksum-055","language":"en","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"\u003cp\u003ePublished artifact checksum: b68fcde6fd49ba9a48a90ad8cb9f06be3dd9b39c9ca03c76e96e5efe7dd9fd3a\u003c/p\u003e","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":32,"end":96,"value":"b68fcde6fd49ba9a48a90ad8cb9f06be3dd9b39c9ca03c76e96e5efe7dd9fd3a","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-055","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["b68fcde6fd49ba9a48a90ad8cb9f06be3dd9b39c9ca03c76e96e5efe7dd9fd3a"]},"customers":{"required_absent":[],"required_present":["b68fcde6fd49ba9a48a90ad8cb9f06be3dd9b39c9ca03c76e96e5efe7dd9fd3a"]},"all":{"required_absent":[],"required_present":["b68fcde6fd49ba9a48a90ad8cb9f06be3dd9b39c9ca03c76e96e5efe7dd9fd3a"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-053","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"endpoint=https://192.0.2.10/53?credential=d1cc37c38a4ed0eb7eb4be84d45e34dc2d71c6fb5ede5a0cc9eb30eb6e5dae5d\u0026note=Published+artifact+checksum%3A+","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":42,"end":106,"value":"d1cc37c38a4ed0eb7eb4be84d45e34dc2d71c6fb5ede5a0cc9eb30eb6e5dae5d","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-053","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["d1cc37c38a4ed0eb7eb4be84d45e34dc2d71c6fb5ede5a0cc9eb30eb6e5dae5d"]},"customers":{"required_absent":[],"required_present":["d1cc37c38a4ed0eb7eb4be84d45e34dc2d71c6fb5ede5a0cc9eb30eb6e5dae5d"]},"all":{"required_absent":[],"required_present":["d1cc37c38a4ed0eb7eb4be84d45e34dc2d71c6fb5ede5a0cc9eb30eb6e5dae5d"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-054","language":"en","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"Published artifact checksum: `e55b70e5ae10e88d6bc81ea8bf9e37e17b4ac77bc5e8af82aa8a7eb20e52b94f`","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":30,"end":94,"value":"e55b70e5ae10e88d6bc81ea8bf9e37e17b4ac77bc5e8af82aa8a7eb20e52b94f","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-054","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["e55b70e5ae10e88d6bc81ea8bf9e37e17b4ac77bc5e8af82aa8a7eb20e52b94f"]},"customers":{"required_absent":[],"required_present":["e55b70e5ae10e88d6bc81ea8bf9e37e17b4ac77bc5e8af82aa8a7eb20e52b94f"]},"all":{"required_absent":[],"required_present":["e55b70e5ae10e88d6bc81ea8bf9e37e17b4ac77bc5e8af82aa8a7eb20e52b94f"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-055","language":"en","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"\u003cp\u003ePublished artifact checksum: \u003ccode\u003eb68fcde6fd49ba9a48a90ad8cb9f06be3dd9b39c9ca03c76e96e5efe7dd9fd3a\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":38,"end":102,"value":"b68fcde6fd49ba9a48a90ad8cb9f06be3dd9b39c9ca03c76e96e5efe7dd9fd3a","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-055","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["b68fcde6fd49ba9a48a90ad8cb9f06be3dd9b39c9ca03c76e96e5efe7dd9fd3a"]},"customers":{"required_absent":[],"required_present":["b68fcde6fd49ba9a48a90ad8cb9f06be3dd9b39c9ca03c76e96e5efe7dd9fd3a"]},"all":{"required_absent":[],"required_present":["b68fcde6fd49ba9a48a90ad8cb9f06be3dd9b39c9ca03c76e96e5efe7dd9fd3a"]}},"tags":["broad-quality","preservation","checksum"]}, {"id":"broad-preservation-checksum-056","language":"en","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"\u003e Published artifact checksum: d61a51ceaf50a3ba45d3ba4dcbcf9db6cc98befd26dc7d4fa59e56bffe65b67d","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":31,"end":95,"value":"d61a51ceaf50a3ba45d3ba4dcbcf9db6cc98befd26dc7d4fa59e56bffe65b67d","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-056","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["d61a51ceaf50a3ba45d3ba4dcbcf9db6cc98befd26dc7d4fa59e56bffe65b67d"]},"customers":{"required_absent":[],"required_present":["d61a51ceaf50a3ba45d3ba4dcbcf9db6cc98befd26dc7d4fa59e56bffe65b67d"]},"all":{"required_absent":[],"required_present":["d61a51ceaf50a3ba45d3ba4dcbcf9db6cc98befd26dc7d4fa59e56bffe65b67d"]}},"tags":["broad-quality","preservation","checksum"]}, - {"id":"broad-preservation-checksum-057","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"level=warn sample=57 message=\"Published artifact checksum: \" value=b50b6ef0dcfaa02a7cd3bfb5a9ce2dbb2b6bdaab54ed0be6d03e20a53cabe5fb","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":67,"end":131,"value":"b50b6ef0dcfaa02a7cd3bfb5a9ce2dbb2b6bdaab54ed0be6d03e20a53cabe5fb","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-057","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["b50b6ef0dcfaa02a7cd3bfb5a9ce2dbb2b6bdaab54ed0be6d03e20a53cabe5fb"]},"customers":{"required_absent":[],"required_present":["b50b6ef0dcfaa02a7cd3bfb5a9ce2dbb2b6bdaab54ed0be6d03e20a53cabe5fb"]},"all":{"required_absent":[],"required_present":["b50b6ef0dcfaa02a7cd3bfb5a9ce2dbb2b6bdaab54ed0be6d03e20a53cabe5fb"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-057","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"level=warn sample=57 message=\"Published artifact checksum: \" credential=\"b50b6ef0dcfaa02a7cd3bfb5a9ce2dbb2b6bdaab54ed0be6d03e20a53cabe5fb\"","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":73,"end":137,"value":"b50b6ef0dcfaa02a7cd3bfb5a9ce2dbb2b6bdaab54ed0be6d03e20a53cabe5fb","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-057","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["b50b6ef0dcfaa02a7cd3bfb5a9ce2dbb2b6bdaab54ed0be6d03e20a53cabe5fb"]},"customers":{"required_absent":[],"required_present":["b50b6ef0dcfaa02a7cd3bfb5a9ce2dbb2b6bdaab54ed0be6d03e20a53cabe5fb"]},"all":{"required_absent":[],"required_present":["b50b6ef0dcfaa02a7cd3bfb5a9ce2dbb2b6bdaab54ed0be6d03e20a53cabe5fb"]}},"tags":["broad-quality","preservation","checksum"]}, {"id":"broad-preservation-checksum-058","language":"en","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"Trace[58]: Published artifact checksum: ff7d4fd82b60cc8b62f78fc1f85f16dbbe44ddad3df95e8dc54acaedfd0ea94d","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":40,"end":104,"value":"ff7d4fd82b60cc8b62f78fc1f85f16dbbe44ddad3df95e8dc54acaedfd0ea94d","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-058","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["ff7d4fd82b60cc8b62f78fc1f85f16dbbe44ddad3df95e8dc54acaedfd0ea94d"]},"customers":{"required_absent":[],"required_present":["ff7d4fd82b60cc8b62f78fc1f85f16dbbe44ddad3df95e8dc54acaedfd0ea94d"]},"all":{"required_absent":[],"required_present":["ff7d4fd82b60cc8b62f78fc1f85f16dbbe44ddad3df95e8dc54acaedfd0ea94d"]}},"tags":["broad-quality","preservation","checksum"]}, {"id":"broad-preservation-checksum-059","language":"en","script":"Latin","shape":"code","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"fixture_59 := `Published artifact checksum: a93fd4ec3a12ecfecbd84e95cb9ed9f61c10bbad74d59d20ceef6bc7cce5ce8a`","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":44,"end":108,"value":"a93fd4ec3a12ecfecbd84e95cb9ed9f61c10bbad74d59d20ceef6bc7cce5ce8a","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-059","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["a93fd4ec3a12ecfecbd84e95cb9ed9f61c10bbad74d59d20ceef6bc7cce5ce8a"]},"customers":{"required_absent":[],"required_present":["a93fd4ec3a12ecfecbd84e95cb9ed9f61c10bbad74d59d20ceef6bc7cce5ce8a"]},"all":{"required_absent":[],"required_present":["a93fd4ec3a12ecfecbd84e95cb9ed9f61c10bbad74d59d20ceef6bc7cce5ce8a"]}},"tags":["broad-quality","preservation","checksum"]}, {"id":"broad-preservation-checksum-060","language":"en","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"--\nPublished artifact checksum: d2ca63d0fa4cf68a68e94e0acefb0baeae37d8ff9dbf0a1cf49ff8a7ff63d57c","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":32,"end":96,"value":"d2ca63d0fa4cf68a68e94e0acefb0baeae37d8ff9dbf0a1cf49ff8a7ff63d57c","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-060","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["d2ca63d0fa4cf68a68e94e0acefb0baeae37d8ff9dbf0a1cf49ff8a7ff63d57c"]},"customers":{"required_absent":[],"required_present":["d2ca63d0fa4cf68a68e94e0acefb0baeae37d8ff9dbf0a1cf49ff8a7ff63d57c"]},"all":{"required_absent":[],"required_present":["d2ca63d0fa4cf68a68e94e0acefb0baeae37d8ff9dbf0a1cf49ff8a7ff63d57c"]}},"tags":["broad-quality","preservation","checksum"]}, {"id":"broad-preservation-checksum-061","language":"en","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Published artifact checksum: ebcda6e23c6be95e18e3ee83d6da9cf0ec4df96e3af4dd7fb8fe13ca1bebdacc","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":509,"end":573,"value":"ebcda6e23c6be95e18e3ee83d6da9cf0ec4df96e3af4dd7fb8fe13ca1bebdacc","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-061","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["ebcda6e23c6be95e18e3ee83d6da9cf0ec4df96e3af4dd7fb8fe13ca1bebdacc"]},"customers":{"required_absent":[],"required_present":["ebcda6e23c6be95e18e3ee83d6da9cf0ec4df96e3af4dd7fb8fe13ca1bebdacc"]},"all":{"required_absent":[],"required_present":["ebcda6e23c6be95e18e3ee83d6da9cf0ec4df96e3af4dd7fb8fe13ca1bebdacc"]}},"tags":["broad-quality","preservation","checksum"]}, - {"id":"broad-preservation-checksum-062","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"--sample=62 --message=\"Published artifact checksum: \" --value=dd0ad4a55ae0e17c03cd4da2e9ef52bceccdd6bcfeefbfb7fa8ff1ea1c31aacf","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":62,"end":126,"value":"dd0ad4a55ae0e17c03cd4da2e9ef52bceccdd6bcfeefbfb7fa8ff1ea1c31aacf","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-062","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["dd0ad4a55ae0e17c03cd4da2e9ef52bceccdd6bcfeefbfb7fa8ff1ea1c31aacf"]},"customers":{"required_absent":[],"required_present":["dd0ad4a55ae0e17c03cd4da2e9ef52bceccdd6bcfeefbfb7fa8ff1ea1c31aacf"]},"all":{"required_absent":[],"required_present":["dd0ad4a55ae0e17c03cd4da2e9ef52bceccdd6bcfeefbfb7fa8ff1ea1c31aacf"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-062","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"--sample=62 --message=\"Published artifact checksum: \" --credential=\"dd0ad4a55ae0e17c03cd4da2e9ef52bceccdd6bcfeefbfb7fa8ff1ea1c31aacf\"","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":68,"end":132,"value":"dd0ad4a55ae0e17c03cd4da2e9ef52bceccdd6bcfeefbfb7fa8ff1ea1c31aacf","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-062","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["dd0ad4a55ae0e17c03cd4da2e9ef52bceccdd6bcfeefbfb7fa8ff1ea1c31aacf"]},"customers":{"required_absent":[],"required_present":["dd0ad4a55ae0e17c03cd4da2e9ef52bceccdd6bcfeefbfb7fa8ff1ea1c31aacf"]},"all":{"required_absent":[],"required_present":["dd0ad4a55ae0e17c03cd4da2e9ef52bceccdd6bcfeefbfb7fa8ff1ea1c31aacf"]}},"tags":["broad-quality","preservation","checksum"]}, {"id":"broad-preservation-checksum-063","language":"en","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"Published artifact checksum: df2c54a18a78d07f93a96eadc3eccba96f35a87a4ae20abab44f61bb1bb2f33d","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":29,"end":93,"value":"df2c54a18a78d07f93a96eadc3eccba96f35a87a4ae20abab44f61bb1bb2f33d","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-063","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["df2c54a18a78d07f93a96eadc3eccba96f35a87a4ae20abab44f61bb1bb2f33d"]},"customers":{"required_absent":[],"required_present":["df2c54a18a78d07f93a96eadc3eccba96f35a87a4ae20abab44f61bb1bb2f33d"]},"all":{"required_absent":[],"required_present":["df2c54a18a78d07f93a96eadc3eccba96f35a87a4ae20abab44f61bb1bb2f33d"]}},"tags":["broad-quality","preservation","checksum"]}, {"id":"broad-preservation-checksum-064","language":"en","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"{\"message_64\":\"Published artifact checksum: afbbe0d3ace5c1eae3f85bb6b6ce9af58a51d0cbebf61b36d0dc4fdc9a59b29b\"}","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":44,"end":108,"value":"afbbe0d3ace5c1eae3f85bb6b6ce9af58a51d0cbebf61b36d0dc4fdc9a59b29b","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-064","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["afbbe0d3ace5c1eae3f85bb6b6ce9af58a51d0cbebf61b36d0dc4fdc9a59b29b"]},"customers":{"required_absent":[],"required_present":["afbbe0d3ace5c1eae3f85bb6b6ce9af58a51d0cbebf61b36d0dc4fdc9a59b29b"]},"all":{"required_absent":[],"required_present":["afbbe0d3ace5c1eae3f85bb6b6ce9af58a51d0cbebf61b36d0dc4fdc9a59b29b"]}},"tags":["broad-quality","preservation","checksum"]}, - {"id":"broad-preservation-checksum-065","language":"en","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"message_65: Published artifact checksum: e4dcbdae2b13ab4f7dfb3abada4fb7d87f6cfffdf6bccd2edf4deea05c69b4fc","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":41,"end":105,"value":"e4dcbdae2b13ab4f7dfb3abada4fb7d87f6cfffdf6bccd2edf4deea05c69b4fc","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-065","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["e4dcbdae2b13ab4f7dfb3abada4fb7d87f6cfffdf6bccd2edf4deea05c69b4fc"]},"customers":{"required_absent":[],"required_present":["e4dcbdae2b13ab4f7dfb3abada4fb7d87f6cfffdf6bccd2edf4deea05c69b4fc"]},"all":{"required_absent":[],"required_present":["e4dcbdae2b13ab4f7dfb3abada4fb7d87f6cfffdf6bccd2edf4deea05c69b4fc"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-065","language":"en","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"message_65: \"Published artifact checksum: e4dcbdae2b13ab4f7dfb3abada4fb7d87f6cfffdf6bccd2edf4deea05c69b4fc\"","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":42,"end":106,"value":"e4dcbdae2b13ab4f7dfb3abada4fb7d87f6cfffdf6bccd2edf4deea05c69b4fc","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-065","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["e4dcbdae2b13ab4f7dfb3abada4fb7d87f6cfffdf6bccd2edf4deea05c69b4fc"]},"customers":{"required_absent":[],"required_present":["e4dcbdae2b13ab4f7dfb3abada4fb7d87f6cfffdf6bccd2edf4deea05c69b4fc"]},"all":{"required_absent":[],"required_present":["e4dcbdae2b13ab4f7dfb3abada4fb7d87f6cfffdf6bccd2edf4deea05c69b4fc"]}},"tags":["broad-quality","preservation","checksum"]}, {"id":"broad-preservation-checksum-066","language":"en","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"MESSAGE_66='Published artifact checksum: d6cc7bbf0af9c29c4ea8cf8eadabbde6bdf4c56c36a07ed5a5eb28a75ecbea4d'","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":41,"end":105,"value":"d6cc7bbf0af9c29c4ea8cf8eadabbde6bdf4c56c36a07ed5a5eb28a75ecbea4d","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-066","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["d6cc7bbf0af9c29c4ea8cf8eadabbde6bdf4c56c36a07ed5a5eb28a75ecbea4d"]},"customers":{"required_absent":[],"required_present":["d6cc7bbf0af9c29c4ea8cf8eadabbde6bdf4c56c36a07ed5a5eb28a75ecbea4d"]},"all":{"required_absent":[],"required_present":["d6cc7bbf0af9c29c4ea8cf8eadabbde6bdf4c56c36a07ed5a5eb28a75ecbea4d"]}},"tags":["broad-quality","preservation","checksum"]}, - {"id":"broad-preservation-checksum-067","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"endpoint=https://192.0.2.10/67 ; Published artifact checksum: a95c6eff4e91f16ac7f23a12c6afc6af9d51d03b74a92c89ca5eb6e07c1ee36e","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":62,"end":126,"value":"a95c6eff4e91f16ac7f23a12c6afc6af9d51d03b74a92c89ca5eb6e07c1ee36e","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-067","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["a95c6eff4e91f16ac7f23a12c6afc6af9d51d03b74a92c89ca5eb6e07c1ee36e"]},"customers":{"required_absent":[],"required_present":["a95c6eff4e91f16ac7f23a12c6afc6af9d51d03b74a92c89ca5eb6e07c1ee36e"]},"all":{"required_absent":[],"required_present":["a95c6eff4e91f16ac7f23a12c6afc6af9d51d03b74a92c89ca5eb6e07c1ee36e"]}},"tags":["broad-quality","preservation","checksum"]}, - {"id":"broad-preservation-checksum-068","language":"en","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"**Published artifact checksum: f04fe7b9ebf2cb8fcee0cd07b84ef6cfbdf7a17abbc5ef96eaeabba46f42ffaf**","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":31,"end":95,"value":"f04fe7b9ebf2cb8fcee0cd07b84ef6cfbdf7a17abbc5ef96eaeabba46f42ffaf","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-068","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["f04fe7b9ebf2cb8fcee0cd07b84ef6cfbdf7a17abbc5ef96eaeabba46f42ffaf"]},"customers":{"required_absent":[],"required_present":["f04fe7b9ebf2cb8fcee0cd07b84ef6cfbdf7a17abbc5ef96eaeabba46f42ffaf"]},"all":{"required_absent":[],"required_present":["f04fe7b9ebf2cb8fcee0cd07b84ef6cfbdf7a17abbc5ef96eaeabba46f42ffaf"]}},"tags":["broad-quality","preservation","checksum"]}, - {"id":"broad-preservation-checksum-069","language":"en","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"\u003cp\u003ePublished artifact checksum: d0db9bb50f7ade2c93fedae8e23bd3a10ca5c34a57cc1ea3e66d07f0ec60a70d\u003c/p\u003e","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":32,"end":96,"value":"d0db9bb50f7ade2c93fedae8e23bd3a10ca5c34a57cc1ea3e66d07f0ec60a70d","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-069","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["d0db9bb50f7ade2c93fedae8e23bd3a10ca5c34a57cc1ea3e66d07f0ec60a70d"]},"customers":{"required_absent":[],"required_present":["d0db9bb50f7ade2c93fedae8e23bd3a10ca5c34a57cc1ea3e66d07f0ec60a70d"]},"all":{"required_absent":[],"required_present":["d0db9bb50f7ade2c93fedae8e23bd3a10ca5c34a57cc1ea3e66d07f0ec60a70d"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-067","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"endpoint=https://192.0.2.10/67?credential=a95c6eff4e91f16ac7f23a12c6afc6af9d51d03b74a92c89ca5eb6e07c1ee36e\u0026note=Published+artifact+checksum%3A+","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":42,"end":106,"value":"a95c6eff4e91f16ac7f23a12c6afc6af9d51d03b74a92c89ca5eb6e07c1ee36e","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-067","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["a95c6eff4e91f16ac7f23a12c6afc6af9d51d03b74a92c89ca5eb6e07c1ee36e"]},"customers":{"required_absent":[],"required_present":["a95c6eff4e91f16ac7f23a12c6afc6af9d51d03b74a92c89ca5eb6e07c1ee36e"]},"all":{"required_absent":[],"required_present":["a95c6eff4e91f16ac7f23a12c6afc6af9d51d03b74a92c89ca5eb6e07c1ee36e"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-068","language":"en","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"Published artifact checksum: `f04fe7b9ebf2cb8fcee0cd07b84ef6cfbdf7a17abbc5ef96eaeabba46f42ffaf`","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":30,"end":94,"value":"f04fe7b9ebf2cb8fcee0cd07b84ef6cfbdf7a17abbc5ef96eaeabba46f42ffaf","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-068","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["f04fe7b9ebf2cb8fcee0cd07b84ef6cfbdf7a17abbc5ef96eaeabba46f42ffaf"]},"customers":{"required_absent":[],"required_present":["f04fe7b9ebf2cb8fcee0cd07b84ef6cfbdf7a17abbc5ef96eaeabba46f42ffaf"]},"all":{"required_absent":[],"required_present":["f04fe7b9ebf2cb8fcee0cd07b84ef6cfbdf7a17abbc5ef96eaeabba46f42ffaf"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-069","language":"en","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"\u003cp\u003ePublished artifact checksum: \u003ccode\u003ed0db9bb50f7ade2c93fedae8e23bd3a10ca5c34a57cc1ea3e66d07f0ec60a70d\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":38,"end":102,"value":"d0db9bb50f7ade2c93fedae8e23bd3a10ca5c34a57cc1ea3e66d07f0ec60a70d","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-069","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["d0db9bb50f7ade2c93fedae8e23bd3a10ca5c34a57cc1ea3e66d07f0ec60a70d"]},"customers":{"required_absent":[],"required_present":["d0db9bb50f7ade2c93fedae8e23bd3a10ca5c34a57cc1ea3e66d07f0ec60a70d"]},"all":{"required_absent":[],"required_present":["d0db9bb50f7ade2c93fedae8e23bd3a10ca5c34a57cc1ea3e66d07f0ec60a70d"]}},"tags":["broad-quality","preservation","checksum"]}, {"id":"broad-preservation-checksum-070","language":"en","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"\u003e Published artifact checksum: a62b77ef1f3da22f24c2adb8cb7a1ecb1bffd6da73d7fd9bf3ed42bd6edef2be","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":31,"end":95,"value":"a62b77ef1f3da22f24c2adb8cb7a1ecb1bffd6da73d7fd9bf3ed42bd6edef2be","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-070","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["a62b77ef1f3da22f24c2adb8cb7a1ecb1bffd6da73d7fd9bf3ed42bd6edef2be"]},"customers":{"required_absent":[],"required_present":["a62b77ef1f3da22f24c2adb8cb7a1ecb1bffd6da73d7fd9bf3ed42bd6edef2be"]},"all":{"required_absent":[],"required_present":["a62b77ef1f3da22f24c2adb8cb7a1ecb1bffd6da73d7fd9bf3ed42bd6edef2be"]}},"tags":["broad-quality","preservation","checksum"]}, - {"id":"broad-preservation-checksum-071","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"level=warn sample=71 message=\"Published artifact checksum: \" value=d3ee6afa2f98d1ffded25d83c12b4bc0cae7b99f5ce53c6ab7cc5de2bcc5d8da","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":67,"end":131,"value":"d3ee6afa2f98d1ffded25d83c12b4bc0cae7b99f5ce53c6ab7cc5de2bcc5d8da","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-071","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["d3ee6afa2f98d1ffded25d83c12b4bc0cae7b99f5ce53c6ab7cc5de2bcc5d8da"]},"customers":{"required_absent":[],"required_present":["d3ee6afa2f98d1ffded25d83c12b4bc0cae7b99f5ce53c6ab7cc5de2bcc5d8da"]},"all":{"required_absent":[],"required_present":["d3ee6afa2f98d1ffded25d83c12b4bc0cae7b99f5ce53c6ab7cc5de2bcc5d8da"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-071","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"level=warn sample=71 message=\"Published artifact checksum: \" credential=\"d3ee6afa2f98d1ffded25d83c12b4bc0cae7b99f5ce53c6ab7cc5de2bcc5d8da\"","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":73,"end":137,"value":"d3ee6afa2f98d1ffded25d83c12b4bc0cae7b99f5ce53c6ab7cc5de2bcc5d8da","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-071","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["d3ee6afa2f98d1ffded25d83c12b4bc0cae7b99f5ce53c6ab7cc5de2bcc5d8da"]},"customers":{"required_absent":[],"required_present":["d3ee6afa2f98d1ffded25d83c12b4bc0cae7b99f5ce53c6ab7cc5de2bcc5d8da"]},"all":{"required_absent":[],"required_present":["d3ee6afa2f98d1ffded25d83c12b4bc0cae7b99f5ce53c6ab7cc5de2bcc5d8da"]}},"tags":["broad-quality","preservation","checksum"]}, {"id":"broad-preservation-checksum-072","language":"en","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"Trace[72]: Published artifact checksum: a5ec80fc8fabd10efab14c42cc2cd4eb4f33cf7c13a3ca5ac26f43cecf36e94a","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":40,"end":104,"value":"a5ec80fc8fabd10efab14c42cc2cd4eb4f33cf7c13a3ca5ac26f43cecf36e94a","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-072","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["a5ec80fc8fabd10efab14c42cc2cd4eb4f33cf7c13a3ca5ac26f43cecf36e94a"]},"customers":{"required_absent":[],"required_present":["a5ec80fc8fabd10efab14c42cc2cd4eb4f33cf7c13a3ca5ac26f43cecf36e94a"]},"all":{"required_absent":[],"required_present":["a5ec80fc8fabd10efab14c42cc2cd4eb4f33cf7c13a3ca5ac26f43cecf36e94a"]}},"tags":["broad-quality","preservation","checksum"]}, {"id":"broad-preservation-checksum-073","language":"en","script":"Latin","shape":"code","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"fixture_73 := `Published artifact checksum: edcbc5ec6e0fd18a94a9cd7fcfda71a8ac6fd5fff2eb5dfba06f17fe6cdfbaae`","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":44,"end":108,"value":"edcbc5ec6e0fd18a94a9cd7fcfda71a8ac6fd5fff2eb5dfba06f17fe6cdfbaae","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-073","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["edcbc5ec6e0fd18a94a9cd7fcfda71a8ac6fd5fff2eb5dfba06f17fe6cdfbaae"]},"customers":{"required_absent":[],"required_present":["edcbc5ec6e0fd18a94a9cd7fcfda71a8ac6fd5fff2eb5dfba06f17fe6cdfbaae"]},"all":{"required_absent":[],"required_present":["edcbc5ec6e0fd18a94a9cd7fcfda71a8ac6fd5fff2eb5dfba06f17fe6cdfbaae"]}},"tags":["broad-quality","preservation","checksum"]}, {"id":"broad-preservation-checksum-074","language":"en","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"--\nPublished artifact checksum: df1f23b61e41e36baac5ae5ea84db4a7dfc2d55fe7bacc54ef5f00dd6a78c5fc","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":32,"end":96,"value":"df1f23b61e41e36baac5ae5ea84db4a7dfc2d55fe7bacc54ef5f00dd6a78c5fc","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-074","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["df1f23b61e41e36baac5ae5ea84db4a7dfc2d55fe7bacc54ef5f00dd6a78c5fc"]},"customers":{"required_absent":[],"required_present":["df1f23b61e41e36baac5ae5ea84db4a7dfc2d55fe7bacc54ef5f00dd6a78c5fc"]},"all":{"required_absent":[],"required_present":["df1f23b61e41e36baac5ae5ea84db4a7dfc2d55fe7bacc54ef5f00dd6a78c5fc"]}},"tags":["broad-quality","preservation","checksum"]}, {"id":"broad-preservation-checksum-075","language":"en","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Published artifact checksum: b07d2bf13fb3c6cfafeddbede9db30ef2ef2be8f59eeecfecdfa60b3fd5fb5ed","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":509,"end":573,"value":"b07d2bf13fb3c6cfafeddbede9db30ef2ef2be8f59eeecfecdfa60b3fd5fb5ed","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-075","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["b07d2bf13fb3c6cfafeddbede9db30ef2ef2be8f59eeecfecdfa60b3fd5fb5ed"]},"customers":{"required_absent":[],"required_present":["b07d2bf13fb3c6cfafeddbede9db30ef2ef2be8f59eeecfecdfa60b3fd5fb5ed"]},"all":{"required_absent":[],"required_present":["b07d2bf13fb3c6cfafeddbede9db30ef2ef2be8f59eeecfecdfa60b3fd5fb5ed"]}},"tags":["broad-quality","preservation","checksum"]}, - {"id":"broad-preservation-checksum-076","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"--sample=76 --message=\"Published artifact checksum: \" --value=c8ffe4f0fa7dd05f30b2ac7de78e18a3bceaed3a23c88cd4f74fe3ad4e3ee8ce","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":62,"end":126,"value":"c8ffe4f0fa7dd05f30b2ac7de78e18a3bceaed3a23c88cd4f74fe3ad4e3ee8ce","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-076","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["c8ffe4f0fa7dd05f30b2ac7de78e18a3bceaed3a23c88cd4f74fe3ad4e3ee8ce"]},"customers":{"required_absent":[],"required_present":["c8ffe4f0fa7dd05f30b2ac7de78e18a3bceaed3a23c88cd4f74fe3ad4e3ee8ce"]},"all":{"required_absent":[],"required_present":["c8ffe4f0fa7dd05f30b2ac7de78e18a3bceaed3a23c88cd4f74fe3ad4e3ee8ce"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-076","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"--sample=76 --message=\"Published artifact checksum: \" --credential=\"c8ffe4f0fa7dd05f30b2ac7de78e18a3bceaed3a23c88cd4f74fe3ad4e3ee8ce\"","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":68,"end":132,"value":"c8ffe4f0fa7dd05f30b2ac7de78e18a3bceaed3a23c88cd4f74fe3ad4e3ee8ce","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-076","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["c8ffe4f0fa7dd05f30b2ac7de78e18a3bceaed3a23c88cd4f74fe3ad4e3ee8ce"]},"customers":{"required_absent":[],"required_present":["c8ffe4f0fa7dd05f30b2ac7de78e18a3bceaed3a23c88cd4f74fe3ad4e3ee8ce"]},"all":{"required_absent":[],"required_present":["c8ffe4f0fa7dd05f30b2ac7de78e18a3bceaed3a23c88cd4f74fe3ad4e3ee8ce"]}},"tags":["broad-quality","preservation","checksum"]}, {"id":"broad-preservation-checksum-077","language":"en","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"Published artifact checksum: ca4ac2cd2a4bf70df5aced98e60cd6cd4bbcc2dc72f15f9acd2db2c6afd1ba2c","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":29,"end":93,"value":"ca4ac2cd2a4bf70df5aced98e60cd6cd4bbcc2dc72f15f9acd2db2c6afd1ba2c","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-077","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["ca4ac2cd2a4bf70df5aced98e60cd6cd4bbcc2dc72f15f9acd2db2c6afd1ba2c"]},"customers":{"required_absent":[],"required_present":["ca4ac2cd2a4bf70df5aced98e60cd6cd4bbcc2dc72f15f9acd2db2c6afd1ba2c"]},"all":{"required_absent":[],"required_present":["ca4ac2cd2a4bf70df5aced98e60cd6cd4bbcc2dc72f15f9acd2db2c6afd1ba2c"]}},"tags":["broad-quality","preservation","checksum"]}, {"id":"broad-preservation-checksum-078","language":"en","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"{\"message_78\":\"Published artifact checksum: e1bc00e79bb0a1fa5cadaeb0e47f01e97b59afdbeeed1b83f54f75ceeea0ad5e\"}","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":44,"end":108,"value":"e1bc00e79bb0a1fa5cadaeb0e47f01e97b59afdbeeed1b83f54f75ceeea0ad5e","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-078","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["e1bc00e79bb0a1fa5cadaeb0e47f01e97b59afdbeeed1b83f54f75ceeea0ad5e"]},"customers":{"required_absent":[],"required_present":["e1bc00e79bb0a1fa5cadaeb0e47f01e97b59afdbeeed1b83f54f75ceeea0ad5e"]},"all":{"required_absent":[],"required_present":["e1bc00e79bb0a1fa5cadaeb0e47f01e97b59afdbeeed1b83f54f75ceeea0ad5e"]}},"tags":["broad-quality","preservation","checksum"]}, - {"id":"broad-preservation-checksum-079","language":"en","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"message_79: Published artifact checksum: e26e15fabafcaf0ba2fabca5ceccb8f61c7ab15f1dcb4cdcd6cb83ea2bd4cf3a","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":41,"end":105,"value":"e26e15fabafcaf0ba2fabca5ceccb8f61c7ab15f1dcb4cdcd6cb83ea2bd4cf3a","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-079","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["e26e15fabafcaf0ba2fabca5ceccb8f61c7ab15f1dcb4cdcd6cb83ea2bd4cf3a"]},"customers":{"required_absent":[],"required_present":["e26e15fabafcaf0ba2fabca5ceccb8f61c7ab15f1dcb4cdcd6cb83ea2bd4cf3a"]},"all":{"required_absent":[],"required_present":["e26e15fabafcaf0ba2fabca5ceccb8f61c7ab15f1dcb4cdcd6cb83ea2bd4cf3a"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-079","language":"en","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"message_79: \"Published artifact checksum: e26e15fabafcaf0ba2fabca5ceccb8f61c7ab15f1dcb4cdcd6cb83ea2bd4cf3a\"","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":42,"end":106,"value":"e26e15fabafcaf0ba2fabca5ceccb8f61c7ab15f1dcb4cdcd6cb83ea2bd4cf3a","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-079","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["e26e15fabafcaf0ba2fabca5ceccb8f61c7ab15f1dcb4cdcd6cb83ea2bd4cf3a"]},"customers":{"required_absent":[],"required_present":["e26e15fabafcaf0ba2fabca5ceccb8f61c7ab15f1dcb4cdcd6cb83ea2bd4cf3a"]},"all":{"required_absent":[],"required_present":["e26e15fabafcaf0ba2fabca5ceccb8f61c7ab15f1dcb4cdcd6cb83ea2bd4cf3a"]}},"tags":["broad-quality","preservation","checksum"]}, {"id":"broad-preservation-checksum-080","language":"en","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"MESSAGE_80='Published artifact checksum: df0e18b32dafe81eccf7ca0bc90f9fc24d34b16b2deddbbac03aa9fb2f7ee81d'","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":41,"end":105,"value":"df0e18b32dafe81eccf7ca0bc90f9fc24d34b16b2deddbbac03aa9fb2f7ee81d","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-080","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["df0e18b32dafe81eccf7ca0bc90f9fc24d34b16b2deddbbac03aa9fb2f7ee81d"]},"customers":{"required_absent":[],"required_present":["df0e18b32dafe81eccf7ca0bc90f9fc24d34b16b2deddbbac03aa9fb2f7ee81d"]},"all":{"required_absent":[],"required_present":["df0e18b32dafe81eccf7ca0bc90f9fc24d34b16b2deddbbac03aa9fb2f7ee81d"]}},"tags":["broad-quality","preservation","checksum"]}, - {"id":"broad-preservation-checksum-081","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"endpoint=https://192.0.2.10/81 ; Published artifact checksum: d2bfefc8eb6da93dfac71e4eed0d73ecfedba2ec4cba2e82a53a63cb5e27c33b","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":62,"end":126,"value":"d2bfefc8eb6da93dfac71e4eed0d73ecfedba2ec4cba2e82a53a63cb5e27c33b","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-081","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["d2bfefc8eb6da93dfac71e4eed0d73ecfedba2ec4cba2e82a53a63cb5e27c33b"]},"customers":{"required_absent":[],"required_present":["d2bfefc8eb6da93dfac71e4eed0d73ecfedba2ec4cba2e82a53a63cb5e27c33b"]},"all":{"required_absent":[],"required_present":["d2bfefc8eb6da93dfac71e4eed0d73ecfedba2ec4cba2e82a53a63cb5e27c33b"]}},"tags":["broad-quality","preservation","checksum"]}, - {"id":"broad-preservation-checksum-082","language":"en","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"**Published artifact checksum: c69b26ce2a19d84f0cc8cb52b98b9de74abcc66e7bc5ae69e10e74fafc4da3bd**","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":31,"end":95,"value":"c69b26ce2a19d84f0cc8cb52b98b9de74abcc66e7bc5ae69e10e74fafc4da3bd","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-082","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["c69b26ce2a19d84f0cc8cb52b98b9de74abcc66e7bc5ae69e10e74fafc4da3bd"]},"customers":{"required_absent":[],"required_present":["c69b26ce2a19d84f0cc8cb52b98b9de74abcc66e7bc5ae69e10e74fafc4da3bd"]},"all":{"required_absent":[],"required_present":["c69b26ce2a19d84f0cc8cb52b98b9de74abcc66e7bc5ae69e10e74fafc4da3bd"]}},"tags":["broad-quality","preservation","checksum"]}, - {"id":"broad-preservation-checksum-083","language":"en","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"\u003cp\u003ePublished artifact checksum: fedea4a38de5ad4cf0aebf52ff6a8fe7fca7eada1aec4eb9cd7cd2f87f0da02b\u003c/p\u003e","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":32,"end":96,"value":"fedea4a38de5ad4cf0aebf52ff6a8fe7fca7eada1aec4eb9cd7cd2f87f0da02b","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-083","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["fedea4a38de5ad4cf0aebf52ff6a8fe7fca7eada1aec4eb9cd7cd2f87f0da02b"]},"customers":{"required_absent":[],"required_present":["fedea4a38de5ad4cf0aebf52ff6a8fe7fca7eada1aec4eb9cd7cd2f87f0da02b"]},"all":{"required_absent":[],"required_present":["fedea4a38de5ad4cf0aebf52ff6a8fe7fca7eada1aec4eb9cd7cd2f87f0da02b"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-081","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"endpoint=https://192.0.2.10/81?credential=d2bfefc8eb6da93dfac71e4eed0d73ecfedba2ec4cba2e82a53a63cb5e27c33b\u0026note=Published+artifact+checksum%3A+","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":42,"end":106,"value":"d2bfefc8eb6da93dfac71e4eed0d73ecfedba2ec4cba2e82a53a63cb5e27c33b","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-081","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["d2bfefc8eb6da93dfac71e4eed0d73ecfedba2ec4cba2e82a53a63cb5e27c33b"]},"customers":{"required_absent":[],"required_present":["d2bfefc8eb6da93dfac71e4eed0d73ecfedba2ec4cba2e82a53a63cb5e27c33b"]},"all":{"required_absent":[],"required_present":["d2bfefc8eb6da93dfac71e4eed0d73ecfedba2ec4cba2e82a53a63cb5e27c33b"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-082","language":"en","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"Published artifact checksum: `c69b26ce2a19d84f0cc8cb52b98b9de74abcc66e7bc5ae69e10e74fafc4da3bd`","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":30,"end":94,"value":"c69b26ce2a19d84f0cc8cb52b98b9de74abcc66e7bc5ae69e10e74fafc4da3bd","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-082","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["c69b26ce2a19d84f0cc8cb52b98b9de74abcc66e7bc5ae69e10e74fafc4da3bd"]},"customers":{"required_absent":[],"required_present":["c69b26ce2a19d84f0cc8cb52b98b9de74abcc66e7bc5ae69e10e74fafc4da3bd"]},"all":{"required_absent":[],"required_present":["c69b26ce2a19d84f0cc8cb52b98b9de74abcc66e7bc5ae69e10e74fafc4da3bd"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-083","language":"en","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"\u003cp\u003ePublished artifact checksum: \u003ccode\u003efedea4a38de5ad4cf0aebf52ff6a8fe7fca7eada1aec4eb9cd7cd2f87f0da02b\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":38,"end":102,"value":"fedea4a38de5ad4cf0aebf52ff6a8fe7fca7eada1aec4eb9cd7cd2f87f0da02b","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-083","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["fedea4a38de5ad4cf0aebf52ff6a8fe7fca7eada1aec4eb9cd7cd2f87f0da02b"]},"customers":{"required_absent":[],"required_present":["fedea4a38de5ad4cf0aebf52ff6a8fe7fca7eada1aec4eb9cd7cd2f87f0da02b"]},"all":{"required_absent":[],"required_present":["fedea4a38de5ad4cf0aebf52ff6a8fe7fca7eada1aec4eb9cd7cd2f87f0da02b"]}},"tags":["broad-quality","preservation","checksum"]}, {"id":"broad-preservation-checksum-084","language":"en","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"\u003e Published artifact checksum: c22e15a7bf29a03b21bb8d95b94a67a76f81d92bada8cc54d12aceb5df9fac8e","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":31,"end":95,"value":"c22e15a7bf29a03b21bb8d95b94a67a76f81d92bada8cc54d12aceb5df9fac8e","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-084","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["c22e15a7bf29a03b21bb8d95b94a67a76f81d92bada8cc54d12aceb5df9fac8e"]},"customers":{"required_absent":[],"required_present":["c22e15a7bf29a03b21bb8d95b94a67a76f81d92bada8cc54d12aceb5df9fac8e"]},"all":{"required_absent":[],"required_present":["c22e15a7bf29a03b21bb8d95b94a67a76f81d92bada8cc54d12aceb5df9fac8e"]}},"tags":["broad-quality","preservation","checksum"]}, - {"id":"broad-preservation-checksum-085","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"level=warn sample=85 message=\"Published artifact checksum: \" value=c1caf0eebc09a66bd9af0bd7c89b9aeaac6fb49d45aa5ddce26decf7abbadf5c","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":67,"end":131,"value":"c1caf0eebc09a66bd9af0bd7c89b9aeaac6fb49d45aa5ddce26decf7abbadf5c","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-085","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["c1caf0eebc09a66bd9af0bd7c89b9aeaac6fb49d45aa5ddce26decf7abbadf5c"]},"customers":{"required_absent":[],"required_present":["c1caf0eebc09a66bd9af0bd7c89b9aeaac6fb49d45aa5ddce26decf7abbadf5c"]},"all":{"required_absent":[],"required_present":["c1caf0eebc09a66bd9af0bd7c89b9aeaac6fb49d45aa5ddce26decf7abbadf5c"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-085","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"level=warn sample=85 message=\"Published artifact checksum: \" credential=\"c1caf0eebc09a66bd9af0bd7c89b9aeaac6fb49d45aa5ddce26decf7abbadf5c\"","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":73,"end":137,"value":"c1caf0eebc09a66bd9af0bd7c89b9aeaac6fb49d45aa5ddce26decf7abbadf5c","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-085","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["c1caf0eebc09a66bd9af0bd7c89b9aeaac6fb49d45aa5ddce26decf7abbadf5c"]},"customers":{"required_absent":[],"required_present":["c1caf0eebc09a66bd9af0bd7c89b9aeaac6fb49d45aa5ddce26decf7abbadf5c"]},"all":{"required_absent":[],"required_present":["c1caf0eebc09a66bd9af0bd7c89b9aeaac6fb49d45aa5ddce26decf7abbadf5c"]}},"tags":["broad-quality","preservation","checksum"]}, {"id":"broad-preservation-checksum-086","language":"en","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"Trace[86]: Published artifact checksum: c5ecccab9f6dae6de4d41c7cad2f81f7bc23a38ef3e6acbcd4acc0a6fbe3e4ca","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":40,"end":104,"value":"c5ecccab9f6dae6de4d41c7cad2f81f7bc23a38ef3e6acbcd4acc0a6fbe3e4ca","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-086","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["c5ecccab9f6dae6de4d41c7cad2f81f7bc23a38ef3e6acbcd4acc0a6fbe3e4ca"]},"customers":{"required_absent":[],"required_present":["c5ecccab9f6dae6de4d41c7cad2f81f7bc23a38ef3e6acbcd4acc0a6fbe3e4ca"]},"all":{"required_absent":[],"required_present":["c5ecccab9f6dae6de4d41c7cad2f81f7bc23a38ef3e6acbcd4acc0a6fbe3e4ca"]}},"tags":["broad-quality","preservation","checksum"]}, {"id":"broad-preservation-checksum-087","language":"en","script":"Latin","shape":"code","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"fixture_87 := `Published artifact checksum: c9dccfed2fa3fc9cf6f0ba82ce2c0da96a54f7cee8c9aecdbcadafba9d2cfaab`","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":44,"end":108,"value":"c9dccfed2fa3fc9cf6f0ba82ce2c0da96a54f7cee8c9aecdbcadafba9d2cfaab","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-087","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["c9dccfed2fa3fc9cf6f0ba82ce2c0da96a54f7cee8c9aecdbcadafba9d2cfaab"]},"customers":{"required_absent":[],"required_present":["c9dccfed2fa3fc9cf6f0ba82ce2c0da96a54f7cee8c9aecdbcadafba9d2cfaab"]},"all":{"required_absent":[],"required_present":["c9dccfed2fa3fc9cf6f0ba82ce2c0da96a54f7cee8c9aecdbcadafba9d2cfaab"]}},"tags":["broad-quality","preservation","checksum"]}, {"id":"broad-preservation-checksum-088","language":"en","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"--\nPublished artifact checksum: dd7dd0a24d74ea4b90e56fbdf84cabe25e25cc9c31a73e08fc1c22c0cba2cc4c","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":32,"end":96,"value":"dd7dd0a24d74ea4b90e56fbdf84cabe25e25cc9c31a73e08fc1c22c0cba2cc4c","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-088","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["dd7dd0a24d74ea4b90e56fbdf84cabe25e25cc9c31a73e08fc1c22c0cba2cc4c"]},"customers":{"required_absent":[],"required_present":["dd7dd0a24d74ea4b90e56fbdf84cabe25e25cc9c31a73e08fc1c22c0cba2cc4c"]},"all":{"required_absent":[],"required_present":["dd7dd0a24d74ea4b90e56fbdf84cabe25e25cc9c31a73e08fc1c22c0cba2cc4c"]}},"tags":["broad-quality","preservation","checksum"]}, {"id":"broad-preservation-checksum-089","language":"en","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Published artifact checksum: a4ac3cc90b7cba7ca9c48e1eaf2ef3d3cb69d9ba6ede2ff2e90a5bed9dd7e47d","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":509,"end":573,"value":"a4ac3cc90b7cba7ca9c48e1eaf2ef3d3cb69d9ba6ede2ff2e90a5bed9dd7e47d","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-089","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["a4ac3cc90b7cba7ca9c48e1eaf2ef3d3cb69d9ba6ede2ff2e90a5bed9dd7e47d"]},"customers":{"required_absent":[],"required_present":["a4ac3cc90b7cba7ca9c48e1eaf2ef3d3cb69d9ba6ede2ff2e90a5bed9dd7e47d"]},"all":{"required_absent":[],"required_present":["a4ac3cc90b7cba7ca9c48e1eaf2ef3d3cb69d9ba6ede2ff2e90a5bed9dd7e47d"]}},"tags":["broad-quality","preservation","checksum"]}, - {"id":"broad-preservation-checksum-090","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"--sample=90 --message=\"Published artifact checksum: \" --value=d2aa73b57f0ae1cb30f93aacc82bccbf9d43edcae9a2db0cff1b70c22db8a1ef","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":62,"end":126,"value":"d2aa73b57f0ae1cb30f93aacc82bccbf9d43edcae9a2db0cff1b70c22db8a1ef","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-090","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["d2aa73b57f0ae1cb30f93aacc82bccbf9d43edcae9a2db0cff1b70c22db8a1ef"]},"customers":{"required_absent":[],"required_present":["d2aa73b57f0ae1cb30f93aacc82bccbf9d43edcae9a2db0cff1b70c22db8a1ef"]},"all":{"required_absent":[],"required_present":["d2aa73b57f0ae1cb30f93aacc82bccbf9d43edcae9a2db0cff1b70c22db8a1ef"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-090","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"--sample=90 --message=\"Published artifact checksum: \" --credential=\"d2aa73b57f0ae1cb30f93aacc82bccbf9d43edcae9a2db0cff1b70c22db8a1ef\"","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":68,"end":132,"value":"d2aa73b57f0ae1cb30f93aacc82bccbf9d43edcae9a2db0cff1b70c22db8a1ef","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-090","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["d2aa73b57f0ae1cb30f93aacc82bccbf9d43edcae9a2db0cff1b70c22db8a1ef"]},"customers":{"required_absent":[],"required_present":["d2aa73b57f0ae1cb30f93aacc82bccbf9d43edcae9a2db0cff1b70c22db8a1ef"]},"all":{"required_absent":[],"required_present":["d2aa73b57f0ae1cb30f93aacc82bccbf9d43edcae9a2db0cff1b70c22db8a1ef"]}},"tags":["broad-quality","preservation","checksum"]}, {"id":"broad-preservation-checksum-091","language":"en","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"Published artifact checksum: e5ca90ec5bdea2bbbcab7a3cdece60fe3a13f70adfa72b75c48e5dff7fe4cdda","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":29,"end":93,"value":"e5ca90ec5bdea2bbbcab7a3cdece60fe3a13f70adfa72b75c48e5dff7fe4cdda","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-091","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["e5ca90ec5bdea2bbbcab7a3cdece60fe3a13f70adfa72b75c48e5dff7fe4cdda"]},"customers":{"required_absent":[],"required_present":["e5ca90ec5bdea2bbbcab7a3cdece60fe3a13f70adfa72b75c48e5dff7fe4cdda"]},"all":{"required_absent":[],"required_present":["e5ca90ec5bdea2bbbcab7a3cdece60fe3a13f70adfa72b75c48e5dff7fe4cdda"]}},"tags":["broad-quality","preservation","checksum"]}, {"id":"broad-preservation-checksum-092","language":"en","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"{\"message_92\":\"Published artifact checksum: a9bc77e31f2ca0eae7d65b36d53b2ac02d32db2f7dbebc05a3aa4ecebd45e1ba\"}","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":44,"end":108,"value":"a9bc77e31f2ca0eae7d65b36d53b2ac02d32db2f7dbebc05a3aa4ecebd45e1ba","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-092","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["a9bc77e31f2ca0eae7d65b36d53b2ac02d32db2f7dbebc05a3aa4ecebd45e1ba"]},"customers":{"required_absent":[],"required_present":["a9bc77e31f2ca0eae7d65b36d53b2ac02d32db2f7dbebc05a3aa4ecebd45e1ba"]},"all":{"required_absent":[],"required_present":["a9bc77e31f2ca0eae7d65b36d53b2ac02d32db2f7dbebc05a3aa4ecebd45e1ba"]}},"tags":["broad-quality","preservation","checksum"]}, - {"id":"broad-preservation-checksum-093","language":"en","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"message_93: Published artifact checksum: d5dc99be1a11e45b45cefc70ed4d29ac3a16d4ea0fcbbc60c02b7da18c0ec30b","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":41,"end":105,"value":"d5dc99be1a11e45b45cefc70ed4d29ac3a16d4ea0fcbbc60c02b7da18c0ec30b","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-093","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["d5dc99be1a11e45b45cefc70ed4d29ac3a16d4ea0fcbbc60c02b7da18c0ec30b"]},"customers":{"required_absent":[],"required_present":["d5dc99be1a11e45b45cefc70ed4d29ac3a16d4ea0fcbbc60c02b7da18c0ec30b"]},"all":{"required_absent":[],"required_present":["d5dc99be1a11e45b45cefc70ed4d29ac3a16d4ea0fcbbc60c02b7da18c0ec30b"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-093","language":"en","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"message_93: \"Published artifact checksum: d5dc99be1a11e45b45cefc70ed4d29ac3a16d4ea0fcbbc60c02b7da18c0ec30b\"","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":42,"end":106,"value":"d5dc99be1a11e45b45cefc70ed4d29ac3a16d4ea0fcbbc60c02b7da18c0ec30b","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-093","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["d5dc99be1a11e45b45cefc70ed4d29ac3a16d4ea0fcbbc60c02b7da18c0ec30b"]},"customers":{"required_absent":[],"required_present":["d5dc99be1a11e45b45cefc70ed4d29ac3a16d4ea0fcbbc60c02b7da18c0ec30b"]},"all":{"required_absent":[],"required_present":["d5dc99be1a11e45b45cefc70ed4d29ac3a16d4ea0fcbbc60c02b7da18c0ec30b"]}},"tags":["broad-quality","preservation","checksum"]}, {"id":"broad-preservation-checksum-094","language":"en","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"MESSAGE_94='Published artifact checksum: e78a0facfa19c55b4dca5a8babbc4efacf3ddd0fefa47ceeec5cdecc6c0ddd1b'","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":41,"end":105,"value":"e78a0facfa19c55b4dca5a8babbc4efacf3ddd0fefa47ceeec5cdecc6c0ddd1b","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-094","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["e78a0facfa19c55b4dca5a8babbc4efacf3ddd0fefa47ceeec5cdecc6c0ddd1b"]},"customers":{"required_absent":[],"required_present":["e78a0facfa19c55b4dca5a8babbc4efacf3ddd0fefa47ceeec5cdecc6c0ddd1b"]},"all":{"required_absent":[],"required_present":["e78a0facfa19c55b4dca5a8babbc4efacf3ddd0fefa47ceeec5cdecc6c0ddd1b"]}},"tags":["broad-quality","preservation","checksum"]}, - {"id":"broad-preservation-checksum-095","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"endpoint=https://192.0.2.10/95 ; Published artifact checksum: f54ef6d84a19b21e7af11b92da6e75accd2dc5ecc3f1fcb4b75fd7ffdcfae82c","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":62,"end":126,"value":"f54ef6d84a19b21e7af11b92da6e75accd2dc5ecc3f1fcb4b75fd7ffdcfae82c","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-095","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["f54ef6d84a19b21e7af11b92da6e75accd2dc5ecc3f1fcb4b75fd7ffdcfae82c"]},"customers":{"required_absent":[],"required_present":["f54ef6d84a19b21e7af11b92da6e75accd2dc5ecc3f1fcb4b75fd7ffdcfae82c"]},"all":{"required_absent":[],"required_present":["f54ef6d84a19b21e7af11b92da6e75accd2dc5ecc3f1fcb4b75fd7ffdcfae82c"]}},"tags":["broad-quality","preservation","checksum"]}, - {"id":"broad-preservation-checksum-096","language":"en","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"**Published artifact checksum: eacab4bfcfefeadf75a49eade69d29c3bf9eb23b51c6fd8ad97dd6a04eb5eeca**","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":31,"end":95,"value":"eacab4bfcfefeadf75a49eade69d29c3bf9eb23b51c6fd8ad97dd6a04eb5eeca","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-096","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["eacab4bfcfefeadf75a49eade69d29c3bf9eb23b51c6fd8ad97dd6a04eb5eeca"]},"customers":{"required_absent":[],"required_present":["eacab4bfcfefeadf75a49eade69d29c3bf9eb23b51c6fd8ad97dd6a04eb5eeca"]},"all":{"required_absent":[],"required_present":["eacab4bfcfefeadf75a49eade69d29c3bf9eb23b51c6fd8ad97dd6a04eb5eeca"]}},"tags":["broad-quality","preservation","checksum"]}, - {"id":"broad-preservation-checksum-097","language":"en","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"\u003cp\u003ePublished artifact checksum: e84a59a50ad6fd8f48a36a4be9dd37d1bf05a6cbc7c96d8fa30d8af9fc2bf74c\u003c/p\u003e","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":32,"end":96,"value":"e84a59a50ad6fd8f48a36a4be9dd37d1bf05a6cbc7c96d8fa30d8af9fc2bf74c","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-097","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["e84a59a50ad6fd8f48a36a4be9dd37d1bf05a6cbc7c96d8fa30d8af9fc2bf74c"]},"customers":{"required_absent":[],"required_present":["e84a59a50ad6fd8f48a36a4be9dd37d1bf05a6cbc7c96d8fa30d8af9fc2bf74c"]},"all":{"required_absent":[],"required_present":["e84a59a50ad6fd8f48a36a4be9dd37d1bf05a6cbc7c96d8fa30d8af9fc2bf74c"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-095","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"endpoint=https://192.0.2.10/95?credential=f54ef6d84a19b21e7af11b92da6e75accd2dc5ecc3f1fcb4b75fd7ffdcfae82c\u0026note=Published+artifact+checksum%3A+","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":42,"end":106,"value":"f54ef6d84a19b21e7af11b92da6e75accd2dc5ecc3f1fcb4b75fd7ffdcfae82c","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-095","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["f54ef6d84a19b21e7af11b92da6e75accd2dc5ecc3f1fcb4b75fd7ffdcfae82c"]},"customers":{"required_absent":[],"required_present":["f54ef6d84a19b21e7af11b92da6e75accd2dc5ecc3f1fcb4b75fd7ffdcfae82c"]},"all":{"required_absent":[],"required_present":["f54ef6d84a19b21e7af11b92da6e75accd2dc5ecc3f1fcb4b75fd7ffdcfae82c"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-096","language":"en","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"Published artifact checksum: `eacab4bfcfefeadf75a49eade69d29c3bf9eb23b51c6fd8ad97dd6a04eb5eeca`","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":30,"end":94,"value":"eacab4bfcfefeadf75a49eade69d29c3bf9eb23b51c6fd8ad97dd6a04eb5eeca","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-096","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["eacab4bfcfefeadf75a49eade69d29c3bf9eb23b51c6fd8ad97dd6a04eb5eeca"]},"customers":{"required_absent":[],"required_present":["eacab4bfcfefeadf75a49eade69d29c3bf9eb23b51c6fd8ad97dd6a04eb5eeca"]},"all":{"required_absent":[],"required_present":["eacab4bfcfefeadf75a49eade69d29c3bf9eb23b51c6fd8ad97dd6a04eb5eeca"]}},"tags":["broad-quality","preservation","checksum"]}, + {"id":"broad-preservation-checksum-097","language":"en","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"\u003cp\u003ePublished artifact checksum: \u003ccode\u003ee84a59a50ad6fd8f48a36a4be9dd37d1bf05a6cbc7c96d8fa30d8af9fc2bf74c\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":38,"end":102,"value":"e84a59a50ad6fd8f48a36a4be9dd37d1bf05a6cbc7c96d8fa30d8af9fc2bf74c","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-097","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["e84a59a50ad6fd8f48a36a4be9dd37d1bf05a6cbc7c96d8fa30d8af9fc2bf74c"]},"customers":{"required_absent":[],"required_present":["e84a59a50ad6fd8f48a36a4be9dd37d1bf05a6cbc7c96d8fa30d8af9fc2bf74c"]},"all":{"required_absent":[],"required_present":["e84a59a50ad6fd8f48a36a4be9dd37d1bf05a6cbc7c96d8fa30d8af9fc2bf74c"]}},"tags":["broad-quality","preservation","checksum"]}, {"id":"broad-preservation-checksum-098","language":"en","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"\u003e Published artifact checksum: f25edfb7df26bacf5ff64de0fb2fcef40fa1e5fe9decba0ec20daefd3d98a85f","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":31,"end":95,"value":"f25edfb7df26bacf5ff64de0fb2fcef40fa1e5fe9decba0ec20daefd3d98a85f","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-098","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["f25edfb7df26bacf5ff64de0fb2fcef40fa1e5fe9decba0ec20daefd3d98a85f"]},"customers":{"required_absent":[],"required_present":["f25edfb7df26bacf5ff64de0fb2fcef40fa1e5fe9decba0ec20daefd3d98a85f"]},"all":{"required_absent":[],"required_present":["f25edfb7df26bacf5ff64de0fb2fcef40fa1e5fe9decba0ec20daefd3d98a85f"]}},"tags":["broad-quality","preservation","checksum"]}, - {"id":"broad-preservation-checksum-099","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"level=warn sample=99 message=\"Published artifact checksum: \" value=b74fc1c31c21e07df5bafa67c48f7fee5dbbf87f7cde7b76abae9ca76e0ff8cf","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":67,"end":131,"value":"b74fc1c31c21e07df5bafa67c48f7fee5dbbf87f7cde7b76abae9ca76e0ff8cf","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-099","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["b74fc1c31c21e07df5bafa67c48f7fee5dbbf87f7cde7b76abae9ca76e0ff8cf"]},"customers":{"required_absent":[],"required_present":["b74fc1c31c21e07df5bafa67c48f7fee5dbbf87f7cde7b76abae9ca76e0ff8cf"]},"all":{"required_absent":[],"required_present":["b74fc1c31c21e07df5bafa67c48f7fee5dbbf87f7cde7b76abae9ca76e0ff8cf"]}},"tags":["broad-quality","preservation","checksum"]} + {"id":"broad-preservation-checksum-099","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad high-entropy preservation variation.","text":"level=warn sample=99 message=\"Published artifact checksum: \" credential=\"b74fc1c31c21e07df5bafa67c48f7fee5dbbf87f7cde7b76abae9ca76e0ff8cf\"","known_identities":[],"targets":[{"id":"checksum","kind":"secret","start":73,"end":137,"value":"b74fc1c31c21e07df5bafa67c48f7fee5dbbf87f7cde7b76abae9ca76e0ff8cf","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-checksum-preserve-099","recipe":"checksum","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["b74fc1c31c21e07df5bafa67c48f7fee5dbbf87f7cde7b76abae9ca76e0ff8cf"]},"customers":{"required_absent":[],"required_present":["b74fc1c31c21e07df5bafa67c48f7fee5dbbf87f7cde7b76abae9ca76e0ff8cf"]},"all":{"required_absent":[],"required_present":["b74fc1c31c21e07df5bafa67c48f7fee5dbbf87f7cde7b76abae9ca76e0ff8cf"]}},"tags":["broad-quality","preservation","checksum"]} ] } diff --git a/internal/pii/testdata/privacy-filter/broad/v1/private-public-dates.json b/internal/pii/testdata/privacy-filter/broad/v1/private-public-dates.json index e94fd11..c601121 100644 --- a/internal/pii/testdata/privacy-filter/broad/v1/private-public-dates.json +++ b/internal/pii/testdata/privacy-filter/broad/v1/private-public-dates.json @@ -4,16 +4,16 @@ "cases": [ {"id":"broad-date-redact-000","language":"en","script":"Latin","shape":"shell","risk":"high","reason":"Locked broad private/public date variation.","text":"MESSAGE_0='Customer date of birth: 1960-01-01'","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":35,"end":45,"value":"1960-01-01","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1960-01-01"]},"customers":{"required_absent":["1960-01-01"],"required_present":[]},"all":{"required_absent":["1960-01-01"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, {"id":"broad-date-preserve-000","language":"en","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad private/public date variation.","text":"MESSAGE_0='Public release date: 1960-01-01'","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":32,"end":42,"value":"1960-01-01","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1960-01-01"]},"customers":{"required_absent":[],"required_present":["1960-01-01"]},"all":{"required_absent":[],"required_present":["1960-01-01"]}},"tags":["broad-quality","date-policy"]}, - {"id":"broad-date-redact-001","language":"en","script":"Latin","shape":"url","risk":"high","reason":"Locked broad private/public date variation.","text":"endpoint=https://192.0.2.10/1 ; Customer date of birth: 1961-01-02","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":56,"end":66,"value":"1961-01-02","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1961-01-02"]},"customers":{"required_absent":["1961-01-02"],"required_present":[]},"all":{"required_absent":["1961-01-02"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, - {"id":"broad-date-preserve-001","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad private/public date variation.","text":"endpoint=https://192.0.2.10/1 ; Public release date: 1961-01-02","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":53,"end":63,"value":"1961-01-02","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1961-01-02"]},"customers":{"required_absent":[],"required_present":["1961-01-02"]},"all":{"required_absent":[],"required_present":["1961-01-02"]}},"tags":["broad-quality","date-policy"]}, - {"id":"broad-date-redact-002","language":"en","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad private/public date variation.","text":"**Customer date of birth: 1962-01-03**","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":26,"end":36,"value":"1962-01-03","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1962-01-03"]},"customers":{"required_absent":["1962-01-03"],"required_present":[]},"all":{"required_absent":["1962-01-03"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, - {"id":"broad-date-preserve-002","language":"en","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad private/public date variation.","text":"**Public release date: 1962-01-03**","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":23,"end":33,"value":"1962-01-03","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1962-01-03"]},"customers":{"required_absent":[],"required_present":["1962-01-03"]},"all":{"required_absent":[],"required_present":["1962-01-03"]}},"tags":["broad-quality","date-policy"]}, - {"id":"broad-date-redact-003","language":"en","script":"Latin","shape":"html","risk":"high","reason":"Locked broad private/public date variation.","text":"\u003cp\u003eCustomer date of birth: 1963-01-04\u003c/p\u003e","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":27,"end":37,"value":"1963-01-04","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1963-01-04"]},"customers":{"required_absent":["1963-01-04"],"required_present":[]},"all":{"required_absent":["1963-01-04"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, - {"id":"broad-date-preserve-003","language":"en","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad private/public date variation.","text":"\u003cp\u003ePublic release date: 1963-01-04\u003c/p\u003e","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":24,"end":34,"value":"1963-01-04","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1963-01-04"]},"customers":{"required_absent":[],"required_present":["1963-01-04"]},"all":{"required_absent":[],"required_present":["1963-01-04"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-001","language":"en","script":"Latin","shape":"url","risk":"high","reason":"Locked broad private/public date variation.","text":"endpoint=https://192.0.2.10/1?credential=1961-01-02\u0026note=Customer+date+of+birth%3A+","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":41,"end":51,"value":"1961-01-02","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1961-01-02"]},"customers":{"required_absent":["1961-01-02"],"required_present":[]},"all":{"required_absent":["1961-01-02"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-001","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad private/public date variation.","text":"endpoint=https://192.0.2.10/1?credential=1961-01-02\u0026note=Public+release+date%3A+","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":41,"end":51,"value":"1961-01-02","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1961-01-02"]},"customers":{"required_absent":[],"required_present":["1961-01-02"]},"all":{"required_absent":[],"required_present":["1961-01-02"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-002","language":"en","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad private/public date variation.","text":"Customer date of birth: `1962-01-03`","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":25,"end":35,"value":"1962-01-03","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1962-01-03"]},"customers":{"required_absent":["1962-01-03"],"required_present":[]},"all":{"required_absent":["1962-01-03"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-002","language":"en","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad private/public date variation.","text":"Public release date: `1962-01-03`","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":22,"end":32,"value":"1962-01-03","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1962-01-03"]},"customers":{"required_absent":[],"required_present":["1962-01-03"]},"all":{"required_absent":[],"required_present":["1962-01-03"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-003","language":"en","script":"Latin","shape":"html","risk":"high","reason":"Locked broad private/public date variation.","text":"\u003cp\u003eCustomer date of birth: \u003ccode\u003e1963-01-04\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":33,"end":43,"value":"1963-01-04","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1963-01-04"]},"customers":{"required_absent":["1963-01-04"],"required_present":[]},"all":{"required_absent":["1963-01-04"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-003","language":"en","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad private/public date variation.","text":"\u003cp\u003ePublic release date: \u003ccode\u003e1963-01-04\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":30,"end":40,"value":"1963-01-04","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1963-01-04"]},"customers":{"required_absent":[],"required_present":["1963-01-04"]},"all":{"required_absent":[],"required_present":["1963-01-04"]}},"tags":["broad-quality","date-policy"]}, {"id":"broad-date-redact-004","language":"en","script":"Latin","shape":"quoted-reply","risk":"high","reason":"Locked broad private/public date variation.","text":"\u003e Customer date of birth: 1964-01-05","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":26,"end":36,"value":"1964-01-05","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1964-01-05"]},"customers":{"required_absent":["1964-01-05"],"required_present":[]},"all":{"required_absent":["1964-01-05"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, {"id":"broad-date-preserve-004","language":"en","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad private/public date variation.","text":"\u003e Public release date: 1964-01-05","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":23,"end":33,"value":"1964-01-05","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1964-01-05"]},"customers":{"required_absent":[],"required_present":["1964-01-05"]},"all":{"required_absent":[],"required_present":["1964-01-05"]}},"tags":["broad-quality","date-policy"]}, - {"id":"broad-date-redact-005","language":"en","script":"Latin","shape":"log","risk":"high","reason":"Locked broad private/public date variation.","text":"level=warn sample=5 message=\"Customer date of birth: \" value=1965-01-06","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":61,"end":71,"value":"1965-01-06","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1965-01-06"]},"customers":{"required_absent":["1965-01-06"],"required_present":[]},"all":{"required_absent":["1965-01-06"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, - {"id":"broad-date-preserve-005","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad private/public date variation.","text":"level=warn sample=5 message=\"Public release date: \" value=1965-01-06","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":58,"end":68,"value":"1965-01-06","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1965-01-06"]},"customers":{"required_absent":[],"required_present":["1965-01-06"]},"all":{"required_absent":[],"required_present":["1965-01-06"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-005","language":"en","script":"Latin","shape":"log","risk":"high","reason":"Locked broad private/public date variation.","text":"level=warn sample=5 message=\"Customer date of birth: \" credential=\"1965-01-06\"","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":67,"end":77,"value":"1965-01-06","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1965-01-06"]},"customers":{"required_absent":["1965-01-06"],"required_present":[]},"all":{"required_absent":["1965-01-06"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-005","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad private/public date variation.","text":"level=warn sample=5 message=\"Public release date: \" credential=\"1965-01-06\"","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":64,"end":74,"value":"1965-01-06","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1965-01-06"]},"customers":{"required_absent":[],"required_present":["1965-01-06"]},"all":{"required_absent":[],"required_present":["1965-01-06"]}},"tags":["broad-quality","date-policy"]}, {"id":"broad-date-redact-006","language":"en","script":"Latin","shape":"stack-trace","risk":"high","reason":"Locked broad private/public date variation.","text":"Trace[6]: Customer date of birth: 1966-01-07","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":34,"end":44,"value":"1966-01-07","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1966-01-07"]},"customers":{"required_absent":["1966-01-07"],"required_present":[]},"all":{"required_absent":["1966-01-07"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, {"id":"broad-date-preserve-006","language":"en","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad private/public date variation.","text":"Trace[6]: Public release date: 1966-01-07","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":31,"end":41,"value":"1966-01-07","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1966-01-07"]},"customers":{"required_absent":[],"required_present":["1966-01-07"]},"all":{"required_absent":[],"required_present":["1966-01-07"]}},"tags":["broad-quality","date-policy"]}, {"id":"broad-date-redact-007","language":"en","script":"Latin","shape":"code","risk":"high","reason":"Locked broad private/public date variation.","text":"fixture_7 := `Customer date of birth: 1967-02-08`","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":38,"end":48,"value":"1967-02-08","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1967-02-08"]},"customers":{"required_absent":["1967-02-08"],"required_present":[]},"all":{"required_absent":["1967-02-08"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, @@ -22,26 +22,26 @@ {"id":"broad-date-preserve-008","language":"en","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad private/public date variation.","text":"--\nPublic release date: 1968-02-09","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":24,"end":34,"value":"1968-02-09","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1968-02-09"]},"customers":{"required_absent":[],"required_present":["1968-02-09"]},"all":{"required_absent":[],"required_present":["1968-02-09"]}},"tags":["broad-quality","date-policy"]}, {"id":"broad-date-redact-009","language":"en","script":"Latin","shape":"long-thread","risk":"high","reason":"Locked broad private/public date variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Customer date of birth: 1969-02-10","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":504,"end":514,"value":"1969-02-10","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1969-02-10"]},"customers":{"required_absent":["1969-02-10"],"required_present":[]},"all":{"required_absent":["1969-02-10"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, {"id":"broad-date-preserve-009","language":"en","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad private/public date variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Public release date: 1969-02-10","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":501,"end":511,"value":"1969-02-10","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1969-02-10"]},"customers":{"required_absent":[],"required_present":["1969-02-10"]},"all":{"required_absent":[],"required_present":["1969-02-10"]}},"tags":["broad-quality","date-policy"]}, - {"id":"broad-date-redact-010","language":"en","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad private/public date variation.","text":"--sample=10 --message=\"Customer date of birth: \" --value=1970-02-11","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":57,"end":67,"value":"1970-02-11","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1970-02-11"]},"customers":{"required_absent":["1970-02-11"],"required_present":[]},"all":{"required_absent":["1970-02-11"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, - {"id":"broad-date-preserve-010","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad private/public date variation.","text":"--sample=10 --message=\"Public release date: \" --value=1970-02-11","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":54,"end":64,"value":"1970-02-11","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1970-02-11"]},"customers":{"required_absent":[],"required_present":["1970-02-11"]},"all":{"required_absent":[],"required_present":["1970-02-11"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-010","language":"en","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad private/public date variation.","text":"--sample=10 --message=\"Customer date of birth: \" --credential=\"1970-02-11\"","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":63,"end":73,"value":"1970-02-11","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1970-02-11"]},"customers":{"required_absent":["1970-02-11"],"required_present":[]},"all":{"required_absent":["1970-02-11"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-010","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad private/public date variation.","text":"--sample=10 --message=\"Public release date: \" --credential=\"1970-02-11\"","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":60,"end":70,"value":"1970-02-11","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1970-02-11"]},"customers":{"required_absent":[],"required_present":["1970-02-11"]},"all":{"required_absent":[],"required_present":["1970-02-11"]}},"tags":["broad-quality","date-policy"]}, {"id":"broad-date-redact-011","language":"en","script":"Latin","shape":"prose","risk":"high","reason":"Locked broad private/public date variation.","text":"Customer date of birth: 1971-02-12","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":24,"end":34,"value":"1971-02-12","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1971-02-12"]},"customers":{"required_absent":["1971-02-12"],"required_present":[]},"all":{"required_absent":["1971-02-12"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, {"id":"broad-date-preserve-011","language":"en","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad private/public date variation.","text":"Public release date: 1971-02-12","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":21,"end":31,"value":"1971-02-12","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1971-02-12"]},"customers":{"required_absent":[],"required_present":["1971-02-12"]},"all":{"required_absent":[],"required_present":["1971-02-12"]}},"tags":["broad-quality","date-policy"]}, {"id":"broad-date-redact-012","language":"en","script":"Latin","shape":"json","risk":"high","reason":"Locked broad private/public date variation.","text":"{\"message_12\":\"Customer date of birth: 1972-02-13\"}","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":39,"end":49,"value":"1972-02-13","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1972-02-13"]},"customers":{"required_absent":["1972-02-13"],"required_present":[]},"all":{"required_absent":["1972-02-13"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, {"id":"broad-date-preserve-012","language":"en","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad private/public date variation.","text":"{\"message_12\":\"Public release date: 1972-02-13\"}","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":36,"end":46,"value":"1972-02-13","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1972-02-13"]},"customers":{"required_absent":[],"required_present":["1972-02-13"]},"all":{"required_absent":[],"required_present":["1972-02-13"]}},"tags":["broad-quality","date-policy"]}, - {"id":"broad-date-redact-013","language":"en","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad private/public date variation.","text":"message_13: Customer date of birth: 1973-02-14","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":36,"end":46,"value":"1973-02-14","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1973-02-14"]},"customers":{"required_absent":["1973-02-14"],"required_present":[]},"all":{"required_absent":["1973-02-14"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, - {"id":"broad-date-preserve-013","language":"en","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad private/public date variation.","text":"message_13: Public release date: 1973-02-14","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":33,"end":43,"value":"1973-02-14","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1973-02-14"]},"customers":{"required_absent":[],"required_present":["1973-02-14"]},"all":{"required_absent":[],"required_present":["1973-02-14"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-013","language":"en","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad private/public date variation.","text":"message_13: \"Customer date of birth: 1973-02-14\"","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":37,"end":47,"value":"1973-02-14","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1973-02-14"]},"customers":{"required_absent":["1973-02-14"],"required_present":[]},"all":{"required_absent":["1973-02-14"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-013","language":"en","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad private/public date variation.","text":"message_13: \"Public release date: 1973-02-14\"","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":34,"end":44,"value":"1973-02-14","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1973-02-14"]},"customers":{"required_absent":[],"required_present":["1973-02-14"]},"all":{"required_absent":[],"required_present":["1973-02-14"]}},"tags":["broad-quality","date-policy"]}, {"id":"broad-date-redact-014","language":"en","script":"Latin","shape":"shell","risk":"high","reason":"Locked broad private/public date variation.","text":"MESSAGE_14='Customer date of birth: 1974-03-15'","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":36,"end":46,"value":"1974-03-15","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1974-03-15"]},"customers":{"required_absent":["1974-03-15"],"required_present":[]},"all":{"required_absent":["1974-03-15"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, {"id":"broad-date-preserve-014","language":"en","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad private/public date variation.","text":"MESSAGE_14='Public release date: 1974-03-15'","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":33,"end":43,"value":"1974-03-15","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1974-03-15"]},"customers":{"required_absent":[],"required_present":["1974-03-15"]},"all":{"required_absent":[],"required_present":["1974-03-15"]}},"tags":["broad-quality","date-policy"]}, - {"id":"broad-date-redact-015","language":"en","script":"Latin","shape":"url","risk":"high","reason":"Locked broad private/public date variation.","text":"endpoint=https://192.0.2.10/15 ; Customer date of birth: 1975-03-16","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":57,"end":67,"value":"1975-03-16","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1975-03-16"]},"customers":{"required_absent":["1975-03-16"],"required_present":[]},"all":{"required_absent":["1975-03-16"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, - {"id":"broad-date-preserve-015","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad private/public date variation.","text":"endpoint=https://192.0.2.10/15 ; Public release date: 1975-03-16","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":54,"end":64,"value":"1975-03-16","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1975-03-16"]},"customers":{"required_absent":[],"required_present":["1975-03-16"]},"all":{"required_absent":[],"required_present":["1975-03-16"]}},"tags":["broad-quality","date-policy"]}, - {"id":"broad-date-redact-016","language":"en","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad private/public date variation.","text":"**Customer date of birth: 1976-03-17**","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":26,"end":36,"value":"1976-03-17","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1976-03-17"]},"customers":{"required_absent":["1976-03-17"],"required_present":[]},"all":{"required_absent":["1976-03-17"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, - {"id":"broad-date-preserve-016","language":"en","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad private/public date variation.","text":"**Public release date: 1976-03-17**","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":23,"end":33,"value":"1976-03-17","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1976-03-17"]},"customers":{"required_absent":[],"required_present":["1976-03-17"]},"all":{"required_absent":[],"required_present":["1976-03-17"]}},"tags":["broad-quality","date-policy"]}, - {"id":"broad-date-redact-017","language":"en","script":"Latin","shape":"html","risk":"high","reason":"Locked broad private/public date variation.","text":"\u003cp\u003eCustomer date of birth: 1977-03-18\u003c/p\u003e","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":27,"end":37,"value":"1977-03-18","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1977-03-18"]},"customers":{"required_absent":["1977-03-18"],"required_present":[]},"all":{"required_absent":["1977-03-18"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, - {"id":"broad-date-preserve-017","language":"en","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad private/public date variation.","text":"\u003cp\u003ePublic release date: 1977-03-18\u003c/p\u003e","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":24,"end":34,"value":"1977-03-18","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1977-03-18"]},"customers":{"required_absent":[],"required_present":["1977-03-18"]},"all":{"required_absent":[],"required_present":["1977-03-18"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-015","language":"en","script":"Latin","shape":"url","risk":"high","reason":"Locked broad private/public date variation.","text":"endpoint=https://192.0.2.10/15?credential=1975-03-16\u0026note=Customer+date+of+birth%3A+","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":42,"end":52,"value":"1975-03-16","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1975-03-16"]},"customers":{"required_absent":["1975-03-16"],"required_present":[]},"all":{"required_absent":["1975-03-16"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-015","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad private/public date variation.","text":"endpoint=https://192.0.2.10/15?credential=1975-03-16\u0026note=Public+release+date%3A+","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":42,"end":52,"value":"1975-03-16","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1975-03-16"]},"customers":{"required_absent":[],"required_present":["1975-03-16"]},"all":{"required_absent":[],"required_present":["1975-03-16"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-016","language":"en","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad private/public date variation.","text":"Customer date of birth: `1976-03-17`","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":25,"end":35,"value":"1976-03-17","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1976-03-17"]},"customers":{"required_absent":["1976-03-17"],"required_present":[]},"all":{"required_absent":["1976-03-17"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-016","language":"en","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad private/public date variation.","text":"Public release date: `1976-03-17`","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":22,"end":32,"value":"1976-03-17","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1976-03-17"]},"customers":{"required_absent":[],"required_present":["1976-03-17"]},"all":{"required_absent":[],"required_present":["1976-03-17"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-017","language":"en","script":"Latin","shape":"html","risk":"high","reason":"Locked broad private/public date variation.","text":"\u003cp\u003eCustomer date of birth: \u003ccode\u003e1977-03-18\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":33,"end":43,"value":"1977-03-18","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1977-03-18"]},"customers":{"required_absent":["1977-03-18"],"required_present":[]},"all":{"required_absent":["1977-03-18"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-017","language":"en","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad private/public date variation.","text":"\u003cp\u003ePublic release date: \u003ccode\u003e1977-03-18\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":30,"end":40,"value":"1977-03-18","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1977-03-18"]},"customers":{"required_absent":[],"required_present":["1977-03-18"]},"all":{"required_absent":[],"required_present":["1977-03-18"]}},"tags":["broad-quality","date-policy"]}, {"id":"broad-date-redact-018","language":"en","script":"Latin","shape":"quoted-reply","risk":"high","reason":"Locked broad private/public date variation.","text":"\u003e Customer date of birth: 1978-03-19","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":26,"end":36,"value":"1978-03-19","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1978-03-19"]},"customers":{"required_absent":["1978-03-19"],"required_present":[]},"all":{"required_absent":["1978-03-19"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, {"id":"broad-date-preserve-018","language":"en","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad private/public date variation.","text":"\u003e Public release date: 1978-03-19","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":23,"end":33,"value":"1978-03-19","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1978-03-19"]},"customers":{"required_absent":[],"required_present":["1978-03-19"]},"all":{"required_absent":[],"required_present":["1978-03-19"]}},"tags":["broad-quality","date-policy"]}, - {"id":"broad-date-redact-019","language":"en","script":"Latin","shape":"log","risk":"high","reason":"Locked broad private/public date variation.","text":"level=warn sample=19 message=\"Customer date of birth: \" value=1979-03-20","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":62,"end":72,"value":"1979-03-20","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1979-03-20"]},"customers":{"required_absent":["1979-03-20"],"required_present":[]},"all":{"required_absent":["1979-03-20"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, - {"id":"broad-date-preserve-019","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad private/public date variation.","text":"level=warn sample=19 message=\"Public release date: \" value=1979-03-20","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":59,"end":69,"value":"1979-03-20","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1979-03-20"]},"customers":{"required_absent":[],"required_present":["1979-03-20"]},"all":{"required_absent":[],"required_present":["1979-03-20"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-019","language":"en","script":"Latin","shape":"log","risk":"high","reason":"Locked broad private/public date variation.","text":"level=warn sample=19 message=\"Customer date of birth: \" credential=\"1979-03-20\"","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":68,"end":78,"value":"1979-03-20","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1979-03-20"]},"customers":{"required_absent":["1979-03-20"],"required_present":[]},"all":{"required_absent":["1979-03-20"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-019","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad private/public date variation.","text":"level=warn sample=19 message=\"Public release date: \" credential=\"1979-03-20\"","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":65,"end":75,"value":"1979-03-20","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1979-03-20"]},"customers":{"required_absent":[],"required_present":["1979-03-20"]},"all":{"required_absent":[],"required_present":["1979-03-20"]}},"tags":["broad-quality","date-policy"]}, {"id":"broad-date-redact-020","language":"en","script":"Latin","shape":"stack-trace","risk":"high","reason":"Locked broad private/public date variation.","text":"Trace[20]: Customer date of birth: 1980-03-21","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":35,"end":45,"value":"1980-03-21","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1980-03-21"]},"customers":{"required_absent":["1980-03-21"],"required_present":[]},"all":{"required_absent":["1980-03-21"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, {"id":"broad-date-preserve-020","language":"en","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad private/public date variation.","text":"Trace[20]: Public release date: 1980-03-21","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":32,"end":42,"value":"1980-03-21","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1980-03-21"]},"customers":{"required_absent":[],"required_present":["1980-03-21"]},"all":{"required_absent":[],"required_present":["1980-03-21"]}},"tags":["broad-quality","date-policy"]}, {"id":"broad-date-redact-021","language":"en","script":"Latin","shape":"code","risk":"high","reason":"Locked broad private/public date variation.","text":"fixture_21 := `Customer date of birth: 1981-04-22`","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":39,"end":49,"value":"1981-04-22","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1981-04-22"]},"customers":{"required_absent":["1981-04-22"],"required_present":[]},"all":{"required_absent":["1981-04-22"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, @@ -50,26 +50,26 @@ {"id":"broad-date-preserve-022","language":"en","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad private/public date variation.","text":"--\nPublic release date: 1982-04-23","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":24,"end":34,"value":"1982-04-23","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1982-04-23"]},"customers":{"required_absent":[],"required_present":["1982-04-23"]},"all":{"required_absent":[],"required_present":["1982-04-23"]}},"tags":["broad-quality","date-policy"]}, {"id":"broad-date-redact-023","language":"en","script":"Latin","shape":"long-thread","risk":"high","reason":"Locked broad private/public date variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Customer date of birth: 1983-04-24","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":504,"end":514,"value":"1983-04-24","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1983-04-24"]},"customers":{"required_absent":["1983-04-24"],"required_present":[]},"all":{"required_absent":["1983-04-24"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, {"id":"broad-date-preserve-023","language":"en","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad private/public date variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Public release date: 1983-04-24","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":501,"end":511,"value":"1983-04-24","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1983-04-24"]},"customers":{"required_absent":[],"required_present":["1983-04-24"]},"all":{"required_absent":[],"required_present":["1983-04-24"]}},"tags":["broad-quality","date-policy"]}, - {"id":"broad-date-redact-024","language":"en","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad private/public date variation.","text":"--sample=24 --message=\"Customer date of birth: \" --value=1984-04-25","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":57,"end":67,"value":"1984-04-25","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1984-04-25"]},"customers":{"required_absent":["1984-04-25"],"required_present":[]},"all":{"required_absent":["1984-04-25"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, - {"id":"broad-date-preserve-024","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad private/public date variation.","text":"--sample=24 --message=\"Public release date: \" --value=1984-04-25","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":54,"end":64,"value":"1984-04-25","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1984-04-25"]},"customers":{"required_absent":[],"required_present":["1984-04-25"]},"all":{"required_absent":[],"required_present":["1984-04-25"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-024","language":"en","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad private/public date variation.","text":"--sample=24 --message=\"Customer date of birth: \" --credential=\"1984-04-25\"","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":63,"end":73,"value":"1984-04-25","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1984-04-25"]},"customers":{"required_absent":["1984-04-25"],"required_present":[]},"all":{"required_absent":["1984-04-25"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-024","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad private/public date variation.","text":"--sample=24 --message=\"Public release date: \" --credential=\"1984-04-25\"","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":60,"end":70,"value":"1984-04-25","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1984-04-25"]},"customers":{"required_absent":[],"required_present":["1984-04-25"]},"all":{"required_absent":[],"required_present":["1984-04-25"]}},"tags":["broad-quality","date-policy"]}, {"id":"broad-date-redact-025","language":"en","script":"Latin","shape":"prose","risk":"high","reason":"Locked broad private/public date variation.","text":"Customer date of birth: 1985-04-26","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":24,"end":34,"value":"1985-04-26","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1985-04-26"]},"customers":{"required_absent":["1985-04-26"],"required_present":[]},"all":{"required_absent":["1985-04-26"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, {"id":"broad-date-preserve-025","language":"en","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad private/public date variation.","text":"Public release date: 1985-04-26","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":21,"end":31,"value":"1985-04-26","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1985-04-26"]},"customers":{"required_absent":[],"required_present":["1985-04-26"]},"all":{"required_absent":[],"required_present":["1985-04-26"]}},"tags":["broad-quality","date-policy"]}, {"id":"broad-date-redact-026","language":"en","script":"Latin","shape":"json","risk":"high","reason":"Locked broad private/public date variation.","text":"{\"message_26\":\"Customer date of birth: 1986-04-27\"}","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":39,"end":49,"value":"1986-04-27","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1986-04-27"]},"customers":{"required_absent":["1986-04-27"],"required_present":[]},"all":{"required_absent":["1986-04-27"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, {"id":"broad-date-preserve-026","language":"en","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad private/public date variation.","text":"{\"message_26\":\"Public release date: 1986-04-27\"}","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":36,"end":46,"value":"1986-04-27","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1986-04-27"]},"customers":{"required_absent":[],"required_present":["1986-04-27"]},"all":{"required_absent":[],"required_present":["1986-04-27"]}},"tags":["broad-quality","date-policy"]}, - {"id":"broad-date-redact-027","language":"en","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad private/public date variation.","text":"message_27: Customer date of birth: 1987-04-28","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":36,"end":46,"value":"1987-04-28","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1987-04-28"]},"customers":{"required_absent":["1987-04-28"],"required_present":[]},"all":{"required_absent":["1987-04-28"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, - {"id":"broad-date-preserve-027","language":"en","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad private/public date variation.","text":"message_27: Public release date: 1987-04-28","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":33,"end":43,"value":"1987-04-28","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1987-04-28"]},"customers":{"required_absent":[],"required_present":["1987-04-28"]},"all":{"required_absent":[],"required_present":["1987-04-28"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-027","language":"en","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad private/public date variation.","text":"message_27: \"Customer date of birth: 1987-04-28\"","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":37,"end":47,"value":"1987-04-28","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1987-04-28"]},"customers":{"required_absent":["1987-04-28"],"required_present":[]},"all":{"required_absent":["1987-04-28"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-027","language":"en","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad private/public date variation.","text":"message_27: \"Public release date: 1987-04-28\"","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":34,"end":44,"value":"1987-04-28","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1987-04-28"]},"customers":{"required_absent":[],"required_present":["1987-04-28"]},"all":{"required_absent":[],"required_present":["1987-04-28"]}},"tags":["broad-quality","date-policy"]}, {"id":"broad-date-redact-028","language":"en","script":"Latin","shape":"shell","risk":"high","reason":"Locked broad private/public date variation.","text":"MESSAGE_28='Customer date of birth: 1988-05-01'","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":36,"end":46,"value":"1988-05-01","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1988-05-01"]},"customers":{"required_absent":["1988-05-01"],"required_present":[]},"all":{"required_absent":["1988-05-01"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, {"id":"broad-date-preserve-028","language":"en","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad private/public date variation.","text":"MESSAGE_28='Public release date: 1988-05-01'","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":33,"end":43,"value":"1988-05-01","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1988-05-01"]},"customers":{"required_absent":[],"required_present":["1988-05-01"]},"all":{"required_absent":[],"required_present":["1988-05-01"]}},"tags":["broad-quality","date-policy"]}, - {"id":"broad-date-redact-029","language":"en","script":"Latin","shape":"url","risk":"high","reason":"Locked broad private/public date variation.","text":"endpoint=https://192.0.2.10/29 ; Customer date of birth: 1989-05-02","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":57,"end":67,"value":"1989-05-02","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1989-05-02"]},"customers":{"required_absent":["1989-05-02"],"required_present":[]},"all":{"required_absent":["1989-05-02"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, - {"id":"broad-date-preserve-029","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad private/public date variation.","text":"endpoint=https://192.0.2.10/29 ; Public release date: 1989-05-02","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":54,"end":64,"value":"1989-05-02","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1989-05-02"]},"customers":{"required_absent":[],"required_present":["1989-05-02"]},"all":{"required_absent":[],"required_present":["1989-05-02"]}},"tags":["broad-quality","date-policy"]}, - {"id":"broad-date-redact-030","language":"en","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad private/public date variation.","text":"**Customer date of birth: 1990-05-03**","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":26,"end":36,"value":"1990-05-03","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1990-05-03"]},"customers":{"required_absent":["1990-05-03"],"required_present":[]},"all":{"required_absent":["1990-05-03"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, - {"id":"broad-date-preserve-030","language":"en","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad private/public date variation.","text":"**Public release date: 1990-05-03**","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":23,"end":33,"value":"1990-05-03","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1990-05-03"]},"customers":{"required_absent":[],"required_present":["1990-05-03"]},"all":{"required_absent":[],"required_present":["1990-05-03"]}},"tags":["broad-quality","date-policy"]}, - {"id":"broad-date-redact-031","language":"en","script":"Latin","shape":"html","risk":"high","reason":"Locked broad private/public date variation.","text":"\u003cp\u003eCustomer date of birth: 1991-05-04\u003c/p\u003e","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":27,"end":37,"value":"1991-05-04","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1991-05-04"]},"customers":{"required_absent":["1991-05-04"],"required_present":[]},"all":{"required_absent":["1991-05-04"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, - {"id":"broad-date-preserve-031","language":"en","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad private/public date variation.","text":"\u003cp\u003ePublic release date: 1991-05-04\u003c/p\u003e","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":24,"end":34,"value":"1991-05-04","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1991-05-04"]},"customers":{"required_absent":[],"required_present":["1991-05-04"]},"all":{"required_absent":[],"required_present":["1991-05-04"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-029","language":"en","script":"Latin","shape":"url","risk":"high","reason":"Locked broad private/public date variation.","text":"endpoint=https://192.0.2.10/29?credential=1989-05-02\u0026note=Customer+date+of+birth%3A+","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":42,"end":52,"value":"1989-05-02","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1989-05-02"]},"customers":{"required_absent":["1989-05-02"],"required_present":[]},"all":{"required_absent":["1989-05-02"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-029","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad private/public date variation.","text":"endpoint=https://192.0.2.10/29?credential=1989-05-02\u0026note=Public+release+date%3A+","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":42,"end":52,"value":"1989-05-02","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1989-05-02"]},"customers":{"required_absent":[],"required_present":["1989-05-02"]},"all":{"required_absent":[],"required_present":["1989-05-02"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-030","language":"en","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad private/public date variation.","text":"Customer date of birth: `1990-05-03`","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":25,"end":35,"value":"1990-05-03","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1990-05-03"]},"customers":{"required_absent":["1990-05-03"],"required_present":[]},"all":{"required_absent":["1990-05-03"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-030","language":"en","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad private/public date variation.","text":"Public release date: `1990-05-03`","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":22,"end":32,"value":"1990-05-03","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1990-05-03"]},"customers":{"required_absent":[],"required_present":["1990-05-03"]},"all":{"required_absent":[],"required_present":["1990-05-03"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-031","language":"en","script":"Latin","shape":"html","risk":"high","reason":"Locked broad private/public date variation.","text":"\u003cp\u003eCustomer date of birth: \u003ccode\u003e1991-05-04\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":33,"end":43,"value":"1991-05-04","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1991-05-04"]},"customers":{"required_absent":["1991-05-04"],"required_present":[]},"all":{"required_absent":["1991-05-04"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-031","language":"en","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad private/public date variation.","text":"\u003cp\u003ePublic release date: \u003ccode\u003e1991-05-04\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":30,"end":40,"value":"1991-05-04","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1991-05-04"]},"customers":{"required_absent":[],"required_present":["1991-05-04"]},"all":{"required_absent":[],"required_present":["1991-05-04"]}},"tags":["broad-quality","date-policy"]}, {"id":"broad-date-redact-032","language":"en","script":"Latin","shape":"quoted-reply","risk":"high","reason":"Locked broad private/public date variation.","text":"\u003e Customer date of birth: 1992-05-05","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":26,"end":36,"value":"1992-05-05","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1992-05-05"]},"customers":{"required_absent":["1992-05-05"],"required_present":[]},"all":{"required_absent":["1992-05-05"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, {"id":"broad-date-preserve-032","language":"en","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad private/public date variation.","text":"\u003e Public release date: 1992-05-05","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":23,"end":33,"value":"1992-05-05","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1992-05-05"]},"customers":{"required_absent":[],"required_present":["1992-05-05"]},"all":{"required_absent":[],"required_present":["1992-05-05"]}},"tags":["broad-quality","date-policy"]}, - {"id":"broad-date-redact-033","language":"en","script":"Latin","shape":"log","risk":"high","reason":"Locked broad private/public date variation.","text":"level=warn sample=33 message=\"Customer date of birth: \" value=1993-05-06","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":62,"end":72,"value":"1993-05-06","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1993-05-06"]},"customers":{"required_absent":["1993-05-06"],"required_present":[]},"all":{"required_absent":["1993-05-06"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, - {"id":"broad-date-preserve-033","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad private/public date variation.","text":"level=warn sample=33 message=\"Public release date: \" value=1993-05-06","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":59,"end":69,"value":"1993-05-06","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1993-05-06"]},"customers":{"required_absent":[],"required_present":["1993-05-06"]},"all":{"required_absent":[],"required_present":["1993-05-06"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-033","language":"en","script":"Latin","shape":"log","risk":"high","reason":"Locked broad private/public date variation.","text":"level=warn sample=33 message=\"Customer date of birth: \" credential=\"1993-05-06\"","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":68,"end":78,"value":"1993-05-06","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1993-05-06"]},"customers":{"required_absent":["1993-05-06"],"required_present":[]},"all":{"required_absent":["1993-05-06"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-033","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad private/public date variation.","text":"level=warn sample=33 message=\"Public release date: \" credential=\"1993-05-06\"","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":65,"end":75,"value":"1993-05-06","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1993-05-06"]},"customers":{"required_absent":[],"required_present":["1993-05-06"]},"all":{"required_absent":[],"required_present":["1993-05-06"]}},"tags":["broad-quality","date-policy"]}, {"id":"broad-date-redact-034","language":"en","script":"Latin","shape":"stack-trace","risk":"high","reason":"Locked broad private/public date variation.","text":"Trace[34]: Customer date of birth: 1994-05-07","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":35,"end":45,"value":"1994-05-07","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1994-05-07"]},"customers":{"required_absent":["1994-05-07"],"required_present":[]},"all":{"required_absent":["1994-05-07"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, {"id":"broad-date-preserve-034","language":"en","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad private/public date variation.","text":"Trace[34]: Public release date: 1994-05-07","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":32,"end":42,"value":"1994-05-07","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1994-05-07"]},"customers":{"required_absent":[],"required_present":["1994-05-07"]},"all":{"required_absent":[],"required_present":["1994-05-07"]}},"tags":["broad-quality","date-policy"]}, {"id":"broad-date-redact-035","language":"en","script":"Latin","shape":"code","risk":"high","reason":"Locked broad private/public date variation.","text":"fixture_35 := `Customer date of birth: 1995-06-08`","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":39,"end":49,"value":"1995-06-08","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1995-06-08"]},"customers":{"required_absent":["1995-06-08"],"required_present":[]},"all":{"required_absent":["1995-06-08"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, @@ -78,26 +78,26 @@ {"id":"broad-date-preserve-036","language":"en","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad private/public date variation.","text":"--\nPublic release date: 1996-06-09","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":24,"end":34,"value":"1996-06-09","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1996-06-09"]},"customers":{"required_absent":[],"required_present":["1996-06-09"]},"all":{"required_absent":[],"required_present":["1996-06-09"]}},"tags":["broad-quality","date-policy"]}, {"id":"broad-date-redact-037","language":"en","script":"Latin","shape":"long-thread","risk":"high","reason":"Locked broad private/public date variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Customer date of birth: 1997-06-10","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":504,"end":514,"value":"1997-06-10","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1997-06-10"]},"customers":{"required_absent":["1997-06-10"],"required_present":[]},"all":{"required_absent":["1997-06-10"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, {"id":"broad-date-preserve-037","language":"en","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad private/public date variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Public release date: 1997-06-10","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":501,"end":511,"value":"1997-06-10","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1997-06-10"]},"customers":{"required_absent":[],"required_present":["1997-06-10"]},"all":{"required_absent":[],"required_present":["1997-06-10"]}},"tags":["broad-quality","date-policy"]}, - {"id":"broad-date-redact-038","language":"en","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad private/public date variation.","text":"--sample=38 --message=\"Customer date of birth: \" --value=1998-06-11","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":57,"end":67,"value":"1998-06-11","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1998-06-11"]},"customers":{"required_absent":["1998-06-11"],"required_present":[]},"all":{"required_absent":["1998-06-11"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, - {"id":"broad-date-preserve-038","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad private/public date variation.","text":"--sample=38 --message=\"Public release date: \" --value=1998-06-11","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":54,"end":64,"value":"1998-06-11","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1998-06-11"]},"customers":{"required_absent":[],"required_present":["1998-06-11"]},"all":{"required_absent":[],"required_present":["1998-06-11"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-038","language":"en","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad private/public date variation.","text":"--sample=38 --message=\"Customer date of birth: \" --credential=\"1998-06-11\"","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":63,"end":73,"value":"1998-06-11","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1998-06-11"]},"customers":{"required_absent":["1998-06-11"],"required_present":[]},"all":{"required_absent":["1998-06-11"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-038","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad private/public date variation.","text":"--sample=38 --message=\"Public release date: \" --credential=\"1998-06-11\"","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":60,"end":70,"value":"1998-06-11","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1998-06-11"]},"customers":{"required_absent":[],"required_present":["1998-06-11"]},"all":{"required_absent":[],"required_present":["1998-06-11"]}},"tags":["broad-quality","date-policy"]}, {"id":"broad-date-redact-039","language":"en","script":"Latin","shape":"prose","risk":"high","reason":"Locked broad private/public date variation.","text":"Customer date of birth: 1999-06-12","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":24,"end":34,"value":"1999-06-12","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1999-06-12"]},"customers":{"required_absent":["1999-06-12"],"required_present":[]},"all":{"required_absent":["1999-06-12"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, {"id":"broad-date-preserve-039","language":"en","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad private/public date variation.","text":"Public release date: 1999-06-12","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":21,"end":31,"value":"1999-06-12","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1999-06-12"]},"customers":{"required_absent":[],"required_present":["1999-06-12"]},"all":{"required_absent":[],"required_present":["1999-06-12"]}},"tags":["broad-quality","date-policy"]}, {"id":"broad-date-redact-040","language":"en","script":"Latin","shape":"json","risk":"high","reason":"Locked broad private/public date variation.","text":"{\"message_40\":\"Customer date of birth: 2000-06-13\"}","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":39,"end":49,"value":"2000-06-13","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["2000-06-13"]},"customers":{"required_absent":["2000-06-13"],"required_present":[]},"all":{"required_absent":["2000-06-13"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, {"id":"broad-date-preserve-040","language":"en","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad private/public date variation.","text":"{\"message_40\":\"Public release date: 2000-06-13\"}","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":36,"end":46,"value":"2000-06-13","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["2000-06-13"]},"customers":{"required_absent":[],"required_present":["2000-06-13"]},"all":{"required_absent":[],"required_present":["2000-06-13"]}},"tags":["broad-quality","date-policy"]}, - {"id":"broad-date-redact-041","language":"en","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad private/public date variation.","text":"message_41: Customer date of birth: 2001-06-14","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":36,"end":46,"value":"2001-06-14","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["2001-06-14"]},"customers":{"required_absent":["2001-06-14"],"required_present":[]},"all":{"required_absent":["2001-06-14"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, - {"id":"broad-date-preserve-041","language":"en","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad private/public date variation.","text":"message_41: Public release date: 2001-06-14","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":33,"end":43,"value":"2001-06-14","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["2001-06-14"]},"customers":{"required_absent":[],"required_present":["2001-06-14"]},"all":{"required_absent":[],"required_present":["2001-06-14"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-041","language":"en","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad private/public date variation.","text":"message_41: \"Customer date of birth: 2001-06-14\"","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":37,"end":47,"value":"2001-06-14","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["2001-06-14"]},"customers":{"required_absent":["2001-06-14"],"required_present":[]},"all":{"required_absent":["2001-06-14"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-041","language":"en","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad private/public date variation.","text":"message_41: \"Public release date: 2001-06-14\"","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":34,"end":44,"value":"2001-06-14","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["2001-06-14"]},"customers":{"required_absent":[],"required_present":["2001-06-14"]},"all":{"required_absent":[],"required_present":["2001-06-14"]}},"tags":["broad-quality","date-policy"]}, {"id":"broad-date-redact-042","language":"en","script":"Latin","shape":"shell","risk":"high","reason":"Locked broad private/public date variation.","text":"MESSAGE_42='Customer date of birth: 2002-07-15'","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":36,"end":46,"value":"2002-07-15","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["2002-07-15"]},"customers":{"required_absent":["2002-07-15"],"required_present":[]},"all":{"required_absent":["2002-07-15"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, {"id":"broad-date-preserve-042","language":"en","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad private/public date variation.","text":"MESSAGE_42='Public release date: 2002-07-15'","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":33,"end":43,"value":"2002-07-15","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["2002-07-15"]},"customers":{"required_absent":[],"required_present":["2002-07-15"]},"all":{"required_absent":[],"required_present":["2002-07-15"]}},"tags":["broad-quality","date-policy"]}, - {"id":"broad-date-redact-043","language":"en","script":"Latin","shape":"url","risk":"high","reason":"Locked broad private/public date variation.","text":"endpoint=https://192.0.2.10/43 ; Customer date of birth: 2003-07-16","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":57,"end":67,"value":"2003-07-16","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["2003-07-16"]},"customers":{"required_absent":["2003-07-16"],"required_present":[]},"all":{"required_absent":["2003-07-16"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, - {"id":"broad-date-preserve-043","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad private/public date variation.","text":"endpoint=https://192.0.2.10/43 ; Public release date: 2003-07-16","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":54,"end":64,"value":"2003-07-16","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["2003-07-16"]},"customers":{"required_absent":[],"required_present":["2003-07-16"]},"all":{"required_absent":[],"required_present":["2003-07-16"]}},"tags":["broad-quality","date-policy"]}, - {"id":"broad-date-redact-044","language":"en","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad private/public date variation.","text":"**Customer date of birth: 2004-07-17**","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":26,"end":36,"value":"2004-07-17","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["2004-07-17"]},"customers":{"required_absent":["2004-07-17"],"required_present":[]},"all":{"required_absent":["2004-07-17"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, - {"id":"broad-date-preserve-044","language":"en","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad private/public date variation.","text":"**Public release date: 2004-07-17**","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":23,"end":33,"value":"2004-07-17","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["2004-07-17"]},"customers":{"required_absent":[],"required_present":["2004-07-17"]},"all":{"required_absent":[],"required_present":["2004-07-17"]}},"tags":["broad-quality","date-policy"]}, - {"id":"broad-date-redact-045","language":"en","script":"Latin","shape":"html","risk":"high","reason":"Locked broad private/public date variation.","text":"\u003cp\u003eCustomer date of birth: 2005-07-18\u003c/p\u003e","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":27,"end":37,"value":"2005-07-18","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["2005-07-18"]},"customers":{"required_absent":["2005-07-18"],"required_present":[]},"all":{"required_absent":["2005-07-18"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, - {"id":"broad-date-preserve-045","language":"en","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad private/public date variation.","text":"\u003cp\u003ePublic release date: 2005-07-18\u003c/p\u003e","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":24,"end":34,"value":"2005-07-18","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["2005-07-18"]},"customers":{"required_absent":[],"required_present":["2005-07-18"]},"all":{"required_absent":[],"required_present":["2005-07-18"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-043","language":"en","script":"Latin","shape":"url","risk":"high","reason":"Locked broad private/public date variation.","text":"endpoint=https://192.0.2.10/43?credential=2003-07-16\u0026note=Customer+date+of+birth%3A+","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":42,"end":52,"value":"2003-07-16","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["2003-07-16"]},"customers":{"required_absent":["2003-07-16"],"required_present":[]},"all":{"required_absent":["2003-07-16"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-043","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad private/public date variation.","text":"endpoint=https://192.0.2.10/43?credential=2003-07-16\u0026note=Public+release+date%3A+","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":42,"end":52,"value":"2003-07-16","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["2003-07-16"]},"customers":{"required_absent":[],"required_present":["2003-07-16"]},"all":{"required_absent":[],"required_present":["2003-07-16"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-044","language":"en","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad private/public date variation.","text":"Customer date of birth: `2004-07-17`","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":25,"end":35,"value":"2004-07-17","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["2004-07-17"]},"customers":{"required_absent":["2004-07-17"],"required_present":[]},"all":{"required_absent":["2004-07-17"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-044","language":"en","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad private/public date variation.","text":"Public release date: `2004-07-17`","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":22,"end":32,"value":"2004-07-17","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["2004-07-17"]},"customers":{"required_absent":[],"required_present":["2004-07-17"]},"all":{"required_absent":[],"required_present":["2004-07-17"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-045","language":"en","script":"Latin","shape":"html","risk":"high","reason":"Locked broad private/public date variation.","text":"\u003cp\u003eCustomer date of birth: \u003ccode\u003e2005-07-18\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":33,"end":43,"value":"2005-07-18","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["2005-07-18"]},"customers":{"required_absent":["2005-07-18"],"required_present":[]},"all":{"required_absent":["2005-07-18"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-045","language":"en","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad private/public date variation.","text":"\u003cp\u003ePublic release date: \u003ccode\u003e2005-07-18\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":30,"end":40,"value":"2005-07-18","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["2005-07-18"]},"customers":{"required_absent":[],"required_present":["2005-07-18"]},"all":{"required_absent":[],"required_present":["2005-07-18"]}},"tags":["broad-quality","date-policy"]}, {"id":"broad-date-redact-046","language":"en","script":"Latin","shape":"quoted-reply","risk":"high","reason":"Locked broad private/public date variation.","text":"\u003e Customer date of birth: 2006-07-19","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":26,"end":36,"value":"2006-07-19","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["2006-07-19"]},"customers":{"required_absent":["2006-07-19"],"required_present":[]},"all":{"required_absent":["2006-07-19"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, {"id":"broad-date-preserve-046","language":"en","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad private/public date variation.","text":"\u003e Public release date: 2006-07-19","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":23,"end":33,"value":"2006-07-19","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["2006-07-19"]},"customers":{"required_absent":[],"required_present":["2006-07-19"]},"all":{"required_absent":[],"required_present":["2006-07-19"]}},"tags":["broad-quality","date-policy"]}, - {"id":"broad-date-redact-047","language":"en","script":"Latin","shape":"log","risk":"high","reason":"Locked broad private/public date variation.","text":"level=warn sample=47 message=\"Customer date of birth: \" value=2007-07-20","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":62,"end":72,"value":"2007-07-20","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["2007-07-20"]},"customers":{"required_absent":["2007-07-20"],"required_present":[]},"all":{"required_absent":["2007-07-20"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, - {"id":"broad-date-preserve-047","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad private/public date variation.","text":"level=warn sample=47 message=\"Public release date: \" value=2007-07-20","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":59,"end":69,"value":"2007-07-20","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["2007-07-20"]},"customers":{"required_absent":[],"required_present":["2007-07-20"]},"all":{"required_absent":[],"required_present":["2007-07-20"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-047","language":"en","script":"Latin","shape":"log","risk":"high","reason":"Locked broad private/public date variation.","text":"level=warn sample=47 message=\"Customer date of birth: \" credential=\"2007-07-20\"","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":68,"end":78,"value":"2007-07-20","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["2007-07-20"]},"customers":{"required_absent":["2007-07-20"],"required_present":[]},"all":{"required_absent":["2007-07-20"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-047","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad private/public date variation.","text":"level=warn sample=47 message=\"Public release date: \" credential=\"2007-07-20\"","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":65,"end":75,"value":"2007-07-20","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["2007-07-20"]},"customers":{"required_absent":[],"required_present":["2007-07-20"]},"all":{"required_absent":[],"required_present":["2007-07-20"]}},"tags":["broad-quality","date-policy"]}, {"id":"broad-date-redact-048","language":"en","script":"Latin","shape":"stack-trace","risk":"high","reason":"Locked broad private/public date variation.","text":"Trace[48]: Customer date of birth: 2008-07-21","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":35,"end":45,"value":"2008-07-21","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["2008-07-21"]},"customers":{"required_absent":["2008-07-21"],"required_present":[]},"all":{"required_absent":["2008-07-21"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, {"id":"broad-date-preserve-048","language":"en","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad private/public date variation.","text":"Trace[48]: Public release date: 2008-07-21","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":32,"end":42,"value":"2008-07-21","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["2008-07-21"]},"customers":{"required_absent":[],"required_present":["2008-07-21"]},"all":{"required_absent":[],"required_present":["2008-07-21"]}},"tags":["broad-quality","date-policy"]}, {"id":"broad-date-redact-049","language":"en","script":"Latin","shape":"code","risk":"high","reason":"Locked broad private/public date variation.","text":"fixture_49 := `Customer date of birth: 2009-08-22`","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":39,"end":49,"value":"2009-08-22","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["2009-08-22"]},"customers":{"required_absent":["2009-08-22"],"required_present":[]},"all":{"required_absent":["2009-08-22"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, @@ -106,26 +106,26 @@ {"id":"broad-date-preserve-050","language":"en","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad private/public date variation.","text":"--\nPublic release date: 1960-08-23","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":24,"end":34,"value":"1960-08-23","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1960-08-23"]},"customers":{"required_absent":[],"required_present":["1960-08-23"]},"all":{"required_absent":[],"required_present":["1960-08-23"]}},"tags":["broad-quality","date-policy"]}, {"id":"broad-date-redact-051","language":"en","script":"Latin","shape":"long-thread","risk":"high","reason":"Locked broad private/public date variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Customer date of birth: 1961-08-24","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":504,"end":514,"value":"1961-08-24","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1961-08-24"]},"customers":{"required_absent":["1961-08-24"],"required_present":[]},"all":{"required_absent":["1961-08-24"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, {"id":"broad-date-preserve-051","language":"en","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad private/public date variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Public release date: 1961-08-24","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":501,"end":511,"value":"1961-08-24","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1961-08-24"]},"customers":{"required_absent":[],"required_present":["1961-08-24"]},"all":{"required_absent":[],"required_present":["1961-08-24"]}},"tags":["broad-quality","date-policy"]}, - {"id":"broad-date-redact-052","language":"en","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad private/public date variation.","text":"--sample=52 --message=\"Customer date of birth: \" --value=1962-08-25","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":57,"end":67,"value":"1962-08-25","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1962-08-25"]},"customers":{"required_absent":["1962-08-25"],"required_present":[]},"all":{"required_absent":["1962-08-25"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, - {"id":"broad-date-preserve-052","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad private/public date variation.","text":"--sample=52 --message=\"Public release date: \" --value=1962-08-25","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":54,"end":64,"value":"1962-08-25","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1962-08-25"]},"customers":{"required_absent":[],"required_present":["1962-08-25"]},"all":{"required_absent":[],"required_present":["1962-08-25"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-052","language":"en","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad private/public date variation.","text":"--sample=52 --message=\"Customer date of birth: \" --credential=\"1962-08-25\"","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":63,"end":73,"value":"1962-08-25","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1962-08-25"]},"customers":{"required_absent":["1962-08-25"],"required_present":[]},"all":{"required_absent":["1962-08-25"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-052","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad private/public date variation.","text":"--sample=52 --message=\"Public release date: \" --credential=\"1962-08-25\"","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":60,"end":70,"value":"1962-08-25","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1962-08-25"]},"customers":{"required_absent":[],"required_present":["1962-08-25"]},"all":{"required_absent":[],"required_present":["1962-08-25"]}},"tags":["broad-quality","date-policy"]}, {"id":"broad-date-redact-053","language":"en","script":"Latin","shape":"prose","risk":"high","reason":"Locked broad private/public date variation.","text":"Customer date of birth: 1963-08-26","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":24,"end":34,"value":"1963-08-26","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1963-08-26"]},"customers":{"required_absent":["1963-08-26"],"required_present":[]},"all":{"required_absent":["1963-08-26"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, {"id":"broad-date-preserve-053","language":"en","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad private/public date variation.","text":"Public release date: 1963-08-26","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":21,"end":31,"value":"1963-08-26","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1963-08-26"]},"customers":{"required_absent":[],"required_present":["1963-08-26"]},"all":{"required_absent":[],"required_present":["1963-08-26"]}},"tags":["broad-quality","date-policy"]}, {"id":"broad-date-redact-054","language":"en","script":"Latin","shape":"json","risk":"high","reason":"Locked broad private/public date variation.","text":"{\"message_54\":\"Customer date of birth: 1964-08-27\"}","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":39,"end":49,"value":"1964-08-27","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1964-08-27"]},"customers":{"required_absent":["1964-08-27"],"required_present":[]},"all":{"required_absent":["1964-08-27"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, {"id":"broad-date-preserve-054","language":"en","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad private/public date variation.","text":"{\"message_54\":\"Public release date: 1964-08-27\"}","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":36,"end":46,"value":"1964-08-27","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1964-08-27"]},"customers":{"required_absent":[],"required_present":["1964-08-27"]},"all":{"required_absent":[],"required_present":["1964-08-27"]}},"tags":["broad-quality","date-policy"]}, - {"id":"broad-date-redact-055","language":"en","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad private/public date variation.","text":"message_55: Customer date of birth: 1965-08-28","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":36,"end":46,"value":"1965-08-28","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1965-08-28"]},"customers":{"required_absent":["1965-08-28"],"required_present":[]},"all":{"required_absent":["1965-08-28"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, - {"id":"broad-date-preserve-055","language":"en","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad private/public date variation.","text":"message_55: Public release date: 1965-08-28","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":33,"end":43,"value":"1965-08-28","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1965-08-28"]},"customers":{"required_absent":[],"required_present":["1965-08-28"]},"all":{"required_absent":[],"required_present":["1965-08-28"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-055","language":"en","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad private/public date variation.","text":"message_55: \"Customer date of birth: 1965-08-28\"","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":37,"end":47,"value":"1965-08-28","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1965-08-28"]},"customers":{"required_absent":["1965-08-28"],"required_present":[]},"all":{"required_absent":["1965-08-28"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-055","language":"en","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad private/public date variation.","text":"message_55: \"Public release date: 1965-08-28\"","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":34,"end":44,"value":"1965-08-28","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1965-08-28"]},"customers":{"required_absent":[],"required_present":["1965-08-28"]},"all":{"required_absent":[],"required_present":["1965-08-28"]}},"tags":["broad-quality","date-policy"]}, {"id":"broad-date-redact-056","language":"en","script":"Latin","shape":"shell","risk":"high","reason":"Locked broad private/public date variation.","text":"MESSAGE_56='Customer date of birth: 1966-09-01'","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":36,"end":46,"value":"1966-09-01","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1966-09-01"]},"customers":{"required_absent":["1966-09-01"],"required_present":[]},"all":{"required_absent":["1966-09-01"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, {"id":"broad-date-preserve-056","language":"en","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad private/public date variation.","text":"MESSAGE_56='Public release date: 1966-09-01'","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":33,"end":43,"value":"1966-09-01","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1966-09-01"]},"customers":{"required_absent":[],"required_present":["1966-09-01"]},"all":{"required_absent":[],"required_present":["1966-09-01"]}},"tags":["broad-quality","date-policy"]}, - {"id":"broad-date-redact-057","language":"en","script":"Latin","shape":"url","risk":"high","reason":"Locked broad private/public date variation.","text":"endpoint=https://192.0.2.10/57 ; Customer date of birth: 1967-09-02","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":57,"end":67,"value":"1967-09-02","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1967-09-02"]},"customers":{"required_absent":["1967-09-02"],"required_present":[]},"all":{"required_absent":["1967-09-02"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, - {"id":"broad-date-preserve-057","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad private/public date variation.","text":"endpoint=https://192.0.2.10/57 ; Public release date: 1967-09-02","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":54,"end":64,"value":"1967-09-02","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1967-09-02"]},"customers":{"required_absent":[],"required_present":["1967-09-02"]},"all":{"required_absent":[],"required_present":["1967-09-02"]}},"tags":["broad-quality","date-policy"]}, - {"id":"broad-date-redact-058","language":"en","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad private/public date variation.","text":"**Customer date of birth: 1968-09-03**","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":26,"end":36,"value":"1968-09-03","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1968-09-03"]},"customers":{"required_absent":["1968-09-03"],"required_present":[]},"all":{"required_absent":["1968-09-03"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, - {"id":"broad-date-preserve-058","language":"en","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad private/public date variation.","text":"**Public release date: 1968-09-03**","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":23,"end":33,"value":"1968-09-03","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1968-09-03"]},"customers":{"required_absent":[],"required_present":["1968-09-03"]},"all":{"required_absent":[],"required_present":["1968-09-03"]}},"tags":["broad-quality","date-policy"]}, - {"id":"broad-date-redact-059","language":"en","script":"Latin","shape":"html","risk":"high","reason":"Locked broad private/public date variation.","text":"\u003cp\u003eCustomer date of birth: 1969-09-04\u003c/p\u003e","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":27,"end":37,"value":"1969-09-04","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1969-09-04"]},"customers":{"required_absent":["1969-09-04"],"required_present":[]},"all":{"required_absent":["1969-09-04"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, - {"id":"broad-date-preserve-059","language":"en","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad private/public date variation.","text":"\u003cp\u003ePublic release date: 1969-09-04\u003c/p\u003e","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":24,"end":34,"value":"1969-09-04","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1969-09-04"]},"customers":{"required_absent":[],"required_present":["1969-09-04"]},"all":{"required_absent":[],"required_present":["1969-09-04"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-057","language":"en","script":"Latin","shape":"url","risk":"high","reason":"Locked broad private/public date variation.","text":"endpoint=https://192.0.2.10/57?credential=1967-09-02\u0026note=Customer+date+of+birth%3A+","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":42,"end":52,"value":"1967-09-02","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1967-09-02"]},"customers":{"required_absent":["1967-09-02"],"required_present":[]},"all":{"required_absent":["1967-09-02"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-057","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad private/public date variation.","text":"endpoint=https://192.0.2.10/57?credential=1967-09-02\u0026note=Public+release+date%3A+","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":42,"end":52,"value":"1967-09-02","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1967-09-02"]},"customers":{"required_absent":[],"required_present":["1967-09-02"]},"all":{"required_absent":[],"required_present":["1967-09-02"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-058","language":"en","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad private/public date variation.","text":"Customer date of birth: `1968-09-03`","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":25,"end":35,"value":"1968-09-03","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1968-09-03"]},"customers":{"required_absent":["1968-09-03"],"required_present":[]},"all":{"required_absent":["1968-09-03"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-058","language":"en","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad private/public date variation.","text":"Public release date: `1968-09-03`","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":22,"end":32,"value":"1968-09-03","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1968-09-03"]},"customers":{"required_absent":[],"required_present":["1968-09-03"]},"all":{"required_absent":[],"required_present":["1968-09-03"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-059","language":"en","script":"Latin","shape":"html","risk":"high","reason":"Locked broad private/public date variation.","text":"\u003cp\u003eCustomer date of birth: \u003ccode\u003e1969-09-04\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":33,"end":43,"value":"1969-09-04","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1969-09-04"]},"customers":{"required_absent":["1969-09-04"],"required_present":[]},"all":{"required_absent":["1969-09-04"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-059","language":"en","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad private/public date variation.","text":"\u003cp\u003ePublic release date: \u003ccode\u003e1969-09-04\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":30,"end":40,"value":"1969-09-04","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1969-09-04"]},"customers":{"required_absent":[],"required_present":["1969-09-04"]},"all":{"required_absent":[],"required_present":["1969-09-04"]}},"tags":["broad-quality","date-policy"]}, {"id":"broad-date-redact-060","language":"en","script":"Latin","shape":"quoted-reply","risk":"high","reason":"Locked broad private/public date variation.","text":"\u003e Customer date of birth: 1970-09-05","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":26,"end":36,"value":"1970-09-05","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1970-09-05"]},"customers":{"required_absent":["1970-09-05"],"required_present":[]},"all":{"required_absent":["1970-09-05"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, {"id":"broad-date-preserve-060","language":"en","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad private/public date variation.","text":"\u003e Public release date: 1970-09-05","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":23,"end":33,"value":"1970-09-05","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1970-09-05"]},"customers":{"required_absent":[],"required_present":["1970-09-05"]},"all":{"required_absent":[],"required_present":["1970-09-05"]}},"tags":["broad-quality","date-policy"]}, - {"id":"broad-date-redact-061","language":"en","script":"Latin","shape":"log","risk":"high","reason":"Locked broad private/public date variation.","text":"level=warn sample=61 message=\"Customer date of birth: \" value=1971-09-06","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":62,"end":72,"value":"1971-09-06","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1971-09-06"]},"customers":{"required_absent":["1971-09-06"],"required_present":[]},"all":{"required_absent":["1971-09-06"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, - {"id":"broad-date-preserve-061","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad private/public date variation.","text":"level=warn sample=61 message=\"Public release date: \" value=1971-09-06","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":59,"end":69,"value":"1971-09-06","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1971-09-06"]},"customers":{"required_absent":[],"required_present":["1971-09-06"]},"all":{"required_absent":[],"required_present":["1971-09-06"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-061","language":"en","script":"Latin","shape":"log","risk":"high","reason":"Locked broad private/public date variation.","text":"level=warn sample=61 message=\"Customer date of birth: \" credential=\"1971-09-06\"","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":68,"end":78,"value":"1971-09-06","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1971-09-06"]},"customers":{"required_absent":["1971-09-06"],"required_present":[]},"all":{"required_absent":["1971-09-06"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-061","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad private/public date variation.","text":"level=warn sample=61 message=\"Public release date: \" credential=\"1971-09-06\"","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":65,"end":75,"value":"1971-09-06","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1971-09-06"]},"customers":{"required_absent":[],"required_present":["1971-09-06"]},"all":{"required_absent":[],"required_present":["1971-09-06"]}},"tags":["broad-quality","date-policy"]}, {"id":"broad-date-redact-062","language":"en","script":"Latin","shape":"stack-trace","risk":"high","reason":"Locked broad private/public date variation.","text":"Trace[62]: Customer date of birth: 1972-09-07","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":35,"end":45,"value":"1972-09-07","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1972-09-07"]},"customers":{"required_absent":["1972-09-07"],"required_present":[]},"all":{"required_absent":["1972-09-07"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, {"id":"broad-date-preserve-062","language":"en","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad private/public date variation.","text":"Trace[62]: Public release date: 1972-09-07","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":32,"end":42,"value":"1972-09-07","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1972-09-07"]},"customers":{"required_absent":[],"required_present":["1972-09-07"]},"all":{"required_absent":[],"required_present":["1972-09-07"]}},"tags":["broad-quality","date-policy"]}, {"id":"broad-date-redact-063","language":"en","script":"Latin","shape":"code","risk":"high","reason":"Locked broad private/public date variation.","text":"fixture_63 := `Customer date of birth: 1973-10-08`","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":39,"end":49,"value":"1973-10-08","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1973-10-08"]},"customers":{"required_absent":["1973-10-08"],"required_present":[]},"all":{"required_absent":["1973-10-08"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, @@ -134,26 +134,26 @@ {"id":"broad-date-preserve-064","language":"en","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad private/public date variation.","text":"--\nPublic release date: 1974-10-09","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":24,"end":34,"value":"1974-10-09","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1974-10-09"]},"customers":{"required_absent":[],"required_present":["1974-10-09"]},"all":{"required_absent":[],"required_present":["1974-10-09"]}},"tags":["broad-quality","date-policy"]}, {"id":"broad-date-redact-065","language":"en","script":"Latin","shape":"long-thread","risk":"high","reason":"Locked broad private/public date variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Customer date of birth: 1975-10-10","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":504,"end":514,"value":"1975-10-10","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1975-10-10"]},"customers":{"required_absent":["1975-10-10"],"required_present":[]},"all":{"required_absent":["1975-10-10"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, {"id":"broad-date-preserve-065","language":"en","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad private/public date variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Public release date: 1975-10-10","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":501,"end":511,"value":"1975-10-10","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1975-10-10"]},"customers":{"required_absent":[],"required_present":["1975-10-10"]},"all":{"required_absent":[],"required_present":["1975-10-10"]}},"tags":["broad-quality","date-policy"]}, - {"id":"broad-date-redact-066","language":"en","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad private/public date variation.","text":"--sample=66 --message=\"Customer date of birth: \" --value=1976-10-11","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":57,"end":67,"value":"1976-10-11","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1976-10-11"]},"customers":{"required_absent":["1976-10-11"],"required_present":[]},"all":{"required_absent":["1976-10-11"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, - {"id":"broad-date-preserve-066","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad private/public date variation.","text":"--sample=66 --message=\"Public release date: \" --value=1976-10-11","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":54,"end":64,"value":"1976-10-11","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1976-10-11"]},"customers":{"required_absent":[],"required_present":["1976-10-11"]},"all":{"required_absent":[],"required_present":["1976-10-11"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-066","language":"en","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad private/public date variation.","text":"--sample=66 --message=\"Customer date of birth: \" --credential=\"1976-10-11\"","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":63,"end":73,"value":"1976-10-11","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1976-10-11"]},"customers":{"required_absent":["1976-10-11"],"required_present":[]},"all":{"required_absent":["1976-10-11"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-066","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad private/public date variation.","text":"--sample=66 --message=\"Public release date: \" --credential=\"1976-10-11\"","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":60,"end":70,"value":"1976-10-11","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1976-10-11"]},"customers":{"required_absent":[],"required_present":["1976-10-11"]},"all":{"required_absent":[],"required_present":["1976-10-11"]}},"tags":["broad-quality","date-policy"]}, {"id":"broad-date-redact-067","language":"en","script":"Latin","shape":"prose","risk":"high","reason":"Locked broad private/public date variation.","text":"Customer date of birth: 1977-10-12","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":24,"end":34,"value":"1977-10-12","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1977-10-12"]},"customers":{"required_absent":["1977-10-12"],"required_present":[]},"all":{"required_absent":["1977-10-12"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, {"id":"broad-date-preserve-067","language":"en","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad private/public date variation.","text":"Public release date: 1977-10-12","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":21,"end":31,"value":"1977-10-12","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1977-10-12"]},"customers":{"required_absent":[],"required_present":["1977-10-12"]},"all":{"required_absent":[],"required_present":["1977-10-12"]}},"tags":["broad-quality","date-policy"]}, {"id":"broad-date-redact-068","language":"en","script":"Latin","shape":"json","risk":"high","reason":"Locked broad private/public date variation.","text":"{\"message_68\":\"Customer date of birth: 1978-10-13\"}","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":39,"end":49,"value":"1978-10-13","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1978-10-13"]},"customers":{"required_absent":["1978-10-13"],"required_present":[]},"all":{"required_absent":["1978-10-13"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, {"id":"broad-date-preserve-068","language":"en","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad private/public date variation.","text":"{\"message_68\":\"Public release date: 1978-10-13\"}","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":36,"end":46,"value":"1978-10-13","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1978-10-13"]},"customers":{"required_absent":[],"required_present":["1978-10-13"]},"all":{"required_absent":[],"required_present":["1978-10-13"]}},"tags":["broad-quality","date-policy"]}, - {"id":"broad-date-redact-069","language":"en","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad private/public date variation.","text":"message_69: Customer date of birth: 1979-10-14","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":36,"end":46,"value":"1979-10-14","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1979-10-14"]},"customers":{"required_absent":["1979-10-14"],"required_present":[]},"all":{"required_absent":["1979-10-14"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, - {"id":"broad-date-preserve-069","language":"en","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad private/public date variation.","text":"message_69: Public release date: 1979-10-14","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":33,"end":43,"value":"1979-10-14","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1979-10-14"]},"customers":{"required_absent":[],"required_present":["1979-10-14"]},"all":{"required_absent":[],"required_present":["1979-10-14"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-069","language":"en","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad private/public date variation.","text":"message_69: \"Customer date of birth: 1979-10-14\"","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":37,"end":47,"value":"1979-10-14","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1979-10-14"]},"customers":{"required_absent":["1979-10-14"],"required_present":[]},"all":{"required_absent":["1979-10-14"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-069","language":"en","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad private/public date variation.","text":"message_69: \"Public release date: 1979-10-14\"","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":34,"end":44,"value":"1979-10-14","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1979-10-14"]},"customers":{"required_absent":[],"required_present":["1979-10-14"]},"all":{"required_absent":[],"required_present":["1979-10-14"]}},"tags":["broad-quality","date-policy"]}, {"id":"broad-date-redact-070","language":"en","script":"Latin","shape":"shell","risk":"high","reason":"Locked broad private/public date variation.","text":"MESSAGE_70='Customer date of birth: 1980-11-15'","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":36,"end":46,"value":"1980-11-15","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1980-11-15"]},"customers":{"required_absent":["1980-11-15"],"required_present":[]},"all":{"required_absent":["1980-11-15"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, {"id":"broad-date-preserve-070","language":"en","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad private/public date variation.","text":"MESSAGE_70='Public release date: 1980-11-15'","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":33,"end":43,"value":"1980-11-15","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1980-11-15"]},"customers":{"required_absent":[],"required_present":["1980-11-15"]},"all":{"required_absent":[],"required_present":["1980-11-15"]}},"tags":["broad-quality","date-policy"]}, - {"id":"broad-date-redact-071","language":"en","script":"Latin","shape":"url","risk":"high","reason":"Locked broad private/public date variation.","text":"endpoint=https://192.0.2.10/71 ; Customer date of birth: 1981-11-16","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":57,"end":67,"value":"1981-11-16","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1981-11-16"]},"customers":{"required_absent":["1981-11-16"],"required_present":[]},"all":{"required_absent":["1981-11-16"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, - {"id":"broad-date-preserve-071","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad private/public date variation.","text":"endpoint=https://192.0.2.10/71 ; Public release date: 1981-11-16","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":54,"end":64,"value":"1981-11-16","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1981-11-16"]},"customers":{"required_absent":[],"required_present":["1981-11-16"]},"all":{"required_absent":[],"required_present":["1981-11-16"]}},"tags":["broad-quality","date-policy"]}, - {"id":"broad-date-redact-072","language":"en","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad private/public date variation.","text":"**Customer date of birth: 1982-11-17**","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":26,"end":36,"value":"1982-11-17","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1982-11-17"]},"customers":{"required_absent":["1982-11-17"],"required_present":[]},"all":{"required_absent":["1982-11-17"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, - {"id":"broad-date-preserve-072","language":"en","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad private/public date variation.","text":"**Public release date: 1982-11-17**","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":23,"end":33,"value":"1982-11-17","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1982-11-17"]},"customers":{"required_absent":[],"required_present":["1982-11-17"]},"all":{"required_absent":[],"required_present":["1982-11-17"]}},"tags":["broad-quality","date-policy"]}, - {"id":"broad-date-redact-073","language":"en","script":"Latin","shape":"html","risk":"high","reason":"Locked broad private/public date variation.","text":"\u003cp\u003eCustomer date of birth: 1983-11-18\u003c/p\u003e","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":27,"end":37,"value":"1983-11-18","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1983-11-18"]},"customers":{"required_absent":["1983-11-18"],"required_present":[]},"all":{"required_absent":["1983-11-18"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, - {"id":"broad-date-preserve-073","language":"en","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad private/public date variation.","text":"\u003cp\u003ePublic release date: 1983-11-18\u003c/p\u003e","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":24,"end":34,"value":"1983-11-18","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1983-11-18"]},"customers":{"required_absent":[],"required_present":["1983-11-18"]},"all":{"required_absent":[],"required_present":["1983-11-18"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-071","language":"en","script":"Latin","shape":"url","risk":"high","reason":"Locked broad private/public date variation.","text":"endpoint=https://192.0.2.10/71?credential=1981-11-16\u0026note=Customer+date+of+birth%3A+","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":42,"end":52,"value":"1981-11-16","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1981-11-16"]},"customers":{"required_absent":["1981-11-16"],"required_present":[]},"all":{"required_absent":["1981-11-16"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-071","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad private/public date variation.","text":"endpoint=https://192.0.2.10/71?credential=1981-11-16\u0026note=Public+release+date%3A+","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":42,"end":52,"value":"1981-11-16","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1981-11-16"]},"customers":{"required_absent":[],"required_present":["1981-11-16"]},"all":{"required_absent":[],"required_present":["1981-11-16"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-072","language":"en","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad private/public date variation.","text":"Customer date of birth: `1982-11-17`","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":25,"end":35,"value":"1982-11-17","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1982-11-17"]},"customers":{"required_absent":["1982-11-17"],"required_present":[]},"all":{"required_absent":["1982-11-17"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-072","language":"en","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad private/public date variation.","text":"Public release date: `1982-11-17`","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":22,"end":32,"value":"1982-11-17","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1982-11-17"]},"customers":{"required_absent":[],"required_present":["1982-11-17"]},"all":{"required_absent":[],"required_present":["1982-11-17"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-073","language":"en","script":"Latin","shape":"html","risk":"high","reason":"Locked broad private/public date variation.","text":"\u003cp\u003eCustomer date of birth: \u003ccode\u003e1983-11-18\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":33,"end":43,"value":"1983-11-18","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1983-11-18"]},"customers":{"required_absent":["1983-11-18"],"required_present":[]},"all":{"required_absent":["1983-11-18"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-073","language":"en","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad private/public date variation.","text":"\u003cp\u003ePublic release date: \u003ccode\u003e1983-11-18\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":30,"end":40,"value":"1983-11-18","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1983-11-18"]},"customers":{"required_absent":[],"required_present":["1983-11-18"]},"all":{"required_absent":[],"required_present":["1983-11-18"]}},"tags":["broad-quality","date-policy"]}, {"id":"broad-date-redact-074","language":"en","script":"Latin","shape":"quoted-reply","risk":"high","reason":"Locked broad private/public date variation.","text":"\u003e Customer date of birth: 1984-11-19","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":26,"end":36,"value":"1984-11-19","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1984-11-19"]},"customers":{"required_absent":["1984-11-19"],"required_present":[]},"all":{"required_absent":["1984-11-19"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, {"id":"broad-date-preserve-074","language":"en","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad private/public date variation.","text":"\u003e Public release date: 1984-11-19","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":23,"end":33,"value":"1984-11-19","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1984-11-19"]},"customers":{"required_absent":[],"required_present":["1984-11-19"]},"all":{"required_absent":[],"required_present":["1984-11-19"]}},"tags":["broad-quality","date-policy"]}, - {"id":"broad-date-redact-075","language":"en","script":"Latin","shape":"log","risk":"high","reason":"Locked broad private/public date variation.","text":"level=warn sample=75 message=\"Customer date of birth: \" value=1985-11-20","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":62,"end":72,"value":"1985-11-20","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1985-11-20"]},"customers":{"required_absent":["1985-11-20"],"required_present":[]},"all":{"required_absent":["1985-11-20"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, - {"id":"broad-date-preserve-075","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad private/public date variation.","text":"level=warn sample=75 message=\"Public release date: \" value=1985-11-20","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":59,"end":69,"value":"1985-11-20","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1985-11-20"]},"customers":{"required_absent":[],"required_present":["1985-11-20"]},"all":{"required_absent":[],"required_present":["1985-11-20"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-075","language":"en","script":"Latin","shape":"log","risk":"high","reason":"Locked broad private/public date variation.","text":"level=warn sample=75 message=\"Customer date of birth: \" credential=\"1985-11-20\"","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":68,"end":78,"value":"1985-11-20","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1985-11-20"]},"customers":{"required_absent":["1985-11-20"],"required_present":[]},"all":{"required_absent":["1985-11-20"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-075","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad private/public date variation.","text":"level=warn sample=75 message=\"Public release date: \" credential=\"1985-11-20\"","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":65,"end":75,"value":"1985-11-20","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1985-11-20"]},"customers":{"required_absent":[],"required_present":["1985-11-20"]},"all":{"required_absent":[],"required_present":["1985-11-20"]}},"tags":["broad-quality","date-policy"]}, {"id":"broad-date-redact-076","language":"en","script":"Latin","shape":"stack-trace","risk":"high","reason":"Locked broad private/public date variation.","text":"Trace[76]: Customer date of birth: 1986-11-21","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":35,"end":45,"value":"1986-11-21","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1986-11-21"]},"customers":{"required_absent":["1986-11-21"],"required_present":[]},"all":{"required_absent":["1986-11-21"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, {"id":"broad-date-preserve-076","language":"en","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad private/public date variation.","text":"Trace[76]: Public release date: 1986-11-21","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":32,"end":42,"value":"1986-11-21","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1986-11-21"]},"customers":{"required_absent":[],"required_present":["1986-11-21"]},"all":{"required_absent":[],"required_present":["1986-11-21"]}},"tags":["broad-quality","date-policy"]}, {"id":"broad-date-redact-077","language":"en","script":"Latin","shape":"code","risk":"high","reason":"Locked broad private/public date variation.","text":"fixture_77 := `Customer date of birth: 1987-12-22`","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":39,"end":49,"value":"1987-12-22","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1987-12-22"]},"customers":{"required_absent":["1987-12-22"],"required_present":[]},"all":{"required_absent":["1987-12-22"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, @@ -162,26 +162,26 @@ {"id":"broad-date-preserve-078","language":"en","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad private/public date variation.","text":"--\nPublic release date: 1988-12-23","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":24,"end":34,"value":"1988-12-23","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1988-12-23"]},"customers":{"required_absent":[],"required_present":["1988-12-23"]},"all":{"required_absent":[],"required_present":["1988-12-23"]}},"tags":["broad-quality","date-policy"]}, {"id":"broad-date-redact-079","language":"en","script":"Latin","shape":"long-thread","risk":"high","reason":"Locked broad private/public date variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Customer date of birth: 1989-12-24","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":504,"end":514,"value":"1989-12-24","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1989-12-24"]},"customers":{"required_absent":["1989-12-24"],"required_present":[]},"all":{"required_absent":["1989-12-24"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, {"id":"broad-date-preserve-079","language":"en","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad private/public date variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Public release date: 1989-12-24","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":501,"end":511,"value":"1989-12-24","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1989-12-24"]},"customers":{"required_absent":[],"required_present":["1989-12-24"]},"all":{"required_absent":[],"required_present":["1989-12-24"]}},"tags":["broad-quality","date-policy"]}, - {"id":"broad-date-redact-080","language":"en","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad private/public date variation.","text":"--sample=80 --message=\"Customer date of birth: \" --value=1990-12-25","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":57,"end":67,"value":"1990-12-25","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1990-12-25"]},"customers":{"required_absent":["1990-12-25"],"required_present":[]},"all":{"required_absent":["1990-12-25"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, - {"id":"broad-date-preserve-080","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad private/public date variation.","text":"--sample=80 --message=\"Public release date: \" --value=1990-12-25","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":54,"end":64,"value":"1990-12-25","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1990-12-25"]},"customers":{"required_absent":[],"required_present":["1990-12-25"]},"all":{"required_absent":[],"required_present":["1990-12-25"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-080","language":"en","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad private/public date variation.","text":"--sample=80 --message=\"Customer date of birth: \" --credential=\"1990-12-25\"","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":63,"end":73,"value":"1990-12-25","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1990-12-25"]},"customers":{"required_absent":["1990-12-25"],"required_present":[]},"all":{"required_absent":["1990-12-25"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-080","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad private/public date variation.","text":"--sample=80 --message=\"Public release date: \" --credential=\"1990-12-25\"","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":60,"end":70,"value":"1990-12-25","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1990-12-25"]},"customers":{"required_absent":[],"required_present":["1990-12-25"]},"all":{"required_absent":[],"required_present":["1990-12-25"]}},"tags":["broad-quality","date-policy"]}, {"id":"broad-date-redact-081","language":"en","script":"Latin","shape":"prose","risk":"high","reason":"Locked broad private/public date variation.","text":"Customer date of birth: 1991-12-26","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":24,"end":34,"value":"1991-12-26","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1991-12-26"]},"customers":{"required_absent":["1991-12-26"],"required_present":[]},"all":{"required_absent":["1991-12-26"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, {"id":"broad-date-preserve-081","language":"en","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad private/public date variation.","text":"Public release date: 1991-12-26","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":21,"end":31,"value":"1991-12-26","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1991-12-26"]},"customers":{"required_absent":[],"required_present":["1991-12-26"]},"all":{"required_absent":[],"required_present":["1991-12-26"]}},"tags":["broad-quality","date-policy"]}, {"id":"broad-date-redact-082","language":"en","script":"Latin","shape":"json","risk":"high","reason":"Locked broad private/public date variation.","text":"{\"message_82\":\"Customer date of birth: 1992-12-27\"}","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":39,"end":49,"value":"1992-12-27","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1992-12-27"]},"customers":{"required_absent":["1992-12-27"],"required_present":[]},"all":{"required_absent":["1992-12-27"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, {"id":"broad-date-preserve-082","language":"en","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad private/public date variation.","text":"{\"message_82\":\"Public release date: 1992-12-27\"}","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":36,"end":46,"value":"1992-12-27","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1992-12-27"]},"customers":{"required_absent":[],"required_present":["1992-12-27"]},"all":{"required_absent":[],"required_present":["1992-12-27"]}},"tags":["broad-quality","date-policy"]}, - {"id":"broad-date-redact-083","language":"en","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad private/public date variation.","text":"message_83: Customer date of birth: 1993-12-28","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":36,"end":46,"value":"1993-12-28","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1993-12-28"]},"customers":{"required_absent":["1993-12-28"],"required_present":[]},"all":{"required_absent":["1993-12-28"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, - {"id":"broad-date-preserve-083","language":"en","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad private/public date variation.","text":"message_83: Public release date: 1993-12-28","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":33,"end":43,"value":"1993-12-28","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1993-12-28"]},"customers":{"required_absent":[],"required_present":["1993-12-28"]},"all":{"required_absent":[],"required_present":["1993-12-28"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-083","language":"en","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad private/public date variation.","text":"message_83: \"Customer date of birth: 1993-12-28\"","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":37,"end":47,"value":"1993-12-28","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1993-12-28"]},"customers":{"required_absent":["1993-12-28"],"required_present":[]},"all":{"required_absent":["1993-12-28"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-083","language":"en","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad private/public date variation.","text":"message_83: \"Public release date: 1993-12-28\"","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":34,"end":44,"value":"1993-12-28","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1993-12-28"]},"customers":{"required_absent":[],"required_present":["1993-12-28"]},"all":{"required_absent":[],"required_present":["1993-12-28"]}},"tags":["broad-quality","date-policy"]}, {"id":"broad-date-redact-084","language":"en","script":"Latin","shape":"shell","risk":"high","reason":"Locked broad private/public date variation.","text":"MESSAGE_84='Customer date of birth: 1994-01-01'","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":36,"end":46,"value":"1994-01-01","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1994-01-01"]},"customers":{"required_absent":["1994-01-01"],"required_present":[]},"all":{"required_absent":["1994-01-01"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, {"id":"broad-date-preserve-084","language":"en","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad private/public date variation.","text":"MESSAGE_84='Public release date: 1994-01-01'","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":33,"end":43,"value":"1994-01-01","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1994-01-01"]},"customers":{"required_absent":[],"required_present":["1994-01-01"]},"all":{"required_absent":[],"required_present":["1994-01-01"]}},"tags":["broad-quality","date-policy"]}, - {"id":"broad-date-redact-085","language":"en","script":"Latin","shape":"url","risk":"high","reason":"Locked broad private/public date variation.","text":"endpoint=https://192.0.2.10/85 ; Customer date of birth: 1995-01-02","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":57,"end":67,"value":"1995-01-02","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1995-01-02"]},"customers":{"required_absent":["1995-01-02"],"required_present":[]},"all":{"required_absent":["1995-01-02"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, - {"id":"broad-date-preserve-085","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad private/public date variation.","text":"endpoint=https://192.0.2.10/85 ; Public release date: 1995-01-02","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":54,"end":64,"value":"1995-01-02","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1995-01-02"]},"customers":{"required_absent":[],"required_present":["1995-01-02"]},"all":{"required_absent":[],"required_present":["1995-01-02"]}},"tags":["broad-quality","date-policy"]}, - {"id":"broad-date-redact-086","language":"en","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad private/public date variation.","text":"**Customer date of birth: 1996-01-03**","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":26,"end":36,"value":"1996-01-03","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1996-01-03"]},"customers":{"required_absent":["1996-01-03"],"required_present":[]},"all":{"required_absent":["1996-01-03"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, - {"id":"broad-date-preserve-086","language":"en","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad private/public date variation.","text":"**Public release date: 1996-01-03**","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":23,"end":33,"value":"1996-01-03","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1996-01-03"]},"customers":{"required_absent":[],"required_present":["1996-01-03"]},"all":{"required_absent":[],"required_present":["1996-01-03"]}},"tags":["broad-quality","date-policy"]}, - {"id":"broad-date-redact-087","language":"en","script":"Latin","shape":"html","risk":"high","reason":"Locked broad private/public date variation.","text":"\u003cp\u003eCustomer date of birth: 1997-01-04\u003c/p\u003e","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":27,"end":37,"value":"1997-01-04","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1997-01-04"]},"customers":{"required_absent":["1997-01-04"],"required_present":[]},"all":{"required_absent":["1997-01-04"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, - {"id":"broad-date-preserve-087","language":"en","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad private/public date variation.","text":"\u003cp\u003ePublic release date: 1997-01-04\u003c/p\u003e","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":24,"end":34,"value":"1997-01-04","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1997-01-04"]},"customers":{"required_absent":[],"required_present":["1997-01-04"]},"all":{"required_absent":[],"required_present":["1997-01-04"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-085","language":"en","script":"Latin","shape":"url","risk":"high","reason":"Locked broad private/public date variation.","text":"endpoint=https://192.0.2.10/85?credential=1995-01-02\u0026note=Customer+date+of+birth%3A+","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":42,"end":52,"value":"1995-01-02","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1995-01-02"]},"customers":{"required_absent":["1995-01-02"],"required_present":[]},"all":{"required_absent":["1995-01-02"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-085","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad private/public date variation.","text":"endpoint=https://192.0.2.10/85?credential=1995-01-02\u0026note=Public+release+date%3A+","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":42,"end":52,"value":"1995-01-02","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1995-01-02"]},"customers":{"required_absent":[],"required_present":["1995-01-02"]},"all":{"required_absent":[],"required_present":["1995-01-02"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-086","language":"en","script":"Latin","shape":"markdown","risk":"high","reason":"Locked broad private/public date variation.","text":"Customer date of birth: `1996-01-03`","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":25,"end":35,"value":"1996-01-03","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1996-01-03"]},"customers":{"required_absent":["1996-01-03"],"required_present":[]},"all":{"required_absent":["1996-01-03"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-086","language":"en","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad private/public date variation.","text":"Public release date: `1996-01-03`","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":22,"end":32,"value":"1996-01-03","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1996-01-03"]},"customers":{"required_absent":[],"required_present":["1996-01-03"]},"all":{"required_absent":[],"required_present":["1996-01-03"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-087","language":"en","script":"Latin","shape":"html","risk":"high","reason":"Locked broad private/public date variation.","text":"\u003cp\u003eCustomer date of birth: \u003ccode\u003e1997-01-04\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":33,"end":43,"value":"1997-01-04","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1997-01-04"]},"customers":{"required_absent":["1997-01-04"],"required_present":[]},"all":{"required_absent":["1997-01-04"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-087","language":"en","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad private/public date variation.","text":"\u003cp\u003ePublic release date: \u003ccode\u003e1997-01-04\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":30,"end":40,"value":"1997-01-04","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1997-01-04"]},"customers":{"required_absent":[],"required_present":["1997-01-04"]},"all":{"required_absent":[],"required_present":["1997-01-04"]}},"tags":["broad-quality","date-policy"]}, {"id":"broad-date-redact-088","language":"en","script":"Latin","shape":"quoted-reply","risk":"high","reason":"Locked broad private/public date variation.","text":"\u003e Customer date of birth: 1998-01-05","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":26,"end":36,"value":"1998-01-05","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1998-01-05"]},"customers":{"required_absent":["1998-01-05"],"required_present":[]},"all":{"required_absent":["1998-01-05"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, {"id":"broad-date-preserve-088","language":"en","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad private/public date variation.","text":"\u003e Public release date: 1998-01-05","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":23,"end":33,"value":"1998-01-05","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1998-01-05"]},"customers":{"required_absent":[],"required_present":["1998-01-05"]},"all":{"required_absent":[],"required_present":["1998-01-05"]}},"tags":["broad-quality","date-policy"]}, - {"id":"broad-date-redact-089","language":"en","script":"Latin","shape":"log","risk":"high","reason":"Locked broad private/public date variation.","text":"level=warn sample=89 message=\"Customer date of birth: \" value=1999-01-06","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":62,"end":72,"value":"1999-01-06","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1999-01-06"]},"customers":{"required_absent":["1999-01-06"],"required_present":[]},"all":{"required_absent":["1999-01-06"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, - {"id":"broad-date-preserve-089","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad private/public date variation.","text":"level=warn sample=89 message=\"Public release date: \" value=1999-01-06","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":59,"end":69,"value":"1999-01-06","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1999-01-06"]},"customers":{"required_absent":[],"required_present":["1999-01-06"]},"all":{"required_absent":[],"required_present":["1999-01-06"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-089","language":"en","script":"Latin","shape":"log","risk":"high","reason":"Locked broad private/public date variation.","text":"level=warn sample=89 message=\"Customer date of birth: \" credential=\"1999-01-06\"","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":68,"end":78,"value":"1999-01-06","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1999-01-06"]},"customers":{"required_absent":["1999-01-06"],"required_present":[]},"all":{"required_absent":["1999-01-06"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-089","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad private/public date variation.","text":"level=warn sample=89 message=\"Public release date: \" credential=\"1999-01-06\"","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":65,"end":75,"value":"1999-01-06","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["1999-01-06"]},"customers":{"required_absent":[],"required_present":["1999-01-06"]},"all":{"required_absent":[],"required_present":["1999-01-06"]}},"tags":["broad-quality","date-policy"]}, {"id":"broad-date-redact-090","language":"en","script":"Latin","shape":"stack-trace","risk":"high","reason":"Locked broad private/public date variation.","text":"Trace[90]: Customer date of birth: 2000-01-07","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":35,"end":45,"value":"2000-01-07","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["2000-01-07"]},"customers":{"required_absent":["2000-01-07"],"required_present":[]},"all":{"required_absent":["2000-01-07"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, {"id":"broad-date-preserve-090","language":"en","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad private/public date variation.","text":"Trace[90]: Public release date: 2000-01-07","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":32,"end":42,"value":"2000-01-07","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["2000-01-07"]},"customers":{"required_absent":[],"required_present":["2000-01-07"]},"all":{"required_absent":[],"required_present":["2000-01-07"]}},"tags":["broad-quality","date-policy"]}, {"id":"broad-date-redact-091","language":"en","script":"Latin","shape":"code","risk":"high","reason":"Locked broad private/public date variation.","text":"fixture_91 := `Customer date of birth: 2001-02-08`","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":39,"end":49,"value":"2001-02-08","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["2001-02-08"]},"customers":{"required_absent":["2001-02-08"],"required_present":[]},"all":{"required_absent":["2001-02-08"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, @@ -190,17 +190,17 @@ {"id":"broad-date-preserve-092","language":"en","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad private/public date variation.","text":"--\nPublic release date: 2002-02-09","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":24,"end":34,"value":"2002-02-09","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["2002-02-09"]},"customers":{"required_absent":[],"required_present":["2002-02-09"]},"all":{"required_absent":[],"required_present":["2002-02-09"]}},"tags":["broad-quality","date-policy"]}, {"id":"broad-date-redact-093","language":"en","script":"Latin","shape":"long-thread","risk":"high","reason":"Locked broad private/public date variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Customer date of birth: 2003-02-10","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":504,"end":514,"value":"2003-02-10","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["2003-02-10"]},"customers":{"required_absent":["2003-02-10"],"required_present":[]},"all":{"required_absent":["2003-02-10"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, {"id":"broad-date-preserve-093","language":"en","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad private/public date variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Public release date: 2003-02-10","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":501,"end":511,"value":"2003-02-10","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["2003-02-10"]},"customers":{"required_absent":[],"required_present":["2003-02-10"]},"all":{"required_absent":[],"required_present":["2003-02-10"]}},"tags":["broad-quality","date-policy"]}, - {"id":"broad-date-redact-094","language":"en","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad private/public date variation.","text":"--sample=94 --message=\"Customer date of birth: \" --value=2004-02-11","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":57,"end":67,"value":"2004-02-11","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["2004-02-11"]},"customers":{"required_absent":["2004-02-11"],"required_present":[]},"all":{"required_absent":["2004-02-11"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, - {"id":"broad-date-preserve-094","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad private/public date variation.","text":"--sample=94 --message=\"Public release date: \" --value=2004-02-11","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":54,"end":64,"value":"2004-02-11","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["2004-02-11"]},"customers":{"required_absent":[],"required_present":["2004-02-11"]},"all":{"required_absent":[],"required_present":["2004-02-11"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-094","language":"en","script":"Latin","shape":"command-payload","risk":"high","reason":"Locked broad private/public date variation.","text":"--sample=94 --message=\"Customer date of birth: \" --credential=\"2004-02-11\"","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":63,"end":73,"value":"2004-02-11","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["2004-02-11"]},"customers":{"required_absent":["2004-02-11"],"required_present":[]},"all":{"required_absent":["2004-02-11"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-094","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad private/public date variation.","text":"--sample=94 --message=\"Public release date: \" --credential=\"2004-02-11\"","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":60,"end":70,"value":"2004-02-11","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["2004-02-11"]},"customers":{"required_absent":[],"required_present":["2004-02-11"]},"all":{"required_absent":[],"required_present":["2004-02-11"]}},"tags":["broad-quality","date-policy"]}, {"id":"broad-date-redact-095","language":"en","script":"Latin","shape":"prose","risk":"high","reason":"Locked broad private/public date variation.","text":"Customer date of birth: 2005-02-12","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":24,"end":34,"value":"2005-02-12","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["2005-02-12"]},"customers":{"required_absent":["2005-02-12"],"required_present":[]},"all":{"required_absent":["2005-02-12"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, {"id":"broad-date-preserve-095","language":"en","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad private/public date variation.","text":"Public release date: 2005-02-12","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":21,"end":31,"value":"2005-02-12","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["2005-02-12"]},"customers":{"required_absent":[],"required_present":["2005-02-12"]},"all":{"required_absent":[],"required_present":["2005-02-12"]}},"tags":["broad-quality","date-policy"]}, {"id":"broad-date-redact-096","language":"en","script":"Latin","shape":"json","risk":"high","reason":"Locked broad private/public date variation.","text":"{\"message_96\":\"Customer date of birth: 2006-02-13\"}","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":39,"end":49,"value":"2006-02-13","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["2006-02-13"]},"customers":{"required_absent":["2006-02-13"],"required_present":[]},"all":{"required_absent":["2006-02-13"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, {"id":"broad-date-preserve-096","language":"en","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad private/public date variation.","text":"{\"message_96\":\"Public release date: 2006-02-13\"}","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":36,"end":46,"value":"2006-02-13","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["2006-02-13"]},"customers":{"required_absent":[],"required_present":["2006-02-13"]},"all":{"required_absent":[],"required_present":["2006-02-13"]}},"tags":["broad-quality","date-policy"]}, - {"id":"broad-date-redact-097","language":"en","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad private/public date variation.","text":"message_97: Customer date of birth: 2007-02-14","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":36,"end":46,"value":"2007-02-14","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["2007-02-14"]},"customers":{"required_absent":["2007-02-14"],"required_present":[]},"all":{"required_absent":["2007-02-14"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, - {"id":"broad-date-preserve-097","language":"en","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad private/public date variation.","text":"message_97: Public release date: 2007-02-14","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":33,"end":43,"value":"2007-02-14","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["2007-02-14"]},"customers":{"required_absent":[],"required_present":["2007-02-14"]},"all":{"required_absent":[],"required_present":["2007-02-14"]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-redact-097","language":"en","script":"Latin","shape":"yaml","risk":"high","reason":"Locked broad private/public date variation.","text":"message_97: \"Customer date of birth: 2007-02-14\"","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":37,"end":47,"value":"2007-02-14","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["2007-02-14"]},"customers":{"required_absent":["2007-02-14"],"required_present":[]},"all":{"required_absent":["2007-02-14"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-097","language":"en","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad private/public date variation.","text":"message_97: \"Public release date: 2007-02-14\"","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":34,"end":44,"value":"2007-02-14","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["2007-02-14"]},"customers":{"required_absent":[],"required_present":["2007-02-14"]},"all":{"required_absent":[],"required_present":["2007-02-14"]}},"tags":["broad-quality","date-policy"]}, {"id":"broad-date-redact-098","language":"en","script":"Latin","shape":"shell","risk":"high","reason":"Locked broad private/public date variation.","text":"MESSAGE_98='Customer date of birth: 2008-03-15'","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":36,"end":46,"value":"2008-03-15","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["2008-03-15"]},"customers":{"required_absent":["2008-03-15"],"required_present":[]},"all":{"required_absent":["2008-03-15"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, {"id":"broad-date-preserve-098","language":"en","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad private/public date variation.","text":"MESSAGE_98='Public release date: 2008-03-15'","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":33,"end":43,"value":"2008-03-15","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["2008-03-15"]},"customers":{"required_absent":[],"required_present":["2008-03-15"]},"all":{"required_absent":[],"required_present":["2008-03-15"]}},"tags":["broad-quality","date-policy"]}, - {"id":"broad-date-redact-099","language":"en","script":"Latin","shape":"url","risk":"high","reason":"Locked broad private/public date variation.","text":"endpoint=https://192.0.2.10/99 ; Customer date of birth: 2009-03-16","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":57,"end":67,"value":"2009-03-16","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["2009-03-16"]},"customers":{"required_absent":["2009-03-16"],"required_present":[]},"all":{"required_absent":["2009-03-16"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, - {"id":"broad-date-preserve-099","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad private/public date variation.","text":"endpoint=https://192.0.2.10/99 ; Public release date: 2009-03-16","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":54,"end":64,"value":"2009-03-16","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["2009-03-16"]},"customers":{"required_absent":[],"required_present":["2009-03-16"]},"all":{"required_absent":[],"required_present":["2009-03-16"]}},"tags":["broad-quality","date-policy"]} + {"id":"broad-date-redact-099","language":"en","script":"Latin","shape":"url","risk":"high","reason":"Locked broad private/public date variation.","text":"endpoint=https://192.0.2.10/99?credential=2009-03-16\u0026note=Customer+date+of+birth%3A+","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":42,"end":52,"value":"2009-03-16","match":"exact","actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["2009-03-16"]},"customers":{"required_absent":["2009-03-16"],"required_present":[]},"all":{"required_absent":["2009-03-16"],"required_present":[]}},"tags":["broad-quality","date-policy"]}, + {"id":"broad-date-preserve-099","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad private/public date variation.","text":"endpoint=https://192.0.2.10/99?credential=2009-03-16\u0026note=Public+release+date%3A+","known_identities":[],"targets":[{"id":"date","kind":"private_date","start":42,"end":52,"value":"2009-03-16","match":"exact","actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["2009-03-16"]},"customers":{"required_absent":[],"required_present":["2009-03-16"]},"all":{"required_absent":[],"required_present":["2009-03-16"]}},"tags":["broad-quality","date-policy"]} ] } diff --git a/internal/pii/testdata/privacy-filter/broad/v1/secrets.json b/internal/pii/testdata/privacy-filter/broad/v1/secrets.json index bdf2b9f..fb5d326 100644 --- a/internal/pii/testdata/privacy-filter/broad/v1/secrets.json +++ b/internal/pii/testdata/privacy-filter/broad/v1/secrets.json @@ -6,161 +6,161 @@ {"id":"broad-secret-api-key-preserve-00","language":"en","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad api-key variation.","text":"Public configuration vocabulary: api_key_name","known_identities":[],"targets":[{"id":"value","kind":"secret","start":33,"end":45,"value":"api_key_name","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-api-key-preserve-00","recipe":"api-key","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["api_key_name"]},"customers":{"required_absent":[],"required_present":["api_key_name"]},"all":{"required_absent":[],"required_present":["api_key_name"]}},"tags":["broad-quality","secret-family:api-key","variation:00"],"secret_fixture":{"family":"api-key","role":"preserve"}}, {"id":"broad-secret-api-key-must-detect-01","language":"en","script":"Latin","shape":"json","risk":"critical","reason":"Locked broad api-key variation.","text":"{\"message_1\":\"Authorization header value: ak_SJXY4S4U0E4C0N9QIGYSY2639A3PBPI5\"}","known_identities":[],"targets":[{"id":"value","kind":"secret","start":42,"end":77,"value":"ak_SJXY4S4U0E4C0N9QIGYSY2639A3PBPI5","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-api-key-must-detect-01","recipe":"api-key","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["ak_SJXY4S4U0E4C0N9QIGYSY2639A3PBPI5"]},"customers":{"required_absent":["ak_SJXY4S4U0E4C0N9QIGYSY2639A3PBPI5"],"required_present":[]},"all":{"required_absent":["ak_SJXY4S4U0E4C0N9QIGYSY2639A3PBPI5"],"required_present":[]}},"tags":["broad-quality","secret-family:api-key","variation:01"],"secret_fixture":{"family":"api-key","role":"must-detect"}}, {"id":"broad-secret-api-key-preserve-01","language":"en","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad api-key variation.","text":"{\"message_1\":\"Documentation syntax: api_key_name\"}","known_identities":[],"targets":[{"id":"value","kind":"secret","start":36,"end":48,"value":"api_key_name","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-api-key-preserve-01","recipe":"api-key","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["api_key_name"]},"customers":{"required_absent":[],"required_present":["api_key_name"]},"all":{"required_absent":[],"required_present":["api_key_name"]}},"tags":["broad-quality","secret-family:api-key","variation:01"],"secret_fixture":{"family":"api-key","role":"preserve"}}, - {"id":"broad-secret-api-key-must-detect-02","language":"en","script":"Latin","shape":"yaml","risk":"critical","reason":"Locked broad api-key variation.","text":"message_2: Log field auth_value=ak_BGEV1YQ0725RYL4GANMHVTZ1ILUG44GP","known_identities":[],"targets":[{"id":"value","kind":"secret","start":32,"end":67,"value":"ak_BGEV1YQ0725RYL4GANMHVTZ1ILUG44GP","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-api-key-must-detect-02","recipe":"api-key","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["ak_BGEV1YQ0725RYL4GANMHVTZ1ILUG44GP"]},"customers":{"required_absent":["ak_BGEV1YQ0725RYL4GANMHVTZ1ILUG44GP"],"required_present":[]},"all":{"required_absent":["ak_BGEV1YQ0725RYL4GANMHVTZ1ILUG44GP"],"required_present":[]}},"tags":["broad-quality","secret-family:api-key","variation:02"],"secret_fixture":{"family":"api-key","role":"must-detect"}}, - {"id":"broad-secret-api-key-preserve-02","language":"en","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad api-key variation.","text":"message_2: Public operational identifier: api_key_name","known_identities":[],"targets":[{"id":"value","kind":"secret","start":42,"end":54,"value":"api_key_name","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-api-key-preserve-02","recipe":"api-key","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["api_key_name"]},"customers":{"required_absent":[],"required_present":["api_key_name"]},"all":{"required_absent":[],"required_present":["api_key_name"]}},"tags":["broad-quality","secret-family:api-key","variation:02"],"secret_fixture":{"family":"api-key","role":"preserve"}}, + {"id":"broad-secret-api-key-must-detect-02","language":"en","script":"Latin","shape":"yaml","risk":"critical","reason":"Locked broad api-key variation.","text":"message_2: \"Log field auth_value=ak_BGEV1YQ0725RYL4GANMHVTZ1ILUG44GP\"","known_identities":[],"targets":[{"id":"value","kind":"secret","start":33,"end":68,"value":"ak_BGEV1YQ0725RYL4GANMHVTZ1ILUG44GP","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-api-key-must-detect-02","recipe":"api-key","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["ak_BGEV1YQ0725RYL4GANMHVTZ1ILUG44GP"]},"customers":{"required_absent":["ak_BGEV1YQ0725RYL4GANMHVTZ1ILUG44GP"],"required_present":[]},"all":{"required_absent":["ak_BGEV1YQ0725RYL4GANMHVTZ1ILUG44GP"],"required_present":[]}},"tags":["broad-quality","secret-family:api-key","variation:02"],"secret_fixture":{"family":"api-key","role":"must-detect"}}, + {"id":"broad-secret-api-key-preserve-02","language":"en","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad api-key variation.","text":"message_2: \"Public operational identifier: api_key_name\"","known_identities":[],"targets":[{"id":"value","kind":"secret","start":43,"end":55,"value":"api_key_name","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-api-key-preserve-02","recipe":"api-key","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["api_key_name"]},"customers":{"required_absent":[],"required_present":["api_key_name"]},"all":{"required_absent":[],"required_present":["api_key_name"]}},"tags":["broad-quality","secret-family:api-key","variation:02"],"secret_fixture":{"family":"api-key","role":"preserve"}}, {"id":"broad-secret-api-key-must-detect-03","language":"en","script":"Latin","shape":"shell","risk":"critical","reason":"Locked broad api-key variation.","text":"MESSAGE_3='Rotating this exposed value: ak_CNXUG8B81YZDOCRK2KYQWAIEKIQNEW2B'","known_identities":[],"targets":[{"id":"value","kind":"secret","start":40,"end":75,"value":"ak_CNXUG8B81YZDOCRK2KYQWAIEKIQNEW2B","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-api-key-must-detect-03","recipe":"api-key","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["ak_CNXUG8B81YZDOCRK2KYQWAIEKIQNEW2B"]},"customers":{"required_absent":["ak_CNXUG8B81YZDOCRK2KYQWAIEKIQNEW2B"],"required_present":[]},"all":{"required_absent":["ak_CNXUG8B81YZDOCRK2KYQWAIEKIQNEW2B"],"required_present":[]}},"tags":["broad-quality","secret-family:api-key","variation:03"],"secret_fixture":{"family":"api-key","role":"must-detect"}}, {"id":"broad-secret-api-key-preserve-03","language":"en","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad api-key variation.","text":"MESSAGE_3='Schema field label: api_key_name'","known_identities":[],"targets":[{"id":"value","kind":"secret","start":31,"end":43,"value":"api_key_name","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-api-key-preserve-03","recipe":"api-key","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["api_key_name"]},"customers":{"required_absent":[],"required_present":["api_key_name"]},"all":{"required_absent":[],"required_present":["api_key_name"]}},"tags":["broad-quality","secret-family:api-key","variation:03"],"secret_fixture":{"family":"api-key","role":"preserve"}}, - {"id":"broad-secret-api-key-must-detect-04","language":"en","script":"Latin","shape":"url","risk":"critical","reason":"Locked broad api-key variation.","text":"endpoint=https://192.0.2.10/4 ; Quoted credential follows: ak_OETQEEJSEAAMDVOG3RHQZ8ICUTUDZQPU","known_identities":[],"targets":[{"id":"value","kind":"secret","start":59,"end":94,"value":"ak_OETQEEJSEAAMDVOG3RHQZ8ICUTUDZQPU","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-api-key-must-detect-04","recipe":"api-key","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["ak_OETQEEJSEAAMDVOG3RHQZ8ICUTUDZQPU"]},"customers":{"required_absent":["ak_OETQEEJSEAAMDVOG3RHQZ8ICUTUDZQPU"],"required_present":[]},"all":{"required_absent":["ak_OETQEEJSEAAMDVOG3RHQZ8ICUTUDZQPU"],"required_present":[]}},"tags":["broad-quality","secret-family:api-key","variation:04"],"secret_fixture":{"family":"api-key","role":"must-detect"}}, - {"id":"broad-secret-api-key-preserve-04","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad api-key variation.","text":"endpoint=https://192.0.2.10/4 ; Non-confidential protocol token: api_key_name","known_identities":[],"targets":[{"id":"value","kind":"secret","start":65,"end":77,"value":"api_key_name","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-api-key-preserve-04","recipe":"api-key","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["api_key_name"]},"customers":{"required_absent":[],"required_present":["api_key_name"]},"all":{"required_absent":[],"required_present":["api_key_name"]}},"tags":["broad-quality","secret-family:api-key","variation:04"],"secret_fixture":{"family":"api-key","role":"preserve"}}, - {"id":"broad-secret-api-key-must-detect-05","language":"en","script":"Latin","shape":"markdown","risk":"critical","reason":"Locked broad api-key variation.","text":"**Configuration secret: ak_ZBC6SRKDXRSSXPL6NQ8DSUCHGN4VJ5CF**","known_identities":[],"targets":[{"id":"value","kind":"secret","start":24,"end":59,"value":"ak_ZBC6SRKDXRSSXPL6NQ8DSUCHGN4VJ5CF","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-api-key-must-detect-05","recipe":"api-key","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["ak_ZBC6SRKDXRSSXPL6NQ8DSUCHGN4VJ5CF"]},"customers":{"required_absent":["ak_ZBC6SRKDXRSSXPL6NQ8DSUCHGN4VJ5CF"],"required_present":[]},"all":{"required_absent":["ak_ZBC6SRKDXRSSXPL6NQ8DSUCHGN4VJ5CF"],"required_present":[]}},"tags":["broad-quality","secret-family:api-key","variation:05"],"secret_fixture":{"family":"api-key","role":"must-detect"}}, - {"id":"broad-secret-api-key-preserve-05","language":"en","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad api-key variation.","text":"**Release metadata: api_key_name**","known_identities":[],"targets":[{"id":"value","kind":"secret","start":20,"end":32,"value":"api_key_name","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-api-key-preserve-05","recipe":"api-key","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["api_key_name"]},"customers":{"required_absent":[],"required_present":["api_key_name"]},"all":{"required_absent":[],"required_present":["api_key_name"]}},"tags":["broad-quality","secret-family:api-key","variation:05"],"secret_fixture":{"family":"api-key","role":"preserve"}}, - {"id":"broad-secret-api-key-must-detect-06","language":"en","script":"Latin","shape":"html","risk":"critical","reason":"Locked broad api-key variation.","text":"\u003cp\u003eStack trace captured credential ak_308KQF4029ETOFER19TE9I1ASSJGM62C\u003c/p\u003e","known_identities":[],"targets":[{"id":"value","kind":"secret","start":35,"end":70,"value":"ak_308KQF4029ETOFER19TE9I1ASSJGM62C","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-api-key-must-detect-06","recipe":"api-key","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["ak_308KQF4029ETOFER19TE9I1ASSJGM62C"]},"customers":{"required_absent":["ak_308KQF4029ETOFER19TE9I1ASSJGM62C"],"required_present":[]},"all":{"required_absent":["ak_308KQF4029ETOFER19TE9I1ASSJGM62C"],"required_present":[]}},"tags":["broad-quality","secret-family:api-key","variation:06"],"secret_fixture":{"family":"api-key","role":"must-detect"}}, - {"id":"broad-secret-api-key-preserve-06","language":"en","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad api-key variation.","text":"\u003cp\u003ePublic verification material: api_key_name\u003c/p\u003e","known_identities":[],"targets":[{"id":"value","kind":"secret","start":33,"end":45,"value":"api_key_name","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-api-key-preserve-06","recipe":"api-key","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["api_key_name"]},"customers":{"required_absent":[],"required_present":["api_key_name"]},"all":{"required_absent":[],"required_present":["api_key_name"]}},"tags":["broad-quality","secret-family:api-key","variation:06"],"secret_fixture":{"family":"api-key","role":"preserve"}}, + {"id":"broad-secret-api-key-must-detect-04","language":"en","script":"Latin","shape":"url","risk":"critical","reason":"Locked broad api-key variation.","text":"endpoint=https://192.0.2.10/4?credential=ak_OETQEEJSEAAMDVOG3RHQZ8ICUTUDZQPU\u0026note=Quoted+credential+follows%3A+","known_identities":[],"targets":[{"id":"value","kind":"secret","start":41,"end":76,"value":"ak_OETQEEJSEAAMDVOG3RHQZ8ICUTUDZQPU","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-api-key-must-detect-04","recipe":"api-key","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["ak_OETQEEJSEAAMDVOG3RHQZ8ICUTUDZQPU"]},"customers":{"required_absent":["ak_OETQEEJSEAAMDVOG3RHQZ8ICUTUDZQPU"],"required_present":[]},"all":{"required_absent":["ak_OETQEEJSEAAMDVOG3RHQZ8ICUTUDZQPU"],"required_present":[]}},"tags":["broad-quality","secret-family:api-key","variation:04"],"secret_fixture":{"family":"api-key","role":"must-detect"}}, + {"id":"broad-secret-api-key-preserve-04","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad api-key variation.","text":"endpoint=https://192.0.2.10/4?credential=api_key_name\u0026note=Non-confidential+protocol+token%3A+","known_identities":[],"targets":[{"id":"value","kind":"secret","start":41,"end":53,"value":"api_key_name","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-api-key-preserve-04","recipe":"api-key","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["api_key_name"]},"customers":{"required_absent":[],"required_present":["api_key_name"]},"all":{"required_absent":[],"required_present":["api_key_name"]}},"tags":["broad-quality","secret-family:api-key","variation:04"],"secret_fixture":{"family":"api-key","role":"preserve"}}, + {"id":"broad-secret-api-key-must-detect-05","language":"en","script":"Latin","shape":"markdown","risk":"critical","reason":"Locked broad api-key variation.","text":"Configuration secret: ak_ZBC6SRKDXRSSXP**L6NQ8DSUCHGN4VJ5CF**","known_identities":[],"targets":[{"id":"value","kind":"secret","start":22,"end":61,"value":"ak_ZBC6SRKDXRSSXP**L6NQ8DSUCHGN4VJ5CF**","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-api-key-must-detect-05","recipe":"api-key","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["ak_ZBC6SRKDXRSSXP**L6NQ8DSUCHGN4VJ5CF**"]},"customers":{"required_absent":["ak_ZBC6SRKDXRSSXP**L6NQ8DSUCHGN4VJ5CF**","ak_ZBC6SRKDXRSSXP","L6NQ8DSUCHGN4VJ5CF"],"required_present":[]},"all":{"required_absent":["ak_ZBC6SRKDXRSSXP**L6NQ8DSUCHGN4VJ5CF**","ak_ZBC6SRKDXRSSXP","L6NQ8DSUCHGN4VJ5CF"],"required_present":[]}},"tags":["broad-quality","secret-family:api-key","variation:05"],"secret_fixture":{"family":"api-key","role":"must-detect"}}, + {"id":"broad-secret-api-key-preserve-05","language":"en","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad api-key variation.","text":"Release metadata: `api_key_name`","known_identities":[],"targets":[{"id":"value","kind":"secret","start":19,"end":31,"value":"api_key_name","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-api-key-preserve-05","recipe":"api-key","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["api_key_name"]},"customers":{"required_absent":[],"required_present":["api_key_name"]},"all":{"required_absent":[],"required_present":["api_key_name"]}},"tags":["broad-quality","secret-family:api-key","variation:05"],"secret_fixture":{"family":"api-key","role":"preserve"}}, + {"id":"broad-secret-api-key-must-detect-06","language":"en","script":"Latin","shape":"html","risk":"critical","reason":"Locked broad api-key variation.","text":"\u003cp\u003eStack trace captured credential \u003ccode\u003eak_308KQF4029ETOF\u003cwbr\u003eER19TE9I1ASSJGM62C\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"value","kind":"secret","start":41,"end":81,"value":"ak_308KQF4029ETOF\u003cwbr\u003eER19TE9I1ASSJGM62C","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-api-key-must-detect-06","recipe":"api-key","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["ak_308KQF4029ETOF\u003cwbr\u003eER19TE9I1ASSJGM62C"]},"customers":{"required_absent":["ak_308KQF4029ETOF\u003cwbr\u003eER19TE9I1ASSJGM62C","ak_308KQF4029ETOF","ER19TE9I1ASSJGM62C"],"required_present":[]},"all":{"required_absent":["ak_308KQF4029ETOF\u003cwbr\u003eER19TE9I1ASSJGM62C","ak_308KQF4029ETOF","ER19TE9I1ASSJGM62C"],"required_present":[]}},"tags":["broad-quality","secret-family:api-key","variation:06"],"secret_fixture":{"family":"api-key","role":"must-detect"}}, + {"id":"broad-secret-api-key-preserve-06","language":"en","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad api-key variation.","text":"\u003cp\u003ePublic verification material: \u003ccode\u003eapi_key_name\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"value","kind":"secret","start":39,"end":51,"value":"api_key_name","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-api-key-preserve-06","recipe":"api-key","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["api_key_name"]},"customers":{"required_absent":[],"required_present":["api_key_name"]},"all":{"required_absent":[],"required_present":["api_key_name"]}},"tags":["broad-quality","secret-family:api-key","variation:06"],"secret_fixture":{"family":"api-key","role":"preserve"}}, {"id":"broad-secret-api-key-must-detect-07","language":"en","script":"Latin","shape":"quoted-reply","risk":"critical","reason":"Locked broad api-key variation.","text":"\u003e Wrapped message credential: ak_J2HQM9T19W1JXNZSHK7KSWPL4KKA3ZA5","known_identities":[],"targets":[{"id":"value","kind":"secret","start":30,"end":65,"value":"ak_J2HQM9T19W1JXNZSHK7KSWPL4KKA3ZA5","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-api-key-must-detect-07","recipe":"api-key","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["ak_J2HQM9T19W1JXNZSHK7KSWPL4KKA3ZA5"]},"customers":{"required_absent":["ak_J2HQM9T19W1JXNZSHK7KSWPL4KKA3ZA5"],"required_present":[]},"all":{"required_absent":["ak_J2HQM9T19W1JXNZSHK7KSWPL4KKA3ZA5"],"required_present":[]}},"tags":["broad-quality","secret-family:api-key","variation:07"],"secret_fixture":{"family":"api-key","role":"must-detect"}}, {"id":"broad-secret-api-key-preserve-07","language":"en","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad api-key variation.","text":"\u003e Troubleshooting reference: api_key_name","known_identities":[],"targets":[{"id":"value","kind":"secret","start":29,"end":41,"value":"api_key_name","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-api-key-preserve-07","recipe":"api-key","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["api_key_name"]},"customers":{"required_absent":[],"required_present":["api_key_name"]},"all":{"required_absent":[],"required_present":["api_key_name"]}},"tags":["broad-quality","secret-family:api-key","variation:07"],"secret_fixture":{"family":"api-key","role":"preserve"}}, - {"id":"broad-secret-api-key-must-detect-08","language":"en","script":"Latin","shape":"log","risk":"critical","reason":"Locked broad api-key variation.","text":"level=warn sample=8 message=\"Credential copied from a support reply: \" value=ak_6EIW65D4GLWIR1\nQL7LKCEXILJLM1L1VJ","known_identities":[],"targets":[{"id":"value","kind":"secret","start":77,"end":113,"value":"ak_6EIW65D4GLWIR1\nQL7LKCEXILJLM1L1VJ","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-api-key-must-detect-08","recipe":"api-key","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["ak_6EIW65D4GLWIR1\nQL7LKCEXILJLM1L1VJ"]},"customers":{"required_absent":["ak_6EIW65D4GLWIR1\nQL7LKCEXILJLM1L1VJ"],"required_present":[]},"all":{"required_absent":["ak_6EIW65D4GLWIR1\nQL7LKCEXILJLM1L1VJ"],"required_present":[]}},"tags":["broad-quality","secret-family:api-key","variation:08"],"secret_fixture":{"family":"api-key","role":"must-detect"}}, - {"id":"broad-secret-api-key-preserve-08","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad api-key variation.","text":"level=warn sample=8 message=\"Public configuration vocabulary: \" value=api_key_name","known_identities":[],"targets":[{"id":"value","kind":"secret","start":70,"end":82,"value":"api_key_name","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-api-key-preserve-08","recipe":"api-key","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["api_key_name"]},"customers":{"required_absent":[],"required_present":["api_key_name"]},"all":{"required_absent":[],"required_present":["api_key_name"]}},"tags":["broad-quality","secret-family:api-key","variation:08"],"secret_fixture":{"family":"api-key","role":"preserve"}}, - {"id":"broad-secret-api-key-must-detect-09","language":"en","script":"Latin","shape":"stack-trace","risk":"critical","reason":"Locked broad api-key variation.","text":"Trace[9]: Authorization header value: ak_CQ4DX8CTWXV7ZD BPAVZQF95FCHAM3AC9","known_identities":[],"targets":[{"id":"value","kind":"secret","start":38,"end":74,"value":"ak_CQ4DX8CTWXV7ZD BPAVZQF95FCHAM3AC9","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-api-key-must-detect-09","recipe":"api-key","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["ak_CQ4DX8CTWXV7ZD BPAVZQF95FCHAM3AC9"]},"customers":{"required_absent":["ak_CQ4DX8CTWXV7ZD BPAVZQF95FCHAM3AC9"],"required_present":[]},"all":{"required_absent":["ak_CQ4DX8CTWXV7ZD BPAVZQF95FCHAM3AC9"],"required_present":[]}},"tags":["broad-quality","secret-family:api-key","variation:09"],"secret_fixture":{"family":"api-key","role":"must-detect"}}, + {"id":"broad-secret-api-key-must-detect-08","language":"en","script":"Latin","shape":"log","risk":"critical","reason":"Locked broad api-key variation.","text":"level=warn sample=8 message=\"Credential copied from a support reply: \" credential=\"ak_6EIW65D4GLWIR1QL7LKCEXILJLM1L1VJ\"","known_identities":[],"targets":[{"id":"value","kind":"secret","start":83,"end":118,"value":"ak_6EIW65D4GLWIR1QL7LKCEXILJLM1L1VJ","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-api-key-must-detect-08","recipe":"api-key","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["ak_6EIW65D4GLWIR1QL7LKCEXILJLM1L1VJ"]},"customers":{"required_absent":["ak_6EIW65D4GLWIR1QL7LKCEXILJLM1L1VJ"],"required_present":[]},"all":{"required_absent":["ak_6EIW65D4GLWIR1QL7LKCEXILJLM1L1VJ"],"required_present":[]}},"tags":["broad-quality","secret-family:api-key","variation:08"],"secret_fixture":{"family":"api-key","role":"must-detect"}}, + {"id":"broad-secret-api-key-preserve-08","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad api-key variation.","text":"level=warn sample=8 message=\"Public configuration vocabulary: \" credential=\"api_key_name\"","known_identities":[],"targets":[{"id":"value","kind":"secret","start":76,"end":88,"value":"api_key_name","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-api-key-preserve-08","recipe":"api-key","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["api_key_name"]},"customers":{"required_absent":[],"required_present":["api_key_name"]},"all":{"required_absent":[],"required_present":["api_key_name"]}},"tags":["broad-quality","secret-family:api-key","variation:08"],"secret_fixture":{"family":"api-key","role":"preserve"}}, + {"id":"broad-secret-api-key-must-detect-09","language":"en","script":"Latin","shape":"stack-trace","risk":"critical","reason":"Locked broad api-key variation.","text":"Trace[9]: Authorization header value: ak_CQ4DX8CTWXV7ZD\tBPAVZQF95FCHAM3AC9","known_identities":[],"targets":[{"id":"value","kind":"secret","start":38,"end":74,"value":"ak_CQ4DX8CTWXV7ZD\tBPAVZQF95FCHAM3AC9","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-api-key-must-detect-09","recipe":"api-key","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["ak_CQ4DX8CTWXV7ZD\tBPAVZQF95FCHAM3AC9"]},"customers":{"required_absent":["ak_CQ4DX8CTWXV7ZD\tBPAVZQF95FCHAM3AC9","ak_CQ4DX8CTWXV7ZD","BPAVZQF95FCHAM3AC9"],"required_present":[]},"all":{"required_absent":["ak_CQ4DX8CTWXV7ZD\tBPAVZQF95FCHAM3AC9","ak_CQ4DX8CTWXV7ZD","BPAVZQF95FCHAM3AC9"],"required_present":[]}},"tags":["broad-quality","secret-family:api-key","variation:09"],"secret_fixture":{"family":"api-key","role":"must-detect"}}, {"id":"broad-secret-api-key-preserve-09","language":"en","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad api-key variation.","text":"Trace[9]: Documentation syntax: api_key_name","known_identities":[],"targets":[{"id":"value","kind":"secret","start":32,"end":44,"value":"api_key_name","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-api-key-preserve-09","recipe":"api-key","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["api_key_name"]},"customers":{"required_absent":[],"required_present":["api_key_name"]},"all":{"required_absent":[],"required_present":["api_key_name"]}},"tags":["broad-quality","secret-family:api-key","variation:09"],"secret_fixture":{"family":"api-key","role":"preserve"}}, - {"id":"broad-secret-api-key-must-detect-10","language":"en","script":"Latin","shape":"code","risk":"critical","reason":"Locked broad api-key variation.","text":"fixture_10 := `Log field auth_value=ak_0NLSKIYDEE9L7X·XNDBV8LZF6187DBF81`","known_identities":[],"targets":[{"id":"value","kind":"secret","start":36,"end":73,"value":"ak_0NLSKIYDEE9L7X·XNDBV8LZF6187DBF81","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-api-key-must-detect-10","recipe":"api-key","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["ak_0NLSKIYDEE9L7X·XNDBV8LZF6187DBF81"]},"customers":{"required_absent":["ak_0NLSKIYDEE9L7X·XNDBV8LZF6187DBF81"],"required_present":[]},"all":{"required_absent":["ak_0NLSKIYDEE9L7X·XNDBV8LZF6187DBF81"],"required_present":[]}},"tags":["broad-quality","secret-family:api-key","variation:10"],"secret_fixture":{"family":"api-key","role":"must-detect"}}, + {"id":"broad-secret-api-key-must-detect-10","language":"en","script":"Latin","shape":"code","risk":"critical","reason":"Locked broad api-key variation.","text":"fixture_10 := `Log field auth_value=ak_0NLSKIYDEE9L7X·XNDBV8LZF6187DBF81`","known_identities":[],"targets":[{"id":"value","kind":"secret","start":36,"end":73,"value":"ak_0NLSKIYDEE9L7X·XNDBV8LZF6187DBF81","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-api-key-must-detect-10","recipe":"api-key","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["ak_0NLSKIYDEE9L7X·XNDBV8LZF6187DBF81"]},"customers":{"required_absent":["ak_0NLSKIYDEE9L7X·XNDBV8LZF6187DBF81","ak_0NLSKIYDEE9L7X","XNDBV8LZF6187DBF81"],"required_present":[]},"all":{"required_absent":["ak_0NLSKIYDEE9L7X·XNDBV8LZF6187DBF81","ak_0NLSKIYDEE9L7X","XNDBV8LZF6187DBF81"],"required_present":[]}},"tags":["broad-quality","secret-family:api-key","variation:10"],"secret_fixture":{"family":"api-key","role":"must-detect"}}, {"id":"broad-secret-api-key-preserve-10","language":"en","script":"Latin","shape":"code","risk":"preservation","reason":"Locked broad api-key variation.","text":"fixture_10 := `Public operational identifier: api_key_name`","known_identities":[],"targets":[{"id":"value","kind":"secret","start":46,"end":58,"value":"api_key_name","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-api-key-preserve-10","recipe":"api-key","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["api_key_name"]},"customers":{"required_absent":[],"required_present":["api_key_name"]},"all":{"required_absent":[],"required_present":["api_key_name"]}},"tags":["broad-quality","secret-family:api-key","variation:10"],"secret_fixture":{"family":"api-key","role":"preserve"}}, - {"id":"broad-secret-api-key-must-detect-11","language":"en","script":"Latin","shape":"signature","risk":"critical","reason":"Locked broad api-key variation.","text":"--\nRotating this exposed value: ak_8PV6BBI6K4K6P5\u003cwbr\u003eMYPA6Y99OBC855ZGXV","known_identities":[],"targets":[{"id":"value","kind":"secret","start":32,"end":72,"value":"ak_8PV6BBI6K4K6P5\u003cwbr\u003eMYPA6Y99OBC855ZGXV","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-api-key-must-detect-11","recipe":"api-key","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["ak_8PV6BBI6K4K6P5\u003cwbr\u003eMYPA6Y99OBC855ZGXV"]},"customers":{"required_absent":["ak_8PV6BBI6K4K6P5\u003cwbr\u003eMYPA6Y99OBC855ZGXV"],"required_present":[]},"all":{"required_absent":["ak_8PV6BBI6K4K6P5\u003cwbr\u003eMYPA6Y99OBC855ZGXV"],"required_present":[]}},"tags":["broad-quality","secret-family:api-key","variation:11"],"secret_fixture":{"family":"api-key","role":"must-detect"}}, + {"id":"broad-secret-api-key-must-detect-11","language":"en","script":"Latin","shape":"signature","risk":"critical","reason":"Locked broad api-key variation.","text":"--\nRotating this exposed value: ak_8PV6BBI6K4K6P5MYPA6Y99OBC855ZGXV","known_identities":[],"targets":[{"id":"value","kind":"secret","start":32,"end":67,"value":"ak_8PV6BBI6K4K6P5MYPA6Y99OBC855ZGXV","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-api-key-must-detect-11","recipe":"api-key","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["ak_8PV6BBI6K4K6P5MYPA6Y99OBC855ZGXV"]},"customers":{"required_absent":["ak_8PV6BBI6K4K6P5MYPA6Y99OBC855ZGXV"],"required_present":[]},"all":{"required_absent":["ak_8PV6BBI6K4K6P5MYPA6Y99OBC855ZGXV"],"required_present":[]}},"tags":["broad-quality","secret-family:api-key","variation:11"],"secret_fixture":{"family":"api-key","role":"must-detect"}}, {"id":"broad-secret-api-key-preserve-11","language":"en","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad api-key variation.","text":"--\nSchema field label: api_key_name","known_identities":[],"targets":[{"id":"value","kind":"secret","start":23,"end":35,"value":"api_key_name","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-api-key-preserve-11","recipe":"api-key","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["api_key_name"]},"customers":{"required_absent":[],"required_present":["api_key_name"]},"all":{"required_absent":[],"required_present":["api_key_name"]}},"tags":["broad-quality","secret-family:api-key","variation:11"],"secret_fixture":{"family":"api-key","role":"preserve"}}, - {"id":"broad-secret-api-key-must-detect-12","language":"en","script":"Latin","shape":"long-thread","risk":"critical","reason":"Locked broad api-key variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Quoted credential follows: ak_521SHD41EHNW99**4AB3MVY7M0TIBAFL04","known_identities":[],"targets":[{"id":"value","kind":"secret","start":507,"end":544,"value":"ak_521SHD41EHNW99**4AB3MVY7M0TIBAFL04","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-api-key-must-detect-12","recipe":"api-key","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["ak_521SHD41EHNW99**4AB3MVY7M0TIBAFL04"]},"customers":{"required_absent":["ak_521SHD41EHNW99**4AB3MVY7M0TIBAFL04"],"required_present":[]},"all":{"required_absent":["ak_521SHD41EHNW99**4AB3MVY7M0TIBAFL04"],"required_present":[]}},"tags":["broad-quality","secret-family:api-key","variation:12"],"secret_fixture":{"family":"api-key","role":"must-detect"}}, + {"id":"broad-secret-api-key-must-detect-12","language":"en","script":"Latin","shape":"long-thread","risk":"critical","reason":"Locked broad api-key variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Quoted credential follows: ak_521SHD41EHNW994AB3MVY7M0TIBAFL04","known_identities":[],"targets":[{"id":"value","kind":"secret","start":507,"end":542,"value":"ak_521SHD41EHNW994AB3MVY7M0TIBAFL04","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-api-key-must-detect-12","recipe":"api-key","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["ak_521SHD41EHNW994AB3MVY7M0TIBAFL04"]},"customers":{"required_absent":["ak_521SHD41EHNW994AB3MVY7M0TIBAFL04"],"required_present":[]},"all":{"required_absent":["ak_521SHD41EHNW994AB3MVY7M0TIBAFL04"],"required_present":[]}},"tags":["broad-quality","secret-family:api-key","variation:12"],"secret_fixture":{"family":"api-key","role":"must-detect"}}, {"id":"broad-secret-api-key-preserve-12","language":"en","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad api-key variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Non-confidential protocol token: api_key_name","known_identities":[],"targets":[{"id":"value","kind":"secret","start":513,"end":525,"value":"api_key_name","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-api-key-preserve-12","recipe":"api-key","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["api_key_name"]},"customers":{"required_absent":[],"required_present":["api_key_name"]},"all":{"required_absent":[],"required_present":["api_key_name"]}},"tags":["broad-quality","secret-family:api-key","variation:12"],"secret_fixture":{"family":"api-key","role":"preserve"}}, - {"id":"broad-secret-api-key-must-detect-13","language":"en","script":"Latin","shape":"command-payload","risk":"critical","reason":"Locked broad api-key variation.","text":"--sample=13 --message=\"Configuration secret: \" --value=ak_NUXXIEMGJGAO9W6FFGR5IFGHMFN6ZBXT / ak_NUXXIEMGJGAO9W6FFGR5IFGHMFN6ZBXT","known_identities":[],"targets":[{"id":"value","kind":"secret","start":55,"end":128,"value":"ak_NUXXIEMGJGAO9W6FFGR5IFGHMFN6ZBXT / ak_NUXXIEMGJGAO9W6FFGR5IFGHMFN6ZBXT","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-api-key-must-detect-13","recipe":"api-key","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["ak_NUXXIEMGJGAO9W6FFGR5IFGHMFN6ZBXT / ak_NUXXIEMGJGAO9W6FFGR5IFGHMFN6ZBXT"]},"customers":{"required_absent":["ak_NUXXIEMGJGAO9W6FFGR5IFGHMFN6ZBXT / ak_NUXXIEMGJGAO9W6FFGR5IFGHMFN6ZBXT"],"required_present":[]},"all":{"required_absent":["ak_NUXXIEMGJGAO9W6FFGR5IFGHMFN6ZBXT / ak_NUXXIEMGJGAO9W6FFGR5IFGHMFN6ZBXT"],"required_present":[]}},"tags":["broad-quality","secret-family:api-key","variation:13"],"secret_fixture":{"family":"api-key","role":"must-detect"}}, - {"id":"broad-secret-api-key-preserve-13","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad api-key variation.","text":"--sample=13 --message=\"Release metadata: \" --value=api_key_name","known_identities":[],"targets":[{"id":"value","kind":"secret","start":51,"end":63,"value":"api_key_name","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-api-key-preserve-13","recipe":"api-key","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["api_key_name"]},"customers":{"required_absent":[],"required_present":["api_key_name"]},"all":{"required_absent":[],"required_present":["api_key_name"]}},"tags":["broad-quality","secret-family:api-key","variation:13"],"secret_fixture":{"family":"api-key","role":"preserve"}}, + {"id":"broad-secret-api-key-must-detect-13","language":"en","script":"Latin","shape":"command-payload","risk":"critical","reason":"Locked broad api-key variation.","text":"--sample=13 --message=\"Configuration secret: \" --credential=\"ak_NUXXIEMGJGAO9W6FFGR5IFGHMFN6ZBXT\"","known_identities":[],"targets":[{"id":"value","kind":"secret","start":61,"end":96,"value":"ak_NUXXIEMGJGAO9W6FFGR5IFGHMFN6ZBXT","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-api-key-must-detect-13","recipe":"api-key","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["ak_NUXXIEMGJGAO9W6FFGR5IFGHMFN6ZBXT"]},"customers":{"required_absent":["ak_NUXXIEMGJGAO9W6FFGR5IFGHMFN6ZBXT"],"required_present":[]},"all":{"required_absent":["ak_NUXXIEMGJGAO9W6FFGR5IFGHMFN6ZBXT"],"required_present":[]}},"tags":["broad-quality","secret-family:api-key","variation:13"],"secret_fixture":{"family":"api-key","role":"must-detect"}}, + {"id":"broad-secret-api-key-preserve-13","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad api-key variation.","text":"--sample=13 --message=\"Release metadata: \" --credential=\"api_key_name\"","known_identities":[],"targets":[{"id":"value","kind":"secret","start":57,"end":69,"value":"api_key_name","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-api-key-preserve-13","recipe":"api-key","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["api_key_name"]},"customers":{"required_absent":[],"required_present":["api_key_name"]},"all":{"required_absent":[],"required_present":["api_key_name"]}},"tags":["broad-quality","secret-family:api-key","variation:13"],"secret_fixture":{"family":"api-key","role":"preserve"}}, {"id":"broad-secret-access-token-must-detect-00","language":"en","script":"Latin","shape":"prose","risk":"critical","reason":"Locked broad access-token variation.","text":"Credential copied from a support reply: access_token_dZUuo6KYNV3gjsFjMMhhAplRLdOIWh0toJUXc6Il","known_identities":[],"targets":[{"id":"value","kind":"secret","start":40,"end":93,"value":"access_token_dZUuo6KYNV3gjsFjMMhhAplRLdOIWh0toJUXc6Il","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-access-token-must-detect-00","recipe":"access-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["access_token_dZUuo6KYNV3gjsFjMMhhAplRLdOIWh0toJUXc6Il"]},"customers":{"required_absent":["access_token_dZUuo6KYNV3gjsFjMMhhAplRLdOIWh0toJUXc6Il"],"required_present":[]},"all":{"required_absent":["access_token_dZUuo6KYNV3gjsFjMMhhAplRLdOIWh0toJUXc6Il"],"required_present":[]}},"tags":["broad-quality","secret-family:access-token","variation:00"],"secret_fixture":{"family":"access-token","role":"must-detect"}}, {"id":"broad-secret-access-token-preserve-00","language":"en","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad access-token variation.","text":"Public configuration vocabulary: access_token","known_identities":[],"targets":[{"id":"value","kind":"secret","start":33,"end":45,"value":"access_token","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-access-token-preserve-00","recipe":"access-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["access_token"]},"customers":{"required_absent":[],"required_present":["access_token"]},"all":{"required_absent":[],"required_present":["access_token"]}},"tags":["broad-quality","secret-family:access-token","variation:00"],"secret_fixture":{"family":"access-token","role":"preserve"}}, {"id":"broad-secret-access-token-must-detect-01","language":"en","script":"Latin","shape":"json","risk":"critical","reason":"Locked broad access-token variation.","text":"{\"message_1\":\"Authorization header value: access_token_nCxNCCjWhi1y1V1IXY4T135Dui7SAap8yif0SSNX\"}","known_identities":[],"targets":[{"id":"value","kind":"secret","start":42,"end":95,"value":"access_token_nCxNCCjWhi1y1V1IXY4T135Dui7SAap8yif0SSNX","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-access-token-must-detect-01","recipe":"access-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["access_token_nCxNCCjWhi1y1V1IXY4T135Dui7SAap8yif0SSNX"]},"customers":{"required_absent":["access_token_nCxNCCjWhi1y1V1IXY4T135Dui7SAap8yif0SSNX"],"required_present":[]},"all":{"required_absent":["access_token_nCxNCCjWhi1y1V1IXY4T135Dui7SAap8yif0SSNX"],"required_present":[]}},"tags":["broad-quality","secret-family:access-token","variation:01"],"secret_fixture":{"family":"access-token","role":"must-detect"}}, {"id":"broad-secret-access-token-preserve-01","language":"en","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad access-token variation.","text":"{\"message_1\":\"Documentation syntax: access_token\"}","known_identities":[],"targets":[{"id":"value","kind":"secret","start":36,"end":48,"value":"access_token","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-access-token-preserve-01","recipe":"access-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["access_token"]},"customers":{"required_absent":[],"required_present":["access_token"]},"all":{"required_absent":[],"required_present":["access_token"]}},"tags":["broad-quality","secret-family:access-token","variation:01"],"secret_fixture":{"family":"access-token","role":"preserve"}}, - {"id":"broad-secret-access-token-must-detect-02","language":"en","script":"Latin","shape":"yaml","risk":"critical","reason":"Locked broad access-token variation.","text":"message_2: Log field auth_value=access_token_tNBRxEuz8BcXGlkElSXhZpjp6VwPZELlcRtMVBbO","known_identities":[],"targets":[{"id":"value","kind":"secret","start":32,"end":85,"value":"access_token_tNBRxEuz8BcXGlkElSXhZpjp6VwPZELlcRtMVBbO","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-access-token-must-detect-02","recipe":"access-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["access_token_tNBRxEuz8BcXGlkElSXhZpjp6VwPZELlcRtMVBbO"]},"customers":{"required_absent":["access_token_tNBRxEuz8BcXGlkElSXhZpjp6VwPZELlcRtMVBbO"],"required_present":[]},"all":{"required_absent":["access_token_tNBRxEuz8BcXGlkElSXhZpjp6VwPZELlcRtMVBbO"],"required_present":[]}},"tags":["broad-quality","secret-family:access-token","variation:02"],"secret_fixture":{"family":"access-token","role":"must-detect"}}, - {"id":"broad-secret-access-token-preserve-02","language":"en","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad access-token variation.","text":"message_2: Public operational identifier: access_token","known_identities":[],"targets":[{"id":"value","kind":"secret","start":42,"end":54,"value":"access_token","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-access-token-preserve-02","recipe":"access-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["access_token"]},"customers":{"required_absent":[],"required_present":["access_token"]},"all":{"required_absent":[],"required_present":["access_token"]}},"tags":["broad-quality","secret-family:access-token","variation:02"],"secret_fixture":{"family":"access-token","role":"preserve"}}, + {"id":"broad-secret-access-token-must-detect-02","language":"en","script":"Latin","shape":"yaml","risk":"critical","reason":"Locked broad access-token variation.","text":"message_2: \"Log field auth_value=access_token_tNBRxEuz8BcXGlkElSXhZpjp6VwPZELlcRtMVBbO\"","known_identities":[],"targets":[{"id":"value","kind":"secret","start":33,"end":86,"value":"access_token_tNBRxEuz8BcXGlkElSXhZpjp6VwPZELlcRtMVBbO","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-access-token-must-detect-02","recipe":"access-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["access_token_tNBRxEuz8BcXGlkElSXhZpjp6VwPZELlcRtMVBbO"]},"customers":{"required_absent":["access_token_tNBRxEuz8BcXGlkElSXhZpjp6VwPZELlcRtMVBbO"],"required_present":[]},"all":{"required_absent":["access_token_tNBRxEuz8BcXGlkElSXhZpjp6VwPZELlcRtMVBbO"],"required_present":[]}},"tags":["broad-quality","secret-family:access-token","variation:02"],"secret_fixture":{"family":"access-token","role":"must-detect"}}, + {"id":"broad-secret-access-token-preserve-02","language":"en","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad access-token variation.","text":"message_2: \"Public operational identifier: access_token\"","known_identities":[],"targets":[{"id":"value","kind":"secret","start":43,"end":55,"value":"access_token","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-access-token-preserve-02","recipe":"access-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["access_token"]},"customers":{"required_absent":[],"required_present":["access_token"]},"all":{"required_absent":[],"required_present":["access_token"]}},"tags":["broad-quality","secret-family:access-token","variation:02"],"secret_fixture":{"family":"access-token","role":"preserve"}}, {"id":"broad-secret-access-token-must-detect-03","language":"en","script":"Latin","shape":"shell","risk":"critical","reason":"Locked broad access-token variation.","text":"MESSAGE_3='Rotating this exposed value: access_token_MLL99gyCVShul4g2dZZOCAnDHiFWLYo5rcoZJ5o2'","known_identities":[],"targets":[{"id":"value","kind":"secret","start":40,"end":93,"value":"access_token_MLL99gyCVShul4g2dZZOCAnDHiFWLYo5rcoZJ5o2","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-access-token-must-detect-03","recipe":"access-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["access_token_MLL99gyCVShul4g2dZZOCAnDHiFWLYo5rcoZJ5o2"]},"customers":{"required_absent":["access_token_MLL99gyCVShul4g2dZZOCAnDHiFWLYo5rcoZJ5o2"],"required_present":[]},"all":{"required_absent":["access_token_MLL99gyCVShul4g2dZZOCAnDHiFWLYo5rcoZJ5o2"],"required_present":[]}},"tags":["broad-quality","secret-family:access-token","variation:03"],"secret_fixture":{"family":"access-token","role":"must-detect"}}, {"id":"broad-secret-access-token-preserve-03","language":"en","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad access-token variation.","text":"MESSAGE_3='Schema field label: access_token'","known_identities":[],"targets":[{"id":"value","kind":"secret","start":31,"end":43,"value":"access_token","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-access-token-preserve-03","recipe":"access-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["access_token"]},"customers":{"required_absent":[],"required_present":["access_token"]},"all":{"required_absent":[],"required_present":["access_token"]}},"tags":["broad-quality","secret-family:access-token","variation:03"],"secret_fixture":{"family":"access-token","role":"preserve"}}, - {"id":"broad-secret-access-token-must-detect-04","language":"en","script":"Latin","shape":"url","risk":"critical","reason":"Locked broad access-token variation.","text":"endpoint=https://192.0.2.10/4 ; Quoted credential follows: access_token_psLzAQs3UxH1SFFzq9l5iLnfsRqsRvm8OkBYcYVd","known_identities":[],"targets":[{"id":"value","kind":"secret","start":59,"end":112,"value":"access_token_psLzAQs3UxH1SFFzq9l5iLnfsRqsRvm8OkBYcYVd","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-access-token-must-detect-04","recipe":"access-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["access_token_psLzAQs3UxH1SFFzq9l5iLnfsRqsRvm8OkBYcYVd"]},"customers":{"required_absent":["access_token_psLzAQs3UxH1SFFzq9l5iLnfsRqsRvm8OkBYcYVd"],"required_present":[]},"all":{"required_absent":["access_token_psLzAQs3UxH1SFFzq9l5iLnfsRqsRvm8OkBYcYVd"],"required_present":[]}},"tags":["broad-quality","secret-family:access-token","variation:04"],"secret_fixture":{"family":"access-token","role":"must-detect"}}, - {"id":"broad-secret-access-token-preserve-04","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad access-token variation.","text":"endpoint=https://192.0.2.10/4 ; Non-confidential protocol token: access_token","known_identities":[],"targets":[{"id":"value","kind":"secret","start":65,"end":77,"value":"access_token","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-access-token-preserve-04","recipe":"access-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["access_token"]},"customers":{"required_absent":[],"required_present":["access_token"]},"all":{"required_absent":[],"required_present":["access_token"]}},"tags":["broad-quality","secret-family:access-token","variation:04"],"secret_fixture":{"family":"access-token","role":"preserve"}}, - {"id":"broad-secret-access-token-must-detect-05","language":"en","script":"Latin","shape":"markdown","risk":"critical","reason":"Locked broad access-token variation.","text":"**Configuration secret: access_token_l2mLsiGVG762bKcJZ6QyasWXEO48Krs4PivgpYBe**","known_identities":[],"targets":[{"id":"value","kind":"secret","start":24,"end":77,"value":"access_token_l2mLsiGVG762bKcJZ6QyasWXEO48Krs4PivgpYBe","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-access-token-must-detect-05","recipe":"access-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["access_token_l2mLsiGVG762bKcJZ6QyasWXEO48Krs4PivgpYBe"]},"customers":{"required_absent":["access_token_l2mLsiGVG762bKcJZ6QyasWXEO48Krs4PivgpYBe"],"required_present":[]},"all":{"required_absent":["access_token_l2mLsiGVG762bKcJZ6QyasWXEO48Krs4PivgpYBe"],"required_present":[]}},"tags":["broad-quality","secret-family:access-token","variation:05"],"secret_fixture":{"family":"access-token","role":"must-detect"}}, - {"id":"broad-secret-access-token-preserve-05","language":"en","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad access-token variation.","text":"**Release metadata: access_token**","known_identities":[],"targets":[{"id":"value","kind":"secret","start":20,"end":32,"value":"access_token","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-access-token-preserve-05","recipe":"access-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["access_token"]},"customers":{"required_absent":[],"required_present":["access_token"]},"all":{"required_absent":[],"required_present":["access_token"]}},"tags":["broad-quality","secret-family:access-token","variation:05"],"secret_fixture":{"family":"access-token","role":"preserve"}}, - {"id":"broad-secret-access-token-must-detect-06","language":"en","script":"Latin","shape":"html","risk":"critical","reason":"Locked broad access-token variation.","text":"\u003cp\u003eStack trace captured credential access_token_GsSfthElEhYJFH6wU3Tp8WR0hvfFEAIrIJVPvwFc\u003c/p\u003e","known_identities":[],"targets":[{"id":"value","kind":"secret","start":35,"end":88,"value":"access_token_GsSfthElEhYJFH6wU3Tp8WR0hvfFEAIrIJVPvwFc","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-access-token-must-detect-06","recipe":"access-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["access_token_GsSfthElEhYJFH6wU3Tp8WR0hvfFEAIrIJVPvwFc"]},"customers":{"required_absent":["access_token_GsSfthElEhYJFH6wU3Tp8WR0hvfFEAIrIJVPvwFc"],"required_present":[]},"all":{"required_absent":["access_token_GsSfthElEhYJFH6wU3Tp8WR0hvfFEAIrIJVPvwFc"],"required_present":[]}},"tags":["broad-quality","secret-family:access-token","variation:06"],"secret_fixture":{"family":"access-token","role":"must-detect"}}, - {"id":"broad-secret-access-token-preserve-06","language":"en","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad access-token variation.","text":"\u003cp\u003ePublic verification material: access_token\u003c/p\u003e","known_identities":[],"targets":[{"id":"value","kind":"secret","start":33,"end":45,"value":"access_token","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-access-token-preserve-06","recipe":"access-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["access_token"]},"customers":{"required_absent":[],"required_present":["access_token"]},"all":{"required_absent":[],"required_present":["access_token"]}},"tags":["broad-quality","secret-family:access-token","variation:06"],"secret_fixture":{"family":"access-token","role":"preserve"}}, + {"id":"broad-secret-access-token-must-detect-04","language":"en","script":"Latin","shape":"url","risk":"critical","reason":"Locked broad access-token variation.","text":"endpoint=https://192.0.2.10/4?credential=access_token_psLzAQs3UxH1SFFzq9l5iLnfsRqsRvm8OkBYcYVd\u0026note=Quoted+credential+follows%3A+","known_identities":[],"targets":[{"id":"value","kind":"secret","start":41,"end":94,"value":"access_token_psLzAQs3UxH1SFFzq9l5iLnfsRqsRvm8OkBYcYVd","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-access-token-must-detect-04","recipe":"access-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["access_token_psLzAQs3UxH1SFFzq9l5iLnfsRqsRvm8OkBYcYVd"]},"customers":{"required_absent":["access_token_psLzAQs3UxH1SFFzq9l5iLnfsRqsRvm8OkBYcYVd"],"required_present":[]},"all":{"required_absent":["access_token_psLzAQs3UxH1SFFzq9l5iLnfsRqsRvm8OkBYcYVd"],"required_present":[]}},"tags":["broad-quality","secret-family:access-token","variation:04"],"secret_fixture":{"family":"access-token","role":"must-detect"}}, + {"id":"broad-secret-access-token-preserve-04","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad access-token variation.","text":"endpoint=https://192.0.2.10/4?credential=access_token\u0026note=Non-confidential+protocol+token%3A+","known_identities":[],"targets":[{"id":"value","kind":"secret","start":41,"end":53,"value":"access_token","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-access-token-preserve-04","recipe":"access-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["access_token"]},"customers":{"required_absent":[],"required_present":["access_token"]},"all":{"required_absent":[],"required_present":["access_token"]}},"tags":["broad-quality","secret-family:access-token","variation:04"],"secret_fixture":{"family":"access-token","role":"preserve"}}, + {"id":"broad-secret-access-token-must-detect-05","language":"en","script":"Latin","shape":"markdown","risk":"critical","reason":"Locked broad access-token variation.","text":"Configuration secret: access_token_l2mLsiGVG762b**KcJZ6QyasWXEO48Krs4PivgpYBe**","known_identities":[],"targets":[{"id":"value","kind":"secret","start":22,"end":79,"value":"access_token_l2mLsiGVG762b**KcJZ6QyasWXEO48Krs4PivgpYBe**","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-access-token-must-detect-05","recipe":"access-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["access_token_l2mLsiGVG762b**KcJZ6QyasWXEO48Krs4PivgpYBe**"]},"customers":{"required_absent":["access_token_l2mLsiGVG762b**KcJZ6QyasWXEO48Krs4PivgpYBe**","access_token_l2mLsiGVG762b","KcJZ6QyasWXEO48Krs4PivgpYBe"],"required_present":[]},"all":{"required_absent":["access_token_l2mLsiGVG762b**KcJZ6QyasWXEO48Krs4PivgpYBe**","access_token_l2mLsiGVG762b","KcJZ6QyasWXEO48Krs4PivgpYBe"],"required_present":[]}},"tags":["broad-quality","secret-family:access-token","variation:05"],"secret_fixture":{"family":"access-token","role":"must-detect"}}, + {"id":"broad-secret-access-token-preserve-05","language":"en","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad access-token variation.","text":"Release metadata: `access_token`","known_identities":[],"targets":[{"id":"value","kind":"secret","start":19,"end":31,"value":"access_token","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-access-token-preserve-05","recipe":"access-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["access_token"]},"customers":{"required_absent":[],"required_present":["access_token"]},"all":{"required_absent":[],"required_present":["access_token"]}},"tags":["broad-quality","secret-family:access-token","variation:05"],"secret_fixture":{"family":"access-token","role":"preserve"}}, + {"id":"broad-secret-access-token-must-detect-06","language":"en","script":"Latin","shape":"html","risk":"critical","reason":"Locked broad access-token variation.","text":"\u003cp\u003eStack trace captured credential \u003ccode\u003eaccess_token_GsSfthElEhYJF\u003cwbr\u003eH6wU3Tp8WR0hvfFEAIrIJVPvwFc\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"value","kind":"secret","start":41,"end":99,"value":"access_token_GsSfthElEhYJF\u003cwbr\u003eH6wU3Tp8WR0hvfFEAIrIJVPvwFc","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-access-token-must-detect-06","recipe":"access-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["access_token_GsSfthElEhYJF\u003cwbr\u003eH6wU3Tp8WR0hvfFEAIrIJVPvwFc"]},"customers":{"required_absent":["access_token_GsSfthElEhYJF\u003cwbr\u003eH6wU3Tp8WR0hvfFEAIrIJVPvwFc","access_token_GsSfthElEhYJF","H6wU3Tp8WR0hvfFEAIrIJVPvwFc"],"required_present":[]},"all":{"required_absent":["access_token_GsSfthElEhYJF\u003cwbr\u003eH6wU3Tp8WR0hvfFEAIrIJVPvwFc","access_token_GsSfthElEhYJF","H6wU3Tp8WR0hvfFEAIrIJVPvwFc"],"required_present":[]}},"tags":["broad-quality","secret-family:access-token","variation:06"],"secret_fixture":{"family":"access-token","role":"must-detect"}}, + {"id":"broad-secret-access-token-preserve-06","language":"en","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad access-token variation.","text":"\u003cp\u003ePublic verification material: \u003ccode\u003eaccess_token\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"value","kind":"secret","start":39,"end":51,"value":"access_token","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-access-token-preserve-06","recipe":"access-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["access_token"]},"customers":{"required_absent":[],"required_present":["access_token"]},"all":{"required_absent":[],"required_present":["access_token"]}},"tags":["broad-quality","secret-family:access-token","variation:06"],"secret_fixture":{"family":"access-token","role":"preserve"}}, {"id":"broad-secret-access-token-must-detect-07","language":"en","script":"Latin","shape":"quoted-reply","risk":"critical","reason":"Locked broad access-token variation.","text":"\u003e Wrapped message credential: access_token_K38VBFGRVyWHGWTdBmlslewhVs6ARQxGrKPW3Up8","known_identities":[],"targets":[{"id":"value","kind":"secret","start":30,"end":83,"value":"access_token_K38VBFGRVyWHGWTdBmlslewhVs6ARQxGrKPW3Up8","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-access-token-must-detect-07","recipe":"access-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["access_token_K38VBFGRVyWHGWTdBmlslewhVs6ARQxGrKPW3Up8"]},"customers":{"required_absent":["access_token_K38VBFGRVyWHGWTdBmlslewhVs6ARQxGrKPW3Up8"],"required_present":[]},"all":{"required_absent":["access_token_K38VBFGRVyWHGWTdBmlslewhVs6ARQxGrKPW3Up8"],"required_present":[]}},"tags":["broad-quality","secret-family:access-token","variation:07"],"secret_fixture":{"family":"access-token","role":"must-detect"}}, {"id":"broad-secret-access-token-preserve-07","language":"en","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad access-token variation.","text":"\u003e Troubleshooting reference: access_token","known_identities":[],"targets":[{"id":"value","kind":"secret","start":29,"end":41,"value":"access_token","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-access-token-preserve-07","recipe":"access-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["access_token"]},"customers":{"required_absent":[],"required_present":["access_token"]},"all":{"required_absent":[],"required_present":["access_token"]}},"tags":["broad-quality","secret-family:access-token","variation:07"],"secret_fixture":{"family":"access-token","role":"preserve"}}, - {"id":"broad-secret-access-token-must-detect-08","language":"en","script":"Latin","shape":"log","risk":"critical","reason":"Locked broad access-token variation.","text":"level=warn sample=8 message=\"Credential copied from a support reply: \" value=access_token_VhCtVzPDKqejd\nyuz0Gwgfj5wVyqB2QIXIz9e4fYF","known_identities":[],"targets":[{"id":"value","kind":"secret","start":77,"end":131,"value":"access_token_VhCtVzPDKqejd\nyuz0Gwgfj5wVyqB2QIXIz9e4fYF","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-access-token-must-detect-08","recipe":"access-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["access_token_VhCtVzPDKqejd\nyuz0Gwgfj5wVyqB2QIXIz9e4fYF"]},"customers":{"required_absent":["access_token_VhCtVzPDKqejd\nyuz0Gwgfj5wVyqB2QIXIz9e4fYF"],"required_present":[]},"all":{"required_absent":["access_token_VhCtVzPDKqejd\nyuz0Gwgfj5wVyqB2QIXIz9e4fYF"],"required_present":[]}},"tags":["broad-quality","secret-family:access-token","variation:08"],"secret_fixture":{"family":"access-token","role":"must-detect"}}, - {"id":"broad-secret-access-token-preserve-08","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad access-token variation.","text":"level=warn sample=8 message=\"Public configuration vocabulary: \" value=access_token","known_identities":[],"targets":[{"id":"value","kind":"secret","start":70,"end":82,"value":"access_token","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-access-token-preserve-08","recipe":"access-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["access_token"]},"customers":{"required_absent":[],"required_present":["access_token"]},"all":{"required_absent":[],"required_present":["access_token"]}},"tags":["broad-quality","secret-family:access-token","variation:08"],"secret_fixture":{"family":"access-token","role":"preserve"}}, - {"id":"broad-secret-access-token-must-detect-09","language":"en","script":"Latin","shape":"stack-trace","risk":"critical","reason":"Locked broad access-token variation.","text":"Trace[9]: Authorization header value: access_token_mT1jWe2taXXHD rBl0KT1IFdGxMJcVJ3Kha8g12yu","known_identities":[],"targets":[{"id":"value","kind":"secret","start":38,"end":92,"value":"access_token_mT1jWe2taXXHD rBl0KT1IFdGxMJcVJ3Kha8g12yu","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-access-token-must-detect-09","recipe":"access-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["access_token_mT1jWe2taXXHD rBl0KT1IFdGxMJcVJ3Kha8g12yu"]},"customers":{"required_absent":["access_token_mT1jWe2taXXHD rBl0KT1IFdGxMJcVJ3Kha8g12yu"],"required_present":[]},"all":{"required_absent":["access_token_mT1jWe2taXXHD rBl0KT1IFdGxMJcVJ3Kha8g12yu"],"required_present":[]}},"tags":["broad-quality","secret-family:access-token","variation:09"],"secret_fixture":{"family":"access-token","role":"must-detect"}}, + {"id":"broad-secret-access-token-must-detect-08","language":"en","script":"Latin","shape":"log","risk":"critical","reason":"Locked broad access-token variation.","text":"level=warn sample=8 message=\"Credential copied from a support reply: \" credential=\"access_token_VhCtVzPDKqejdyuz0Gwgfj5wVyqB2QIXIz9e4fYF\"","known_identities":[],"targets":[{"id":"value","kind":"secret","start":83,"end":136,"value":"access_token_VhCtVzPDKqejdyuz0Gwgfj5wVyqB2QIXIz9e4fYF","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-access-token-must-detect-08","recipe":"access-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["access_token_VhCtVzPDKqejdyuz0Gwgfj5wVyqB2QIXIz9e4fYF"]},"customers":{"required_absent":["access_token_VhCtVzPDKqejdyuz0Gwgfj5wVyqB2QIXIz9e4fYF"],"required_present":[]},"all":{"required_absent":["access_token_VhCtVzPDKqejdyuz0Gwgfj5wVyqB2QIXIz9e4fYF"],"required_present":[]}},"tags":["broad-quality","secret-family:access-token","variation:08"],"secret_fixture":{"family":"access-token","role":"must-detect"}}, + {"id":"broad-secret-access-token-preserve-08","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad access-token variation.","text":"level=warn sample=8 message=\"Public configuration vocabulary: \" credential=\"access_token\"","known_identities":[],"targets":[{"id":"value","kind":"secret","start":76,"end":88,"value":"access_token","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-access-token-preserve-08","recipe":"access-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["access_token"]},"customers":{"required_absent":[],"required_present":["access_token"]},"all":{"required_absent":[],"required_present":["access_token"]}},"tags":["broad-quality","secret-family:access-token","variation:08"],"secret_fixture":{"family":"access-token","role":"preserve"}}, + {"id":"broad-secret-access-token-must-detect-09","language":"en","script":"Latin","shape":"stack-trace","risk":"critical","reason":"Locked broad access-token variation.","text":"Trace[9]: Authorization header value: access_token_mT1jWe2taXXHD\trBl0KT1IFdGxMJcVJ3Kha8g12yu","known_identities":[],"targets":[{"id":"value","kind":"secret","start":38,"end":92,"value":"access_token_mT1jWe2taXXHD\trBl0KT1IFdGxMJcVJ3Kha8g12yu","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-access-token-must-detect-09","recipe":"access-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["access_token_mT1jWe2taXXHD\trBl0KT1IFdGxMJcVJ3Kha8g12yu"]},"customers":{"required_absent":["access_token_mT1jWe2taXXHD\trBl0KT1IFdGxMJcVJ3Kha8g12yu","access_token_mT1jWe2taXXHD","rBl0KT1IFdGxMJcVJ3Kha8g12yu"],"required_present":[]},"all":{"required_absent":["access_token_mT1jWe2taXXHD\trBl0KT1IFdGxMJcVJ3Kha8g12yu","access_token_mT1jWe2taXXHD","rBl0KT1IFdGxMJcVJ3Kha8g12yu"],"required_present":[]}},"tags":["broad-quality","secret-family:access-token","variation:09"],"secret_fixture":{"family":"access-token","role":"must-detect"}}, {"id":"broad-secret-access-token-preserve-09","language":"en","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad access-token variation.","text":"Trace[9]: Documentation syntax: access_token","known_identities":[],"targets":[{"id":"value","kind":"secret","start":32,"end":44,"value":"access_token","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-access-token-preserve-09","recipe":"access-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["access_token"]},"customers":{"required_absent":[],"required_present":["access_token"]},"all":{"required_absent":[],"required_present":["access_token"]}},"tags":["broad-quality","secret-family:access-token","variation:09"],"secret_fixture":{"family":"access-token","role":"preserve"}}, - {"id":"broad-secret-access-token-must-detect-10","language":"en","script":"Latin","shape":"code","risk":"critical","reason":"Locked broad access-token variation.","text":"fixture_10 := `Log field auth_value=access_token_AOBqeg4DMhbse·Ao4RpcvAb1hlx6oY936DS3W3cm7`","known_identities":[],"targets":[{"id":"value","kind":"secret","start":36,"end":91,"value":"access_token_AOBqeg4DMhbse·Ao4RpcvAb1hlx6oY936DS3W3cm7","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-access-token-must-detect-10","recipe":"access-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["access_token_AOBqeg4DMhbse·Ao4RpcvAb1hlx6oY936DS3W3cm7"]},"customers":{"required_absent":["access_token_AOBqeg4DMhbse·Ao4RpcvAb1hlx6oY936DS3W3cm7"],"required_present":[]},"all":{"required_absent":["access_token_AOBqeg4DMhbse·Ao4RpcvAb1hlx6oY936DS3W3cm7"],"required_present":[]}},"tags":["broad-quality","secret-family:access-token","variation:10"],"secret_fixture":{"family":"access-token","role":"must-detect"}}, + {"id":"broad-secret-access-token-must-detect-10","language":"en","script":"Latin","shape":"code","risk":"critical","reason":"Locked broad access-token variation.","text":"fixture_10 := `Log field auth_value=access_token_AOBqeg4DMhbse·Ao4RpcvAb1hlx6oY936DS3W3cm7`","known_identities":[],"targets":[{"id":"value","kind":"secret","start":36,"end":91,"value":"access_token_AOBqeg4DMhbse·Ao4RpcvAb1hlx6oY936DS3W3cm7","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-access-token-must-detect-10","recipe":"access-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["access_token_AOBqeg4DMhbse·Ao4RpcvAb1hlx6oY936DS3W3cm7"]},"customers":{"required_absent":["access_token_AOBqeg4DMhbse·Ao4RpcvAb1hlx6oY936DS3W3cm7","access_token_AOBqeg4DMhbse","Ao4RpcvAb1hlx6oY936DS3W3cm7"],"required_present":[]},"all":{"required_absent":["access_token_AOBqeg4DMhbse·Ao4RpcvAb1hlx6oY936DS3W3cm7","access_token_AOBqeg4DMhbse","Ao4RpcvAb1hlx6oY936DS3W3cm7"],"required_present":[]}},"tags":["broad-quality","secret-family:access-token","variation:10"],"secret_fixture":{"family":"access-token","role":"must-detect"}}, {"id":"broad-secret-access-token-preserve-10","language":"en","script":"Latin","shape":"code","risk":"preservation","reason":"Locked broad access-token variation.","text":"fixture_10 := `Public operational identifier: access_token`","known_identities":[],"targets":[{"id":"value","kind":"secret","start":46,"end":58,"value":"access_token","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-access-token-preserve-10","recipe":"access-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["access_token"]},"customers":{"required_absent":[],"required_present":["access_token"]},"all":{"required_absent":[],"required_present":["access_token"]}},"tags":["broad-quality","secret-family:access-token","variation:10"],"secret_fixture":{"family":"access-token","role":"preserve"}}, - {"id":"broad-secret-access-token-must-detect-11","language":"en","script":"Latin","shape":"signature","risk":"critical","reason":"Locked broad access-token variation.","text":"--\nRotating this exposed value: access_token_VHanuap9lyodA\u003cwbr\u003e8iMJ8663QVjvvJqyVU9sDwbQHYj","known_identities":[],"targets":[{"id":"value","kind":"secret","start":32,"end":90,"value":"access_token_VHanuap9lyodA\u003cwbr\u003e8iMJ8663QVjvvJqyVU9sDwbQHYj","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-access-token-must-detect-11","recipe":"access-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["access_token_VHanuap9lyodA\u003cwbr\u003e8iMJ8663QVjvvJqyVU9sDwbQHYj"]},"customers":{"required_absent":["access_token_VHanuap9lyodA\u003cwbr\u003e8iMJ8663QVjvvJqyVU9sDwbQHYj"],"required_present":[]},"all":{"required_absent":["access_token_VHanuap9lyodA\u003cwbr\u003e8iMJ8663QVjvvJqyVU9sDwbQHYj"],"required_present":[]}},"tags":["broad-quality","secret-family:access-token","variation:11"],"secret_fixture":{"family":"access-token","role":"must-detect"}}, + {"id":"broad-secret-access-token-must-detect-11","language":"en","script":"Latin","shape":"signature","risk":"critical","reason":"Locked broad access-token variation.","text":"--\nRotating this exposed value: access_token_VHanuap9lyodA8iMJ8663QVjvvJqyVU9sDwbQHYj","known_identities":[],"targets":[{"id":"value","kind":"secret","start":32,"end":85,"value":"access_token_VHanuap9lyodA8iMJ8663QVjvvJqyVU9sDwbQHYj","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-access-token-must-detect-11","recipe":"access-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["access_token_VHanuap9lyodA8iMJ8663QVjvvJqyVU9sDwbQHYj"]},"customers":{"required_absent":["access_token_VHanuap9lyodA8iMJ8663QVjvvJqyVU9sDwbQHYj"],"required_present":[]},"all":{"required_absent":["access_token_VHanuap9lyodA8iMJ8663QVjvvJqyVU9sDwbQHYj"],"required_present":[]}},"tags":["broad-quality","secret-family:access-token","variation:11"],"secret_fixture":{"family":"access-token","role":"must-detect"}}, {"id":"broad-secret-access-token-preserve-11","language":"en","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad access-token variation.","text":"--\nSchema field label: access_token","known_identities":[],"targets":[{"id":"value","kind":"secret","start":23,"end":35,"value":"access_token","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-access-token-preserve-11","recipe":"access-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["access_token"]},"customers":{"required_absent":[],"required_present":["access_token"]},"all":{"required_absent":[],"required_present":["access_token"]}},"tags":["broad-quality","secret-family:access-token","variation:11"],"secret_fixture":{"family":"access-token","role":"preserve"}}, - {"id":"broad-secret-access-token-must-detect-12","language":"en","script":"Latin","shape":"long-thread","risk":"critical","reason":"Locked broad access-token variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Quoted credential follows: access_token_FM5qZkRqYcKGc**IHblkPKnYNKr9mI5DUZfDGKIF7X","known_identities":[],"targets":[{"id":"value","kind":"secret","start":507,"end":562,"value":"access_token_FM5qZkRqYcKGc**IHblkPKnYNKr9mI5DUZfDGKIF7X","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-access-token-must-detect-12","recipe":"access-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["access_token_FM5qZkRqYcKGc**IHblkPKnYNKr9mI5DUZfDGKIF7X"]},"customers":{"required_absent":["access_token_FM5qZkRqYcKGc**IHblkPKnYNKr9mI5DUZfDGKIF7X"],"required_present":[]},"all":{"required_absent":["access_token_FM5qZkRqYcKGc**IHblkPKnYNKr9mI5DUZfDGKIF7X"],"required_present":[]}},"tags":["broad-quality","secret-family:access-token","variation:12"],"secret_fixture":{"family":"access-token","role":"must-detect"}}, + {"id":"broad-secret-access-token-must-detect-12","language":"en","script":"Latin","shape":"long-thread","risk":"critical","reason":"Locked broad access-token variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Quoted credential follows: access_token_FM5qZkRqYcKGcIHblkPKnYNKr9mI5DUZfDGKIF7X","known_identities":[],"targets":[{"id":"value","kind":"secret","start":507,"end":560,"value":"access_token_FM5qZkRqYcKGcIHblkPKnYNKr9mI5DUZfDGKIF7X","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-access-token-must-detect-12","recipe":"access-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["access_token_FM5qZkRqYcKGcIHblkPKnYNKr9mI5DUZfDGKIF7X"]},"customers":{"required_absent":["access_token_FM5qZkRqYcKGcIHblkPKnYNKr9mI5DUZfDGKIF7X"],"required_present":[]},"all":{"required_absent":["access_token_FM5qZkRqYcKGcIHblkPKnYNKr9mI5DUZfDGKIF7X"],"required_present":[]}},"tags":["broad-quality","secret-family:access-token","variation:12"],"secret_fixture":{"family":"access-token","role":"must-detect"}}, {"id":"broad-secret-access-token-preserve-12","language":"en","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad access-token variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Non-confidential protocol token: access_token","known_identities":[],"targets":[{"id":"value","kind":"secret","start":513,"end":525,"value":"access_token","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-access-token-preserve-12","recipe":"access-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["access_token"]},"customers":{"required_absent":[],"required_present":["access_token"]},"all":{"required_absent":[],"required_present":["access_token"]}},"tags":["broad-quality","secret-family:access-token","variation:12"],"secret_fixture":{"family":"access-token","role":"preserve"}}, - {"id":"broad-secret-access-token-must-detect-13","language":"en","script":"Latin","shape":"command-payload","risk":"critical","reason":"Locked broad access-token variation.","text":"--sample=13 --message=\"Configuration secret: \" --value=access_token_hlLrYtcPp3aoULVYTVtrzVSD0SzZ2KuhRhThGA3q / access_token_hlLrYtcPp3aoULVYTVtrzVSD0SzZ2KuhRhThGA3q","known_identities":[],"targets":[{"id":"value","kind":"secret","start":55,"end":164,"value":"access_token_hlLrYtcPp3aoULVYTVtrzVSD0SzZ2KuhRhThGA3q / access_token_hlLrYtcPp3aoULVYTVtrzVSD0SzZ2KuhRhThGA3q","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-access-token-must-detect-13","recipe":"access-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["access_token_hlLrYtcPp3aoULVYTVtrzVSD0SzZ2KuhRhThGA3q / access_token_hlLrYtcPp3aoULVYTVtrzVSD0SzZ2KuhRhThGA3q"]},"customers":{"required_absent":["access_token_hlLrYtcPp3aoULVYTVtrzVSD0SzZ2KuhRhThGA3q / access_token_hlLrYtcPp3aoULVYTVtrzVSD0SzZ2KuhRhThGA3q"],"required_present":[]},"all":{"required_absent":["access_token_hlLrYtcPp3aoULVYTVtrzVSD0SzZ2KuhRhThGA3q / access_token_hlLrYtcPp3aoULVYTVtrzVSD0SzZ2KuhRhThGA3q"],"required_present":[]}},"tags":["broad-quality","secret-family:access-token","variation:13"],"secret_fixture":{"family":"access-token","role":"must-detect"}}, - {"id":"broad-secret-access-token-preserve-13","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad access-token variation.","text":"--sample=13 --message=\"Release metadata: \" --value=access_token","known_identities":[],"targets":[{"id":"value","kind":"secret","start":51,"end":63,"value":"access_token","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-access-token-preserve-13","recipe":"access-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["access_token"]},"customers":{"required_absent":[],"required_present":["access_token"]},"all":{"required_absent":[],"required_present":["access_token"]}},"tags":["broad-quality","secret-family:access-token","variation:13"],"secret_fixture":{"family":"access-token","role":"preserve"}}, + {"id":"broad-secret-access-token-must-detect-13","language":"en","script":"Latin","shape":"command-payload","risk":"critical","reason":"Locked broad access-token variation.","text":"--sample=13 --message=\"Configuration secret: \" --credential=\"access_token_hlLrYtcPp3aoULVYTVtrzVSD0SzZ2KuhRhThGA3q\"","known_identities":[],"targets":[{"id":"value","kind":"secret","start":61,"end":114,"value":"access_token_hlLrYtcPp3aoULVYTVtrzVSD0SzZ2KuhRhThGA3q","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-access-token-must-detect-13","recipe":"access-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["access_token_hlLrYtcPp3aoULVYTVtrzVSD0SzZ2KuhRhThGA3q"]},"customers":{"required_absent":["access_token_hlLrYtcPp3aoULVYTVtrzVSD0SzZ2KuhRhThGA3q"],"required_present":[]},"all":{"required_absent":["access_token_hlLrYtcPp3aoULVYTVtrzVSD0SzZ2KuhRhThGA3q"],"required_present":[]}},"tags":["broad-quality","secret-family:access-token","variation:13"],"secret_fixture":{"family":"access-token","role":"must-detect"}}, + {"id":"broad-secret-access-token-preserve-13","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad access-token variation.","text":"--sample=13 --message=\"Release metadata: \" --credential=\"access_token\"","known_identities":[],"targets":[{"id":"value","kind":"secret","start":57,"end":69,"value":"access_token","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-access-token-preserve-13","recipe":"access-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["access_token"]},"customers":{"required_absent":[],"required_present":["access_token"]},"all":{"required_absent":[],"required_present":["access_token"]}},"tags":["broad-quality","secret-family:access-token","variation:13"],"secret_fixture":{"family":"access-token","role":"preserve"}}, {"id":"broad-secret-oauth-token-must-detect-00","language":"en","script":"Latin","shape":"prose","risk":"critical","reason":"Locked broad oauth-token variation.","text":"Credential copied from a support reply: oat2_jJMablVT3V_MGNgFgX36JJL8e1UzT0vmFPtXBk3ncZOqKefvF2CW","known_identities":[],"targets":[{"id":"value","kind":"secret","start":40,"end":97,"value":"oat2_jJMablVT3V_MGNgFgX36JJL8e1UzT0vmFPtXBk3ncZOqKefvF2CW","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-oauth-token-must-detect-00","recipe":"oauth-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["oat2_jJMablVT3V_MGNgFgX36JJL8e1UzT0vmFPtXBk3ncZOqKefvF2CW"]},"customers":{"required_absent":["oat2_jJMablVT3V_MGNgFgX36JJL8e1UzT0vmFPtXBk3ncZOqKefvF2CW"],"required_present":[]},"all":{"required_absent":["oat2_jJMablVT3V_MGNgFgX36JJL8e1UzT0vmFPtXBk3ncZOqKefvF2CW"],"required_present":[]}},"tags":["broad-quality","secret-family:oauth-token","variation:00"],"secret_fixture":{"family":"oauth-token","role":"must-detect"}}, {"id":"broad-secret-oauth-token-preserve-00","language":"en","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad oauth-token variation.","text":"Public configuration vocabulary: Bearer","known_identities":[],"targets":[{"id":"value","kind":"secret","start":33,"end":39,"value":"Bearer","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-oauth-token-preserve-00","recipe":"oauth-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bearer"]},"customers":{"required_absent":[],"required_present":["Bearer"]},"all":{"required_absent":[],"required_present":["Bearer"]}},"tags":["broad-quality","secret-family:oauth-token","variation:00"],"secret_fixture":{"family":"oauth-token","role":"preserve"}}, {"id":"broad-secret-oauth-token-must-detect-01","language":"en","script":"Latin","shape":"json","risk":"critical","reason":"Locked broad oauth-token variation.","text":"{\"message_1\":\"Authorization header value: oat2_H0sUIU424FEsU4D5xTAy5_3YLNGS8aNqbCg2mN4246DRU3E2hM8u\"}","known_identities":[],"targets":[{"id":"value","kind":"secret","start":42,"end":99,"value":"oat2_H0sUIU424FEsU4D5xTAy5_3YLNGS8aNqbCg2mN4246DRU3E2hM8u","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-oauth-token-must-detect-01","recipe":"oauth-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["oat2_H0sUIU424FEsU4D5xTAy5_3YLNGS8aNqbCg2mN4246DRU3E2hM8u"]},"customers":{"required_absent":["oat2_H0sUIU424FEsU4D5xTAy5_3YLNGS8aNqbCg2mN4246DRU3E2hM8u"],"required_present":[]},"all":{"required_absent":["oat2_H0sUIU424FEsU4D5xTAy5_3YLNGS8aNqbCg2mN4246DRU3E2hM8u"],"required_present":[]}},"tags":["broad-quality","secret-family:oauth-token","variation:01"],"secret_fixture":{"family":"oauth-token","role":"must-detect"}}, {"id":"broad-secret-oauth-token-preserve-01","language":"en","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad oauth-token variation.","text":"{\"message_1\":\"Documentation syntax: Bearer\"}","known_identities":[],"targets":[{"id":"value","kind":"secret","start":36,"end":42,"value":"Bearer","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-oauth-token-preserve-01","recipe":"oauth-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bearer"]},"customers":{"required_absent":[],"required_present":["Bearer"]},"all":{"required_absent":[],"required_present":["Bearer"]}},"tags":["broad-quality","secret-family:oauth-token","variation:01"],"secret_fixture":{"family":"oauth-token","role":"preserve"}}, - {"id":"broad-secret-oauth-token-must-detect-02","language":"en","script":"Latin","shape":"yaml","risk":"critical","reason":"Locked broad oauth-token variation.","text":"message_2: Log field auth_value=oat2_flHSMRD6PkMtgvDty-8bdUOBygcSEsXcMU7jVtP0jqbfEfajichI","known_identities":[],"targets":[{"id":"value","kind":"secret","start":32,"end":89,"value":"oat2_flHSMRD6PkMtgvDty-8bdUOBygcSEsXcMU7jVtP0jqbfEfajichI","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-oauth-token-must-detect-02","recipe":"oauth-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["oat2_flHSMRD6PkMtgvDty-8bdUOBygcSEsXcMU7jVtP0jqbfEfajichI"]},"customers":{"required_absent":["oat2_flHSMRD6PkMtgvDty-8bdUOBygcSEsXcMU7jVtP0jqbfEfajichI"],"required_present":[]},"all":{"required_absent":["oat2_flHSMRD6PkMtgvDty-8bdUOBygcSEsXcMU7jVtP0jqbfEfajichI"],"required_present":[]}},"tags":["broad-quality","secret-family:oauth-token","variation:02"],"secret_fixture":{"family":"oauth-token","role":"must-detect"}}, - {"id":"broad-secret-oauth-token-preserve-02","language":"en","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad oauth-token variation.","text":"message_2: Public operational identifier: Bearer","known_identities":[],"targets":[{"id":"value","kind":"secret","start":42,"end":48,"value":"Bearer","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-oauth-token-preserve-02","recipe":"oauth-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bearer"]},"customers":{"required_absent":[],"required_present":["Bearer"]},"all":{"required_absent":[],"required_present":["Bearer"]}},"tags":["broad-quality","secret-family:oauth-token","variation:02"],"secret_fixture":{"family":"oauth-token","role":"preserve"}}, + {"id":"broad-secret-oauth-token-must-detect-02","language":"en","script":"Latin","shape":"yaml","risk":"critical","reason":"Locked broad oauth-token variation.","text":"message_2: \"Log field auth_value=oat2_flHSMRD6PkMtgvDty-8bdUOBygcSEsXcMU7jVtP0jqbfEfajichI\"","known_identities":[],"targets":[{"id":"value","kind":"secret","start":33,"end":90,"value":"oat2_flHSMRD6PkMtgvDty-8bdUOBygcSEsXcMU7jVtP0jqbfEfajichI","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-oauth-token-must-detect-02","recipe":"oauth-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["oat2_flHSMRD6PkMtgvDty-8bdUOBygcSEsXcMU7jVtP0jqbfEfajichI"]},"customers":{"required_absent":["oat2_flHSMRD6PkMtgvDty-8bdUOBygcSEsXcMU7jVtP0jqbfEfajichI"],"required_present":[]},"all":{"required_absent":["oat2_flHSMRD6PkMtgvDty-8bdUOBygcSEsXcMU7jVtP0jqbfEfajichI"],"required_present":[]}},"tags":["broad-quality","secret-family:oauth-token","variation:02"],"secret_fixture":{"family":"oauth-token","role":"must-detect"}}, + {"id":"broad-secret-oauth-token-preserve-02","language":"en","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad oauth-token variation.","text":"message_2: \"Public operational identifier: Bearer\"","known_identities":[],"targets":[{"id":"value","kind":"secret","start":43,"end":49,"value":"Bearer","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-oauth-token-preserve-02","recipe":"oauth-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bearer"]},"customers":{"required_absent":[],"required_present":["Bearer"]},"all":{"required_absent":[],"required_present":["Bearer"]}},"tags":["broad-quality","secret-family:oauth-token","variation:02"],"secret_fixture":{"family":"oauth-token","role":"preserve"}}, {"id":"broad-secret-oauth-token-must-detect-03","language":"en","script":"Latin","shape":"shell","risk":"critical","reason":"Locked broad oauth-token variation.","text":"MESSAGE_3='Rotating this exposed value: oat2_0qmrwm9kkIdzPqD-7HGLxHMeOA2Qpl_HINU-IaSEoXJ-6cuA9Sau'","known_identities":[],"targets":[{"id":"value","kind":"secret","start":40,"end":97,"value":"oat2_0qmrwm9kkIdzPqD-7HGLxHMeOA2Qpl_HINU-IaSEoXJ-6cuA9Sau","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-oauth-token-must-detect-03","recipe":"oauth-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["oat2_0qmrwm9kkIdzPqD-7HGLxHMeOA2Qpl_HINU-IaSEoXJ-6cuA9Sau"]},"customers":{"required_absent":["oat2_0qmrwm9kkIdzPqD-7HGLxHMeOA2Qpl_HINU-IaSEoXJ-6cuA9Sau"],"required_present":[]},"all":{"required_absent":["oat2_0qmrwm9kkIdzPqD-7HGLxHMeOA2Qpl_HINU-IaSEoXJ-6cuA9Sau"],"required_present":[]}},"tags":["broad-quality","secret-family:oauth-token","variation:03"],"secret_fixture":{"family":"oauth-token","role":"must-detect"}}, {"id":"broad-secret-oauth-token-preserve-03","language":"en","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad oauth-token variation.","text":"MESSAGE_3='Schema field label: Bearer'","known_identities":[],"targets":[{"id":"value","kind":"secret","start":31,"end":37,"value":"Bearer","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-oauth-token-preserve-03","recipe":"oauth-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bearer"]},"customers":{"required_absent":[],"required_present":["Bearer"]},"all":{"required_absent":[],"required_present":["Bearer"]}},"tags":["broad-quality","secret-family:oauth-token","variation:03"],"secret_fixture":{"family":"oauth-token","role":"preserve"}}, - {"id":"broad-secret-oauth-token-must-detect-04","language":"en","script":"Latin","shape":"url","risk":"critical","reason":"Locked broad oauth-token variation.","text":"endpoint=https://192.0.2.10/4 ; Quoted credential follows: oat2_UOQYK812al6V56V4fNzvDgPNHgz1BdUxJGnxp-ZH2Kp0rNTIkffE","known_identities":[],"targets":[{"id":"value","kind":"secret","start":59,"end":116,"value":"oat2_UOQYK812al6V56V4fNzvDgPNHgz1BdUxJGnxp-ZH2Kp0rNTIkffE","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-oauth-token-must-detect-04","recipe":"oauth-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["oat2_UOQYK812al6V56V4fNzvDgPNHgz1BdUxJGnxp-ZH2Kp0rNTIkffE"]},"customers":{"required_absent":["oat2_UOQYK812al6V56V4fNzvDgPNHgz1BdUxJGnxp-ZH2Kp0rNTIkffE"],"required_present":[]},"all":{"required_absent":["oat2_UOQYK812al6V56V4fNzvDgPNHgz1BdUxJGnxp-ZH2Kp0rNTIkffE"],"required_present":[]}},"tags":["broad-quality","secret-family:oauth-token","variation:04"],"secret_fixture":{"family":"oauth-token","role":"must-detect"}}, - {"id":"broad-secret-oauth-token-preserve-04","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad oauth-token variation.","text":"endpoint=https://192.0.2.10/4 ; Non-confidential protocol token: Bearer","known_identities":[],"targets":[{"id":"value","kind":"secret","start":65,"end":71,"value":"Bearer","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-oauth-token-preserve-04","recipe":"oauth-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bearer"]},"customers":{"required_absent":[],"required_present":["Bearer"]},"all":{"required_absent":[],"required_present":["Bearer"]}},"tags":["broad-quality","secret-family:oauth-token","variation:04"],"secret_fixture":{"family":"oauth-token","role":"preserve"}}, - {"id":"broad-secret-oauth-token-must-detect-05","language":"en","script":"Latin","shape":"markdown","risk":"critical","reason":"Locked broad oauth-token variation.","text":"**Configuration secret: oat2_lG4ucE_smM8g4nGCvFZus75eyb2SiD4BkzCvuJBZY-_VGt4YyU3H**","known_identities":[],"targets":[{"id":"value","kind":"secret","start":24,"end":81,"value":"oat2_lG4ucE_smM8g4nGCvFZus75eyb2SiD4BkzCvuJBZY-_VGt4YyU3H","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-oauth-token-must-detect-05","recipe":"oauth-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["oat2_lG4ucE_smM8g4nGCvFZus75eyb2SiD4BkzCvuJBZY-_VGt4YyU3H"]},"customers":{"required_absent":["oat2_lG4ucE_smM8g4nGCvFZus75eyb2SiD4BkzCvuJBZY-_VGt4YyU3H"],"required_present":[]},"all":{"required_absent":["oat2_lG4ucE_smM8g4nGCvFZus75eyb2SiD4BkzCvuJBZY-_VGt4YyU3H"],"required_present":[]}},"tags":["broad-quality","secret-family:oauth-token","variation:05"],"secret_fixture":{"family":"oauth-token","role":"must-detect"}}, - {"id":"broad-secret-oauth-token-preserve-05","language":"en","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad oauth-token variation.","text":"**Release metadata: Bearer**","known_identities":[],"targets":[{"id":"value","kind":"secret","start":20,"end":26,"value":"Bearer","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-oauth-token-preserve-05","recipe":"oauth-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bearer"]},"customers":{"required_absent":[],"required_present":["Bearer"]},"all":{"required_absent":[],"required_present":["Bearer"]}},"tags":["broad-quality","secret-family:oauth-token","variation:05"],"secret_fixture":{"family":"oauth-token","role":"preserve"}}, - {"id":"broad-secret-oauth-token-must-detect-06","language":"en","script":"Latin","shape":"html","risk":"critical","reason":"Locked broad oauth-token variation.","text":"\u003cp\u003eStack trace captured credential oat2_RpyWGjy7GQUJHmlopdIfVFEKX1PryWygB9KTV2dXequZsUDYhi--\u003c/p\u003e","known_identities":[],"targets":[{"id":"value","kind":"secret","start":35,"end":92,"value":"oat2_RpyWGjy7GQUJHmlopdIfVFEKX1PryWygB9KTV2dXequZsUDYhi--","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-oauth-token-must-detect-06","recipe":"oauth-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["oat2_RpyWGjy7GQUJHmlopdIfVFEKX1PryWygB9KTV2dXequZsUDYhi--"]},"customers":{"required_absent":["oat2_RpyWGjy7GQUJHmlopdIfVFEKX1PryWygB9KTV2dXequZsUDYhi--"],"required_present":[]},"all":{"required_absent":["oat2_RpyWGjy7GQUJHmlopdIfVFEKX1PryWygB9KTV2dXequZsUDYhi--"],"required_present":[]}},"tags":["broad-quality","secret-family:oauth-token","variation:06"],"secret_fixture":{"family":"oauth-token","role":"must-detect"}}, - {"id":"broad-secret-oauth-token-preserve-06","language":"en","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad oauth-token variation.","text":"\u003cp\u003ePublic verification material: Bearer\u003c/p\u003e","known_identities":[],"targets":[{"id":"value","kind":"secret","start":33,"end":39,"value":"Bearer","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-oauth-token-preserve-06","recipe":"oauth-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bearer"]},"customers":{"required_absent":[],"required_present":["Bearer"]},"all":{"required_absent":[],"required_present":["Bearer"]}},"tags":["broad-quality","secret-family:oauth-token","variation:06"],"secret_fixture":{"family":"oauth-token","role":"preserve"}}, + {"id":"broad-secret-oauth-token-must-detect-04","language":"en","script":"Latin","shape":"url","risk":"critical","reason":"Locked broad oauth-token variation.","text":"endpoint=https://192.0.2.10/4?credential=oat2_UOQYK812al6V56V4fNzvDgPNHgz1BdUxJGnxp-ZH2Kp0rNTIkffE\u0026note=Quoted+credential+follows%3A+","known_identities":[],"targets":[{"id":"value","kind":"secret","start":41,"end":98,"value":"oat2_UOQYK812al6V56V4fNzvDgPNHgz1BdUxJGnxp-ZH2Kp0rNTIkffE","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-oauth-token-must-detect-04","recipe":"oauth-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["oat2_UOQYK812al6V56V4fNzvDgPNHgz1BdUxJGnxp-ZH2Kp0rNTIkffE"]},"customers":{"required_absent":["oat2_UOQYK812al6V56V4fNzvDgPNHgz1BdUxJGnxp-ZH2Kp0rNTIkffE"],"required_present":[]},"all":{"required_absent":["oat2_UOQYK812al6V56V4fNzvDgPNHgz1BdUxJGnxp-ZH2Kp0rNTIkffE"],"required_present":[]}},"tags":["broad-quality","secret-family:oauth-token","variation:04"],"secret_fixture":{"family":"oauth-token","role":"must-detect"}}, + {"id":"broad-secret-oauth-token-preserve-04","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad oauth-token variation.","text":"endpoint=https://192.0.2.10/4?credential=Bearer\u0026note=Non-confidential+protocol+token%3A+","known_identities":[],"targets":[{"id":"value","kind":"secret","start":41,"end":47,"value":"Bearer","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-oauth-token-preserve-04","recipe":"oauth-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bearer"]},"customers":{"required_absent":[],"required_present":["Bearer"]},"all":{"required_absent":[],"required_present":["Bearer"]}},"tags":["broad-quality","secret-family:oauth-token","variation:04"],"secret_fixture":{"family":"oauth-token","role":"preserve"}}, + {"id":"broad-secret-oauth-token-must-detect-05","language":"en","script":"Latin","shape":"markdown","risk":"critical","reason":"Locked broad oauth-token variation.","text":"Configuration secret: oat2_lG4ucE_smM8g4nGCvFZus75**eyb2SiD4BkzCvuJBZY-_VGt4YyU3H**","known_identities":[],"targets":[{"id":"value","kind":"secret","start":22,"end":83,"value":"oat2_lG4ucE_smM8g4nGCvFZus75**eyb2SiD4BkzCvuJBZY-_VGt4YyU3H**","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-oauth-token-must-detect-05","recipe":"oauth-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["oat2_lG4ucE_smM8g4nGCvFZus75**eyb2SiD4BkzCvuJBZY-_VGt4YyU3H**"]},"customers":{"required_absent":["oat2_lG4ucE_smM8g4nGCvFZus75**eyb2SiD4BkzCvuJBZY-_VGt4YyU3H**","oat2_lG4ucE_smM8g4nGCvFZus75","eyb2SiD4BkzCvuJBZY-_VGt4YyU3H"],"required_present":[]},"all":{"required_absent":["oat2_lG4ucE_smM8g4nGCvFZus75**eyb2SiD4BkzCvuJBZY-_VGt4YyU3H**","oat2_lG4ucE_smM8g4nGCvFZus75","eyb2SiD4BkzCvuJBZY-_VGt4YyU3H"],"required_present":[]}},"tags":["broad-quality","secret-family:oauth-token","variation:05"],"secret_fixture":{"family":"oauth-token","role":"must-detect"}}, + {"id":"broad-secret-oauth-token-preserve-05","language":"en","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad oauth-token variation.","text":"Release metadata: `Bearer`","known_identities":[],"targets":[{"id":"value","kind":"secret","start":19,"end":25,"value":"Bearer","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-oauth-token-preserve-05","recipe":"oauth-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bearer"]},"customers":{"required_absent":[],"required_present":["Bearer"]},"all":{"required_absent":[],"required_present":["Bearer"]}},"tags":["broad-quality","secret-family:oauth-token","variation:05"],"secret_fixture":{"family":"oauth-token","role":"preserve"}}, + {"id":"broad-secret-oauth-token-must-detect-06","language":"en","script":"Latin","shape":"html","risk":"critical","reason":"Locked broad oauth-token variation.","text":"\u003cp\u003eStack trace captured credential \u003ccode\u003eoat2_RpyWGjy7GQUJHmlopdIfVFE\u003cwbr\u003eKX1PryWygB9KTV2dXequZsUDYhi--\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"value","kind":"secret","start":41,"end":103,"value":"oat2_RpyWGjy7GQUJHmlopdIfVFE\u003cwbr\u003eKX1PryWygB9KTV2dXequZsUDYhi--","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-oauth-token-must-detect-06","recipe":"oauth-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["oat2_RpyWGjy7GQUJHmlopdIfVFE\u003cwbr\u003eKX1PryWygB9KTV2dXequZsUDYhi--"]},"customers":{"required_absent":["oat2_RpyWGjy7GQUJHmlopdIfVFE\u003cwbr\u003eKX1PryWygB9KTV2dXequZsUDYhi--","oat2_RpyWGjy7GQUJHmlopdIfVFE","KX1PryWygB9KTV2dXequZsUDYhi--"],"required_present":[]},"all":{"required_absent":["oat2_RpyWGjy7GQUJHmlopdIfVFE\u003cwbr\u003eKX1PryWygB9KTV2dXequZsUDYhi--","oat2_RpyWGjy7GQUJHmlopdIfVFE","KX1PryWygB9KTV2dXequZsUDYhi--"],"required_present":[]}},"tags":["broad-quality","secret-family:oauth-token","variation:06"],"secret_fixture":{"family":"oauth-token","role":"must-detect"}}, + {"id":"broad-secret-oauth-token-preserve-06","language":"en","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad oauth-token variation.","text":"\u003cp\u003ePublic verification material: \u003ccode\u003eBearer\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"value","kind":"secret","start":39,"end":45,"value":"Bearer","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-oauth-token-preserve-06","recipe":"oauth-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bearer"]},"customers":{"required_absent":[],"required_present":["Bearer"]},"all":{"required_absent":[],"required_present":["Bearer"]}},"tags":["broad-quality","secret-family:oauth-token","variation:06"],"secret_fixture":{"family":"oauth-token","role":"preserve"}}, {"id":"broad-secret-oauth-token-must-detect-07","language":"en","script":"Latin","shape":"quoted-reply","risk":"critical","reason":"Locked broad oauth-token variation.","text":"\u003e Wrapped message credential: oat2_lV9knamNBLnFyIemKJ470lG06EMZIoPJGlKN5CE05RRtbyqt3hPc","known_identities":[],"targets":[{"id":"value","kind":"secret","start":30,"end":87,"value":"oat2_lV9knamNBLnFyIemKJ470lG06EMZIoPJGlKN5CE05RRtbyqt3hPc","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-oauth-token-must-detect-07","recipe":"oauth-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["oat2_lV9knamNBLnFyIemKJ470lG06EMZIoPJGlKN5CE05RRtbyqt3hPc"]},"customers":{"required_absent":["oat2_lV9knamNBLnFyIemKJ470lG06EMZIoPJGlKN5CE05RRtbyqt3hPc"],"required_present":[]},"all":{"required_absent":["oat2_lV9knamNBLnFyIemKJ470lG06EMZIoPJGlKN5CE05RRtbyqt3hPc"],"required_present":[]}},"tags":["broad-quality","secret-family:oauth-token","variation:07"],"secret_fixture":{"family":"oauth-token","role":"must-detect"}}, {"id":"broad-secret-oauth-token-preserve-07","language":"en","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad oauth-token variation.","text":"\u003e Troubleshooting reference: Bearer","known_identities":[],"targets":[{"id":"value","kind":"secret","start":29,"end":35,"value":"Bearer","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-oauth-token-preserve-07","recipe":"oauth-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bearer"]},"customers":{"required_absent":[],"required_present":["Bearer"]},"all":{"required_absent":[],"required_present":["Bearer"]}},"tags":["broad-quality","secret-family:oauth-token","variation:07"],"secret_fixture":{"family":"oauth-token","role":"preserve"}}, - {"id":"broad-secret-oauth-token-must-detect-08","language":"en","script":"Latin","shape":"log","risk":"critical","reason":"Locked broad oauth-token variation.","text":"level=warn sample=8 message=\"Credential copied from a support reply: \" value=oat2_EivnhupId3TTCZzA2fiS0ip\ntYgX2vXjVtDmAHGVsq1RtnNq6rLVX","known_identities":[],"targets":[{"id":"value","kind":"secret","start":77,"end":135,"value":"oat2_EivnhupId3TTCZzA2fiS0ip\ntYgX2vXjVtDmAHGVsq1RtnNq6rLVX","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-oauth-token-must-detect-08","recipe":"oauth-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["oat2_EivnhupId3TTCZzA2fiS0ip\ntYgX2vXjVtDmAHGVsq1RtnNq6rLVX"]},"customers":{"required_absent":["oat2_EivnhupId3TTCZzA2fiS0ip\ntYgX2vXjVtDmAHGVsq1RtnNq6rLVX"],"required_present":[]},"all":{"required_absent":["oat2_EivnhupId3TTCZzA2fiS0ip\ntYgX2vXjVtDmAHGVsq1RtnNq6rLVX"],"required_present":[]}},"tags":["broad-quality","secret-family:oauth-token","variation:08"],"secret_fixture":{"family":"oauth-token","role":"must-detect"}}, - {"id":"broad-secret-oauth-token-preserve-08","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad oauth-token variation.","text":"level=warn sample=8 message=\"Public configuration vocabulary: \" value=Bearer","known_identities":[],"targets":[{"id":"value","kind":"secret","start":70,"end":76,"value":"Bearer","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-oauth-token-preserve-08","recipe":"oauth-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bearer"]},"customers":{"required_absent":[],"required_present":["Bearer"]},"all":{"required_absent":[],"required_present":["Bearer"]}},"tags":["broad-quality","secret-family:oauth-token","variation:08"],"secret_fixture":{"family":"oauth-token","role":"preserve"}}, - {"id":"broad-secret-oauth-token-must-detect-09","language":"en","script":"Latin","shape":"stack-trace","risk":"critical","reason":"Locked broad oauth-token variation.","text":"Trace[9]: Authorization header value: oat2_pvhmlNRXUdCHPaudwB1MtWD HlRthyPnz7Xal1QhIXqG0udTd93yv","known_identities":[],"targets":[{"id":"value","kind":"secret","start":38,"end":96,"value":"oat2_pvhmlNRXUdCHPaudwB1MtWD HlRthyPnz7Xal1QhIXqG0udTd93yv","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-oauth-token-must-detect-09","recipe":"oauth-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["oat2_pvhmlNRXUdCHPaudwB1MtWD HlRthyPnz7Xal1QhIXqG0udTd93yv"]},"customers":{"required_absent":["oat2_pvhmlNRXUdCHPaudwB1MtWD HlRthyPnz7Xal1QhIXqG0udTd93yv"],"required_present":[]},"all":{"required_absent":["oat2_pvhmlNRXUdCHPaudwB1MtWD HlRthyPnz7Xal1QhIXqG0udTd93yv"],"required_present":[]}},"tags":["broad-quality","secret-family:oauth-token","variation:09"],"secret_fixture":{"family":"oauth-token","role":"must-detect"}}, + {"id":"broad-secret-oauth-token-must-detect-08","language":"en","script":"Latin","shape":"log","risk":"critical","reason":"Locked broad oauth-token variation.","text":"level=warn sample=8 message=\"Credential copied from a support reply: \" credential=\"oat2_EivnhupId3TTCZzA2fiS0iptYgX2vXjVtDmAHGVsq1RtnNq6rLVX\"","known_identities":[],"targets":[{"id":"value","kind":"secret","start":83,"end":140,"value":"oat2_EivnhupId3TTCZzA2fiS0iptYgX2vXjVtDmAHGVsq1RtnNq6rLVX","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-oauth-token-must-detect-08","recipe":"oauth-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["oat2_EivnhupId3TTCZzA2fiS0iptYgX2vXjVtDmAHGVsq1RtnNq6rLVX"]},"customers":{"required_absent":["oat2_EivnhupId3TTCZzA2fiS0iptYgX2vXjVtDmAHGVsq1RtnNq6rLVX"],"required_present":[]},"all":{"required_absent":["oat2_EivnhupId3TTCZzA2fiS0iptYgX2vXjVtDmAHGVsq1RtnNq6rLVX"],"required_present":[]}},"tags":["broad-quality","secret-family:oauth-token","variation:08"],"secret_fixture":{"family":"oauth-token","role":"must-detect"}}, + {"id":"broad-secret-oauth-token-preserve-08","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad oauth-token variation.","text":"level=warn sample=8 message=\"Public configuration vocabulary: \" credential=\"Bearer\"","known_identities":[],"targets":[{"id":"value","kind":"secret","start":76,"end":82,"value":"Bearer","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-oauth-token-preserve-08","recipe":"oauth-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bearer"]},"customers":{"required_absent":[],"required_present":["Bearer"]},"all":{"required_absent":[],"required_present":["Bearer"]}},"tags":["broad-quality","secret-family:oauth-token","variation:08"],"secret_fixture":{"family":"oauth-token","role":"preserve"}}, + {"id":"broad-secret-oauth-token-must-detect-09","language":"en","script":"Latin","shape":"stack-trace","risk":"critical","reason":"Locked broad oauth-token variation.","text":"Trace[9]: Authorization header value: oat2_pvhmlNRXUdCHPaudwB1MtWD\tHlRthyPnz7Xal1QhIXqG0udTd93yv","known_identities":[],"targets":[{"id":"value","kind":"secret","start":38,"end":96,"value":"oat2_pvhmlNRXUdCHPaudwB1MtWD\tHlRthyPnz7Xal1QhIXqG0udTd93yv","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-oauth-token-must-detect-09","recipe":"oauth-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["oat2_pvhmlNRXUdCHPaudwB1MtWD\tHlRthyPnz7Xal1QhIXqG0udTd93yv"]},"customers":{"required_absent":["oat2_pvhmlNRXUdCHPaudwB1MtWD\tHlRthyPnz7Xal1QhIXqG0udTd93yv","oat2_pvhmlNRXUdCHPaudwB1MtWD","HlRthyPnz7Xal1QhIXqG0udTd93yv"],"required_present":[]},"all":{"required_absent":["oat2_pvhmlNRXUdCHPaudwB1MtWD\tHlRthyPnz7Xal1QhIXqG0udTd93yv","oat2_pvhmlNRXUdCHPaudwB1MtWD","HlRthyPnz7Xal1QhIXqG0udTd93yv"],"required_present":[]}},"tags":["broad-quality","secret-family:oauth-token","variation:09"],"secret_fixture":{"family":"oauth-token","role":"must-detect"}}, {"id":"broad-secret-oauth-token-preserve-09","language":"en","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad oauth-token variation.","text":"Trace[9]: Documentation syntax: Bearer","known_identities":[],"targets":[{"id":"value","kind":"secret","start":32,"end":38,"value":"Bearer","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-oauth-token-preserve-09","recipe":"oauth-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bearer"]},"customers":{"required_absent":[],"required_present":["Bearer"]},"all":{"required_absent":[],"required_present":["Bearer"]}},"tags":["broad-quality","secret-family:oauth-token","variation:09"],"secret_fixture":{"family":"oauth-token","role":"preserve"}}, - {"id":"broad-secret-oauth-token-must-detect-10","language":"en","script":"Latin","shape":"code","risk":"critical","reason":"Locked broad oauth-token variation.","text":"fixture_10 := `Log field auth_value=oat2_cY6KLg87rTS4cmC4wVSSBkf·eZkBf2wZRHZGNa_EZEr-8oGGUwCgr`","known_identities":[],"targets":[{"id":"value","kind":"secret","start":36,"end":95,"value":"oat2_cY6KLg87rTS4cmC4wVSSBkf·eZkBf2wZRHZGNa_EZEr-8oGGUwCgr","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-oauth-token-must-detect-10","recipe":"oauth-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["oat2_cY6KLg87rTS4cmC4wVSSBkf·eZkBf2wZRHZGNa_EZEr-8oGGUwCgr"]},"customers":{"required_absent":["oat2_cY6KLg87rTS4cmC4wVSSBkf·eZkBf2wZRHZGNa_EZEr-8oGGUwCgr"],"required_present":[]},"all":{"required_absent":["oat2_cY6KLg87rTS4cmC4wVSSBkf·eZkBf2wZRHZGNa_EZEr-8oGGUwCgr"],"required_present":[]}},"tags":["broad-quality","secret-family:oauth-token","variation:10"],"secret_fixture":{"family":"oauth-token","role":"must-detect"}}, + {"id":"broad-secret-oauth-token-must-detect-10","language":"en","script":"Latin","shape":"code","risk":"critical","reason":"Locked broad oauth-token variation.","text":"fixture_10 := `Log field auth_value=oat2_cY6KLg87rTS4cmC4wVSSBkf·eZkBf2wZRHZGNa_EZEr-8oGGUwCgr`","known_identities":[],"targets":[{"id":"value","kind":"secret","start":36,"end":95,"value":"oat2_cY6KLg87rTS4cmC4wVSSBkf·eZkBf2wZRHZGNa_EZEr-8oGGUwCgr","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-oauth-token-must-detect-10","recipe":"oauth-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["oat2_cY6KLg87rTS4cmC4wVSSBkf·eZkBf2wZRHZGNa_EZEr-8oGGUwCgr"]},"customers":{"required_absent":["oat2_cY6KLg87rTS4cmC4wVSSBkf·eZkBf2wZRHZGNa_EZEr-8oGGUwCgr","oat2_cY6KLg87rTS4cmC4wVSSBkf","eZkBf2wZRHZGNa_EZEr-8oGGUwCgr"],"required_present":[]},"all":{"required_absent":["oat2_cY6KLg87rTS4cmC4wVSSBkf·eZkBf2wZRHZGNa_EZEr-8oGGUwCgr","oat2_cY6KLg87rTS4cmC4wVSSBkf","eZkBf2wZRHZGNa_EZEr-8oGGUwCgr"],"required_present":[]}},"tags":["broad-quality","secret-family:oauth-token","variation:10"],"secret_fixture":{"family":"oauth-token","role":"must-detect"}}, {"id":"broad-secret-oauth-token-preserve-10","language":"en","script":"Latin","shape":"code","risk":"preservation","reason":"Locked broad oauth-token variation.","text":"fixture_10 := `Public operational identifier: Bearer`","known_identities":[],"targets":[{"id":"value","kind":"secret","start":46,"end":52,"value":"Bearer","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-oauth-token-preserve-10","recipe":"oauth-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bearer"]},"customers":{"required_absent":[],"required_present":["Bearer"]},"all":{"required_absent":[],"required_present":["Bearer"]}},"tags":["broad-quality","secret-family:oauth-token","variation:10"],"secret_fixture":{"family":"oauth-token","role":"preserve"}}, - {"id":"broad-secret-oauth-token-must-detect-11","language":"en","script":"Latin","shape":"signature","risk":"critical","reason":"Locked broad oauth-token variation.","text":"--\nRotating this exposed value: oat2_3glpJUvyJGUL-fB7mgV5dsw\u003cwbr\u003e7VIK4jiiQ7hapCdeTcI24EQBVJz34","known_identities":[],"targets":[{"id":"value","kind":"secret","start":32,"end":94,"value":"oat2_3glpJUvyJGUL-fB7mgV5dsw\u003cwbr\u003e7VIK4jiiQ7hapCdeTcI24EQBVJz34","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-oauth-token-must-detect-11","recipe":"oauth-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["oat2_3glpJUvyJGUL-fB7mgV5dsw\u003cwbr\u003e7VIK4jiiQ7hapCdeTcI24EQBVJz34"]},"customers":{"required_absent":["oat2_3glpJUvyJGUL-fB7mgV5dsw\u003cwbr\u003e7VIK4jiiQ7hapCdeTcI24EQBVJz34"],"required_present":[]},"all":{"required_absent":["oat2_3glpJUvyJGUL-fB7mgV5dsw\u003cwbr\u003e7VIK4jiiQ7hapCdeTcI24EQBVJz34"],"required_present":[]}},"tags":["broad-quality","secret-family:oauth-token","variation:11"],"secret_fixture":{"family":"oauth-token","role":"must-detect"}}, + {"id":"broad-secret-oauth-token-must-detect-11","language":"en","script":"Latin","shape":"signature","risk":"critical","reason":"Locked broad oauth-token variation.","text":"--\nRotating this exposed value: oat2_3glpJUvyJGUL-fB7mgV5dsw7VIK4jiiQ7hapCdeTcI24EQBVJz34","known_identities":[],"targets":[{"id":"value","kind":"secret","start":32,"end":89,"value":"oat2_3glpJUvyJGUL-fB7mgV5dsw7VIK4jiiQ7hapCdeTcI24EQBVJz34","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-oauth-token-must-detect-11","recipe":"oauth-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["oat2_3glpJUvyJGUL-fB7mgV5dsw7VIK4jiiQ7hapCdeTcI24EQBVJz34"]},"customers":{"required_absent":["oat2_3glpJUvyJGUL-fB7mgV5dsw7VIK4jiiQ7hapCdeTcI24EQBVJz34"],"required_present":[]},"all":{"required_absent":["oat2_3glpJUvyJGUL-fB7mgV5dsw7VIK4jiiQ7hapCdeTcI24EQBVJz34"],"required_present":[]}},"tags":["broad-quality","secret-family:oauth-token","variation:11"],"secret_fixture":{"family":"oauth-token","role":"must-detect"}}, {"id":"broad-secret-oauth-token-preserve-11","language":"en","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad oauth-token variation.","text":"--\nSchema field label: Bearer","known_identities":[],"targets":[{"id":"value","kind":"secret","start":23,"end":29,"value":"Bearer","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-oauth-token-preserve-11","recipe":"oauth-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bearer"]},"customers":{"required_absent":[],"required_present":["Bearer"]},"all":{"required_absent":[],"required_present":["Bearer"]}},"tags":["broad-quality","secret-family:oauth-token","variation:11"],"secret_fixture":{"family":"oauth-token","role":"preserve"}}, - {"id":"broad-secret-oauth-token-must-detect-12","language":"en","script":"Latin","shape":"long-thread","risk":"critical","reason":"Locked broad oauth-token variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Quoted credential follows: oat2_XSHt_e7FJcdQgSEVX41Vfyt**yUBO04ywlUeemvhyRW_niRqRUJ4eZ","known_identities":[],"targets":[{"id":"value","kind":"secret","start":507,"end":566,"value":"oat2_XSHt_e7FJcdQgSEVX41Vfyt**yUBO04ywlUeemvhyRW_niRqRUJ4eZ","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-oauth-token-must-detect-12","recipe":"oauth-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["oat2_XSHt_e7FJcdQgSEVX41Vfyt**yUBO04ywlUeemvhyRW_niRqRUJ4eZ"]},"customers":{"required_absent":["oat2_XSHt_e7FJcdQgSEVX41Vfyt**yUBO04ywlUeemvhyRW_niRqRUJ4eZ"],"required_present":[]},"all":{"required_absent":["oat2_XSHt_e7FJcdQgSEVX41Vfyt**yUBO04ywlUeemvhyRW_niRqRUJ4eZ"],"required_present":[]}},"tags":["broad-quality","secret-family:oauth-token","variation:12"],"secret_fixture":{"family":"oauth-token","role":"must-detect"}}, + {"id":"broad-secret-oauth-token-must-detect-12","language":"en","script":"Latin","shape":"long-thread","risk":"critical","reason":"Locked broad oauth-token variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Quoted credential follows: oat2_XSHt_e7FJcdQgSEVX41VfytyUBO04ywlUeemvhyRW_niRqRUJ4eZ","known_identities":[],"targets":[{"id":"value","kind":"secret","start":507,"end":564,"value":"oat2_XSHt_e7FJcdQgSEVX41VfytyUBO04ywlUeemvhyRW_niRqRUJ4eZ","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-oauth-token-must-detect-12","recipe":"oauth-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["oat2_XSHt_e7FJcdQgSEVX41VfytyUBO04ywlUeemvhyRW_niRqRUJ4eZ"]},"customers":{"required_absent":["oat2_XSHt_e7FJcdQgSEVX41VfytyUBO04ywlUeemvhyRW_niRqRUJ4eZ"],"required_present":[]},"all":{"required_absent":["oat2_XSHt_e7FJcdQgSEVX41VfytyUBO04ywlUeemvhyRW_niRqRUJ4eZ"],"required_present":[]}},"tags":["broad-quality","secret-family:oauth-token","variation:12"],"secret_fixture":{"family":"oauth-token","role":"must-detect"}}, {"id":"broad-secret-oauth-token-preserve-12","language":"en","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad oauth-token variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Non-confidential protocol token: Bearer","known_identities":[],"targets":[{"id":"value","kind":"secret","start":513,"end":519,"value":"Bearer","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-oauth-token-preserve-12","recipe":"oauth-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bearer"]},"customers":{"required_absent":[],"required_present":["Bearer"]},"all":{"required_absent":[],"required_present":["Bearer"]}},"tags":["broad-quality","secret-family:oauth-token","variation:12"],"secret_fixture":{"family":"oauth-token","role":"preserve"}}, - {"id":"broad-secret-oauth-token-must-detect-13","language":"en","script":"Latin","shape":"command-payload","risk":"critical","reason":"Locked broad oauth-token variation.","text":"--sample=13 --message=\"Configuration secret: \" --value=oat2_beGPB_1Qng5oGEoqey6p0TY9E_plmDR7ZEZlKO4q_jjv5EmfK-pz / oat2_beGPB_1Qng5oGEoqey6p0TY9E_plmDR7ZEZlKO4q_jjv5EmfK-pz","known_identities":[],"targets":[{"id":"value","kind":"secret","start":55,"end":172,"value":"oat2_beGPB_1Qng5oGEoqey6p0TY9E_plmDR7ZEZlKO4q_jjv5EmfK-pz / oat2_beGPB_1Qng5oGEoqey6p0TY9E_plmDR7ZEZlKO4q_jjv5EmfK-pz","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-oauth-token-must-detect-13","recipe":"oauth-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["oat2_beGPB_1Qng5oGEoqey6p0TY9E_plmDR7ZEZlKO4q_jjv5EmfK-pz / oat2_beGPB_1Qng5oGEoqey6p0TY9E_plmDR7ZEZlKO4q_jjv5EmfK-pz"]},"customers":{"required_absent":["oat2_beGPB_1Qng5oGEoqey6p0TY9E_plmDR7ZEZlKO4q_jjv5EmfK-pz / oat2_beGPB_1Qng5oGEoqey6p0TY9E_plmDR7ZEZlKO4q_jjv5EmfK-pz"],"required_present":[]},"all":{"required_absent":["oat2_beGPB_1Qng5oGEoqey6p0TY9E_plmDR7ZEZlKO4q_jjv5EmfK-pz / oat2_beGPB_1Qng5oGEoqey6p0TY9E_plmDR7ZEZlKO4q_jjv5EmfK-pz"],"required_present":[]}},"tags":["broad-quality","secret-family:oauth-token","variation:13"],"secret_fixture":{"family":"oauth-token","role":"must-detect"}}, - {"id":"broad-secret-oauth-token-preserve-13","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad oauth-token variation.","text":"--sample=13 --message=\"Release metadata: \" --value=Bearer","known_identities":[],"targets":[{"id":"value","kind":"secret","start":51,"end":57,"value":"Bearer","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-oauth-token-preserve-13","recipe":"oauth-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bearer"]},"customers":{"required_absent":[],"required_present":["Bearer"]},"all":{"required_absent":[],"required_present":["Bearer"]}},"tags":["broad-quality","secret-family:oauth-token","variation:13"],"secret_fixture":{"family":"oauth-token","role":"preserve"}}, + {"id":"broad-secret-oauth-token-must-detect-13","language":"en","script":"Latin","shape":"command-payload","risk":"critical","reason":"Locked broad oauth-token variation.","text":"--sample=13 --message=\"Configuration secret: \" --credential=\"oat2_beGPB_1Qng5oGEoqey6p0TY9E_plmDR7ZEZlKO4q_jjv5EmfK-pz\"","known_identities":[],"targets":[{"id":"value","kind":"secret","start":61,"end":118,"value":"oat2_beGPB_1Qng5oGEoqey6p0TY9E_plmDR7ZEZlKO4q_jjv5EmfK-pz","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-oauth-token-must-detect-13","recipe":"oauth-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["oat2_beGPB_1Qng5oGEoqey6p0TY9E_plmDR7ZEZlKO4q_jjv5EmfK-pz"]},"customers":{"required_absent":["oat2_beGPB_1Qng5oGEoqey6p0TY9E_plmDR7ZEZlKO4q_jjv5EmfK-pz"],"required_present":[]},"all":{"required_absent":["oat2_beGPB_1Qng5oGEoqey6p0TY9E_plmDR7ZEZlKO4q_jjv5EmfK-pz"],"required_present":[]}},"tags":["broad-quality","secret-family:oauth-token","variation:13"],"secret_fixture":{"family":"oauth-token","role":"must-detect"}}, + {"id":"broad-secret-oauth-token-preserve-13","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad oauth-token variation.","text":"--sample=13 --message=\"Release metadata: \" --credential=\"Bearer\"","known_identities":[],"targets":[{"id":"value","kind":"secret","start":57,"end":63,"value":"Bearer","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-oauth-token-preserve-13","recipe":"oauth-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["Bearer"]},"customers":{"required_absent":[],"required_present":["Bearer"]},"all":{"required_absent":[],"required_present":["Bearer"]}},"tags":["broad-quality","secret-family:oauth-token","variation:13"],"secret_fixture":{"family":"oauth-token","role":"preserve"}}, {"id":"broad-secret-password-must-detect-00","language":"en","script":"Latin","shape":"prose","risk":"critical","reason":"Locked broad password variation.","text":"Credential copied from a support reply: R7!zm1p6RTnRTRgi0#q2","known_identities":[],"targets":[{"id":"value","kind":"secret","start":40,"end":60,"value":"R7!zm1p6RTnRTRgi0#q2","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-password-must-detect-00","recipe":"password","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["R7!zm1p6RTnRTRgi0#q2"]},"customers":{"required_absent":["R7!zm1p6RTnRTRgi0#q2"],"required_present":[]},"all":{"required_absent":["R7!zm1p6RTnRTRgi0#q2"],"required_present":[]}},"tags":["broad-quality","secret-family:password","variation:00"],"secret_fixture":{"family":"password","role":"must-detect"}}, {"id":"broad-secret-password-preserve-00","language":"en","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad password variation.","text":"Public configuration vocabulary: password_hash_algorithm","known_identities":[],"targets":[{"id":"value","kind":"secret","start":33,"end":56,"value":"password_hash_algorithm","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-password-preserve-00","recipe":"password","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["password_hash_algorithm"]},"customers":{"required_absent":[],"required_present":["password_hash_algorithm"]},"all":{"required_absent":[],"required_present":["password_hash_algorithm"]}},"tags":["broad-quality","secret-family:password","variation:00"],"secret_fixture":{"family":"password","role":"preserve"}}, {"id":"broad-secret-password-must-detect-01","language":"en","script":"Latin","shape":"json","risk":"critical","reason":"Locked broad password variation.","text":"{\"message_1\":\"Authorization header value: R7!HRBJbFpNztqnUT#q2\"}","known_identities":[],"targets":[{"id":"value","kind":"secret","start":42,"end":62,"value":"R7!HRBJbFpNztqnUT#q2","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-password-must-detect-01","recipe":"password","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["R7!HRBJbFpNztqnUT#q2"]},"customers":{"required_absent":["R7!HRBJbFpNztqnUT#q2"],"required_present":[]},"all":{"required_absent":["R7!HRBJbFpNztqnUT#q2"],"required_present":[]}},"tags":["broad-quality","secret-family:password","variation:01"],"secret_fixture":{"family":"password","role":"must-detect"}}, {"id":"broad-secret-password-preserve-01","language":"en","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad password variation.","text":"{\"message_1\":\"Documentation syntax: password_hash_algorithm\"}","known_identities":[],"targets":[{"id":"value","kind":"secret","start":36,"end":59,"value":"password_hash_algorithm","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-password-preserve-01","recipe":"password","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["password_hash_algorithm"]},"customers":{"required_absent":[],"required_present":["password_hash_algorithm"]},"all":{"required_absent":[],"required_present":["password_hash_algorithm"]}},"tags":["broad-quality","secret-family:password","variation:01"],"secret_fixture":{"family":"password","role":"preserve"}}, - {"id":"broad-secret-password-must-detect-02","language":"en","script":"Latin","shape":"yaml","risk":"critical","reason":"Locked broad password variation.","text":"message_2: Log field auth_value=R7!ziVAI4TQvDnDda#q2","known_identities":[],"targets":[{"id":"value","kind":"secret","start":32,"end":52,"value":"R7!ziVAI4TQvDnDda#q2","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-password-must-detect-02","recipe":"password","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["R7!ziVAI4TQvDnDda#q2"]},"customers":{"required_absent":["R7!ziVAI4TQvDnDda#q2"],"required_present":[]},"all":{"required_absent":["R7!ziVAI4TQvDnDda#q2"],"required_present":[]}},"tags":["broad-quality","secret-family:password","variation:02"],"secret_fixture":{"family":"password","role":"must-detect"}}, - {"id":"broad-secret-password-preserve-02","language":"en","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad password variation.","text":"message_2: Public operational identifier: password_hash_algorithm","known_identities":[],"targets":[{"id":"value","kind":"secret","start":42,"end":65,"value":"password_hash_algorithm","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-password-preserve-02","recipe":"password","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["password_hash_algorithm"]},"customers":{"required_absent":[],"required_present":["password_hash_algorithm"]},"all":{"required_absent":[],"required_present":["password_hash_algorithm"]}},"tags":["broad-quality","secret-family:password","variation:02"],"secret_fixture":{"family":"password","role":"preserve"}}, + {"id":"broad-secret-password-must-detect-02","language":"en","script":"Latin","shape":"yaml","risk":"critical","reason":"Locked broad password variation.","text":"message_2: \"Log field auth_value=R7!ziVAI4TQvDnDda#q2\"","known_identities":[],"targets":[{"id":"value","kind":"secret","start":33,"end":53,"value":"R7!ziVAI4TQvDnDda#q2","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-password-must-detect-02","recipe":"password","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["R7!ziVAI4TQvDnDda#q2"]},"customers":{"required_absent":["R7!ziVAI4TQvDnDda#q2"],"required_present":[]},"all":{"required_absent":["R7!ziVAI4TQvDnDda#q2"],"required_present":[]}},"tags":["broad-quality","secret-family:password","variation:02"],"secret_fixture":{"family":"password","role":"must-detect"}}, + {"id":"broad-secret-password-preserve-02","language":"en","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad password variation.","text":"message_2: \"Public operational identifier: password_hash_algorithm\"","known_identities":[],"targets":[{"id":"value","kind":"secret","start":43,"end":66,"value":"password_hash_algorithm","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-password-preserve-02","recipe":"password","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["password_hash_algorithm"]},"customers":{"required_absent":[],"required_present":["password_hash_algorithm"]},"all":{"required_absent":[],"required_present":["password_hash_algorithm"]}},"tags":["broad-quality","secret-family:password","variation:02"],"secret_fixture":{"family":"password","role":"preserve"}}, {"id":"broad-secret-password-must-detect-03","language":"en","script":"Latin","shape":"shell","risk":"critical","reason":"Locked broad password variation.","text":"MESSAGE_3='Rotating this exposed value: R7!aK8TwPOAbzlB4l#q2'","known_identities":[],"targets":[{"id":"value","kind":"secret","start":40,"end":60,"value":"R7!aK8TwPOAbzlB4l#q2","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-password-must-detect-03","recipe":"password","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["R7!aK8TwPOAbzlB4l#q2"]},"customers":{"required_absent":["R7!aK8TwPOAbzlB4l#q2"],"required_present":[]},"all":{"required_absent":["R7!aK8TwPOAbzlB4l#q2"],"required_present":[]}},"tags":["broad-quality","secret-family:password","variation:03"],"secret_fixture":{"family":"password","role":"must-detect"}}, {"id":"broad-secret-password-preserve-03","language":"en","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad password variation.","text":"MESSAGE_3='Schema field label: password_hash_algorithm'","known_identities":[],"targets":[{"id":"value","kind":"secret","start":31,"end":54,"value":"password_hash_algorithm","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-password-preserve-03","recipe":"password","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["password_hash_algorithm"]},"customers":{"required_absent":[],"required_present":["password_hash_algorithm"]},"all":{"required_absent":[],"required_present":["password_hash_algorithm"]}},"tags":["broad-quality","secret-family:password","variation:03"],"secret_fixture":{"family":"password","role":"preserve"}}, - {"id":"broad-secret-password-must-detect-04","language":"en","script":"Latin","shape":"url","risk":"critical","reason":"Locked broad password variation.","text":"endpoint=https://192.0.2.10/4 ; Quoted credential follows: R7!bfguWGSXffQVgS#q2","known_identities":[],"targets":[{"id":"value","kind":"secret","start":59,"end":79,"value":"R7!bfguWGSXffQVgS#q2","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-password-must-detect-04","recipe":"password","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["R7!bfguWGSXffQVgS#q2"]},"customers":{"required_absent":["R7!bfguWGSXffQVgS#q2"],"required_present":[]},"all":{"required_absent":["R7!bfguWGSXffQVgS#q2"],"required_present":[]}},"tags":["broad-quality","secret-family:password","variation:04"],"secret_fixture":{"family":"password","role":"must-detect"}}, - {"id":"broad-secret-password-preserve-04","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad password variation.","text":"endpoint=https://192.0.2.10/4 ; Non-confidential protocol token: password_hash_algorithm","known_identities":[],"targets":[{"id":"value","kind":"secret","start":65,"end":88,"value":"password_hash_algorithm","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-password-preserve-04","recipe":"password","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["password_hash_algorithm"]},"customers":{"required_absent":[],"required_present":["password_hash_algorithm"]},"all":{"required_absent":[],"required_present":["password_hash_algorithm"]}},"tags":["broad-quality","secret-family:password","variation:04"],"secret_fixture":{"family":"password","role":"preserve"}}, - {"id":"broad-secret-password-must-detect-05","language":"en","script":"Latin","shape":"markdown","risk":"critical","reason":"Locked broad password variation.","text":"**Configuration secret: R7!ZG3fdmzkH2VFeo#q2**","known_identities":[],"targets":[{"id":"value","kind":"secret","start":24,"end":44,"value":"R7!ZG3fdmzkH2VFeo#q2","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-password-must-detect-05","recipe":"password","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["R7!ZG3fdmzkH2VFeo#q2"]},"customers":{"required_absent":["R7!ZG3fdmzkH2VFeo#q2"],"required_present":[]},"all":{"required_absent":["R7!ZG3fdmzkH2VFeo#q2"],"required_present":[]}},"tags":["broad-quality","secret-family:password","variation:05"],"secret_fixture":{"family":"password","role":"must-detect"}}, - {"id":"broad-secret-password-preserve-05","language":"en","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad password variation.","text":"**Release metadata: password_hash_algorithm**","known_identities":[],"targets":[{"id":"value","kind":"secret","start":20,"end":43,"value":"password_hash_algorithm","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-password-preserve-05","recipe":"password","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["password_hash_algorithm"]},"customers":{"required_absent":[],"required_present":["password_hash_algorithm"]},"all":{"required_absent":[],"required_present":["password_hash_algorithm"]}},"tags":["broad-quality","secret-family:password","variation:05"],"secret_fixture":{"family":"password","role":"preserve"}}, - {"id":"broad-secret-password-must-detect-06","language":"en","script":"Latin","shape":"html","risk":"critical","reason":"Locked broad password variation.","text":"\u003cp\u003eStack trace captured credential R7!q6pS3EhkBn2F89#q2\u003c/p\u003e","known_identities":[],"targets":[{"id":"value","kind":"secret","start":35,"end":55,"value":"R7!q6pS3EhkBn2F89#q2","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-password-must-detect-06","recipe":"password","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["R7!q6pS3EhkBn2F89#q2"]},"customers":{"required_absent":["R7!q6pS3EhkBn2F89#q2"],"required_present":[]},"all":{"required_absent":["R7!q6pS3EhkBn2F89#q2"],"required_present":[]}},"tags":["broad-quality","secret-family:password","variation:06"],"secret_fixture":{"family":"password","role":"must-detect"}}, - {"id":"broad-secret-password-preserve-06","language":"en","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad password variation.","text":"\u003cp\u003ePublic verification material: password_hash_algorithm\u003c/p\u003e","known_identities":[],"targets":[{"id":"value","kind":"secret","start":33,"end":56,"value":"password_hash_algorithm","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-password-preserve-06","recipe":"password","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["password_hash_algorithm"]},"customers":{"required_absent":[],"required_present":["password_hash_algorithm"]},"all":{"required_absent":[],"required_present":["password_hash_algorithm"]}},"tags":["broad-quality","secret-family:password","variation:06"],"secret_fixture":{"family":"password","role":"preserve"}}, + {"id":"broad-secret-password-must-detect-04","language":"en","script":"Latin","shape":"url","risk":"critical","reason":"Locked broad password variation.","text":"endpoint=https://192.0.2.10/4?credential=R7%21bfguWGSXffQVgS%23q2\u0026note=Quoted+credential+follows%3A+","known_identities":[],"targets":[{"id":"value","kind":"secret","start":41,"end":65,"value":"R7%21bfguWGSXffQVgS%23q2","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-password-must-detect-04","recipe":"password","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["R7%21bfguWGSXffQVgS%23q2"]},"customers":{"required_absent":["R7%21bfguWGSXffQVgS%23q2"],"required_present":[]},"all":{"required_absent":["R7%21bfguWGSXffQVgS%23q2"],"required_present":[]}},"tags":["broad-quality","secret-family:password","variation:04"],"secret_fixture":{"family":"password","role":"must-detect"}}, + {"id":"broad-secret-password-preserve-04","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad password variation.","text":"endpoint=https://192.0.2.10/4?credential=password_hash_algorithm\u0026note=Non-confidential+protocol+token%3A+","known_identities":[],"targets":[{"id":"value","kind":"secret","start":41,"end":64,"value":"password_hash_algorithm","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-password-preserve-04","recipe":"password","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["password_hash_algorithm"]},"customers":{"required_absent":[],"required_present":["password_hash_algorithm"]},"all":{"required_absent":[],"required_present":["password_hash_algorithm"]}},"tags":["broad-quality","secret-family:password","variation:04"],"secret_fixture":{"family":"password","role":"preserve"}}, + {"id":"broad-secret-password-must-detect-05","language":"en","script":"Latin","shape":"markdown","risk":"critical","reason":"Locked broad password variation.","text":"Configuration secret: R7!ZG3fdmz**kH2VFeo#q2**","known_identities":[],"targets":[{"id":"value","kind":"secret","start":22,"end":46,"value":"R7!ZG3fdmz**kH2VFeo#q2**","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-password-must-detect-05","recipe":"password","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["R7!ZG3fdmz**kH2VFeo#q2**"]},"customers":{"required_absent":["R7!ZG3fdmz**kH2VFeo#q2**","R7!ZG3fdmz","kH2VFeo#q2"],"required_present":[]},"all":{"required_absent":["R7!ZG3fdmz**kH2VFeo#q2**","R7!ZG3fdmz","kH2VFeo#q2"],"required_present":[]}},"tags":["broad-quality","secret-family:password","variation:05"],"secret_fixture":{"family":"password","role":"must-detect"}}, + {"id":"broad-secret-password-preserve-05","language":"en","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad password variation.","text":"Release metadata: `password_hash_algorithm`","known_identities":[],"targets":[{"id":"value","kind":"secret","start":19,"end":42,"value":"password_hash_algorithm","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-password-preserve-05","recipe":"password","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["password_hash_algorithm"]},"customers":{"required_absent":[],"required_present":["password_hash_algorithm"]},"all":{"required_absent":[],"required_present":["password_hash_algorithm"]}},"tags":["broad-quality","secret-family:password","variation:05"],"secret_fixture":{"family":"password","role":"preserve"}}, + {"id":"broad-secret-password-must-detect-06","language":"en","script":"Latin","shape":"html","risk":"critical","reason":"Locked broad password variation.","text":"\u003cp\u003eStack trace captured credential \u003ccode\u003eR7!q6pS3Eh\u003cwbr\u003ekBn2F89#q2\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"value","kind":"secret","start":41,"end":66,"value":"R7!q6pS3Eh\u003cwbr\u003ekBn2F89#q2","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-password-must-detect-06","recipe":"password","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["R7!q6pS3Eh\u003cwbr\u003ekBn2F89#q2"]},"customers":{"required_absent":["R7!q6pS3Eh\u003cwbr\u003ekBn2F89#q2","R7!q6pS3Eh","kBn2F89#q2"],"required_present":[]},"all":{"required_absent":["R7!q6pS3Eh\u003cwbr\u003ekBn2F89#q2","R7!q6pS3Eh","kBn2F89#q2"],"required_present":[]}},"tags":["broad-quality","secret-family:password","variation:06"],"secret_fixture":{"family":"password","role":"must-detect"}}, + {"id":"broad-secret-password-preserve-06","language":"en","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad password variation.","text":"\u003cp\u003ePublic verification material: \u003ccode\u003epassword_hash_algorithm\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"value","kind":"secret","start":39,"end":62,"value":"password_hash_algorithm","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-password-preserve-06","recipe":"password","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["password_hash_algorithm"]},"customers":{"required_absent":[],"required_present":["password_hash_algorithm"]},"all":{"required_absent":[],"required_present":["password_hash_algorithm"]}},"tags":["broad-quality","secret-family:password","variation:06"],"secret_fixture":{"family":"password","role":"preserve"}}, {"id":"broad-secret-password-must-detect-07","language":"en","script":"Latin","shape":"quoted-reply","risk":"critical","reason":"Locked broad password variation.","text":"\u003e Wrapped message credential: R7!cSZWZU9CtuVJyR#q2","known_identities":[],"targets":[{"id":"value","kind":"secret","start":30,"end":50,"value":"R7!cSZWZU9CtuVJyR#q2","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-password-must-detect-07","recipe":"password","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["R7!cSZWZU9CtuVJyR#q2"]},"customers":{"required_absent":["R7!cSZWZU9CtuVJyR#q2"],"required_present":[]},"all":{"required_absent":["R7!cSZWZU9CtuVJyR#q2"],"required_present":[]}},"tags":["broad-quality","secret-family:password","variation:07"],"secret_fixture":{"family":"password","role":"must-detect"}}, {"id":"broad-secret-password-preserve-07","language":"en","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad password variation.","text":"\u003e Troubleshooting reference: password_hash_algorithm","known_identities":[],"targets":[{"id":"value","kind":"secret","start":29,"end":52,"value":"password_hash_algorithm","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-password-preserve-07","recipe":"password","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["password_hash_algorithm"]},"customers":{"required_absent":[],"required_present":["password_hash_algorithm"]},"all":{"required_absent":[],"required_present":["password_hash_algorithm"]}},"tags":["broad-quality","secret-family:password","variation:07"],"secret_fixture":{"family":"password","role":"preserve"}}, - {"id":"broad-secret-password-must-detect-08","language":"en","script":"Latin","shape":"log","risk":"critical","reason":"Locked broad password variation.","text":"level=warn sample=8 message=\"Credential copied from a support reply: \" value=R7!mx8tVVT\nry7aHib#q2","known_identities":[],"targets":[{"id":"value","kind":"secret","start":77,"end":98,"value":"R7!mx8tVVT\nry7aHib#q2","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-password-must-detect-08","recipe":"password","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["R7!mx8tVVT\nry7aHib#q2"]},"customers":{"required_absent":["R7!mx8tVVT\nry7aHib#q2"],"required_present":[]},"all":{"required_absent":["R7!mx8tVVT\nry7aHib#q2"],"required_present":[]}},"tags":["broad-quality","secret-family:password","variation:08"],"secret_fixture":{"family":"password","role":"must-detect"}}, - {"id":"broad-secret-password-preserve-08","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad password variation.","text":"level=warn sample=8 message=\"Public configuration vocabulary: \" value=password_hash_algorithm","known_identities":[],"targets":[{"id":"value","kind":"secret","start":70,"end":93,"value":"password_hash_algorithm","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-password-preserve-08","recipe":"password","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["password_hash_algorithm"]},"customers":{"required_absent":[],"required_present":["password_hash_algorithm"]},"all":{"required_absent":[],"required_present":["password_hash_algorithm"]}},"tags":["broad-quality","secret-family:password","variation:08"],"secret_fixture":{"family":"password","role":"preserve"}}, - {"id":"broad-secret-password-must-detect-09","language":"en","script":"Latin","shape":"stack-trace","risk":"critical","reason":"Locked broad password variation.","text":"Trace[9]: Authorization header value: R7!JM8fUD9 C6q13SF#q2","known_identities":[],"targets":[{"id":"value","kind":"secret","start":38,"end":59,"value":"R7!JM8fUD9 C6q13SF#q2","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-password-must-detect-09","recipe":"password","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["R7!JM8fUD9 C6q13SF#q2"]},"customers":{"required_absent":["R7!JM8fUD9 C6q13SF#q2"],"required_present":[]},"all":{"required_absent":["R7!JM8fUD9 C6q13SF#q2"],"required_present":[]}},"tags":["broad-quality","secret-family:password","variation:09"],"secret_fixture":{"family":"password","role":"must-detect"}}, + {"id":"broad-secret-password-must-detect-08","language":"en","script":"Latin","shape":"log","risk":"critical","reason":"Locked broad password variation.","text":"level=warn sample=8 message=\"Credential copied from a support reply: \" credential=\"R7!mx8tVVTry7aHib#q2\"","known_identities":[],"targets":[{"id":"value","kind":"secret","start":83,"end":103,"value":"R7!mx8tVVTry7aHib#q2","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-password-must-detect-08","recipe":"password","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["R7!mx8tVVTry7aHib#q2"]},"customers":{"required_absent":["R7!mx8tVVTry7aHib#q2"],"required_present":[]},"all":{"required_absent":["R7!mx8tVVTry7aHib#q2"],"required_present":[]}},"tags":["broad-quality","secret-family:password","variation:08"],"secret_fixture":{"family":"password","role":"must-detect"}}, + {"id":"broad-secret-password-preserve-08","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad password variation.","text":"level=warn sample=8 message=\"Public configuration vocabulary: \" credential=\"password_hash_algorithm\"","known_identities":[],"targets":[{"id":"value","kind":"secret","start":76,"end":99,"value":"password_hash_algorithm","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-password-preserve-08","recipe":"password","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["password_hash_algorithm"]},"customers":{"required_absent":[],"required_present":["password_hash_algorithm"]},"all":{"required_absent":[],"required_present":["password_hash_algorithm"]}},"tags":["broad-quality","secret-family:password","variation:08"],"secret_fixture":{"family":"password","role":"preserve"}}, + {"id":"broad-secret-password-must-detect-09","language":"en","script":"Latin","shape":"stack-trace","risk":"critical","reason":"Locked broad password variation.","text":"Trace[9]: Authorization header value: R7!JM8fUD9\tC6q13SF#q2","known_identities":[],"targets":[{"id":"value","kind":"secret","start":38,"end":59,"value":"R7!JM8fUD9\tC6q13SF#q2","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-password-must-detect-09","recipe":"password","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["R7!JM8fUD9\tC6q13SF#q2"]},"customers":{"required_absent":["R7!JM8fUD9\tC6q13SF#q2","R7!JM8fUD9","C6q13SF#q2"],"required_present":[]},"all":{"required_absent":["R7!JM8fUD9\tC6q13SF#q2","R7!JM8fUD9","C6q13SF#q2"],"required_present":[]}},"tags":["broad-quality","secret-family:password","variation:09"],"secret_fixture":{"family":"password","role":"must-detect"}}, {"id":"broad-secret-password-preserve-09","language":"en","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad password variation.","text":"Trace[9]: Documentation syntax: password_hash_algorithm","known_identities":[],"targets":[{"id":"value","kind":"secret","start":32,"end":55,"value":"password_hash_algorithm","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-password-preserve-09","recipe":"password","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["password_hash_algorithm"]},"customers":{"required_absent":[],"required_present":["password_hash_algorithm"]},"all":{"required_absent":[],"required_present":["password_hash_algorithm"]}},"tags":["broad-quality","secret-family:password","variation:09"],"secret_fixture":{"family":"password","role":"preserve"}}, - {"id":"broad-secret-password-must-detect-10","language":"en","script":"Latin","shape":"code","risk":"critical","reason":"Locked broad password variation.","text":"fixture_10 := `Log field auth_value=R7!A9LUtPq·3lOEEMb#q2`","known_identities":[],"targets":[{"id":"value","kind":"secret","start":36,"end":58,"value":"R7!A9LUtPq·3lOEEMb#q2","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-password-must-detect-10","recipe":"password","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["R7!A9LUtPq·3lOEEMb#q2"]},"customers":{"required_absent":["R7!A9LUtPq·3lOEEMb#q2"],"required_present":[]},"all":{"required_absent":["R7!A9LUtPq·3lOEEMb#q2"],"required_present":[]}},"tags":["broad-quality","secret-family:password","variation:10"],"secret_fixture":{"family":"password","role":"must-detect"}}, + {"id":"broad-secret-password-must-detect-10","language":"en","script":"Latin","shape":"code","risk":"critical","reason":"Locked broad password variation.","text":"fixture_10 := `Log field auth_value=R7!A9LUtPq·3lOEEMb#q2`","known_identities":[],"targets":[{"id":"value","kind":"secret","start":36,"end":58,"value":"R7!A9LUtPq·3lOEEMb#q2","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-password-must-detect-10","recipe":"password","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["R7!A9LUtPq·3lOEEMb#q2"]},"customers":{"required_absent":["R7!A9LUtPq·3lOEEMb#q2","R7!A9LUtPq","3lOEEMb#q2"],"required_present":[]},"all":{"required_absent":["R7!A9LUtPq·3lOEEMb#q2","R7!A9LUtPq","3lOEEMb#q2"],"required_present":[]}},"tags":["broad-quality","secret-family:password","variation:10"],"secret_fixture":{"family":"password","role":"must-detect"}}, {"id":"broad-secret-password-preserve-10","language":"en","script":"Latin","shape":"code","risk":"preservation","reason":"Locked broad password variation.","text":"fixture_10 := `Public operational identifier: password_hash_algorithm`","known_identities":[],"targets":[{"id":"value","kind":"secret","start":46,"end":69,"value":"password_hash_algorithm","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-password-preserve-10","recipe":"password","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["password_hash_algorithm"]},"customers":{"required_absent":[],"required_present":["password_hash_algorithm"]},"all":{"required_absent":[],"required_present":["password_hash_algorithm"]}},"tags":["broad-quality","secret-family:password","variation:10"],"secret_fixture":{"family":"password","role":"preserve"}}, - {"id":"broad-secret-password-must-detect-11","language":"en","script":"Latin","shape":"signature","risk":"critical","reason":"Locked broad password variation.","text":"--\nRotating this exposed value: R7!AYnnt3T\u003cwbr\u003e5tUgDKB#q2","known_identities":[],"targets":[{"id":"value","kind":"secret","start":32,"end":57,"value":"R7!AYnnt3T\u003cwbr\u003e5tUgDKB#q2","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-password-must-detect-11","recipe":"password","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["R7!AYnnt3T\u003cwbr\u003e5tUgDKB#q2"]},"customers":{"required_absent":["R7!AYnnt3T\u003cwbr\u003e5tUgDKB#q2"],"required_present":[]},"all":{"required_absent":["R7!AYnnt3T\u003cwbr\u003e5tUgDKB#q2"],"required_present":[]}},"tags":["broad-quality","secret-family:password","variation:11"],"secret_fixture":{"family":"password","role":"must-detect"}}, + {"id":"broad-secret-password-must-detect-11","language":"en","script":"Latin","shape":"signature","risk":"critical","reason":"Locked broad password variation.","text":"--\nRotating this exposed value: R7!AYnnt3T5tUgDKB#q2","known_identities":[],"targets":[{"id":"value","kind":"secret","start":32,"end":52,"value":"R7!AYnnt3T5tUgDKB#q2","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-password-must-detect-11","recipe":"password","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["R7!AYnnt3T5tUgDKB#q2"]},"customers":{"required_absent":["R7!AYnnt3T5tUgDKB#q2"],"required_present":[]},"all":{"required_absent":["R7!AYnnt3T5tUgDKB#q2"],"required_present":[]}},"tags":["broad-quality","secret-family:password","variation:11"],"secret_fixture":{"family":"password","role":"must-detect"}}, {"id":"broad-secret-password-preserve-11","language":"en","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad password variation.","text":"--\nSchema field label: password_hash_algorithm","known_identities":[],"targets":[{"id":"value","kind":"secret","start":23,"end":46,"value":"password_hash_algorithm","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-password-preserve-11","recipe":"password","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["password_hash_algorithm"]},"customers":{"required_absent":[],"required_present":["password_hash_algorithm"]},"all":{"required_absent":[],"required_present":["password_hash_algorithm"]}},"tags":["broad-quality","secret-family:password","variation:11"],"secret_fixture":{"family":"password","role":"preserve"}}, - {"id":"broad-secret-password-must-detect-12","language":"en","script":"Latin","shape":"long-thread","risk":"critical","reason":"Locked broad password variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Quoted credential follows: R7!rkq0hj4**E1vDtD9#q2","known_identities":[],"targets":[{"id":"value","kind":"secret","start":507,"end":529,"value":"R7!rkq0hj4**E1vDtD9#q2","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-password-must-detect-12","recipe":"password","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["R7!rkq0hj4**E1vDtD9#q2"]},"customers":{"required_absent":["R7!rkq0hj4**E1vDtD9#q2"],"required_present":[]},"all":{"required_absent":["R7!rkq0hj4**E1vDtD9#q2"],"required_present":[]}},"tags":["broad-quality","secret-family:password","variation:12"],"secret_fixture":{"family":"password","role":"must-detect"}}, + {"id":"broad-secret-password-must-detect-12","language":"en","script":"Latin","shape":"long-thread","risk":"critical","reason":"Locked broad password variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Quoted credential follows: R7!rkq0hj4E1vDtD9#q2","known_identities":[],"targets":[{"id":"value","kind":"secret","start":507,"end":527,"value":"R7!rkq0hj4E1vDtD9#q2","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-password-must-detect-12","recipe":"password","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["R7!rkq0hj4E1vDtD9#q2"]},"customers":{"required_absent":["R7!rkq0hj4E1vDtD9#q2"],"required_present":[]},"all":{"required_absent":["R7!rkq0hj4E1vDtD9#q2"],"required_present":[]}},"tags":["broad-quality","secret-family:password","variation:12"],"secret_fixture":{"family":"password","role":"must-detect"}}, {"id":"broad-secret-password-preserve-12","language":"en","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad password variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Non-confidential protocol token: password_hash_algorithm","known_identities":[],"targets":[{"id":"value","kind":"secret","start":513,"end":536,"value":"password_hash_algorithm","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-password-preserve-12","recipe":"password","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["password_hash_algorithm"]},"customers":{"required_absent":[],"required_present":["password_hash_algorithm"]},"all":{"required_absent":[],"required_present":["password_hash_algorithm"]}},"tags":["broad-quality","secret-family:password","variation:12"],"secret_fixture":{"family":"password","role":"preserve"}}, - {"id":"broad-secret-password-must-detect-13","language":"en","script":"Latin","shape":"command-payload","risk":"critical","reason":"Locked broad password variation.","text":"--sample=13 --message=\"Configuration secret: \" --value=R7!DRPtJsIltcMagl#q2 / R7!DRPtJsIltcMagl#q2","known_identities":[],"targets":[{"id":"value","kind":"secret","start":55,"end":98,"value":"R7!DRPtJsIltcMagl#q2 / R7!DRPtJsIltcMagl#q2","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-password-must-detect-13","recipe":"password","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["R7!DRPtJsIltcMagl#q2 / R7!DRPtJsIltcMagl#q2"]},"customers":{"required_absent":["R7!DRPtJsIltcMagl#q2 / R7!DRPtJsIltcMagl#q2"],"required_present":[]},"all":{"required_absent":["R7!DRPtJsIltcMagl#q2 / R7!DRPtJsIltcMagl#q2"],"required_present":[]}},"tags":["broad-quality","secret-family:password","variation:13"],"secret_fixture":{"family":"password","role":"must-detect"}}, - {"id":"broad-secret-password-preserve-13","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad password variation.","text":"--sample=13 --message=\"Release metadata: \" --value=password_hash_algorithm","known_identities":[],"targets":[{"id":"value","kind":"secret","start":51,"end":74,"value":"password_hash_algorithm","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-password-preserve-13","recipe":"password","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["password_hash_algorithm"]},"customers":{"required_absent":[],"required_present":["password_hash_algorithm"]},"all":{"required_absent":[],"required_present":["password_hash_algorithm"]}},"tags":["broad-quality","secret-family:password","variation:13"],"secret_fixture":{"family":"password","role":"preserve"}}, + {"id":"broad-secret-password-must-detect-13","language":"en","script":"Latin","shape":"command-payload","risk":"critical","reason":"Locked broad password variation.","text":"--sample=13 --message=\"Configuration secret: \" --credential=\"R7!DRPtJsIltcMagl#q2\"","known_identities":[],"targets":[{"id":"value","kind":"secret","start":61,"end":81,"value":"R7!DRPtJsIltcMagl#q2","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-password-must-detect-13","recipe":"password","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["R7!DRPtJsIltcMagl#q2"]},"customers":{"required_absent":["R7!DRPtJsIltcMagl#q2"],"required_present":[]},"all":{"required_absent":["R7!DRPtJsIltcMagl#q2"],"required_present":[]}},"tags":["broad-quality","secret-family:password","variation:13"],"secret_fixture":{"family":"password","role":"must-detect"}}, + {"id":"broad-secret-password-preserve-13","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad password variation.","text":"--sample=13 --message=\"Release metadata: \" --credential=\"password_hash_algorithm\"","known_identities":[],"targets":[{"id":"value","kind":"secret","start":57,"end":80,"value":"password_hash_algorithm","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-password-preserve-13","recipe":"password","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["password_hash_algorithm"]},"customers":{"required_absent":[],"required_present":["password_hash_algorithm"]},"all":{"required_absent":[],"required_present":["password_hash_algorithm"]}},"tags":["broad-quality","secret-family:password","variation:13"],"secret_fixture":{"family":"password","role":"preserve"}}, {"id":"broad-secret-jwt-must-detect-00","language":"en","script":"Latin","shape":"prose","risk":"critical","reason":"Locked broad jwt variation.","text":"Credential copied from a support reply: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.t3nxK_bJWs7ufwyuAZF1fqmvfP1RzZQ-4PkHqkzFx4P","known_identities":[],"targets":[{"id":"value","kind":"secret","start":40,"end":183,"value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.t3nxK_bJWs7ufwyuAZF1fqmvfP1RzZQ-4PkHqkzFx4P","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-jwt-must-detect-00","recipe":"jwt","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.t3nxK_bJWs7ufwyuAZF1fqmvfP1RzZQ-4PkHqkzFx4P"]},"customers":{"required_absent":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.t3nxK_bJWs7ufwyuAZF1fqmvfP1RzZQ-4PkHqkzFx4P"],"required_present":[]},"all":{"required_absent":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.t3nxK_bJWs7ufwyuAZF1fqmvfP1RzZQ-4PkHqkzFx4P"],"required_present":[]}},"tags":["broad-quality","secret-family:jwt","variation:00"],"secret_fixture":{"family":"jwt","role":"must-detect"}}, {"id":"broad-secret-jwt-preserve-00","language":"en","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad jwt variation.","text":"Public configuration vocabulary: header.payload.signature","known_identities":[],"targets":[{"id":"value","kind":"secret","start":33,"end":57,"value":"header.payload.signature","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-jwt-preserve-00","recipe":"jwt","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["header.payload.signature"]},"customers":{"required_absent":[],"required_present":["header.payload.signature"]},"all":{"required_absent":[],"required_present":["header.payload.signature"]}},"tags":["broad-quality","secret-family:jwt","variation:00"],"secret_fixture":{"family":"jwt","role":"preserve"}}, {"id":"broad-secret-jwt-must-detect-01","language":"en","script":"Latin","shape":"json","risk":"critical","reason":"Locked broad jwt variation.","text":"{\"message_1\":\"Authorization header value: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.GibYxrjo2wQOgKswIwwuOcABpzyFmrHtIYJFpyHJzyE\"}","known_identities":[],"targets":[{"id":"value","kind":"secret","start":42,"end":185,"value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.GibYxrjo2wQOgKswIwwuOcABpzyFmrHtIYJFpyHJzyE","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-jwt-must-detect-01","recipe":"jwt","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.GibYxrjo2wQOgKswIwwuOcABpzyFmrHtIYJFpyHJzyE"]},"customers":{"required_absent":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.GibYxrjo2wQOgKswIwwuOcABpzyFmrHtIYJFpyHJzyE"],"required_present":[]},"all":{"required_absent":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.GibYxrjo2wQOgKswIwwuOcABpzyFmrHtIYJFpyHJzyE"],"required_present":[]}},"tags":["broad-quality","secret-family:jwt","variation:01"],"secret_fixture":{"family":"jwt","role":"must-detect"}}, {"id":"broad-secret-jwt-preserve-01","language":"en","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad jwt variation.","text":"{\"message_1\":\"Documentation syntax: header.payload.signature\"}","known_identities":[],"targets":[{"id":"value","kind":"secret","start":36,"end":60,"value":"header.payload.signature","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-jwt-preserve-01","recipe":"jwt","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["header.payload.signature"]},"customers":{"required_absent":[],"required_present":["header.payload.signature"]},"all":{"required_absent":[],"required_present":["header.payload.signature"]}},"tags":["broad-quality","secret-family:jwt","variation:01"],"secret_fixture":{"family":"jwt","role":"preserve"}}, - {"id":"broad-secret-jwt-must-detect-02","language":"en","script":"Latin","shape":"yaml","risk":"critical","reason":"Locked broad jwt variation.","text":"message_2: Log field auth_value=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.NuiKG6VM51a_jbOREdXnf27k_exsv1vah5ZIt7d0s7S","known_identities":[],"targets":[{"id":"value","kind":"secret","start":32,"end":175,"value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.NuiKG6VM51a_jbOREdXnf27k_exsv1vah5ZIt7d0s7S","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-jwt-must-detect-02","recipe":"jwt","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.NuiKG6VM51a_jbOREdXnf27k_exsv1vah5ZIt7d0s7S"]},"customers":{"required_absent":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.NuiKG6VM51a_jbOREdXnf27k_exsv1vah5ZIt7d0s7S"],"required_present":[]},"all":{"required_absent":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.NuiKG6VM51a_jbOREdXnf27k_exsv1vah5ZIt7d0s7S"],"required_present":[]}},"tags":["broad-quality","secret-family:jwt","variation:02"],"secret_fixture":{"family":"jwt","role":"must-detect"}}, - {"id":"broad-secret-jwt-preserve-02","language":"en","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad jwt variation.","text":"message_2: Public operational identifier: header.payload.signature","known_identities":[],"targets":[{"id":"value","kind":"secret","start":42,"end":66,"value":"header.payload.signature","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-jwt-preserve-02","recipe":"jwt","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["header.payload.signature"]},"customers":{"required_absent":[],"required_present":["header.payload.signature"]},"all":{"required_absent":[],"required_present":["header.payload.signature"]}},"tags":["broad-quality","secret-family:jwt","variation:02"],"secret_fixture":{"family":"jwt","role":"preserve"}}, + {"id":"broad-secret-jwt-must-detect-02","language":"en","script":"Latin","shape":"yaml","risk":"critical","reason":"Locked broad jwt variation.","text":"message_2: \"Log field auth_value=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.NuiKG6VM51a_jbOREdXnf27k_exsv1vah5ZIt7d0s7S\"","known_identities":[],"targets":[{"id":"value","kind":"secret","start":33,"end":176,"value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.NuiKG6VM51a_jbOREdXnf27k_exsv1vah5ZIt7d0s7S","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-jwt-must-detect-02","recipe":"jwt","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.NuiKG6VM51a_jbOREdXnf27k_exsv1vah5ZIt7d0s7S"]},"customers":{"required_absent":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.NuiKG6VM51a_jbOREdXnf27k_exsv1vah5ZIt7d0s7S"],"required_present":[]},"all":{"required_absent":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.NuiKG6VM51a_jbOREdXnf27k_exsv1vah5ZIt7d0s7S"],"required_present":[]}},"tags":["broad-quality","secret-family:jwt","variation:02"],"secret_fixture":{"family":"jwt","role":"must-detect"}}, + {"id":"broad-secret-jwt-preserve-02","language":"en","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad jwt variation.","text":"message_2: \"Public operational identifier: header.payload.signature\"","known_identities":[],"targets":[{"id":"value","kind":"secret","start":43,"end":67,"value":"header.payload.signature","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-jwt-preserve-02","recipe":"jwt","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["header.payload.signature"]},"customers":{"required_absent":[],"required_present":["header.payload.signature"]},"all":{"required_absent":[],"required_present":["header.payload.signature"]}},"tags":["broad-quality","secret-family:jwt","variation:02"],"secret_fixture":{"family":"jwt","role":"preserve"}}, {"id":"broad-secret-jwt-must-detect-03","language":"en","script":"Latin","shape":"shell","risk":"critical","reason":"Locked broad jwt variation.","text":"MESSAGE_3='Rotating this exposed value: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.gdtE6OStDC0pZr-GrW5qKGkGhxb8LfKWAFbwk0MhjPj'","known_identities":[],"targets":[{"id":"value","kind":"secret","start":40,"end":183,"value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.gdtE6OStDC0pZr-GrW5qKGkGhxb8LfKWAFbwk0MhjPj","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-jwt-must-detect-03","recipe":"jwt","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.gdtE6OStDC0pZr-GrW5qKGkGhxb8LfKWAFbwk0MhjPj"]},"customers":{"required_absent":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.gdtE6OStDC0pZr-GrW5qKGkGhxb8LfKWAFbwk0MhjPj"],"required_present":[]},"all":{"required_absent":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.gdtE6OStDC0pZr-GrW5qKGkGhxb8LfKWAFbwk0MhjPj"],"required_present":[]}},"tags":["broad-quality","secret-family:jwt","variation:03"],"secret_fixture":{"family":"jwt","role":"must-detect"}}, {"id":"broad-secret-jwt-preserve-03","language":"en","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad jwt variation.","text":"MESSAGE_3='Schema field label: header.payload.signature'","known_identities":[],"targets":[{"id":"value","kind":"secret","start":31,"end":55,"value":"header.payload.signature","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-jwt-preserve-03","recipe":"jwt","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["header.payload.signature"]},"customers":{"required_absent":[],"required_present":["header.payload.signature"]},"all":{"required_absent":[],"required_present":["header.payload.signature"]}},"tags":["broad-quality","secret-family:jwt","variation:03"],"secret_fixture":{"family":"jwt","role":"preserve"}}, - {"id":"broad-secret-jwt-must-detect-04","language":"en","script":"Latin","shape":"url","risk":"critical","reason":"Locked broad jwt variation.","text":"endpoint=https://192.0.2.10/4 ; Quoted credential follows: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.nA_SECP1iFm0dupuKuAFYVjgt_l6bXPdDqCPs9MyHlg","known_identities":[],"targets":[{"id":"value","kind":"secret","start":59,"end":202,"value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.nA_SECP1iFm0dupuKuAFYVjgt_l6bXPdDqCPs9MyHlg","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-jwt-must-detect-04","recipe":"jwt","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.nA_SECP1iFm0dupuKuAFYVjgt_l6bXPdDqCPs9MyHlg"]},"customers":{"required_absent":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.nA_SECP1iFm0dupuKuAFYVjgt_l6bXPdDqCPs9MyHlg"],"required_present":[]},"all":{"required_absent":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.nA_SECP1iFm0dupuKuAFYVjgt_l6bXPdDqCPs9MyHlg"],"required_present":[]}},"tags":["broad-quality","secret-family:jwt","variation:04"],"secret_fixture":{"family":"jwt","role":"must-detect"}}, - {"id":"broad-secret-jwt-preserve-04","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad jwt variation.","text":"endpoint=https://192.0.2.10/4 ; Non-confidential protocol token: header.payload.signature","known_identities":[],"targets":[{"id":"value","kind":"secret","start":65,"end":89,"value":"header.payload.signature","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-jwt-preserve-04","recipe":"jwt","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["header.payload.signature"]},"customers":{"required_absent":[],"required_present":["header.payload.signature"]},"all":{"required_absent":[],"required_present":["header.payload.signature"]}},"tags":["broad-quality","secret-family:jwt","variation:04"],"secret_fixture":{"family":"jwt","role":"preserve"}}, - {"id":"broad-secret-jwt-must-detect-05","language":"en","script":"Latin","shape":"markdown","risk":"critical","reason":"Locked broad jwt variation.","text":"**Configuration secret: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.MtidwEprXkTKfpjZY1NXm157h5nn_tC18dhdY9hC0Wp**","known_identities":[],"targets":[{"id":"value","kind":"secret","start":24,"end":167,"value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.MtidwEprXkTKfpjZY1NXm157h5nn_tC18dhdY9hC0Wp","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-jwt-must-detect-05","recipe":"jwt","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.MtidwEprXkTKfpjZY1NXm157h5nn_tC18dhdY9hC0Wp"]},"customers":{"required_absent":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.MtidwEprXkTKfpjZY1NXm157h5nn_tC18dhdY9hC0Wp"],"required_present":[]},"all":{"required_absent":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.MtidwEprXkTKfpjZY1NXm157h5nn_tC18dhdY9hC0Wp"],"required_present":[]}},"tags":["broad-quality","secret-family:jwt","variation:05"],"secret_fixture":{"family":"jwt","role":"must-detect"}}, - {"id":"broad-secret-jwt-preserve-05","language":"en","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad jwt variation.","text":"**Release metadata: header.payload.signature**","known_identities":[],"targets":[{"id":"value","kind":"secret","start":20,"end":44,"value":"header.payload.signature","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-jwt-preserve-05","recipe":"jwt","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["header.payload.signature"]},"customers":{"required_absent":[],"required_present":["header.payload.signature"]},"all":{"required_absent":[],"required_present":["header.payload.signature"]}},"tags":["broad-quality","secret-family:jwt","variation:05"],"secret_fixture":{"family":"jwt","role":"preserve"}}, - {"id":"broad-secret-jwt-must-detect-06","language":"en","script":"Latin","shape":"html","risk":"critical","reason":"Locked broad jwt variation.","text":"\u003cp\u003eStack trace captured credential eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.Nj2GjLCUrMkwcIT0I_O5tH4KepBDsxa7pTJkNqQ2k7K\u003c/p\u003e","known_identities":[],"targets":[{"id":"value","kind":"secret","start":35,"end":178,"value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.Nj2GjLCUrMkwcIT0I_O5tH4KepBDsxa7pTJkNqQ2k7K","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-jwt-must-detect-06","recipe":"jwt","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.Nj2GjLCUrMkwcIT0I_O5tH4KepBDsxa7pTJkNqQ2k7K"]},"customers":{"required_absent":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.Nj2GjLCUrMkwcIT0I_O5tH4KepBDsxa7pTJkNqQ2k7K"],"required_present":[]},"all":{"required_absent":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.Nj2GjLCUrMkwcIT0I_O5tH4KepBDsxa7pTJkNqQ2k7K"],"required_present":[]}},"tags":["broad-quality","secret-family:jwt","variation:06"],"secret_fixture":{"family":"jwt","role":"must-detect"}}, - {"id":"broad-secret-jwt-preserve-06","language":"en","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad jwt variation.","text":"\u003cp\u003ePublic verification material: header.payload.signature\u003c/p\u003e","known_identities":[],"targets":[{"id":"value","kind":"secret","start":33,"end":57,"value":"header.payload.signature","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-jwt-preserve-06","recipe":"jwt","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["header.payload.signature"]},"customers":{"required_absent":[],"required_present":["header.payload.signature"]},"all":{"required_absent":[],"required_present":["header.payload.signature"]}},"tags":["broad-quality","secret-family:jwt","variation:06"],"secret_fixture":{"family":"jwt","role":"preserve"}}, + {"id":"broad-secret-jwt-must-detect-04","language":"en","script":"Latin","shape":"url","risk":"critical","reason":"Locked broad jwt variation.","text":"endpoint=https://192.0.2.10/4?credential=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.nA_SECP1iFm0dupuKuAFYVjgt_l6bXPdDqCPs9MyHlg\u0026note=Quoted+credential+follows%3A+","known_identities":[],"targets":[{"id":"value","kind":"secret","start":41,"end":184,"value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.nA_SECP1iFm0dupuKuAFYVjgt_l6bXPdDqCPs9MyHlg","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-jwt-must-detect-04","recipe":"jwt","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.nA_SECP1iFm0dupuKuAFYVjgt_l6bXPdDqCPs9MyHlg"]},"customers":{"required_absent":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.nA_SECP1iFm0dupuKuAFYVjgt_l6bXPdDqCPs9MyHlg"],"required_present":[]},"all":{"required_absent":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.nA_SECP1iFm0dupuKuAFYVjgt_l6bXPdDqCPs9MyHlg"],"required_present":[]}},"tags":["broad-quality","secret-family:jwt","variation:04"],"secret_fixture":{"family":"jwt","role":"must-detect"}}, + {"id":"broad-secret-jwt-preserve-04","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad jwt variation.","text":"endpoint=https://192.0.2.10/4?credential=header.payload.signature\u0026note=Non-confidential+protocol+token%3A+","known_identities":[],"targets":[{"id":"value","kind":"secret","start":41,"end":65,"value":"header.payload.signature","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-jwt-preserve-04","recipe":"jwt","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["header.payload.signature"]},"customers":{"required_absent":[],"required_present":["header.payload.signature"]},"all":{"required_absent":[],"required_present":["header.payload.signature"]}},"tags":["broad-quality","secret-family:jwt","variation:04"],"secret_fixture":{"family":"jwt","role":"preserve"}}, + {"id":"broad-secret-jwt-must-detect-05","language":"en","script":"Latin","shape":"markdown","risk":"critical","reason":"Locked broad jwt variation.","text":"Configuration secret: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLC**JhdWQiOiJwcml2YWN5LWV2YWwifQ.MtidwEprXkTKfpjZY1NXm157h5nn_tC18dhdY9hC0Wp**","known_identities":[],"targets":[{"id":"value","kind":"secret","start":22,"end":169,"value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLC**JhdWQiOiJwcml2YWN5LWV2YWwifQ.MtidwEprXkTKfpjZY1NXm157h5nn_tC18dhdY9hC0Wp**","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-jwt-must-detect-05","recipe":"jwt","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLC**JhdWQiOiJwcml2YWN5LWV2YWwifQ.MtidwEprXkTKfpjZY1NXm157h5nn_tC18dhdY9hC0Wp**"]},"customers":{"required_absent":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLC**JhdWQiOiJwcml2YWN5LWV2YWwifQ.MtidwEprXkTKfpjZY1NXm157h5nn_tC18dhdY9hC0Wp**","eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLC","JhdWQiOiJwcml2YWN5LWV2YWwifQ.MtidwEprXkTKfpjZY1NXm157h5nn_tC18dhdY9hC0Wp"],"required_present":[]},"all":{"required_absent":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLC**JhdWQiOiJwcml2YWN5LWV2YWwifQ.MtidwEprXkTKfpjZY1NXm157h5nn_tC18dhdY9hC0Wp**","eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLC","JhdWQiOiJwcml2YWN5LWV2YWwifQ.MtidwEprXkTKfpjZY1NXm157h5nn_tC18dhdY9hC0Wp"],"required_present":[]}},"tags":["broad-quality","secret-family:jwt","variation:05"],"secret_fixture":{"family":"jwt","role":"must-detect"}}, + {"id":"broad-secret-jwt-preserve-05","language":"en","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad jwt variation.","text":"Release metadata: `header.payload.signature`","known_identities":[],"targets":[{"id":"value","kind":"secret","start":19,"end":43,"value":"header.payload.signature","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-jwt-preserve-05","recipe":"jwt","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["header.payload.signature"]},"customers":{"required_absent":[],"required_present":["header.payload.signature"]},"all":{"required_absent":[],"required_present":["header.payload.signature"]}},"tags":["broad-quality","secret-family:jwt","variation:05"],"secret_fixture":{"family":"jwt","role":"preserve"}}, + {"id":"broad-secret-jwt-must-detect-06","language":"en","script":"Latin","shape":"html","risk":"critical","reason":"Locked broad jwt variation.","text":"\u003cp\u003eStack trace captured credential \u003ccode\u003eeyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLC\u003cwbr\u003eJhdWQiOiJwcml2YWN5LWV2YWwifQ.Nj2GjLCUrMkwcIT0I_O5tH4KepBDsxa7pTJkNqQ2k7K\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"value","kind":"secret","start":41,"end":189,"value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLC\u003cwbr\u003eJhdWQiOiJwcml2YWN5LWV2YWwifQ.Nj2GjLCUrMkwcIT0I_O5tH4KepBDsxa7pTJkNqQ2k7K","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-jwt-must-detect-06","recipe":"jwt","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLC\u003cwbr\u003eJhdWQiOiJwcml2YWN5LWV2YWwifQ.Nj2GjLCUrMkwcIT0I_O5tH4KepBDsxa7pTJkNqQ2k7K"]},"customers":{"required_absent":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLC\u003cwbr\u003eJhdWQiOiJwcml2YWN5LWV2YWwifQ.Nj2GjLCUrMkwcIT0I_O5tH4KepBDsxa7pTJkNqQ2k7K","eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLC","JhdWQiOiJwcml2YWN5LWV2YWwifQ.Nj2GjLCUrMkwcIT0I_O5tH4KepBDsxa7pTJkNqQ2k7K"],"required_present":[]},"all":{"required_absent":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLC\u003cwbr\u003eJhdWQiOiJwcml2YWN5LWV2YWwifQ.Nj2GjLCUrMkwcIT0I_O5tH4KepBDsxa7pTJkNqQ2k7K","eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLC","JhdWQiOiJwcml2YWN5LWV2YWwifQ.Nj2GjLCUrMkwcIT0I_O5tH4KepBDsxa7pTJkNqQ2k7K"],"required_present":[]}},"tags":["broad-quality","secret-family:jwt","variation:06"],"secret_fixture":{"family":"jwt","role":"must-detect"}}, + {"id":"broad-secret-jwt-preserve-06","language":"en","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad jwt variation.","text":"\u003cp\u003ePublic verification material: \u003ccode\u003eheader.payload.signature\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"value","kind":"secret","start":39,"end":63,"value":"header.payload.signature","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-jwt-preserve-06","recipe":"jwt","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["header.payload.signature"]},"customers":{"required_absent":[],"required_present":["header.payload.signature"]},"all":{"required_absent":[],"required_present":["header.payload.signature"]}},"tags":["broad-quality","secret-family:jwt","variation:06"],"secret_fixture":{"family":"jwt","role":"preserve"}}, {"id":"broad-secret-jwt-must-detect-07","language":"en","script":"Latin","shape":"quoted-reply","risk":"critical","reason":"Locked broad jwt variation.","text":"\u003e Wrapped message credential: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.riwLbg02LXMUp8MllazvkGyVbv4lhHHbVRNIIJvgZXf","known_identities":[],"targets":[{"id":"value","kind":"secret","start":30,"end":173,"value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.riwLbg02LXMUp8MllazvkGyVbv4lhHHbVRNIIJvgZXf","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-jwt-must-detect-07","recipe":"jwt","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.riwLbg02LXMUp8MllazvkGyVbv4lhHHbVRNIIJvgZXf"]},"customers":{"required_absent":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.riwLbg02LXMUp8MllazvkGyVbv4lhHHbVRNIIJvgZXf"],"required_present":[]},"all":{"required_absent":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.riwLbg02LXMUp8MllazvkGyVbv4lhHHbVRNIIJvgZXf"],"required_present":[]}},"tags":["broad-quality","secret-family:jwt","variation:07"],"secret_fixture":{"family":"jwt","role":"must-detect"}}, {"id":"broad-secret-jwt-preserve-07","language":"en","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad jwt variation.","text":"\u003e Troubleshooting reference: header.payload.signature","known_identities":[],"targets":[{"id":"value","kind":"secret","start":29,"end":53,"value":"header.payload.signature","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-jwt-preserve-07","recipe":"jwt","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["header.payload.signature"]},"customers":{"required_absent":[],"required_present":["header.payload.signature"]},"all":{"required_absent":[],"required_present":["header.payload.signature"]}},"tags":["broad-quality","secret-family:jwt","variation:07"],"secret_fixture":{"family":"jwt","role":"preserve"}}, - {"id":"broad-secret-jwt-must-detect-08","language":"en","script":"Latin","shape":"log","risk":"critical","reason":"Locked broad jwt variation.","text":"level=warn sample=8 message=\"Credential copied from a support reply: \" value=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLC\nJhdWQiOiJwcml2YWN5LWV2YWwifQ.j6vl6f8em7xBCPfS15WYKnzZPdm8nfBWPtBXQJs0g6C","known_identities":[],"targets":[{"id":"value","kind":"secret","start":77,"end":221,"value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLC\nJhdWQiOiJwcml2YWN5LWV2YWwifQ.j6vl6f8em7xBCPfS15WYKnzZPdm8nfBWPtBXQJs0g6C","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-jwt-must-detect-08","recipe":"jwt","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLC\nJhdWQiOiJwcml2YWN5LWV2YWwifQ.j6vl6f8em7xBCPfS15WYKnzZPdm8nfBWPtBXQJs0g6C"]},"customers":{"required_absent":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLC\nJhdWQiOiJwcml2YWN5LWV2YWwifQ.j6vl6f8em7xBCPfS15WYKnzZPdm8nfBWPtBXQJs0g6C"],"required_present":[]},"all":{"required_absent":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLC\nJhdWQiOiJwcml2YWN5LWV2YWwifQ.j6vl6f8em7xBCPfS15WYKnzZPdm8nfBWPtBXQJs0g6C"],"required_present":[]}},"tags":["broad-quality","secret-family:jwt","variation:08"],"secret_fixture":{"family":"jwt","role":"must-detect"}}, - {"id":"broad-secret-jwt-preserve-08","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad jwt variation.","text":"level=warn sample=8 message=\"Public configuration vocabulary: \" value=header.payload.signature","known_identities":[],"targets":[{"id":"value","kind":"secret","start":70,"end":94,"value":"header.payload.signature","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-jwt-preserve-08","recipe":"jwt","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["header.payload.signature"]},"customers":{"required_absent":[],"required_present":["header.payload.signature"]},"all":{"required_absent":[],"required_present":["header.payload.signature"]}},"tags":["broad-quality","secret-family:jwt","variation:08"],"secret_fixture":{"family":"jwt","role":"preserve"}}, - {"id":"broad-secret-jwt-must-detect-09","language":"en","script":"Latin","shape":"stack-trace","risk":"critical","reason":"Locked broad jwt variation.","text":"Trace[9]: Authorization header value: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLC JhdWQiOiJwcml2YWN5LWV2YWwifQ.OTh-jgF-KjbG2aeoY1KYyiGKQ8SS7ZNnXGrQfwKz9G5","known_identities":[],"targets":[{"id":"value","kind":"secret","start":38,"end":182,"value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLC JhdWQiOiJwcml2YWN5LWV2YWwifQ.OTh-jgF-KjbG2aeoY1KYyiGKQ8SS7ZNnXGrQfwKz9G5","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-jwt-must-detect-09","recipe":"jwt","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLC JhdWQiOiJwcml2YWN5LWV2YWwifQ.OTh-jgF-KjbG2aeoY1KYyiGKQ8SS7ZNnXGrQfwKz9G5"]},"customers":{"required_absent":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLC JhdWQiOiJwcml2YWN5LWV2YWwifQ.OTh-jgF-KjbG2aeoY1KYyiGKQ8SS7ZNnXGrQfwKz9G5"],"required_present":[]},"all":{"required_absent":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLC JhdWQiOiJwcml2YWN5LWV2YWwifQ.OTh-jgF-KjbG2aeoY1KYyiGKQ8SS7ZNnXGrQfwKz9G5"],"required_present":[]}},"tags":["broad-quality","secret-family:jwt","variation:09"],"secret_fixture":{"family":"jwt","role":"must-detect"}}, + {"id":"broad-secret-jwt-must-detect-08","language":"en","script":"Latin","shape":"log","risk":"critical","reason":"Locked broad jwt variation.","text":"level=warn sample=8 message=\"Credential copied from a support reply: \" credential=\"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.j6vl6f8em7xBCPfS15WYKnzZPdm8nfBWPtBXQJs0g6C\"","known_identities":[],"targets":[{"id":"value","kind":"secret","start":83,"end":226,"value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.j6vl6f8em7xBCPfS15WYKnzZPdm8nfBWPtBXQJs0g6C","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-jwt-must-detect-08","recipe":"jwt","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.j6vl6f8em7xBCPfS15WYKnzZPdm8nfBWPtBXQJs0g6C"]},"customers":{"required_absent":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.j6vl6f8em7xBCPfS15WYKnzZPdm8nfBWPtBXQJs0g6C"],"required_present":[]},"all":{"required_absent":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.j6vl6f8em7xBCPfS15WYKnzZPdm8nfBWPtBXQJs0g6C"],"required_present":[]}},"tags":["broad-quality","secret-family:jwt","variation:08"],"secret_fixture":{"family":"jwt","role":"must-detect"}}, + {"id":"broad-secret-jwt-preserve-08","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad jwt variation.","text":"level=warn sample=8 message=\"Public configuration vocabulary: \" credential=\"header.payload.signature\"","known_identities":[],"targets":[{"id":"value","kind":"secret","start":76,"end":100,"value":"header.payload.signature","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-jwt-preserve-08","recipe":"jwt","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["header.payload.signature"]},"customers":{"required_absent":[],"required_present":["header.payload.signature"]},"all":{"required_absent":[],"required_present":["header.payload.signature"]}},"tags":["broad-quality","secret-family:jwt","variation:08"],"secret_fixture":{"family":"jwt","role":"preserve"}}, + {"id":"broad-secret-jwt-must-detect-09","language":"en","script":"Latin","shape":"stack-trace","risk":"critical","reason":"Locked broad jwt variation.","text":"Trace[9]: Authorization header value: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLC\tJhdWQiOiJwcml2YWN5LWV2YWwifQ.OTh-jgF-KjbG2aeoY1KYyiGKQ8SS7ZNnXGrQfwKz9G5","known_identities":[],"targets":[{"id":"value","kind":"secret","start":38,"end":182,"value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLC\tJhdWQiOiJwcml2YWN5LWV2YWwifQ.OTh-jgF-KjbG2aeoY1KYyiGKQ8SS7ZNnXGrQfwKz9G5","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-jwt-must-detect-09","recipe":"jwt","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLC\tJhdWQiOiJwcml2YWN5LWV2YWwifQ.OTh-jgF-KjbG2aeoY1KYyiGKQ8SS7ZNnXGrQfwKz9G5"]},"customers":{"required_absent":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLC\tJhdWQiOiJwcml2YWN5LWV2YWwifQ.OTh-jgF-KjbG2aeoY1KYyiGKQ8SS7ZNnXGrQfwKz9G5","eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLC","JhdWQiOiJwcml2YWN5LWV2YWwifQ.OTh-jgF-KjbG2aeoY1KYyiGKQ8SS7ZNnXGrQfwKz9G5"],"required_present":[]},"all":{"required_absent":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLC\tJhdWQiOiJwcml2YWN5LWV2YWwifQ.OTh-jgF-KjbG2aeoY1KYyiGKQ8SS7ZNnXGrQfwKz9G5","eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLC","JhdWQiOiJwcml2YWN5LWV2YWwifQ.OTh-jgF-KjbG2aeoY1KYyiGKQ8SS7ZNnXGrQfwKz9G5"],"required_present":[]}},"tags":["broad-quality","secret-family:jwt","variation:09"],"secret_fixture":{"family":"jwt","role":"must-detect"}}, {"id":"broad-secret-jwt-preserve-09","language":"en","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad jwt variation.","text":"Trace[9]: Documentation syntax: header.payload.signature","known_identities":[],"targets":[{"id":"value","kind":"secret","start":32,"end":56,"value":"header.payload.signature","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-jwt-preserve-09","recipe":"jwt","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["header.payload.signature"]},"customers":{"required_absent":[],"required_present":["header.payload.signature"]},"all":{"required_absent":[],"required_present":["header.payload.signature"]}},"tags":["broad-quality","secret-family:jwt","variation:09"],"secret_fixture":{"family":"jwt","role":"preserve"}}, - {"id":"broad-secret-jwt-must-detect-10","language":"en","script":"Latin","shape":"code","risk":"critical","reason":"Locked broad jwt variation.","text":"fixture_10 := `Log field auth_value=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLC·JhdWQiOiJwcml2YWN5LWV2YWwifQ.x31Du8ztpi4OJWt83kbO_b1g7ijOJ2GnLh5uAvWm3ng`","known_identities":[],"targets":[{"id":"value","kind":"secret","start":36,"end":181,"value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLC·JhdWQiOiJwcml2YWN5LWV2YWwifQ.x31Du8ztpi4OJWt83kbO_b1g7ijOJ2GnLh5uAvWm3ng","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-jwt-must-detect-10","recipe":"jwt","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLC·JhdWQiOiJwcml2YWN5LWV2YWwifQ.x31Du8ztpi4OJWt83kbO_b1g7ijOJ2GnLh5uAvWm3ng"]},"customers":{"required_absent":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLC·JhdWQiOiJwcml2YWN5LWV2YWwifQ.x31Du8ztpi4OJWt83kbO_b1g7ijOJ2GnLh5uAvWm3ng"],"required_present":[]},"all":{"required_absent":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLC·JhdWQiOiJwcml2YWN5LWV2YWwifQ.x31Du8ztpi4OJWt83kbO_b1g7ijOJ2GnLh5uAvWm3ng"],"required_present":[]}},"tags":["broad-quality","secret-family:jwt","variation:10"],"secret_fixture":{"family":"jwt","role":"must-detect"}}, + {"id":"broad-secret-jwt-must-detect-10","language":"en","script":"Latin","shape":"code","risk":"critical","reason":"Locked broad jwt variation.","text":"fixture_10 := `Log field auth_value=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLC·JhdWQiOiJwcml2YWN5LWV2YWwifQ.x31Du8ztpi4OJWt83kbO_b1g7ijOJ2GnLh5uAvWm3ng`","known_identities":[],"targets":[{"id":"value","kind":"secret","start":36,"end":181,"value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLC·JhdWQiOiJwcml2YWN5LWV2YWwifQ.x31Du8ztpi4OJWt83kbO_b1g7ijOJ2GnLh5uAvWm3ng","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-jwt-must-detect-10","recipe":"jwt","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLC·JhdWQiOiJwcml2YWN5LWV2YWwifQ.x31Du8ztpi4OJWt83kbO_b1g7ijOJ2GnLh5uAvWm3ng"]},"customers":{"required_absent":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLC·JhdWQiOiJwcml2YWN5LWV2YWwifQ.x31Du8ztpi4OJWt83kbO_b1g7ijOJ2GnLh5uAvWm3ng","eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLC","JhdWQiOiJwcml2YWN5LWV2YWwifQ.x31Du8ztpi4OJWt83kbO_b1g7ijOJ2GnLh5uAvWm3ng"],"required_present":[]},"all":{"required_absent":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLC·JhdWQiOiJwcml2YWN5LWV2YWwifQ.x31Du8ztpi4OJWt83kbO_b1g7ijOJ2GnLh5uAvWm3ng","eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLC","JhdWQiOiJwcml2YWN5LWV2YWwifQ.x31Du8ztpi4OJWt83kbO_b1g7ijOJ2GnLh5uAvWm3ng"],"required_present":[]}},"tags":["broad-quality","secret-family:jwt","variation:10"],"secret_fixture":{"family":"jwt","role":"must-detect"}}, {"id":"broad-secret-jwt-preserve-10","language":"en","script":"Latin","shape":"code","risk":"preservation","reason":"Locked broad jwt variation.","text":"fixture_10 := `Public operational identifier: header.payload.signature`","known_identities":[],"targets":[{"id":"value","kind":"secret","start":46,"end":70,"value":"header.payload.signature","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-jwt-preserve-10","recipe":"jwt","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["header.payload.signature"]},"customers":{"required_absent":[],"required_present":["header.payload.signature"]},"all":{"required_absent":[],"required_present":["header.payload.signature"]}},"tags":["broad-quality","secret-family:jwt","variation:10"],"secret_fixture":{"family":"jwt","role":"preserve"}}, - {"id":"broad-secret-jwt-must-detect-11","language":"en","script":"Latin","shape":"signature","risk":"critical","reason":"Locked broad jwt variation.","text":"--\nRotating this exposed value: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLC\u003cwbr\u003eJhdWQiOiJwcml2YWN5LWV2YWwifQ.gnfSr6G2cagWesXqwGyoyaMKViUUZbx1voQYdEmJzeR","known_identities":[],"targets":[{"id":"value","kind":"secret","start":32,"end":180,"value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLC\u003cwbr\u003eJhdWQiOiJwcml2YWN5LWV2YWwifQ.gnfSr6G2cagWesXqwGyoyaMKViUUZbx1voQYdEmJzeR","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-jwt-must-detect-11","recipe":"jwt","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLC\u003cwbr\u003eJhdWQiOiJwcml2YWN5LWV2YWwifQ.gnfSr6G2cagWesXqwGyoyaMKViUUZbx1voQYdEmJzeR"]},"customers":{"required_absent":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLC\u003cwbr\u003eJhdWQiOiJwcml2YWN5LWV2YWwifQ.gnfSr6G2cagWesXqwGyoyaMKViUUZbx1voQYdEmJzeR"],"required_present":[]},"all":{"required_absent":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLC\u003cwbr\u003eJhdWQiOiJwcml2YWN5LWV2YWwifQ.gnfSr6G2cagWesXqwGyoyaMKViUUZbx1voQYdEmJzeR"],"required_present":[]}},"tags":["broad-quality","secret-family:jwt","variation:11"],"secret_fixture":{"family":"jwt","role":"must-detect"}}, + {"id":"broad-secret-jwt-must-detect-11","language":"en","script":"Latin","shape":"signature","risk":"critical","reason":"Locked broad jwt variation.","text":"--\nRotating this exposed value: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.gnfSr6G2cagWesXqwGyoyaMKViUUZbx1voQYdEmJzeR","known_identities":[],"targets":[{"id":"value","kind":"secret","start":32,"end":175,"value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.gnfSr6G2cagWesXqwGyoyaMKViUUZbx1voQYdEmJzeR","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-jwt-must-detect-11","recipe":"jwt","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.gnfSr6G2cagWesXqwGyoyaMKViUUZbx1voQYdEmJzeR"]},"customers":{"required_absent":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.gnfSr6G2cagWesXqwGyoyaMKViUUZbx1voQYdEmJzeR"],"required_present":[]},"all":{"required_absent":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.gnfSr6G2cagWesXqwGyoyaMKViUUZbx1voQYdEmJzeR"],"required_present":[]}},"tags":["broad-quality","secret-family:jwt","variation:11"],"secret_fixture":{"family":"jwt","role":"must-detect"}}, {"id":"broad-secret-jwt-preserve-11","language":"en","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad jwt variation.","text":"--\nSchema field label: header.payload.signature","known_identities":[],"targets":[{"id":"value","kind":"secret","start":23,"end":47,"value":"header.payload.signature","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-jwt-preserve-11","recipe":"jwt","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["header.payload.signature"]},"customers":{"required_absent":[],"required_present":["header.payload.signature"]},"all":{"required_absent":[],"required_present":["header.payload.signature"]}},"tags":["broad-quality","secret-family:jwt","variation:11"],"secret_fixture":{"family":"jwt","role":"preserve"}}, - {"id":"broad-secret-jwt-must-detect-12","language":"en","script":"Latin","shape":"long-thread","risk":"critical","reason":"Locked broad jwt variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Quoted credential follows: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLC**JhdWQiOiJwcml2YWN5LWV2YWwifQ.FTA-ElCjxUQIg_9KSQhbUrJU1A4bo1JNvti8ntJwp2c","known_identities":[],"targets":[{"id":"value","kind":"secret","start":507,"end":652,"value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLC**JhdWQiOiJwcml2YWN5LWV2YWwifQ.FTA-ElCjxUQIg_9KSQhbUrJU1A4bo1JNvti8ntJwp2c","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-jwt-must-detect-12","recipe":"jwt","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLC**JhdWQiOiJwcml2YWN5LWV2YWwifQ.FTA-ElCjxUQIg_9KSQhbUrJU1A4bo1JNvti8ntJwp2c"]},"customers":{"required_absent":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLC**JhdWQiOiJwcml2YWN5LWV2YWwifQ.FTA-ElCjxUQIg_9KSQhbUrJU1A4bo1JNvti8ntJwp2c"],"required_present":[]},"all":{"required_absent":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLC**JhdWQiOiJwcml2YWN5LWV2YWwifQ.FTA-ElCjxUQIg_9KSQhbUrJU1A4bo1JNvti8ntJwp2c"],"required_present":[]}},"tags":["broad-quality","secret-family:jwt","variation:12"],"secret_fixture":{"family":"jwt","role":"must-detect"}}, + {"id":"broad-secret-jwt-must-detect-12","language":"en","script":"Latin","shape":"long-thread","risk":"critical","reason":"Locked broad jwt variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Quoted credential follows: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.FTA-ElCjxUQIg_9KSQhbUrJU1A4bo1JNvti8ntJwp2c","known_identities":[],"targets":[{"id":"value","kind":"secret","start":507,"end":650,"value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.FTA-ElCjxUQIg_9KSQhbUrJU1A4bo1JNvti8ntJwp2c","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-jwt-must-detect-12","recipe":"jwt","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.FTA-ElCjxUQIg_9KSQhbUrJU1A4bo1JNvti8ntJwp2c"]},"customers":{"required_absent":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.FTA-ElCjxUQIg_9KSQhbUrJU1A4bo1JNvti8ntJwp2c"],"required_present":[]},"all":{"required_absent":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.FTA-ElCjxUQIg_9KSQhbUrJU1A4bo1JNvti8ntJwp2c"],"required_present":[]}},"tags":["broad-quality","secret-family:jwt","variation:12"],"secret_fixture":{"family":"jwt","role":"must-detect"}}, {"id":"broad-secret-jwt-preserve-12","language":"en","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad jwt variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Non-confidential protocol token: header.payload.signature","known_identities":[],"targets":[{"id":"value","kind":"secret","start":513,"end":537,"value":"header.payload.signature","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-jwt-preserve-12","recipe":"jwt","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["header.payload.signature"]},"customers":{"required_absent":[],"required_present":["header.payload.signature"]},"all":{"required_absent":[],"required_present":["header.payload.signature"]}},"tags":["broad-quality","secret-family:jwt","variation:12"],"secret_fixture":{"family":"jwt","role":"preserve"}}, - {"id":"broad-secret-jwt-must-detect-13","language":"en","script":"Latin","shape":"command-payload","risk":"critical","reason":"Locked broad jwt variation.","text":"--sample=13 --message=\"Configuration secret: \" --value=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ._i31w5ztk56cJGVeaksOsLpeqnBIbHrZ7bu6BSXwnMc / eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ._i31w5ztk56cJGVeaksOsLpeqnBIbHrZ7bu6BSXwnMc","known_identities":[],"targets":[{"id":"value","kind":"secret","start":55,"end":344,"value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ._i31w5ztk56cJGVeaksOsLpeqnBIbHrZ7bu6BSXwnMc / eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ._i31w5ztk56cJGVeaksOsLpeqnBIbHrZ7bu6BSXwnMc","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-jwt-must-detect-13","recipe":"jwt","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ._i31w5ztk56cJGVeaksOsLpeqnBIbHrZ7bu6BSXwnMc / eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ._i31w5ztk56cJGVeaksOsLpeqnBIbHrZ7bu6BSXwnMc"]},"customers":{"required_absent":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ._i31w5ztk56cJGVeaksOsLpeqnBIbHrZ7bu6BSXwnMc / eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ._i31w5ztk56cJGVeaksOsLpeqnBIbHrZ7bu6BSXwnMc"],"required_present":[]},"all":{"required_absent":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ._i31w5ztk56cJGVeaksOsLpeqnBIbHrZ7bu6BSXwnMc / eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ._i31w5ztk56cJGVeaksOsLpeqnBIbHrZ7bu6BSXwnMc"],"required_present":[]}},"tags":["broad-quality","secret-family:jwt","variation:13"],"secret_fixture":{"family":"jwt","role":"must-detect"}}, - {"id":"broad-secret-jwt-preserve-13","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad jwt variation.","text":"--sample=13 --message=\"Release metadata: \" --value=header.payload.signature","known_identities":[],"targets":[{"id":"value","kind":"secret","start":51,"end":75,"value":"header.payload.signature","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-jwt-preserve-13","recipe":"jwt","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["header.payload.signature"]},"customers":{"required_absent":[],"required_present":["header.payload.signature"]},"all":{"required_absent":[],"required_present":["header.payload.signature"]}},"tags":["broad-quality","secret-family:jwt","variation:13"],"secret_fixture":{"family":"jwt","role":"preserve"}}, + {"id":"broad-secret-jwt-must-detect-13","language":"en","script":"Latin","shape":"command-payload","risk":"critical","reason":"Locked broad jwt variation.","text":"--sample=13 --message=\"Configuration secret: \" --credential=\"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ._i31w5ztk56cJGVeaksOsLpeqnBIbHrZ7bu6BSXwnMc\"","known_identities":[],"targets":[{"id":"value","kind":"secret","start":61,"end":204,"value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ._i31w5ztk56cJGVeaksOsLpeqnBIbHrZ7bu6BSXwnMc","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-jwt-must-detect-13","recipe":"jwt","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ._i31w5ztk56cJGVeaksOsLpeqnBIbHrZ7bu6BSXwnMc"]},"customers":{"required_absent":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ._i31w5ztk56cJGVeaksOsLpeqnBIbHrZ7bu6BSXwnMc"],"required_present":[]},"all":{"required_absent":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ._i31w5ztk56cJGVeaksOsLpeqnBIbHrZ7bu6BSXwnMc"],"required_present":[]}},"tags":["broad-quality","secret-family:jwt","variation:13"],"secret_fixture":{"family":"jwt","role":"must-detect"}}, + {"id":"broad-secret-jwt-preserve-13","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad jwt variation.","text":"--sample=13 --message=\"Release metadata: \" --credential=\"header.payload.signature\"","known_identities":[],"targets":[{"id":"value","kind":"secret","start":57,"end":81,"value":"header.payload.signature","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-jwt-preserve-13","recipe":"jwt","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["header.payload.signature"]},"customers":{"required_absent":[],"required_present":["header.payload.signature"]},"all":{"required_absent":[],"required_present":["header.payload.signature"]}},"tags":["broad-quality","secret-family:jwt","variation:13"],"secret_fixture":{"family":"jwt","role":"preserve"}}, {"id":"broad-secret-one-time-code-must-detect-00","language":"en","script":"Latin","shape":"prose","risk":"critical","reason":"Locked broad one-time-code variation.","text":"Credential copied from a support reply: 208007","known_identities":[],"targets":[{"id":"value","kind":"secret","start":40,"end":46,"value":"208007","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-one-time-code-must-detect-00","recipe":"one-time-code","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["208007"]},"customers":{"required_absent":["208007"],"required_present":[]},"all":{"required_absent":["208007"],"required_present":[]}},"tags":["broad-quality","secret-family:one-time-code","variation:00"],"secret_fixture":{"family":"one-time-code","role":"must-detect"}}, {"id":"broad-secret-one-time-code-preserve-00","language":"en","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad one-time-code variation.","text":"Public configuration vocabulary: 61125448","known_identities":[],"targets":[{"id":"value","kind":"secret","start":33,"end":41,"value":"61125448","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-one-time-code-preserve-00","recipe":"one-time-code","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["61125448"]},"customers":{"required_absent":[],"required_present":["61125448"]},"all":{"required_absent":[],"required_present":["61125448"]}},"tags":["broad-quality","secret-family:one-time-code","variation:00"],"secret_fixture":{"family":"one-time-code","role":"preserve"}}, {"id":"broad-secret-one-time-code-must-detect-01","language":"en","script":"Latin","shape":"json","risk":"critical","reason":"Locked broad one-time-code variation.","text":"{\"message_1\":\"Authorization header value: 16216825\"}","known_identities":[],"targets":[{"id":"value","kind":"secret","start":42,"end":50,"value":"16216825","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-one-time-code-must-detect-01","recipe":"one-time-code","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["16216825"]},"customers":{"required_absent":["16216825"],"required_present":[]},"all":{"required_absent":["16216825"],"required_present":[]}},"tags":["broad-quality","secret-family:one-time-code","variation:01"],"secret_fixture":{"family":"one-time-code","role":"must-detect"}}, {"id":"broad-secret-one-time-code-preserve-01","language":"en","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad one-time-code variation.","text":"{\"message_1\":\"Documentation syntax: RFC-530958\"}","known_identities":[],"targets":[{"id":"value","kind":"secret","start":36,"end":46,"value":"RFC-530958","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-one-time-code-preserve-01","recipe":"one-time-code","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["RFC-530958"]},"customers":{"required_absent":[],"required_present":["RFC-530958"]},"all":{"required_absent":[],"required_present":["RFC-530958"]}},"tags":["broad-quality","secret-family:one-time-code","variation:01"],"secret_fixture":{"family":"one-time-code","role":"preserve"}}, - {"id":"broad-secret-one-time-code-must-detect-02","language":"en","script":"Latin","shape":"yaml","risk":"critical","reason":"Locked broad one-time-code variation.","text":"message_2: Log field auth_value=0073","known_identities":[],"targets":[{"id":"value","kind":"secret","start":32,"end":36,"value":"0073","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-one-time-code-must-detect-02","recipe":"one-time-code","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["0073"]},"customers":{"required_absent":["0073"],"required_present":[]},"all":{"required_absent":["0073"],"required_present":[]}},"tags":["broad-quality","secret-family:one-time-code","variation:02"],"secret_fixture":{"family":"one-time-code","role":"must-detect"}}, - {"id":"broad-secret-one-time-code-preserve-02","language":"en","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad one-time-code variation.","text":"message_2: Public operational identifier: 9915.8353","known_identities":[],"targets":[{"id":"value","kind":"secret","start":42,"end":51,"value":"9915.8353","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-one-time-code-preserve-02","recipe":"one-time-code","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["9915.8353"]},"customers":{"required_absent":[],"required_present":["9915.8353"]},"all":{"required_absent":[],"required_present":["9915.8353"]}},"tags":["broad-quality","secret-family:one-time-code","variation:02"],"secret_fixture":{"family":"one-time-code","role":"preserve"}}, + {"id":"broad-secret-one-time-code-must-detect-02","language":"en","script":"Latin","shape":"yaml","risk":"critical","reason":"Locked broad one-time-code variation.","text":"message_2: \"Log field auth_value=0073\"","known_identities":[],"targets":[{"id":"value","kind":"secret","start":33,"end":37,"value":"0073","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-one-time-code-must-detect-02","recipe":"one-time-code","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["0073"]},"customers":{"required_absent":["0073"],"required_present":[]},"all":{"required_absent":["0073"],"required_present":[]}},"tags":["broad-quality","secret-family:one-time-code","variation:02"],"secret_fixture":{"family":"one-time-code","role":"must-detect"}}, + {"id":"broad-secret-one-time-code-preserve-02","language":"en","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad one-time-code variation.","text":"message_2: \"Public operational identifier: 9915.8353\"","known_identities":[],"targets":[{"id":"value","kind":"secret","start":43,"end":52,"value":"9915.8353","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-one-time-code-preserve-02","recipe":"one-time-code","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["9915.8353"]},"customers":{"required_absent":[],"required_present":["9915.8353"]},"all":{"required_absent":[],"required_present":["9915.8353"]}},"tags":["broad-quality","secret-family:one-time-code","variation:02"],"secret_fixture":{"family":"one-time-code","role":"preserve"}}, {"id":"broad-secret-one-time-code-must-detect-03","language":"en","script":"Latin","shape":"shell","risk":"critical","reason":"Locked broad one-time-code variation.","text":"MESSAGE_3='Rotating this exposed value: 39FZ-V5K0'","known_identities":[],"targets":[{"id":"value","kind":"secret","start":40,"end":49,"value":"39FZ-V5K0","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-one-time-code-must-detect-03","recipe":"one-time-code","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["39FZ-V5K0"]},"customers":{"required_absent":["39FZ-V5K0"],"required_present":[]},"all":{"required_absent":["39FZ-V5K0"],"required_present":[]}},"tags":["broad-quality","secret-family:one-time-code","variation:03"],"secret_fixture":{"family":"one-time-code","role":"must-detect"}}, {"id":"broad-secret-one-time-code-preserve-03","language":"en","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad one-time-code variation.","text":"MESSAGE_3='Schema field label: 25047951'","known_identities":[],"targets":[{"id":"value","kind":"secret","start":31,"end":39,"value":"25047951","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-one-time-code-preserve-03","recipe":"one-time-code","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["25047951"]},"customers":{"required_absent":[],"required_present":["25047951"]},"all":{"required_absent":[],"required_present":["25047951"]}},"tags":["broad-quality","secret-family:one-time-code","variation:03"],"secret_fixture":{"family":"one-time-code","role":"preserve"}}, - {"id":"broad-secret-one-time-code-must-detect-04","language":"en","script":"Latin","shape":"url","risk":"critical","reason":"Locked broad one-time-code variation.","text":"endpoint=https://192.0.2.10/4 ; Quoted credential follows: Tmp!CKCVLIS8uF","known_identities":[],"targets":[{"id":"value","kind":"secret","start":59,"end":73,"value":"Tmp!CKCVLIS8uF","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-one-time-code-must-detect-04","recipe":"one-time-code","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Tmp!CKCVLIS8uF"]},"customers":{"required_absent":["Tmp!CKCVLIS8uF"],"required_present":[]},"all":{"required_absent":["Tmp!CKCVLIS8uF"],"required_present":[]}},"tags":["broad-quality","secret-family:one-time-code","variation:04"],"secret_fixture":{"family":"one-time-code","role":"must-detect"}}, - {"id":"broad-secret-one-time-code-preserve-04","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad one-time-code variation.","text":"endpoint=https://192.0.2.10/4 ; Non-confidential protocol token: RFC-236729","known_identities":[],"targets":[{"id":"value","kind":"secret","start":65,"end":75,"value":"RFC-236729","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-one-time-code-preserve-04","recipe":"one-time-code","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["RFC-236729"]},"customers":{"required_absent":[],"required_present":["RFC-236729"]},"all":{"required_absent":[],"required_present":["RFC-236729"]}},"tags":["broad-quality","secret-family:one-time-code","variation:04"],"secret_fixture":{"family":"one-time-code","role":"preserve"}}, - {"id":"broad-secret-one-time-code-must-detect-05","language":"en","script":"Latin","shape":"markdown","risk":"critical","reason":"Locked broad one-time-code variation.","text":"**Configuration secret: 035714**","known_identities":[],"targets":[{"id":"value","kind":"secret","start":24,"end":30,"value":"035714","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-one-time-code-must-detect-05","recipe":"one-time-code","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["035714"]},"customers":{"required_absent":["035714"],"required_present":[]},"all":{"required_absent":["035714"],"required_present":[]}},"tags":["broad-quality","secret-family:one-time-code","variation:05"],"secret_fixture":{"family":"one-time-code","role":"must-detect"}}, - {"id":"broad-secret-one-time-code-preserve-05","language":"en","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad one-time-code variation.","text":"**Release metadata: 2005.0700**","known_identities":[],"targets":[{"id":"value","kind":"secret","start":20,"end":29,"value":"2005.0700","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-one-time-code-preserve-05","recipe":"one-time-code","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["2005.0700"]},"customers":{"required_absent":[],"required_present":["2005.0700"]},"all":{"required_absent":[],"required_present":["2005.0700"]}},"tags":["broad-quality","secret-family:one-time-code","variation:05"],"secret_fixture":{"family":"one-time-code","role":"preserve"}}, - {"id":"broad-secret-one-time-code-must-detect-06","language":"en","script":"Latin","shape":"html","risk":"critical","reason":"Locked broad one-time-code variation.","text":"\u003cp\u003eStack trace captured credential 60474487\u003c/p\u003e","known_identities":[],"targets":[{"id":"value","kind":"secret","start":35,"end":43,"value":"60474487","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-one-time-code-must-detect-06","recipe":"one-time-code","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["60474487"]},"customers":{"required_absent":["60474487"],"required_present":[]},"all":{"required_absent":["60474487"],"required_present":[]}},"tags":["broad-quality","secret-family:one-time-code","variation:06"],"secret_fixture":{"family":"one-time-code","role":"must-detect"}}, - {"id":"broad-secret-one-time-code-preserve-06","language":"en","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad one-time-code variation.","text":"\u003cp\u003ePublic verification material: 33565657\u003c/p\u003e","known_identities":[],"targets":[{"id":"value","kind":"secret","start":33,"end":41,"value":"33565657","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-one-time-code-preserve-06","recipe":"one-time-code","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["33565657"]},"customers":{"required_absent":[],"required_present":["33565657"]},"all":{"required_absent":[],"required_present":["33565657"]}},"tags":["broad-quality","secret-family:one-time-code","variation:06"],"secret_fixture":{"family":"one-time-code","role":"preserve"}}, + {"id":"broad-secret-one-time-code-must-detect-04","language":"en","script":"Latin","shape":"url","risk":"critical","reason":"Locked broad one-time-code variation.","text":"endpoint=https://192.0.2.10/4?credential=Tmp%21CKCVLIS8uF\u0026note=Quoted+credential+follows%3A+","known_identities":[],"targets":[{"id":"value","kind":"secret","start":41,"end":57,"value":"Tmp%21CKCVLIS8uF","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-one-time-code-must-detect-04","recipe":"one-time-code","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Tmp%21CKCVLIS8uF"]},"customers":{"required_absent":["Tmp%21CKCVLIS8uF"],"required_present":[]},"all":{"required_absent":["Tmp%21CKCVLIS8uF"],"required_present":[]}},"tags":["broad-quality","secret-family:one-time-code","variation:04"],"secret_fixture":{"family":"one-time-code","role":"must-detect"}}, + {"id":"broad-secret-one-time-code-preserve-04","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad one-time-code variation.","text":"endpoint=https://192.0.2.10/4?credential=RFC-236729\u0026note=Non-confidential+protocol+token%3A+","known_identities":[],"targets":[{"id":"value","kind":"secret","start":41,"end":51,"value":"RFC-236729","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-one-time-code-preserve-04","recipe":"one-time-code","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["RFC-236729"]},"customers":{"required_absent":[],"required_present":["RFC-236729"]},"all":{"required_absent":[],"required_present":["RFC-236729"]}},"tags":["broad-quality","secret-family:one-time-code","variation:04"],"secret_fixture":{"family":"one-time-code","role":"preserve"}}, + {"id":"broad-secret-one-time-code-must-detect-05","language":"en","script":"Latin","shape":"markdown","risk":"critical","reason":"Locked broad one-time-code variation.","text":"Configuration secret: `035714`","known_identities":[],"targets":[{"id":"value","kind":"secret","start":23,"end":29,"value":"035714","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-one-time-code-must-detect-05","recipe":"one-time-code","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["035714"]},"customers":{"required_absent":["035714"],"required_present":[]},"all":{"required_absent":["035714"],"required_present":[]}},"tags":["broad-quality","secret-family:one-time-code","variation:05"],"secret_fixture":{"family":"one-time-code","role":"must-detect"}}, + {"id":"broad-secret-one-time-code-preserve-05","language":"en","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad one-time-code variation.","text":"Release metadata: `2005.0700`","known_identities":[],"targets":[{"id":"value","kind":"secret","start":19,"end":28,"value":"2005.0700","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-one-time-code-preserve-05","recipe":"one-time-code","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["2005.0700"]},"customers":{"required_absent":[],"required_present":["2005.0700"]},"all":{"required_absent":[],"required_present":["2005.0700"]}},"tags":["broad-quality","secret-family:one-time-code","variation:05"],"secret_fixture":{"family":"one-time-code","role":"preserve"}}, + {"id":"broad-secret-one-time-code-must-detect-06","language":"en","script":"Latin","shape":"html","risk":"critical","reason":"Locked broad one-time-code variation.","text":"\u003cp\u003eStack trace captured credential \u003ccode\u003e6047\u003cwbr\u003e4487\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"value","kind":"secret","start":41,"end":54,"value":"6047\u003cwbr\u003e4487","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-one-time-code-must-detect-06","recipe":"one-time-code","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["6047\u003cwbr\u003e4487"]},"customers":{"required_absent":["6047\u003cwbr\u003e4487","6047","4487"],"required_present":[]},"all":{"required_absent":["6047\u003cwbr\u003e4487","6047","4487"],"required_present":[]}},"tags":["broad-quality","secret-family:one-time-code","variation:06"],"secret_fixture":{"family":"one-time-code","role":"must-detect"}}, + {"id":"broad-secret-one-time-code-preserve-06","language":"en","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad one-time-code variation.","text":"\u003cp\u003ePublic verification material: \u003ccode\u003e33565657\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"value","kind":"secret","start":39,"end":47,"value":"33565657","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-one-time-code-preserve-06","recipe":"one-time-code","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["33565657"]},"customers":{"required_absent":[],"required_present":["33565657"]},"all":{"required_absent":[],"required_present":["33565657"]}},"tags":["broad-quality","secret-family:one-time-code","variation:06"],"secret_fixture":{"family":"one-time-code","role":"preserve"}}, {"id":"broad-secret-one-time-code-must-detect-07","language":"en","script":"Latin","shape":"quoted-reply","risk":"critical","reason":"Locked broad one-time-code variation.","text":"\u003e Wrapped message credential: 8539","known_identities":[],"targets":[{"id":"value","kind":"secret","start":30,"end":34,"value":"8539","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-one-time-code-must-detect-07","recipe":"one-time-code","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["8539"]},"customers":{"required_absent":["8539"],"required_present":[]},"all":{"required_absent":["8539"],"required_present":[]}},"tags":["broad-quality","secret-family:one-time-code","variation:07"],"secret_fixture":{"family":"one-time-code","role":"must-detect"}}, {"id":"broad-secret-one-time-code-preserve-07","language":"en","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad one-time-code variation.","text":"\u003e Troubleshooting reference: RFC-868670","known_identities":[],"targets":[{"id":"value","kind":"secret","start":29,"end":39,"value":"RFC-868670","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-one-time-code-preserve-07","recipe":"one-time-code","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["RFC-868670"]},"customers":{"required_absent":[],"required_present":["RFC-868670"]},"all":{"required_absent":[],"required_present":["RFC-868670"]}},"tags":["broad-quality","secret-family:one-time-code","variation:07"],"secret_fixture":{"family":"one-time-code","role":"preserve"}}, - {"id":"broad-secret-one-time-code-must-detect-08","language":"en","script":"Latin","shape":"log","risk":"critical","reason":"Locked broad one-time-code variation.","text":"level=warn sample=8 message=\"Credential copied from a support reply: \" value=TG8C-ZBI9","known_identities":[],"targets":[{"id":"value","kind":"secret","start":77,"end":86,"value":"TG8C-ZBI9","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-one-time-code-must-detect-08","recipe":"one-time-code","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["TG8C-ZBI9"]},"customers":{"required_absent":["TG8C-ZBI9"],"required_present":[]},"all":{"required_absent":["TG8C-ZBI9"],"required_present":[]}},"tags":["broad-quality","secret-family:one-time-code","variation:08"],"secret_fixture":{"family":"one-time-code","role":"must-detect"}}, - {"id":"broad-secret-one-time-code-preserve-08","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad one-time-code variation.","text":"level=warn sample=8 message=\"Public configuration vocabulary: \" value=7212.9720","known_identities":[],"targets":[{"id":"value","kind":"secret","start":70,"end":79,"value":"7212.9720","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-one-time-code-preserve-08","recipe":"one-time-code","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["7212.9720"]},"customers":{"required_absent":[],"required_present":["7212.9720"]},"all":{"required_absent":[],"required_present":["7212.9720"]}},"tags":["broad-quality","secret-family:one-time-code","variation:08"],"secret_fixture":{"family":"one-time-code","role":"preserve"}}, - {"id":"broad-secret-one-time-code-must-detect-09","language":"en","script":"Latin","shape":"stack-trace","risk":"critical","reason":"Locked broad one-time-code variation.","text":"Trace[9]: Authorization header value: Tmp!BDJ4a8OxUa","known_identities":[],"targets":[{"id":"value","kind":"secret","start":38,"end":52,"value":"Tmp!BDJ4a8OxUa","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-one-time-code-must-detect-09","recipe":"one-time-code","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Tmp!BDJ4a8OxUa"]},"customers":{"required_absent":["Tmp!BDJ4a8OxUa"],"required_present":[]},"all":{"required_absent":["Tmp!BDJ4a8OxUa"],"required_present":[]}},"tags":["broad-quality","secret-family:one-time-code","variation:09"],"secret_fixture":{"family":"one-time-code","role":"must-detect"}}, + {"id":"broad-secret-one-time-code-must-detect-08","language":"en","script":"Latin","shape":"log","risk":"critical","reason":"Locked broad one-time-code variation.","text":"level=warn sample=8 message=\"Credential copied from a support reply: \" credential=\"TG8C-ZBI9\"","known_identities":[],"targets":[{"id":"value","kind":"secret","start":83,"end":92,"value":"TG8C-ZBI9","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-one-time-code-must-detect-08","recipe":"one-time-code","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["TG8C-ZBI9"]},"customers":{"required_absent":["TG8C-ZBI9"],"required_present":[]},"all":{"required_absent":["TG8C-ZBI9"],"required_present":[]}},"tags":["broad-quality","secret-family:one-time-code","variation:08"],"secret_fixture":{"family":"one-time-code","role":"must-detect"}}, + {"id":"broad-secret-one-time-code-preserve-08","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad one-time-code variation.","text":"level=warn sample=8 message=\"Public configuration vocabulary: \" credential=\"7212.9720\"","known_identities":[],"targets":[{"id":"value","kind":"secret","start":76,"end":85,"value":"7212.9720","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-one-time-code-preserve-08","recipe":"one-time-code","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["7212.9720"]},"customers":{"required_absent":[],"required_present":["7212.9720"]},"all":{"required_absent":[],"required_present":["7212.9720"]}},"tags":["broad-quality","secret-family:one-time-code","variation:08"],"secret_fixture":{"family":"one-time-code","role":"preserve"}}, + {"id":"broad-secret-one-time-code-must-detect-09","language":"en","script":"Latin","shape":"stack-trace","risk":"critical","reason":"Locked broad one-time-code variation.","text":"Trace[9]: Authorization header value: Tmp!BDJ\t4a8OxUa","known_identities":[],"targets":[{"id":"value","kind":"secret","start":38,"end":53,"value":"Tmp!BDJ\t4a8OxUa","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-one-time-code-must-detect-09","recipe":"one-time-code","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["Tmp!BDJ\t4a8OxUa"]},"customers":{"required_absent":["Tmp!BDJ\t4a8OxUa","Tmp!BDJ","4a8OxUa"],"required_present":[]},"all":{"required_absent":["Tmp!BDJ\t4a8OxUa","Tmp!BDJ","4a8OxUa"],"required_present":[]}},"tags":["broad-quality","secret-family:one-time-code","variation:09"],"secret_fixture":{"family":"one-time-code","role":"must-detect"}}, {"id":"broad-secret-one-time-code-preserve-09","language":"en","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad one-time-code variation.","text":"Trace[9]: Documentation syntax: 03035224","known_identities":[],"targets":[{"id":"value","kind":"secret","start":32,"end":40,"value":"03035224","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-one-time-code-preserve-09","recipe":"one-time-code","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["03035224"]},"customers":{"required_absent":[],"required_present":["03035224"]},"all":{"required_absent":[],"required_present":["03035224"]}},"tags":["broad-quality","secret-family:one-time-code","variation:09"],"secret_fixture":{"family":"one-time-code","role":"preserve"}}, {"id":"broad-secret-one-time-code-must-detect-10","language":"en","script":"Latin","shape":"code","risk":"critical","reason":"Locked broad one-time-code variation.","text":"fixture_10 := `Log field auth_value=832090`","known_identities":[],"targets":[{"id":"value","kind":"secret","start":36,"end":42,"value":"832090","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-one-time-code-must-detect-10","recipe":"one-time-code","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["832090"]},"customers":{"required_absent":["832090"],"required_present":[]},"all":{"required_absent":["832090"],"required_present":[]}},"tags":["broad-quality","secret-family:one-time-code","variation:10"],"secret_fixture":{"family":"one-time-code","role":"must-detect"}}, {"id":"broad-secret-one-time-code-preserve-10","language":"en","script":"Latin","shape":"code","risk":"preservation","reason":"Locked broad one-time-code variation.","text":"fixture_10 := `Public operational identifier: RFC-927839`","known_identities":[],"targets":[{"id":"value","kind":"secret","start":46,"end":56,"value":"RFC-927839","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-one-time-code-preserve-10","recipe":"one-time-code","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["RFC-927839"]},"customers":{"required_absent":[],"required_present":["RFC-927839"]},"all":{"required_absent":[],"required_present":["RFC-927839"]}},"tags":["broad-quality","secret-family:one-time-code","variation:10"],"secret_fixture":{"family":"one-time-code","role":"preserve"}}, @@ -168,231 +168,231 @@ {"id":"broad-secret-one-time-code-preserve-11","language":"en","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad one-time-code variation.","text":"--\nSchema field label: 6748.2289","known_identities":[],"targets":[{"id":"value","kind":"secret","start":23,"end":32,"value":"6748.2289","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-one-time-code-preserve-11","recipe":"one-time-code","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["6748.2289"]},"customers":{"required_absent":[],"required_present":["6748.2289"]},"all":{"required_absent":[],"required_present":["6748.2289"]}},"tags":["broad-quality","secret-family:one-time-code","variation:11"],"secret_fixture":{"family":"one-time-code","role":"preserve"}}, {"id":"broad-secret-one-time-code-must-detect-12","language":"en","script":"Latin","shape":"long-thread","risk":"critical","reason":"Locked broad one-time-code variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Quoted credential follows: 1491","known_identities":[],"targets":[{"id":"value","kind":"secret","start":507,"end":511,"value":"1491","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-one-time-code-must-detect-12","recipe":"one-time-code","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["1491"]},"customers":{"required_absent":["1491"],"required_present":[]},"all":{"required_absent":["1491"],"required_present":[]}},"tags":["broad-quality","secret-family:one-time-code","variation:12"],"secret_fixture":{"family":"one-time-code","role":"must-detect"}}, {"id":"broad-secret-one-time-code-preserve-12","language":"en","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad one-time-code variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Non-confidential protocol token: 13011918","known_identities":[],"targets":[{"id":"value","kind":"secret","start":513,"end":521,"value":"13011918","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-one-time-code-preserve-12","recipe":"one-time-code","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["13011918"]},"customers":{"required_absent":[],"required_present":["13011918"]},"all":{"required_absent":[],"required_present":["13011918"]}},"tags":["broad-quality","secret-family:one-time-code","variation:12"],"secret_fixture":{"family":"one-time-code","role":"preserve"}}, - {"id":"broad-secret-one-time-code-must-detect-13","language":"en","script":"Latin","shape":"command-payload","risk":"critical","reason":"Locked broad one-time-code variation.","text":"--sample=13 --message=\"Configuration secret: \" --value=A9TE-HBT5","known_identities":[],"targets":[{"id":"value","kind":"secret","start":55,"end":64,"value":"A9TE-HBT5","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-one-time-code-must-detect-13","recipe":"one-time-code","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["A9TE-HBT5"]},"customers":{"required_absent":["A9TE-HBT5"],"required_present":[]},"all":{"required_absent":["A9TE-HBT5"],"required_present":[]}},"tags":["broad-quality","secret-family:one-time-code","variation:13"],"secret_fixture":{"family":"one-time-code","role":"must-detect"}}, - {"id":"broad-secret-one-time-code-preserve-13","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad one-time-code variation.","text":"--sample=13 --message=\"Release metadata: \" --value=RFC-642436","known_identities":[],"targets":[{"id":"value","kind":"secret","start":51,"end":61,"value":"RFC-642436","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-one-time-code-preserve-13","recipe":"one-time-code","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["RFC-642436"]},"customers":{"required_absent":[],"required_present":["RFC-642436"]},"all":{"required_absent":[],"required_present":["RFC-642436"]}},"tags":["broad-quality","secret-family:one-time-code","variation:13"],"secret_fixture":{"family":"one-time-code","role":"preserve"}}, + {"id":"broad-secret-one-time-code-must-detect-13","language":"en","script":"Latin","shape":"command-payload","risk":"critical","reason":"Locked broad one-time-code variation.","text":"--sample=13 --message=\"Configuration secret: \" --credential=\"A9TE-HBT5\"","known_identities":[],"targets":[{"id":"value","kind":"secret","start":61,"end":70,"value":"A9TE-HBT5","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-one-time-code-must-detect-13","recipe":"one-time-code","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["A9TE-HBT5"]},"customers":{"required_absent":["A9TE-HBT5"],"required_present":[]},"all":{"required_absent":["A9TE-HBT5"],"required_present":[]}},"tags":["broad-quality","secret-family:one-time-code","variation:13"],"secret_fixture":{"family":"one-time-code","role":"must-detect"}}, + {"id":"broad-secret-one-time-code-preserve-13","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad one-time-code variation.","text":"--sample=13 --message=\"Release metadata: \" --credential=\"RFC-642436\"","known_identities":[],"targets":[{"id":"value","kind":"secret","start":57,"end":67,"value":"RFC-642436","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-one-time-code-preserve-13","recipe":"one-time-code","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["RFC-642436"]},"customers":{"required_absent":[],"required_present":["RFC-642436"]},"all":{"required_absent":[],"required_present":["RFC-642436"]}},"tags":["broad-quality","secret-family:one-time-code","variation:13"],"secret_fixture":{"family":"one-time-code","role":"preserve"}}, {"id":"broad-secret-private-key-must-detect-00","language":"en","script":"Latin","shape":"prose","risk":"critical","reason":"Locked broad private-key variation.","text":"Credential copied from a support reply: -----BEGIN SECRET-KEYX-----\nW41E7qdJye8XngdAb1HNTYPUVnpgZkx7332BF/t98LEy/EFtkPERo7iTyj4RbPly\nPu3g4VS8eUu5W7heKwawrmb/zH/oNtGPMXYTM2IaVoWKvzKqVTKwjvkrSLdedrag\no2NYUknPVQnGiJw77f98nVVp46NlMobsq0Vxy/FTkGZ08sYfbujet78mXSK8T/Pm\n5LDKk74hggIYua4k0kl8uf0SqQJm6QNOvVpF4BdPsfhc+3iTVTKndlnZnANSF7g4\n-----END SECRET-KEYX-----","known_identities":[],"targets":[{"id":"value","kind":"secret","start":40,"end":353,"value":"-----BEGIN SECRET-KEYX-----\nW41E7qdJye8XngdAb1HNTYPUVnpgZkx7332BF/t98LEy/EFtkPERo7iTyj4RbPly\nPu3g4VS8eUu5W7heKwawrmb/zH/oNtGPMXYTM2IaVoWKvzKqVTKwjvkrSLdedrag\no2NYUknPVQnGiJw77f98nVVp46NlMobsq0Vxy/FTkGZ08sYfbujet78mXSK8T/Pm\n5LDKk74hggIYua4k0kl8uf0SqQJm6QNOvVpF4BdPsfhc+3iTVTKndlnZnANSF7g4\n-----END SECRET-KEYX-----","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-private-key-must-detect-00","recipe":"private-key","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["-----BEGIN SECRET-KEYX-----\nW41E7qdJye8XngdAb1HNTYPUVnpgZkx7332BF/t98LEy/EFtkPERo7iTyj4RbPly\nPu3g4VS8eUu5W7heKwawrmb/zH/oNtGPMXYTM2IaVoWKvzKqVTKwjvkrSLdedrag\no2NYUknPVQnGiJw77f98nVVp46NlMobsq0Vxy/FTkGZ08sYfbujet78mXSK8T/Pm\n5LDKk74hggIYua4k0kl8uf0SqQJm6QNOvVpF4BdPsfhc+3iTVTKndlnZnANSF7g4\n-----END SECRET-KEYX-----"]},"customers":{"required_absent":["-----BEGIN SECRET-KEYX-----\nW41E7qdJye8XngdAb1HNTYPUVnpgZkx7332BF/t98LEy/EFtkPERo7iTyj4RbPly\nPu3g4VS8eUu5W7heKwawrmb/zH/oNtGPMXYTM2IaVoWKvzKqVTKwjvkrSLdedrag\no2NYUknPVQnGiJw77f98nVVp46NlMobsq0Vxy/FTkGZ08sYfbujet78mXSK8T/Pm\n5LDKk74hggIYua4k0kl8uf0SqQJm6QNOvVpF4BdPsfhc+3iTVTKndlnZnANSF7g4\n-----END SECRET-KEYX-----"],"required_present":[]},"all":{"required_absent":["-----BEGIN SECRET-KEYX-----\nW41E7qdJye8XngdAb1HNTYPUVnpgZkx7332BF/t98LEy/EFtkPERo7iTyj4RbPly\nPu3g4VS8eUu5W7heKwawrmb/zH/oNtGPMXYTM2IaVoWKvzKqVTKwjvkrSLdedrag\no2NYUknPVQnGiJw77f98nVVp46NlMobsq0Vxy/FTkGZ08sYfbujet78mXSK8T/Pm\n5LDKk74hggIYua4k0kl8uf0SqQJm6QNOvVpF4BdPsfhc+3iTVTKndlnZnANSF7g4\n-----END SECRET-KEYX-----"],"required_present":[]}},"tags":["broad-quality","secret-family:private-key","variation:00"],"secret_fixture":{"family":"private-key","role":"must-detect"}}, {"id":"broad-secret-private-key-preserve-00","language":"en","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad private-key variation.","text":"Public configuration vocabulary: -----BEGIN PUBLIC KEY-----\n+VbdXKoICCrZ9J9bZVJneI36wLr+QT2/gEbaRUjHWqGmQTXkTb+yX2A5PGmpMn4C\nuVx9bJNBPoP2/CkupH1wl5+0S6UjpO41iCAxqFi4GX4GyDiHUfa4wRqxMtHMbRRy\n-----END PUBLIC KEY-----","known_identities":[],"targets":[{"id":"value","kind":"secret","start":33,"end":214,"value":"-----BEGIN PUBLIC KEY-----\n+VbdXKoICCrZ9J9bZVJneI36wLr+QT2/gEbaRUjHWqGmQTXkTb+yX2A5PGmpMn4C\nuVx9bJNBPoP2/CkupH1wl5+0S6UjpO41iCAxqFi4GX4GyDiHUfa4wRqxMtHMbRRy\n-----END PUBLIC KEY-----","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-private-key-preserve-00","recipe":"private-key","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["-----BEGIN PUBLIC KEY-----\n+VbdXKoICCrZ9J9bZVJneI36wLr+QT2/gEbaRUjHWqGmQTXkTb+yX2A5PGmpMn4C\nuVx9bJNBPoP2/CkupH1wl5+0S6UjpO41iCAxqFi4GX4GyDiHUfa4wRqxMtHMbRRy\n-----END PUBLIC KEY-----"]},"customers":{"required_absent":[],"required_present":["-----BEGIN PUBLIC KEY-----\n+VbdXKoICCrZ9J9bZVJneI36wLr+QT2/gEbaRUjHWqGmQTXkTb+yX2A5PGmpMn4C\nuVx9bJNBPoP2/CkupH1wl5+0S6UjpO41iCAxqFi4GX4GyDiHUfa4wRqxMtHMbRRy\n-----END PUBLIC KEY-----"]},"all":{"required_absent":[],"required_present":["-----BEGIN PUBLIC KEY-----\n+VbdXKoICCrZ9J9bZVJneI36wLr+QT2/gEbaRUjHWqGmQTXkTb+yX2A5PGmpMn4C\nuVx9bJNBPoP2/CkupH1wl5+0S6UjpO41iCAxqFi4GX4GyDiHUfa4wRqxMtHMbRRy\n-----END PUBLIC KEY-----"]}},"tags":["broad-quality","secret-family:private-key","variation:00"],"secret_fixture":{"family":"private-key","role":"preserve"}}, - {"id":"broad-secret-private-key-must-detect-01","language":"en","script":"Latin","shape":"json","risk":"critical","reason":"Locked broad private-key variation.","text":"{\"message_1\":\"Authorization header value: -----BEGIN RSA SECRET-KEYX-----\n9PING2mAR/TdE49VbmxFQ7J7DQXpiK9j8Ydm8ikBr9mQRemvP0IyHf1KeUpReySp\nCs+vh9NMf8lwB257YkFGBSbgstzx6dUpypSCSp4S8qCBmAj3OcrhIC9OqiUA9TjE\nTFSdew0RBAjNDk2xenVCenspqHnWCSdS99mRlkb1ySWOODfCPW/UvQYeu+qRMTnn\nWo/E/GCpHYsDkT6lON5xuP7hf88x+hLRFVYS2cKeZdSoVqSz/kaWDipRo7iAR6Gg\n-----END RSA SECRET-KEYX-----\"}","known_identities":[],"targets":[{"id":"value","kind":"secret","start":42,"end":363,"value":"-----BEGIN RSA SECRET-KEYX-----\n9PING2mAR/TdE49VbmxFQ7J7DQXpiK9j8Ydm8ikBr9mQRemvP0IyHf1KeUpReySp\nCs+vh9NMf8lwB257YkFGBSbgstzx6dUpypSCSp4S8qCBmAj3OcrhIC9OqiUA9TjE\nTFSdew0RBAjNDk2xenVCenspqHnWCSdS99mRlkb1ySWOODfCPW/UvQYeu+qRMTnn\nWo/E/GCpHYsDkT6lON5xuP7hf88x+hLRFVYS2cKeZdSoVqSz/kaWDipRo7iAR6Gg\n-----END RSA SECRET-KEYX-----","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-private-key-must-detect-01","recipe":"private-key","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["-----BEGIN RSA SECRET-KEYX-----\n9PING2mAR/TdE49VbmxFQ7J7DQXpiK9j8Ydm8ikBr9mQRemvP0IyHf1KeUpReySp\nCs+vh9NMf8lwB257YkFGBSbgstzx6dUpypSCSp4S8qCBmAj3OcrhIC9OqiUA9TjE\nTFSdew0RBAjNDk2xenVCenspqHnWCSdS99mRlkb1ySWOODfCPW/UvQYeu+qRMTnn\nWo/E/GCpHYsDkT6lON5xuP7hf88x+hLRFVYS2cKeZdSoVqSz/kaWDipRo7iAR6Gg\n-----END RSA SECRET-KEYX-----"]},"customers":{"required_absent":["-----BEGIN RSA SECRET-KEYX-----\n9PING2mAR/TdE49VbmxFQ7J7DQXpiK9j8Ydm8ikBr9mQRemvP0IyHf1KeUpReySp\nCs+vh9NMf8lwB257YkFGBSbgstzx6dUpypSCSp4S8qCBmAj3OcrhIC9OqiUA9TjE\nTFSdew0RBAjNDk2xenVCenspqHnWCSdS99mRlkb1ySWOODfCPW/UvQYeu+qRMTnn\nWo/E/GCpHYsDkT6lON5xuP7hf88x+hLRFVYS2cKeZdSoVqSz/kaWDipRo7iAR6Gg\n-----END RSA SECRET-KEYX-----"],"required_present":[]},"all":{"required_absent":["-----BEGIN RSA SECRET-KEYX-----\n9PING2mAR/TdE49VbmxFQ7J7DQXpiK9j8Ydm8ikBr9mQRemvP0IyHf1KeUpReySp\nCs+vh9NMf8lwB257YkFGBSbgstzx6dUpypSCSp4S8qCBmAj3OcrhIC9OqiUA9TjE\nTFSdew0RBAjNDk2xenVCenspqHnWCSdS99mRlkb1ySWOODfCPW/UvQYeu+qRMTnn\nWo/E/GCpHYsDkT6lON5xuP7hf88x+hLRFVYS2cKeZdSoVqSz/kaWDipRo7iAR6Gg\n-----END RSA SECRET-KEYX-----"],"required_present":[]}},"tags":["broad-quality","secret-family:private-key","variation:01"],"secret_fixture":{"family":"private-key","role":"must-detect"}}, - {"id":"broad-secret-private-key-preserve-01","language":"en","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad private-key variation.","text":"{\"message_1\":\"Documentation syntax: -----BEGIN CERTIFICATE-----\n0izQYreNNSxybhYLOt5/J/FytF/eapWjuqtgTLpyx9EWi+zCQCmciDerbQVapQvK\nJ+gbcIpcjLdfjPiw4aHPYQXDmqlnEQ8filcxbh9Tql9x++YHEC2JW0Y50h2u8LHs\n-----END CERTIFICATE-----\"}","known_identities":[],"targets":[{"id":"value","kind":"secret","start":36,"end":219,"value":"-----BEGIN CERTIFICATE-----\n0izQYreNNSxybhYLOt5/J/FytF/eapWjuqtgTLpyx9EWi+zCQCmciDerbQVapQvK\nJ+gbcIpcjLdfjPiw4aHPYQXDmqlnEQ8filcxbh9Tql9x++YHEC2JW0Y50h2u8LHs\n-----END CERTIFICATE-----","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-private-key-preserve-01","recipe":"private-key","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["-----BEGIN CERTIFICATE-----\n0izQYreNNSxybhYLOt5/J/FytF/eapWjuqtgTLpyx9EWi+zCQCmciDerbQVapQvK\nJ+gbcIpcjLdfjPiw4aHPYQXDmqlnEQ8filcxbh9Tql9x++YHEC2JW0Y50h2u8LHs\n-----END CERTIFICATE-----"]},"customers":{"required_absent":[],"required_present":["-----BEGIN CERTIFICATE-----\n0izQYreNNSxybhYLOt5/J/FytF/eapWjuqtgTLpyx9EWi+zCQCmciDerbQVapQvK\nJ+gbcIpcjLdfjPiw4aHPYQXDmqlnEQ8filcxbh9Tql9x++YHEC2JW0Y50h2u8LHs\n-----END CERTIFICATE-----"]},"all":{"required_absent":[],"required_present":["-----BEGIN CERTIFICATE-----\n0izQYreNNSxybhYLOt5/J/FytF/eapWjuqtgTLpyx9EWi+zCQCmciDerbQVapQvK\nJ+gbcIpcjLdfjPiw4aHPYQXDmqlnEQ8filcxbh9Tql9x++YHEC2JW0Y50h2u8LHs\n-----END CERTIFICATE-----"]}},"tags":["broad-quality","secret-family:private-key","variation:01"],"secret_fixture":{"family":"private-key","role":"preserve"}}, - {"id":"broad-secret-private-key-must-detect-02","language":"en","script":"Latin","shape":"yaml","risk":"critical","reason":"Locked broad private-key variation.","text":"message_2: Log field auth_value=-----BEGIN EC SECRET-KEYX-----\nViH1SOmvWMYOmQBpC33AT1kh+ytL2AdgimBl4o5o0oxeHvac1cu2eoLdD4M6h8kD\nYNgtM6WZrkVvYANqlIb3EA5VL+XD5gib/O7/GfX7PwjSUPjpandaAcOcaXVX0nKh\nOUZqDtAbeFNyeqMjiQPNVjyL58NcZwUok37b7002mrIT732/PruU8y100Je3wm8o\nUQZp9CXknZ5AgdE2tNLW3Z6E71XE4DIG4qv/C91wP2YtP08Wriz41Gyummq7vgu+\n-----END EC SECRET-KEYX-----","known_identities":[],"targets":[{"id":"value","kind":"secret","start":32,"end":351,"value":"-----BEGIN EC SECRET-KEYX-----\nViH1SOmvWMYOmQBpC33AT1kh+ytL2AdgimBl4o5o0oxeHvac1cu2eoLdD4M6h8kD\nYNgtM6WZrkVvYANqlIb3EA5VL+XD5gib/O7/GfX7PwjSUPjpandaAcOcaXVX0nKh\nOUZqDtAbeFNyeqMjiQPNVjyL58NcZwUok37b7002mrIT732/PruU8y100Je3wm8o\nUQZp9CXknZ5AgdE2tNLW3Z6E71XE4DIG4qv/C91wP2YtP08Wriz41Gyummq7vgu+\n-----END EC SECRET-KEYX-----","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-private-key-must-detect-02","recipe":"private-key","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["-----BEGIN EC SECRET-KEYX-----\nViH1SOmvWMYOmQBpC33AT1kh+ytL2AdgimBl4o5o0oxeHvac1cu2eoLdD4M6h8kD\nYNgtM6WZrkVvYANqlIb3EA5VL+XD5gib/O7/GfX7PwjSUPjpandaAcOcaXVX0nKh\nOUZqDtAbeFNyeqMjiQPNVjyL58NcZwUok37b7002mrIT732/PruU8y100Je3wm8o\nUQZp9CXknZ5AgdE2tNLW3Z6E71XE4DIG4qv/C91wP2YtP08Wriz41Gyummq7vgu+\n-----END EC SECRET-KEYX-----"]},"customers":{"required_absent":["-----BEGIN EC SECRET-KEYX-----\nViH1SOmvWMYOmQBpC33AT1kh+ytL2AdgimBl4o5o0oxeHvac1cu2eoLdD4M6h8kD\nYNgtM6WZrkVvYANqlIb3EA5VL+XD5gib/O7/GfX7PwjSUPjpandaAcOcaXVX0nKh\nOUZqDtAbeFNyeqMjiQPNVjyL58NcZwUok37b7002mrIT732/PruU8y100Je3wm8o\nUQZp9CXknZ5AgdE2tNLW3Z6E71XE4DIG4qv/C91wP2YtP08Wriz41Gyummq7vgu+\n-----END EC SECRET-KEYX-----"],"required_present":[]},"all":{"required_absent":["-----BEGIN EC SECRET-KEYX-----\nViH1SOmvWMYOmQBpC33AT1kh+ytL2AdgimBl4o5o0oxeHvac1cu2eoLdD4M6h8kD\nYNgtM6WZrkVvYANqlIb3EA5VL+XD5gib/O7/GfX7PwjSUPjpandaAcOcaXVX0nKh\nOUZqDtAbeFNyeqMjiQPNVjyL58NcZwUok37b7002mrIT732/PruU8y100Je3wm8o\nUQZp9CXknZ5AgdE2tNLW3Z6E71XE4DIG4qv/C91wP2YtP08Wriz41Gyummq7vgu+\n-----END EC SECRET-KEYX-----"],"required_present":[]}},"tags":["broad-quality","secret-family:private-key","variation:02"],"secret_fixture":{"family":"private-key","role":"must-detect"}}, - {"id":"broad-secret-private-key-preserve-02","language":"en","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad private-key variation.","text":"message_2: Public operational identifier: -----BEGIN PUBLIC KEY-----\ncYeRU12D//diRN55xzTdN7XTsZVs9DuxjkRWYBde08f3Ktnxgz1/iynsEDgOyEpZ\n5jkDEPR8odUCk0xawX3W0srlh4ialRlt8aCHvLPs1FYePxbGjDAk1V8huzFTvnpV\n-----END PUBLIC KEY-----","known_identities":[],"targets":[{"id":"value","kind":"secret","start":42,"end":223,"value":"-----BEGIN PUBLIC KEY-----\ncYeRU12D//diRN55xzTdN7XTsZVs9DuxjkRWYBde08f3Ktnxgz1/iynsEDgOyEpZ\n5jkDEPR8odUCk0xawX3W0srlh4ialRlt8aCHvLPs1FYePxbGjDAk1V8huzFTvnpV\n-----END PUBLIC KEY-----","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-private-key-preserve-02","recipe":"private-key","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["-----BEGIN PUBLIC KEY-----\ncYeRU12D//diRN55xzTdN7XTsZVs9DuxjkRWYBde08f3Ktnxgz1/iynsEDgOyEpZ\n5jkDEPR8odUCk0xawX3W0srlh4ialRlt8aCHvLPs1FYePxbGjDAk1V8huzFTvnpV\n-----END PUBLIC KEY-----"]},"customers":{"required_absent":[],"required_present":["-----BEGIN PUBLIC KEY-----\ncYeRU12D//diRN55xzTdN7XTsZVs9DuxjkRWYBde08f3Ktnxgz1/iynsEDgOyEpZ\n5jkDEPR8odUCk0xawX3W0srlh4ialRlt8aCHvLPs1FYePxbGjDAk1V8huzFTvnpV\n-----END PUBLIC KEY-----"]},"all":{"required_absent":[],"required_present":["-----BEGIN PUBLIC KEY-----\ncYeRU12D//diRN55xzTdN7XTsZVs9DuxjkRWYBde08f3Ktnxgz1/iynsEDgOyEpZ\n5jkDEPR8odUCk0xawX3W0srlh4ialRlt8aCHvLPs1FYePxbGjDAk1V8huzFTvnpV\n-----END PUBLIC KEY-----"]}},"tags":["broad-quality","secret-family:private-key","variation:02"],"secret_fixture":{"family":"private-key","role":"preserve"}}, + {"id":"broad-secret-private-key-must-detect-01","language":"en","script":"Latin","shape":"json","risk":"critical","reason":"Locked broad private-key variation.","text":"{\"message_1\":\"Authorization header value: -----BEGIN RSA SECRET-KEYX-----\\n9PING2mAR/TdE49VbmxFQ7J7DQXpiK9j8Ydm8ikBr9mQRemvP0IyHf1KeUpReySp\\nCs+vh9NMf8lwB257YkFGBSbgstzx6dUpypSCSp4S8qCBmAj3OcrhIC9OqiUA9TjE\\nTFSdew0RBAjNDk2xenVCenspqHnWCSdS99mRlkb1ySWOODfCPW/UvQYeu+qRMTnn\\nWo/E/GCpHYsDkT6lON5xuP7hf88x+hLRFVYS2cKeZdSoVqSz/kaWDipRo7iAR6Gg\\n-----END RSA SECRET-KEYX-----\"}","known_identities":[],"targets":[{"id":"value","kind":"secret","start":42,"end":368,"value":"-----BEGIN RSA SECRET-KEYX-----\\n9PING2mAR/TdE49VbmxFQ7J7DQXpiK9j8Ydm8ikBr9mQRemvP0IyHf1KeUpReySp\\nCs+vh9NMf8lwB257YkFGBSbgstzx6dUpypSCSp4S8qCBmAj3OcrhIC9OqiUA9TjE\\nTFSdew0RBAjNDk2xenVCenspqHnWCSdS99mRlkb1ySWOODfCPW/UvQYeu+qRMTnn\\nWo/E/GCpHYsDkT6lON5xuP7hf88x+hLRFVYS2cKeZdSoVqSz/kaWDipRo7iAR6Gg\\n-----END RSA SECRET-KEYX-----","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-private-key-must-detect-01","recipe":"private-key","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["-----BEGIN RSA SECRET-KEYX-----\\n9PING2mAR/TdE49VbmxFQ7J7DQXpiK9j8Ydm8ikBr9mQRemvP0IyHf1KeUpReySp\\nCs+vh9NMf8lwB257YkFGBSbgstzx6dUpypSCSp4S8qCBmAj3OcrhIC9OqiUA9TjE\\nTFSdew0RBAjNDk2xenVCenspqHnWCSdS99mRlkb1ySWOODfCPW/UvQYeu+qRMTnn\\nWo/E/GCpHYsDkT6lON5xuP7hf88x+hLRFVYS2cKeZdSoVqSz/kaWDipRo7iAR6Gg\\n-----END RSA SECRET-KEYX-----"]},"customers":{"required_absent":["-----BEGIN RSA SECRET-KEYX-----\\n9PING2mAR/TdE49VbmxFQ7J7DQXpiK9j8Ydm8ikBr9mQRemvP0IyHf1KeUpReySp\\nCs+vh9NMf8lwB257YkFGBSbgstzx6dUpypSCSp4S8qCBmAj3OcrhIC9OqiUA9TjE\\nTFSdew0RBAjNDk2xenVCenspqHnWCSdS99mRlkb1ySWOODfCPW/UvQYeu+qRMTnn\\nWo/E/GCpHYsDkT6lON5xuP7hf88x+hLRFVYS2cKeZdSoVqSz/kaWDipRo7iAR6Gg\\n-----END RSA SECRET-KEYX-----"],"required_present":[]},"all":{"required_absent":["-----BEGIN RSA SECRET-KEYX-----\\n9PING2mAR/TdE49VbmxFQ7J7DQXpiK9j8Ydm8ikBr9mQRemvP0IyHf1KeUpReySp\\nCs+vh9NMf8lwB257YkFGBSbgstzx6dUpypSCSp4S8qCBmAj3OcrhIC9OqiUA9TjE\\nTFSdew0RBAjNDk2xenVCenspqHnWCSdS99mRlkb1ySWOODfCPW/UvQYeu+qRMTnn\\nWo/E/GCpHYsDkT6lON5xuP7hf88x+hLRFVYS2cKeZdSoVqSz/kaWDipRo7iAR6Gg\\n-----END RSA SECRET-KEYX-----"],"required_present":[]}},"tags":["broad-quality","secret-family:private-key","variation:01"],"secret_fixture":{"family":"private-key","role":"must-detect"}}, + {"id":"broad-secret-private-key-preserve-01","language":"en","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad private-key variation.","text":"{\"message_1\":\"Documentation syntax: -----BEGIN CERTIFICATE-----\\n0izQYreNNSxybhYLOt5/J/FytF/eapWjuqtgTLpyx9EWi+zCQCmciDerbQVapQvK\\nJ+gbcIpcjLdfjPiw4aHPYQXDmqlnEQ8filcxbh9Tql9x++YHEC2JW0Y50h2u8LHs\\n-----END CERTIFICATE-----\"}","known_identities":[],"targets":[{"id":"value","kind":"secret","start":36,"end":222,"value":"-----BEGIN CERTIFICATE-----\\n0izQYreNNSxybhYLOt5/J/FytF/eapWjuqtgTLpyx9EWi+zCQCmciDerbQVapQvK\\nJ+gbcIpcjLdfjPiw4aHPYQXDmqlnEQ8filcxbh9Tql9x++YHEC2JW0Y50h2u8LHs\\n-----END CERTIFICATE-----","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-private-key-preserve-01","recipe":"private-key","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["-----BEGIN CERTIFICATE-----\\n0izQYreNNSxybhYLOt5/J/FytF/eapWjuqtgTLpyx9EWi+zCQCmciDerbQVapQvK\\nJ+gbcIpcjLdfjPiw4aHPYQXDmqlnEQ8filcxbh9Tql9x++YHEC2JW0Y50h2u8LHs\\n-----END CERTIFICATE-----"]},"customers":{"required_absent":[],"required_present":["-----BEGIN CERTIFICATE-----\\n0izQYreNNSxybhYLOt5/J/FytF/eapWjuqtgTLpyx9EWi+zCQCmciDerbQVapQvK\\nJ+gbcIpcjLdfjPiw4aHPYQXDmqlnEQ8filcxbh9Tql9x++YHEC2JW0Y50h2u8LHs\\n-----END CERTIFICATE-----"]},"all":{"required_absent":[],"required_present":["-----BEGIN CERTIFICATE-----\\n0izQYreNNSxybhYLOt5/J/FytF/eapWjuqtgTLpyx9EWi+zCQCmciDerbQVapQvK\\nJ+gbcIpcjLdfjPiw4aHPYQXDmqlnEQ8filcxbh9Tql9x++YHEC2JW0Y50h2u8LHs\\n-----END CERTIFICATE-----"]}},"tags":["broad-quality","secret-family:private-key","variation:01"],"secret_fixture":{"family":"private-key","role":"preserve"}}, + {"id":"broad-secret-private-key-must-detect-02","language":"en","script":"Latin","shape":"yaml","risk":"critical","reason":"Locked broad private-key variation.","text":"message_2: \"Log field auth_value=-----BEGIN EC SECRET-KEYX-----\\nViH1SOmvWMYOmQBpC33AT1kh+ytL2AdgimBl4o5o0oxeHvac1cu2eoLdD4M6h8kD\\nYNgtM6WZrkVvYANqlIb3EA5VL+XD5gib/O7/GfX7PwjSUPjpandaAcOcaXVX0nKh\\nOUZqDtAbeFNyeqMjiQPNVjyL58NcZwUok37b7002mrIT732/PruU8y100Je3wm8o\\nUQZp9CXknZ5AgdE2tNLW3Z6E71XE4DIG4qv/C91wP2YtP08Wriz41Gyummq7vgu+\\n-----END EC SECRET-KEYX-----\"","known_identities":[],"targets":[{"id":"value","kind":"secret","start":33,"end":357,"value":"-----BEGIN EC SECRET-KEYX-----\\nViH1SOmvWMYOmQBpC33AT1kh+ytL2AdgimBl4o5o0oxeHvac1cu2eoLdD4M6h8kD\\nYNgtM6WZrkVvYANqlIb3EA5VL+XD5gib/O7/GfX7PwjSUPjpandaAcOcaXVX0nKh\\nOUZqDtAbeFNyeqMjiQPNVjyL58NcZwUok37b7002mrIT732/PruU8y100Je3wm8o\\nUQZp9CXknZ5AgdE2tNLW3Z6E71XE4DIG4qv/C91wP2YtP08Wriz41Gyummq7vgu+\\n-----END EC SECRET-KEYX-----","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-private-key-must-detect-02","recipe":"private-key","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["-----BEGIN EC SECRET-KEYX-----\\nViH1SOmvWMYOmQBpC33AT1kh+ytL2AdgimBl4o5o0oxeHvac1cu2eoLdD4M6h8kD\\nYNgtM6WZrkVvYANqlIb3EA5VL+XD5gib/O7/GfX7PwjSUPjpandaAcOcaXVX0nKh\\nOUZqDtAbeFNyeqMjiQPNVjyL58NcZwUok37b7002mrIT732/PruU8y100Je3wm8o\\nUQZp9CXknZ5AgdE2tNLW3Z6E71XE4DIG4qv/C91wP2YtP08Wriz41Gyummq7vgu+\\n-----END EC SECRET-KEYX-----"]},"customers":{"required_absent":["-----BEGIN EC SECRET-KEYX-----\\nViH1SOmvWMYOmQBpC33AT1kh+ytL2AdgimBl4o5o0oxeHvac1cu2eoLdD4M6h8kD\\nYNgtM6WZrkVvYANqlIb3EA5VL+XD5gib/O7/GfX7PwjSUPjpandaAcOcaXVX0nKh\\nOUZqDtAbeFNyeqMjiQPNVjyL58NcZwUok37b7002mrIT732/PruU8y100Je3wm8o\\nUQZp9CXknZ5AgdE2tNLW3Z6E71XE4DIG4qv/C91wP2YtP08Wriz41Gyummq7vgu+\\n-----END EC SECRET-KEYX-----"],"required_present":[]},"all":{"required_absent":["-----BEGIN EC SECRET-KEYX-----\\nViH1SOmvWMYOmQBpC33AT1kh+ytL2AdgimBl4o5o0oxeHvac1cu2eoLdD4M6h8kD\\nYNgtM6WZrkVvYANqlIb3EA5VL+XD5gib/O7/GfX7PwjSUPjpandaAcOcaXVX0nKh\\nOUZqDtAbeFNyeqMjiQPNVjyL58NcZwUok37b7002mrIT732/PruU8y100Je3wm8o\\nUQZp9CXknZ5AgdE2tNLW3Z6E71XE4DIG4qv/C91wP2YtP08Wriz41Gyummq7vgu+\\n-----END EC SECRET-KEYX-----"],"required_present":[]}},"tags":["broad-quality","secret-family:private-key","variation:02"],"secret_fixture":{"family":"private-key","role":"must-detect"}}, + {"id":"broad-secret-private-key-preserve-02","language":"en","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad private-key variation.","text":"message_2: \"Public operational identifier: -----BEGIN PUBLIC KEY-----\\ncYeRU12D//diRN55xzTdN7XTsZVs9DuxjkRWYBde08f3Ktnxgz1/iynsEDgOyEpZ\\n5jkDEPR8odUCk0xawX3W0srlh4ialRlt8aCHvLPs1FYePxbGjDAk1V8huzFTvnpV\\n-----END PUBLIC KEY-----\"","known_identities":[],"targets":[{"id":"value","kind":"secret","start":43,"end":227,"value":"-----BEGIN PUBLIC KEY-----\\ncYeRU12D//diRN55xzTdN7XTsZVs9DuxjkRWYBde08f3Ktnxgz1/iynsEDgOyEpZ\\n5jkDEPR8odUCk0xawX3W0srlh4ialRlt8aCHvLPs1FYePxbGjDAk1V8huzFTvnpV\\n-----END PUBLIC KEY-----","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-private-key-preserve-02","recipe":"private-key","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["-----BEGIN PUBLIC KEY-----\\ncYeRU12D//diRN55xzTdN7XTsZVs9DuxjkRWYBde08f3Ktnxgz1/iynsEDgOyEpZ\\n5jkDEPR8odUCk0xawX3W0srlh4ialRlt8aCHvLPs1FYePxbGjDAk1V8huzFTvnpV\\n-----END PUBLIC KEY-----"]},"customers":{"required_absent":[],"required_present":["-----BEGIN PUBLIC KEY-----\\ncYeRU12D//diRN55xzTdN7XTsZVs9DuxjkRWYBde08f3Ktnxgz1/iynsEDgOyEpZ\\n5jkDEPR8odUCk0xawX3W0srlh4ialRlt8aCHvLPs1FYePxbGjDAk1V8huzFTvnpV\\n-----END PUBLIC KEY-----"]},"all":{"required_absent":[],"required_present":["-----BEGIN PUBLIC KEY-----\\ncYeRU12D//diRN55xzTdN7XTsZVs9DuxjkRWYBde08f3Ktnxgz1/iynsEDgOyEpZ\\n5jkDEPR8odUCk0xawX3W0srlh4ialRlt8aCHvLPs1FYePxbGjDAk1V8huzFTvnpV\\n-----END PUBLIC KEY-----"]}},"tags":["broad-quality","secret-family:private-key","variation:02"],"secret_fixture":{"family":"private-key","role":"preserve"}}, {"id":"broad-secret-private-key-must-detect-03","language":"en","script":"Latin","shape":"shell","risk":"critical","reason":"Locked broad private-key variation.","text":"MESSAGE_3='Rotating this exposed value: -----BEGIN OPENSSH SECRET-KEYX-----\neMU8vWXXGzFlnFEzXcF+tTj8Fk0lvw3cllxLAI9weh/yIvejLp/kx11uK1TigFQ6\nl85hV1e8FFDT1c4hjHaY8HfI6TiCGUiRDqelL7Pfao+p/v+C34ch2a+g/kDZmrJJ\nfgHiL/F3oirW2UzBLV8FF/qE2Hnxb2eSaB4Kxo6XGSfIhu6KWmfU8UPmliR+E+ax\nv3KGHl2Wbk8BID/OgnUW7Ji3dNnAsqMX9/F2/DL5XUmOJ89jmlM0mVLKpBzZgv22\n-----END OPENSSH SECRET-KEYX-----'","known_identities":[],"targets":[{"id":"value","kind":"secret","start":40,"end":369,"value":"-----BEGIN OPENSSH SECRET-KEYX-----\neMU8vWXXGzFlnFEzXcF+tTj8Fk0lvw3cllxLAI9weh/yIvejLp/kx11uK1TigFQ6\nl85hV1e8FFDT1c4hjHaY8HfI6TiCGUiRDqelL7Pfao+p/v+C34ch2a+g/kDZmrJJ\nfgHiL/F3oirW2UzBLV8FF/qE2Hnxb2eSaB4Kxo6XGSfIhu6KWmfU8UPmliR+E+ax\nv3KGHl2Wbk8BID/OgnUW7Ji3dNnAsqMX9/F2/DL5XUmOJ89jmlM0mVLKpBzZgv22\n-----END OPENSSH SECRET-KEYX-----","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-private-key-must-detect-03","recipe":"private-key","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["-----BEGIN OPENSSH SECRET-KEYX-----\neMU8vWXXGzFlnFEzXcF+tTj8Fk0lvw3cllxLAI9weh/yIvejLp/kx11uK1TigFQ6\nl85hV1e8FFDT1c4hjHaY8HfI6TiCGUiRDqelL7Pfao+p/v+C34ch2a+g/kDZmrJJ\nfgHiL/F3oirW2UzBLV8FF/qE2Hnxb2eSaB4Kxo6XGSfIhu6KWmfU8UPmliR+E+ax\nv3KGHl2Wbk8BID/OgnUW7Ji3dNnAsqMX9/F2/DL5XUmOJ89jmlM0mVLKpBzZgv22\n-----END OPENSSH SECRET-KEYX-----"]},"customers":{"required_absent":["-----BEGIN OPENSSH SECRET-KEYX-----\neMU8vWXXGzFlnFEzXcF+tTj8Fk0lvw3cllxLAI9weh/yIvejLp/kx11uK1TigFQ6\nl85hV1e8FFDT1c4hjHaY8HfI6TiCGUiRDqelL7Pfao+p/v+C34ch2a+g/kDZmrJJ\nfgHiL/F3oirW2UzBLV8FF/qE2Hnxb2eSaB4Kxo6XGSfIhu6KWmfU8UPmliR+E+ax\nv3KGHl2Wbk8BID/OgnUW7Ji3dNnAsqMX9/F2/DL5XUmOJ89jmlM0mVLKpBzZgv22\n-----END OPENSSH SECRET-KEYX-----"],"required_present":[]},"all":{"required_absent":["-----BEGIN OPENSSH SECRET-KEYX-----\neMU8vWXXGzFlnFEzXcF+tTj8Fk0lvw3cllxLAI9weh/yIvejLp/kx11uK1TigFQ6\nl85hV1e8FFDT1c4hjHaY8HfI6TiCGUiRDqelL7Pfao+p/v+C34ch2a+g/kDZmrJJ\nfgHiL/F3oirW2UzBLV8FF/qE2Hnxb2eSaB4Kxo6XGSfIhu6KWmfU8UPmliR+E+ax\nv3KGHl2Wbk8BID/OgnUW7Ji3dNnAsqMX9/F2/DL5XUmOJ89jmlM0mVLKpBzZgv22\n-----END OPENSSH SECRET-KEYX-----"],"required_present":[]}},"tags":["broad-quality","secret-family:private-key","variation:03"],"secret_fixture":{"family":"private-key","role":"must-detect"}}, {"id":"broad-secret-private-key-preserve-03","language":"en","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad private-key variation.","text":"MESSAGE_3='Schema field label: -----BEGIN CERTIFICATE-----\nmx+lzV989i92XgkNmMa3d+BFhGUHsHVIGv7rF1rDZ29QCKBJMLpQDdVc16TlHfq3\nnR7sqBdLjP0g0CgkHjk15g4qbli64blYzcu1eZOy4eOOF60JhvHJ/wm/o+Bf0AHJ\n-----END CERTIFICATE-----'","known_identities":[],"targets":[{"id":"value","kind":"secret","start":31,"end":214,"value":"-----BEGIN CERTIFICATE-----\nmx+lzV989i92XgkNmMa3d+BFhGUHsHVIGv7rF1rDZ29QCKBJMLpQDdVc16TlHfq3\nnR7sqBdLjP0g0CgkHjk15g4qbli64blYzcu1eZOy4eOOF60JhvHJ/wm/o+Bf0AHJ\n-----END CERTIFICATE-----","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-private-key-preserve-03","recipe":"private-key","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["-----BEGIN CERTIFICATE-----\nmx+lzV989i92XgkNmMa3d+BFhGUHsHVIGv7rF1rDZ29QCKBJMLpQDdVc16TlHfq3\nnR7sqBdLjP0g0CgkHjk15g4qbli64blYzcu1eZOy4eOOF60JhvHJ/wm/o+Bf0AHJ\n-----END CERTIFICATE-----"]},"customers":{"required_absent":[],"required_present":["-----BEGIN CERTIFICATE-----\nmx+lzV989i92XgkNmMa3d+BFhGUHsHVIGv7rF1rDZ29QCKBJMLpQDdVc16TlHfq3\nnR7sqBdLjP0g0CgkHjk15g4qbli64blYzcu1eZOy4eOOF60JhvHJ/wm/o+Bf0AHJ\n-----END CERTIFICATE-----"]},"all":{"required_absent":[],"required_present":["-----BEGIN CERTIFICATE-----\nmx+lzV989i92XgkNmMa3d+BFhGUHsHVIGv7rF1rDZ29QCKBJMLpQDdVc16TlHfq3\nnR7sqBdLjP0g0CgkHjk15g4qbli64blYzcu1eZOy4eOOF60JhvHJ/wm/o+Bf0AHJ\n-----END CERTIFICATE-----"]}},"tags":["broad-quality","secret-family:private-key","variation:03"],"secret_fixture":{"family":"private-key","role":"preserve"}}, - {"id":"broad-secret-private-key-must-detect-04","language":"en","script":"Latin","shape":"url","risk":"critical","reason":"Locked broad private-key variation.","text":"endpoint=https://192.0.2.10/4 ; Quoted credential follows: -----BEGIN ENCRYPTED SECRET-KEYX-----\nziaONyn8hHic0llBayXXn/7Mlon8QWaQvOBPH+6pQyeqoJzaWNr6iB6/IHb5DrCh\n/rQYj1wRcyFJnwZ4mfLfemTc8+iRp55033X0rN5WQcbr5FUGJRbouJUf7iLZEw0b\nzVYKtADyuA1VU6j9Mys0SQdkYBx4HcstVsDW+jBLEBCgY+S0CjPTjrtK74bRtfYw\ni7CdzkXR9qQQhaadiNgsr2WQd52DIzumv4kY3GICLzf1MMTbVuq/ZCvBAVJDUt5t\n-----END ENCRYPTED SECRET-KEYX-----","known_identities":[],"targets":[{"id":"value","kind":"secret","start":59,"end":392,"value":"-----BEGIN ENCRYPTED SECRET-KEYX-----\nziaONyn8hHic0llBayXXn/7Mlon8QWaQvOBPH+6pQyeqoJzaWNr6iB6/IHb5DrCh\n/rQYj1wRcyFJnwZ4mfLfemTc8+iRp55033X0rN5WQcbr5FUGJRbouJUf7iLZEw0b\nzVYKtADyuA1VU6j9Mys0SQdkYBx4HcstVsDW+jBLEBCgY+S0CjPTjrtK74bRtfYw\ni7CdzkXR9qQQhaadiNgsr2WQd52DIzumv4kY3GICLzf1MMTbVuq/ZCvBAVJDUt5t\n-----END ENCRYPTED SECRET-KEYX-----","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-private-key-must-detect-04","recipe":"private-key","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["-----BEGIN ENCRYPTED SECRET-KEYX-----\nziaONyn8hHic0llBayXXn/7Mlon8QWaQvOBPH+6pQyeqoJzaWNr6iB6/IHb5DrCh\n/rQYj1wRcyFJnwZ4mfLfemTc8+iRp55033X0rN5WQcbr5FUGJRbouJUf7iLZEw0b\nzVYKtADyuA1VU6j9Mys0SQdkYBx4HcstVsDW+jBLEBCgY+S0CjPTjrtK74bRtfYw\ni7CdzkXR9qQQhaadiNgsr2WQd52DIzumv4kY3GICLzf1MMTbVuq/ZCvBAVJDUt5t\n-----END ENCRYPTED SECRET-KEYX-----"]},"customers":{"required_absent":["-----BEGIN ENCRYPTED SECRET-KEYX-----\nziaONyn8hHic0llBayXXn/7Mlon8QWaQvOBPH+6pQyeqoJzaWNr6iB6/IHb5DrCh\n/rQYj1wRcyFJnwZ4mfLfemTc8+iRp55033X0rN5WQcbr5FUGJRbouJUf7iLZEw0b\nzVYKtADyuA1VU6j9Mys0SQdkYBx4HcstVsDW+jBLEBCgY+S0CjPTjrtK74bRtfYw\ni7CdzkXR9qQQhaadiNgsr2WQd52DIzumv4kY3GICLzf1MMTbVuq/ZCvBAVJDUt5t\n-----END ENCRYPTED SECRET-KEYX-----"],"required_present":[]},"all":{"required_absent":["-----BEGIN ENCRYPTED SECRET-KEYX-----\nziaONyn8hHic0llBayXXn/7Mlon8QWaQvOBPH+6pQyeqoJzaWNr6iB6/IHb5DrCh\n/rQYj1wRcyFJnwZ4mfLfemTc8+iRp55033X0rN5WQcbr5FUGJRbouJUf7iLZEw0b\nzVYKtADyuA1VU6j9Mys0SQdkYBx4HcstVsDW+jBLEBCgY+S0CjPTjrtK74bRtfYw\ni7CdzkXR9qQQhaadiNgsr2WQd52DIzumv4kY3GICLzf1MMTbVuq/ZCvBAVJDUt5t\n-----END ENCRYPTED SECRET-KEYX-----"],"required_present":[]}},"tags":["broad-quality","secret-family:private-key","variation:04"],"secret_fixture":{"family":"private-key","role":"must-detect"}}, - {"id":"broad-secret-private-key-preserve-04","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad private-key variation.","text":"endpoint=https://192.0.2.10/4 ; Non-confidential protocol token: -----BEGIN PUBLIC KEY-----\nvNSNcEUQnySaDsLt07jhyFfPefgvKDWdore4LDJO2zYoQFZ7IGiVlxUIYLlvSyJb\n6EmI2mDrwHV+obedTh4rmexKi1ajHgx7+fYQSepEzOJYG8U4lFVoiAjqsFIK4XFF\n-----END PUBLIC KEY-----","known_identities":[],"targets":[{"id":"value","kind":"secret","start":65,"end":246,"value":"-----BEGIN PUBLIC KEY-----\nvNSNcEUQnySaDsLt07jhyFfPefgvKDWdore4LDJO2zYoQFZ7IGiVlxUIYLlvSyJb\n6EmI2mDrwHV+obedTh4rmexKi1ajHgx7+fYQSepEzOJYG8U4lFVoiAjqsFIK4XFF\n-----END PUBLIC KEY-----","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-private-key-preserve-04","recipe":"private-key","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["-----BEGIN PUBLIC KEY-----\nvNSNcEUQnySaDsLt07jhyFfPefgvKDWdore4LDJO2zYoQFZ7IGiVlxUIYLlvSyJb\n6EmI2mDrwHV+obedTh4rmexKi1ajHgx7+fYQSepEzOJYG8U4lFVoiAjqsFIK4XFF\n-----END PUBLIC KEY-----"]},"customers":{"required_absent":[],"required_present":["-----BEGIN PUBLIC KEY-----\nvNSNcEUQnySaDsLt07jhyFfPefgvKDWdore4LDJO2zYoQFZ7IGiVlxUIYLlvSyJb\n6EmI2mDrwHV+obedTh4rmexKi1ajHgx7+fYQSepEzOJYG8U4lFVoiAjqsFIK4XFF\n-----END PUBLIC KEY-----"]},"all":{"required_absent":[],"required_present":["-----BEGIN PUBLIC KEY-----\nvNSNcEUQnySaDsLt07jhyFfPefgvKDWdore4LDJO2zYoQFZ7IGiVlxUIYLlvSyJb\n6EmI2mDrwHV+obedTh4rmexKi1ajHgx7+fYQSepEzOJYG8U4lFVoiAjqsFIK4XFF\n-----END PUBLIC KEY-----"]}},"tags":["broad-quality","secret-family:private-key","variation:04"],"secret_fixture":{"family":"private-key","role":"preserve"}}, - {"id":"broad-secret-private-key-must-detect-05","language":"en","script":"Latin","shape":"markdown","risk":"critical","reason":"Locked broad private-key variation.","text":"**Configuration secret: -----BEGIN SECRET-KEYX-----\nbxmSBvucopZRXHIrU8ii5xPaK7iayzZgS9ZEKqHmh0pQFK3c/pZoeGonHJ/qPq0d\nSwCL5o0mcOyuvFR9UljQ791vNf4V73PNM0LKNC0aEhod8HDhoezGnGJwuLaxlLWW\nQ/O1mxetJdlpl8jT0TVM7JD26Vbr4EuQJSJvrsqPtetLG3eE5YG8naa8Rwx2KC2b\n5a27z5ccq4rmOReiM9OYJoUspKmKXS12PmFNED45UYNwVdzu4F1wXminXZ9wtOpm\n-----END SECRET-KEYX-----**","known_identities":[],"targets":[{"id":"value","kind":"secret","start":24,"end":337,"value":"-----BEGIN SECRET-KEYX-----\nbxmSBvucopZRXHIrU8ii5xPaK7iayzZgS9ZEKqHmh0pQFK3c/pZoeGonHJ/qPq0d\nSwCL5o0mcOyuvFR9UljQ791vNf4V73PNM0LKNC0aEhod8HDhoezGnGJwuLaxlLWW\nQ/O1mxetJdlpl8jT0TVM7JD26Vbr4EuQJSJvrsqPtetLG3eE5YG8naa8Rwx2KC2b\n5a27z5ccq4rmOReiM9OYJoUspKmKXS12PmFNED45UYNwVdzu4F1wXminXZ9wtOpm\n-----END SECRET-KEYX-----","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-private-key-must-detect-05","recipe":"private-key","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["-----BEGIN SECRET-KEYX-----\nbxmSBvucopZRXHIrU8ii5xPaK7iayzZgS9ZEKqHmh0pQFK3c/pZoeGonHJ/qPq0d\nSwCL5o0mcOyuvFR9UljQ791vNf4V73PNM0LKNC0aEhod8HDhoezGnGJwuLaxlLWW\nQ/O1mxetJdlpl8jT0TVM7JD26Vbr4EuQJSJvrsqPtetLG3eE5YG8naa8Rwx2KC2b\n5a27z5ccq4rmOReiM9OYJoUspKmKXS12PmFNED45UYNwVdzu4F1wXminXZ9wtOpm\n-----END SECRET-KEYX-----"]},"customers":{"required_absent":["-----BEGIN SECRET-KEYX-----\nbxmSBvucopZRXHIrU8ii5xPaK7iayzZgS9ZEKqHmh0pQFK3c/pZoeGonHJ/qPq0d\nSwCL5o0mcOyuvFR9UljQ791vNf4V73PNM0LKNC0aEhod8HDhoezGnGJwuLaxlLWW\nQ/O1mxetJdlpl8jT0TVM7JD26Vbr4EuQJSJvrsqPtetLG3eE5YG8naa8Rwx2KC2b\n5a27z5ccq4rmOReiM9OYJoUspKmKXS12PmFNED45UYNwVdzu4F1wXminXZ9wtOpm\n-----END SECRET-KEYX-----"],"required_present":[]},"all":{"required_absent":["-----BEGIN SECRET-KEYX-----\nbxmSBvucopZRXHIrU8ii5xPaK7iayzZgS9ZEKqHmh0pQFK3c/pZoeGonHJ/qPq0d\nSwCL5o0mcOyuvFR9UljQ791vNf4V73PNM0LKNC0aEhod8HDhoezGnGJwuLaxlLWW\nQ/O1mxetJdlpl8jT0TVM7JD26Vbr4EuQJSJvrsqPtetLG3eE5YG8naa8Rwx2KC2b\n5a27z5ccq4rmOReiM9OYJoUspKmKXS12PmFNED45UYNwVdzu4F1wXminXZ9wtOpm\n-----END SECRET-KEYX-----"],"required_present":[]}},"tags":["broad-quality","secret-family:private-key","variation:05"],"secret_fixture":{"family":"private-key","role":"must-detect"}}, - {"id":"broad-secret-private-key-preserve-05","language":"en","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad private-key variation.","text":"**Release metadata: -----BEGIN CERTIFICATE-----\np37VjggO0YI1od+7lVjHZMbz09wKVW1Fp/ds3aZdjAcX3o0FVM4MU+kMAvtrtMGp\n34gtFfPoP+zHCeQqj8ExSAEmJKrt61iEEYMHWSXsBZk/vhaqPofZjFC4MXrUbsqN\n-----END CERTIFICATE-----**","known_identities":[],"targets":[{"id":"value","kind":"secret","start":20,"end":203,"value":"-----BEGIN CERTIFICATE-----\np37VjggO0YI1od+7lVjHZMbz09wKVW1Fp/ds3aZdjAcX3o0FVM4MU+kMAvtrtMGp\n34gtFfPoP+zHCeQqj8ExSAEmJKrt61iEEYMHWSXsBZk/vhaqPofZjFC4MXrUbsqN\n-----END CERTIFICATE-----","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-private-key-preserve-05","recipe":"private-key","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["-----BEGIN CERTIFICATE-----\np37VjggO0YI1od+7lVjHZMbz09wKVW1Fp/ds3aZdjAcX3o0FVM4MU+kMAvtrtMGp\n34gtFfPoP+zHCeQqj8ExSAEmJKrt61iEEYMHWSXsBZk/vhaqPofZjFC4MXrUbsqN\n-----END CERTIFICATE-----"]},"customers":{"required_absent":[],"required_present":["-----BEGIN CERTIFICATE-----\np37VjggO0YI1od+7lVjHZMbz09wKVW1Fp/ds3aZdjAcX3o0FVM4MU+kMAvtrtMGp\n34gtFfPoP+zHCeQqj8ExSAEmJKrt61iEEYMHWSXsBZk/vhaqPofZjFC4MXrUbsqN\n-----END CERTIFICATE-----"]},"all":{"required_absent":[],"required_present":["-----BEGIN CERTIFICATE-----\np37VjggO0YI1od+7lVjHZMbz09wKVW1Fp/ds3aZdjAcX3o0FVM4MU+kMAvtrtMGp\n34gtFfPoP+zHCeQqj8ExSAEmJKrt61iEEYMHWSXsBZk/vhaqPofZjFC4MXrUbsqN\n-----END CERTIFICATE-----"]}},"tags":["broad-quality","secret-family:private-key","variation:05"],"secret_fixture":{"family":"private-key","role":"preserve"}}, - {"id":"broad-secret-private-key-must-detect-06","language":"en","script":"Latin","shape":"html","risk":"critical","reason":"Locked broad private-key variation.","text":"\u003cp\u003eStack trace captured credential -----BEGIN RSA SECRET-KEYX-----\nh18uKszWBGBEVb/btGo+mw/Fb1vkqWt7Ts0CTdi9hfT2ArfY5E7cXmaCQq/3Meve\nZg3d3VodyCyMPQPw88b2Fcq+NFlPd340wZbpwUbXbq8pP85NYOuhYzxg1Zrd4wE5\nuppIw5N4RlyqehfhCJIpwZB6TSqmTYKRhRUZLTDTTEtqibxUZJJ9e2mUY1u0psXx\nsyYHynkHnRf6hz2bJbzpCdmUve03qlETevPDbrBxWb9qKcfs8IXSPKpWoF/mDw6b\n-----END RSA SECRET-KEYX-----\u003c/p\u003e","known_identities":[],"targets":[{"id":"value","kind":"secret","start":35,"end":356,"value":"-----BEGIN RSA SECRET-KEYX-----\nh18uKszWBGBEVb/btGo+mw/Fb1vkqWt7Ts0CTdi9hfT2ArfY5E7cXmaCQq/3Meve\nZg3d3VodyCyMPQPw88b2Fcq+NFlPd340wZbpwUbXbq8pP85NYOuhYzxg1Zrd4wE5\nuppIw5N4RlyqehfhCJIpwZB6TSqmTYKRhRUZLTDTTEtqibxUZJJ9e2mUY1u0psXx\nsyYHynkHnRf6hz2bJbzpCdmUve03qlETevPDbrBxWb9qKcfs8IXSPKpWoF/mDw6b\n-----END RSA SECRET-KEYX-----","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-private-key-must-detect-06","recipe":"private-key","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["-----BEGIN RSA SECRET-KEYX-----\nh18uKszWBGBEVb/btGo+mw/Fb1vkqWt7Ts0CTdi9hfT2ArfY5E7cXmaCQq/3Meve\nZg3d3VodyCyMPQPw88b2Fcq+NFlPd340wZbpwUbXbq8pP85NYOuhYzxg1Zrd4wE5\nuppIw5N4RlyqehfhCJIpwZB6TSqmTYKRhRUZLTDTTEtqibxUZJJ9e2mUY1u0psXx\nsyYHynkHnRf6hz2bJbzpCdmUve03qlETevPDbrBxWb9qKcfs8IXSPKpWoF/mDw6b\n-----END RSA SECRET-KEYX-----"]},"customers":{"required_absent":["-----BEGIN RSA SECRET-KEYX-----\nh18uKszWBGBEVb/btGo+mw/Fb1vkqWt7Ts0CTdi9hfT2ArfY5E7cXmaCQq/3Meve\nZg3d3VodyCyMPQPw88b2Fcq+NFlPd340wZbpwUbXbq8pP85NYOuhYzxg1Zrd4wE5\nuppIw5N4RlyqehfhCJIpwZB6TSqmTYKRhRUZLTDTTEtqibxUZJJ9e2mUY1u0psXx\nsyYHynkHnRf6hz2bJbzpCdmUve03qlETevPDbrBxWb9qKcfs8IXSPKpWoF/mDw6b\n-----END RSA SECRET-KEYX-----"],"required_present":[]},"all":{"required_absent":["-----BEGIN RSA SECRET-KEYX-----\nh18uKszWBGBEVb/btGo+mw/Fb1vkqWt7Ts0CTdi9hfT2ArfY5E7cXmaCQq/3Meve\nZg3d3VodyCyMPQPw88b2Fcq+NFlPd340wZbpwUbXbq8pP85NYOuhYzxg1Zrd4wE5\nuppIw5N4RlyqehfhCJIpwZB6TSqmTYKRhRUZLTDTTEtqibxUZJJ9e2mUY1u0psXx\nsyYHynkHnRf6hz2bJbzpCdmUve03qlETevPDbrBxWb9qKcfs8IXSPKpWoF/mDw6b\n-----END RSA SECRET-KEYX-----"],"required_present":[]}},"tags":["broad-quality","secret-family:private-key","variation:06"],"secret_fixture":{"family":"private-key","role":"must-detect"}}, - {"id":"broad-secret-private-key-preserve-06","language":"en","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad private-key variation.","text":"\u003cp\u003ePublic verification material: -----BEGIN PUBLIC KEY-----\nRNSib8zZ6ciVeSSift2EK1mET03bShHxq3WZSiXq8Po9i9WOtMZI7T7SqwX+QlLe\nmGhU62DrwtjHdZdAruiaputQBtBikIEb/f0ADrGt8M84NCn1r50XJ+QbEZibSMps\n-----END PUBLIC KEY-----\u003c/p\u003e","known_identities":[],"targets":[{"id":"value","kind":"secret","start":33,"end":214,"value":"-----BEGIN PUBLIC KEY-----\nRNSib8zZ6ciVeSSift2EK1mET03bShHxq3WZSiXq8Po9i9WOtMZI7T7SqwX+QlLe\nmGhU62DrwtjHdZdAruiaputQBtBikIEb/f0ADrGt8M84NCn1r50XJ+QbEZibSMps\n-----END PUBLIC KEY-----","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-private-key-preserve-06","recipe":"private-key","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["-----BEGIN PUBLIC KEY-----\nRNSib8zZ6ciVeSSift2EK1mET03bShHxq3WZSiXq8Po9i9WOtMZI7T7SqwX+QlLe\nmGhU62DrwtjHdZdAruiaputQBtBikIEb/f0ADrGt8M84NCn1r50XJ+QbEZibSMps\n-----END PUBLIC KEY-----"]},"customers":{"required_absent":[],"required_present":["-----BEGIN PUBLIC KEY-----\nRNSib8zZ6ciVeSSift2EK1mET03bShHxq3WZSiXq8Po9i9WOtMZI7T7SqwX+QlLe\nmGhU62DrwtjHdZdAruiaputQBtBikIEb/f0ADrGt8M84NCn1r50XJ+QbEZibSMps\n-----END PUBLIC KEY-----"]},"all":{"required_absent":[],"required_present":["-----BEGIN PUBLIC KEY-----\nRNSib8zZ6ciVeSSift2EK1mET03bShHxq3WZSiXq8Po9i9WOtMZI7T7SqwX+QlLe\nmGhU62DrwtjHdZdAruiaputQBtBikIEb/f0ADrGt8M84NCn1r50XJ+QbEZibSMps\n-----END PUBLIC KEY-----"]}},"tags":["broad-quality","secret-family:private-key","variation:06"],"secret_fixture":{"family":"private-key","role":"preserve"}}, + {"id":"broad-secret-private-key-must-detect-04","language":"en","script":"Latin","shape":"url","risk":"critical","reason":"Locked broad private-key variation.","text":"endpoint=https://192.0.2.10/4?credential=-----BEGIN+ENCRYPTED+SECRET-KEYX-----%0AziaONyn8hHic0llBayXXn%2F7Mlon8QWaQvOBPH%2B6pQyeqoJzaWNr6iB6%2FIHb5DrCh%0A%2FrQYj1wRcyFJnwZ4mfLfemTc8%2BiRp55033X0rN5WQcbr5FUGJRbouJUf7iLZEw0b%0AzVYKtADyuA1VU6j9Mys0SQdkYBx4HcstVsDW%2BjBLEBCgY%2BS0CjPTjrtK74bRtfYw%0Ai7CdzkXR9qQQhaadiNgsr2WQd52DIzumv4kY3GICLzf1MMTbVuq%2FZCvBAVJDUt5t%0A-----END+ENCRYPTED+SECRET-KEYX-----\u0026note=Quoted+credential+follows%3A+","known_identities":[],"targets":[{"id":"value","kind":"secret","start":41,"end":400,"value":"-----BEGIN+ENCRYPTED+SECRET-KEYX-----%0AziaONyn8hHic0llBayXXn%2F7Mlon8QWaQvOBPH%2B6pQyeqoJzaWNr6iB6%2FIHb5DrCh%0A%2FrQYj1wRcyFJnwZ4mfLfemTc8%2BiRp55033X0rN5WQcbr5FUGJRbouJUf7iLZEw0b%0AzVYKtADyuA1VU6j9Mys0SQdkYBx4HcstVsDW%2BjBLEBCgY%2BS0CjPTjrtK74bRtfYw%0Ai7CdzkXR9qQQhaadiNgsr2WQd52DIzumv4kY3GICLzf1MMTbVuq%2FZCvBAVJDUt5t%0A-----END+ENCRYPTED+SECRET-KEYX-----","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-private-key-must-detect-04","recipe":"private-key","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["-----BEGIN+ENCRYPTED+SECRET-KEYX-----%0AziaONyn8hHic0llBayXXn%2F7Mlon8QWaQvOBPH%2B6pQyeqoJzaWNr6iB6%2FIHb5DrCh%0A%2FrQYj1wRcyFJnwZ4mfLfemTc8%2BiRp55033X0rN5WQcbr5FUGJRbouJUf7iLZEw0b%0AzVYKtADyuA1VU6j9Mys0SQdkYBx4HcstVsDW%2BjBLEBCgY%2BS0CjPTjrtK74bRtfYw%0Ai7CdzkXR9qQQhaadiNgsr2WQd52DIzumv4kY3GICLzf1MMTbVuq%2FZCvBAVJDUt5t%0A-----END+ENCRYPTED+SECRET-KEYX-----"]},"customers":{"required_absent":["-----BEGIN+ENCRYPTED+SECRET-KEYX-----%0AziaONyn8hHic0llBayXXn%2F7Mlon8QWaQvOBPH%2B6pQyeqoJzaWNr6iB6%2FIHb5DrCh%0A%2FrQYj1wRcyFJnwZ4mfLfemTc8%2BiRp55033X0rN5WQcbr5FUGJRbouJUf7iLZEw0b%0AzVYKtADyuA1VU6j9Mys0SQdkYBx4HcstVsDW%2BjBLEBCgY%2BS0CjPTjrtK74bRtfYw%0Ai7CdzkXR9qQQhaadiNgsr2WQd52DIzumv4kY3GICLzf1MMTbVuq%2FZCvBAVJDUt5t%0A-----END+ENCRYPTED+SECRET-KEYX-----"],"required_present":[]},"all":{"required_absent":["-----BEGIN+ENCRYPTED+SECRET-KEYX-----%0AziaONyn8hHic0llBayXXn%2F7Mlon8QWaQvOBPH%2B6pQyeqoJzaWNr6iB6%2FIHb5DrCh%0A%2FrQYj1wRcyFJnwZ4mfLfemTc8%2BiRp55033X0rN5WQcbr5FUGJRbouJUf7iLZEw0b%0AzVYKtADyuA1VU6j9Mys0SQdkYBx4HcstVsDW%2BjBLEBCgY%2BS0CjPTjrtK74bRtfYw%0Ai7CdzkXR9qQQhaadiNgsr2WQd52DIzumv4kY3GICLzf1MMTbVuq%2FZCvBAVJDUt5t%0A-----END+ENCRYPTED+SECRET-KEYX-----"],"required_present":[]}},"tags":["broad-quality","secret-family:private-key","variation:04"],"secret_fixture":{"family":"private-key","role":"must-detect"}}, + {"id":"broad-secret-private-key-preserve-04","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad private-key variation.","text":"endpoint=https://192.0.2.10/4?credential=-----BEGIN+PUBLIC+KEY-----%0AvNSNcEUQnySaDsLt07jhyFfPefgvKDWdore4LDJO2zYoQFZ7IGiVlxUIYLlvSyJb%0A6EmI2mDrwHV%2BobedTh4rmexKi1ajHgx7%2BfYQSepEzOJYG8U4lFVoiAjqsFIK4XFF%0A-----END+PUBLIC+KEY-----\u0026note=Non-confidential+protocol+token%3A+","known_identities":[],"targets":[{"id":"value","kind":"secret","start":41,"end":232,"value":"-----BEGIN+PUBLIC+KEY-----%0AvNSNcEUQnySaDsLt07jhyFfPefgvKDWdore4LDJO2zYoQFZ7IGiVlxUIYLlvSyJb%0A6EmI2mDrwHV%2BobedTh4rmexKi1ajHgx7%2BfYQSepEzOJYG8U4lFVoiAjqsFIK4XFF%0A-----END+PUBLIC+KEY-----","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-private-key-preserve-04","recipe":"private-key","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["-----BEGIN+PUBLIC+KEY-----%0AvNSNcEUQnySaDsLt07jhyFfPefgvKDWdore4LDJO2zYoQFZ7IGiVlxUIYLlvSyJb%0A6EmI2mDrwHV%2BobedTh4rmexKi1ajHgx7%2BfYQSepEzOJYG8U4lFVoiAjqsFIK4XFF%0A-----END+PUBLIC+KEY-----"]},"customers":{"required_absent":[],"required_present":["-----BEGIN+PUBLIC+KEY-----%0AvNSNcEUQnySaDsLt07jhyFfPefgvKDWdore4LDJO2zYoQFZ7IGiVlxUIYLlvSyJb%0A6EmI2mDrwHV%2BobedTh4rmexKi1ajHgx7%2BfYQSepEzOJYG8U4lFVoiAjqsFIK4XFF%0A-----END+PUBLIC+KEY-----"]},"all":{"required_absent":[],"required_present":["-----BEGIN+PUBLIC+KEY-----%0AvNSNcEUQnySaDsLt07jhyFfPefgvKDWdore4LDJO2zYoQFZ7IGiVlxUIYLlvSyJb%0A6EmI2mDrwHV%2BobedTh4rmexKi1ajHgx7%2BfYQSepEzOJYG8U4lFVoiAjqsFIK4XFF%0A-----END+PUBLIC+KEY-----"]}},"tags":["broad-quality","secret-family:private-key","variation:04"],"secret_fixture":{"family":"private-key","role":"preserve"}}, + {"id":"broad-secret-private-key-must-detect-05","language":"en","script":"Latin","shape":"markdown","risk":"critical","reason":"Locked broad private-key variation.","text":"Configuration secret: -----BEGIN SECRET-KEYX-----\nbxmSBvucopZRXHIrU8ii5xPaK7iayzZgS9ZEKqHmh0pQFK3c/pZoeGonHJ/qPq0d\nSwCL5o0mcOyuvFR9UljQ791vNf4V73PNM0LKNC0aEhod8HDhoezGnGJwuLaxlLW**W\nQ/O1mxetJdlpl8jT0TVM7JD26Vbr4EuQJSJvrsqPtetLG3eE5YG8naa8Rwx2KC2b\n5a27z5ccq4rmOReiM9OYJoUspKmKXS12PmFNED45UYNwVdzu4F1wXminXZ9wtOpm\n-----END SECRET-KEYX-----**","known_identities":[],"targets":[{"id":"value","kind":"secret","start":22,"end":339,"value":"-----BEGIN SECRET-KEYX-----\nbxmSBvucopZRXHIrU8ii5xPaK7iayzZgS9ZEKqHmh0pQFK3c/pZoeGonHJ/qPq0d\nSwCL5o0mcOyuvFR9UljQ791vNf4V73PNM0LKNC0aEhod8HDhoezGnGJwuLaxlLW**W\nQ/O1mxetJdlpl8jT0TVM7JD26Vbr4EuQJSJvrsqPtetLG3eE5YG8naa8Rwx2KC2b\n5a27z5ccq4rmOReiM9OYJoUspKmKXS12PmFNED45UYNwVdzu4F1wXminXZ9wtOpm\n-----END SECRET-KEYX-----**","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-private-key-must-detect-05","recipe":"private-key","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["-----BEGIN SECRET-KEYX-----\nbxmSBvucopZRXHIrU8ii5xPaK7iayzZgS9ZEKqHmh0pQFK3c/pZoeGonHJ/qPq0d\nSwCL5o0mcOyuvFR9UljQ791vNf4V73PNM0LKNC0aEhod8HDhoezGnGJwuLaxlLW**W\nQ/O1mxetJdlpl8jT0TVM7JD26Vbr4EuQJSJvrsqPtetLG3eE5YG8naa8Rwx2KC2b\n5a27z5ccq4rmOReiM9OYJoUspKmKXS12PmFNED45UYNwVdzu4F1wXminXZ9wtOpm\n-----END SECRET-KEYX-----**"]},"customers":{"required_absent":["-----BEGIN SECRET-KEYX-----\nbxmSBvucopZRXHIrU8ii5xPaK7iayzZgS9ZEKqHmh0pQFK3c/pZoeGonHJ/qPq0d\nSwCL5o0mcOyuvFR9UljQ791vNf4V73PNM0LKNC0aEhod8HDhoezGnGJwuLaxlLW**W\nQ/O1mxetJdlpl8jT0TVM7JD26Vbr4EuQJSJvrsqPtetLG3eE5YG8naa8Rwx2KC2b\n5a27z5ccq4rmOReiM9OYJoUspKmKXS12PmFNED45UYNwVdzu4F1wXminXZ9wtOpm\n-----END SECRET-KEYX-----**","-----BEGIN SECRET-KEYX-----\nbxmSBvucopZRXHIrU8ii5xPaK7iayzZgS9ZEKqHmh0pQFK3c/pZoeGonHJ/qPq0d\nSwCL5o0mcOyuvFR9UljQ791vNf4V73PNM0LKNC0aEhod8HDhoezGnGJwuLaxlLW","W\nQ/O1mxetJdlpl8jT0TVM7JD26Vbr4EuQJSJvrsqPtetLG3eE5YG8naa8Rwx2KC2b\n5a27z5ccq4rmOReiM9OYJoUspKmKXS12PmFNED45UYNwVdzu4F1wXminXZ9wtOpm\n-----END SECRET-KEYX-----"],"required_present":[]},"all":{"required_absent":["-----BEGIN SECRET-KEYX-----\nbxmSBvucopZRXHIrU8ii5xPaK7iayzZgS9ZEKqHmh0pQFK3c/pZoeGonHJ/qPq0d\nSwCL5o0mcOyuvFR9UljQ791vNf4V73PNM0LKNC0aEhod8HDhoezGnGJwuLaxlLW**W\nQ/O1mxetJdlpl8jT0TVM7JD26Vbr4EuQJSJvrsqPtetLG3eE5YG8naa8Rwx2KC2b\n5a27z5ccq4rmOReiM9OYJoUspKmKXS12PmFNED45UYNwVdzu4F1wXminXZ9wtOpm\n-----END SECRET-KEYX-----**","-----BEGIN SECRET-KEYX-----\nbxmSBvucopZRXHIrU8ii5xPaK7iayzZgS9ZEKqHmh0pQFK3c/pZoeGonHJ/qPq0d\nSwCL5o0mcOyuvFR9UljQ791vNf4V73PNM0LKNC0aEhod8HDhoezGnGJwuLaxlLW","W\nQ/O1mxetJdlpl8jT0TVM7JD26Vbr4EuQJSJvrsqPtetLG3eE5YG8naa8Rwx2KC2b\n5a27z5ccq4rmOReiM9OYJoUspKmKXS12PmFNED45UYNwVdzu4F1wXminXZ9wtOpm\n-----END SECRET-KEYX-----"],"required_present":[]}},"tags":["broad-quality","secret-family:private-key","variation:05"],"secret_fixture":{"family":"private-key","role":"must-detect"}}, + {"id":"broad-secret-private-key-preserve-05","language":"en","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad private-key variation.","text":"Release metadata: `-----BEGIN CERTIFICATE-----\np37VjggO0YI1od+7lVjHZMbz09wKVW1Fp/ds3aZdjAcX3o0FVM4MU+kMAvtrtMGp\n34gtFfPoP+zHCeQqj8ExSAEmJKrt61iEEYMHWSXsBZk/vhaqPofZjFC4MXrUbsqN\n-----END CERTIFICATE-----`","known_identities":[],"targets":[{"id":"value","kind":"secret","start":19,"end":202,"value":"-----BEGIN CERTIFICATE-----\np37VjggO0YI1od+7lVjHZMbz09wKVW1Fp/ds3aZdjAcX3o0FVM4MU+kMAvtrtMGp\n34gtFfPoP+zHCeQqj8ExSAEmJKrt61iEEYMHWSXsBZk/vhaqPofZjFC4MXrUbsqN\n-----END CERTIFICATE-----","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-private-key-preserve-05","recipe":"private-key","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["-----BEGIN CERTIFICATE-----\np37VjggO0YI1od+7lVjHZMbz09wKVW1Fp/ds3aZdjAcX3o0FVM4MU+kMAvtrtMGp\n34gtFfPoP+zHCeQqj8ExSAEmJKrt61iEEYMHWSXsBZk/vhaqPofZjFC4MXrUbsqN\n-----END CERTIFICATE-----"]},"customers":{"required_absent":[],"required_present":["-----BEGIN CERTIFICATE-----\np37VjggO0YI1od+7lVjHZMbz09wKVW1Fp/ds3aZdjAcX3o0FVM4MU+kMAvtrtMGp\n34gtFfPoP+zHCeQqj8ExSAEmJKrt61iEEYMHWSXsBZk/vhaqPofZjFC4MXrUbsqN\n-----END CERTIFICATE-----"]},"all":{"required_absent":[],"required_present":["-----BEGIN CERTIFICATE-----\np37VjggO0YI1od+7lVjHZMbz09wKVW1Fp/ds3aZdjAcX3o0FVM4MU+kMAvtrtMGp\n34gtFfPoP+zHCeQqj8ExSAEmJKrt61iEEYMHWSXsBZk/vhaqPofZjFC4MXrUbsqN\n-----END CERTIFICATE-----"]}},"tags":["broad-quality","secret-family:private-key","variation:05"],"secret_fixture":{"family":"private-key","role":"preserve"}}, + {"id":"broad-secret-private-key-must-detect-06","language":"en","script":"Latin","shape":"html","risk":"critical","reason":"Locked broad private-key variation.","text":"\u003cp\u003eStack trace captured credential \u003ccode\u003e-----BEGIN RSA SECRET-KEYX-----\nh18uKszWBGBEVb/btGo+mw/Fb1vkqWt7Ts0CTdi9hfT2ArfY5E7cXmaCQq/3Meve\nZg3d3VodyCyMPQPw88b2Fcq+NFlPd340wZbpwUbXbq8pP85NYOuhYzxg1Zrd4wE\u003cwbr\u003e5\nuppIw5N4RlyqehfhCJIpwZB6TSqmTYKRhRUZLTDTTEtqibxUZJJ9e2mUY1u0psXx\nsyYHynkHnRf6hz2bJbzpCdmUve03qlETevPDbrBxWb9qKcfs8IXSPKpWoF/mDw6b\n-----END RSA SECRET-KEYX-----\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"value","kind":"secret","start":41,"end":367,"value":"-----BEGIN RSA SECRET-KEYX-----\nh18uKszWBGBEVb/btGo+mw/Fb1vkqWt7Ts0CTdi9hfT2ArfY5E7cXmaCQq/3Meve\nZg3d3VodyCyMPQPw88b2Fcq+NFlPd340wZbpwUbXbq8pP85NYOuhYzxg1Zrd4wE\u003cwbr\u003e5\nuppIw5N4RlyqehfhCJIpwZB6TSqmTYKRhRUZLTDTTEtqibxUZJJ9e2mUY1u0psXx\nsyYHynkHnRf6hz2bJbzpCdmUve03qlETevPDbrBxWb9qKcfs8IXSPKpWoF/mDw6b\n-----END RSA SECRET-KEYX-----","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-private-key-must-detect-06","recipe":"private-key","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["-----BEGIN RSA SECRET-KEYX-----\nh18uKszWBGBEVb/btGo+mw/Fb1vkqWt7Ts0CTdi9hfT2ArfY5E7cXmaCQq/3Meve\nZg3d3VodyCyMPQPw88b2Fcq+NFlPd340wZbpwUbXbq8pP85NYOuhYzxg1Zrd4wE\u003cwbr\u003e5\nuppIw5N4RlyqehfhCJIpwZB6TSqmTYKRhRUZLTDTTEtqibxUZJJ9e2mUY1u0psXx\nsyYHynkHnRf6hz2bJbzpCdmUve03qlETevPDbrBxWb9qKcfs8IXSPKpWoF/mDw6b\n-----END RSA SECRET-KEYX-----"]},"customers":{"required_absent":["-----BEGIN RSA SECRET-KEYX-----\nh18uKszWBGBEVb/btGo+mw/Fb1vkqWt7Ts0CTdi9hfT2ArfY5E7cXmaCQq/3Meve\nZg3d3VodyCyMPQPw88b2Fcq+NFlPd340wZbpwUbXbq8pP85NYOuhYzxg1Zrd4wE\u003cwbr\u003e5\nuppIw5N4RlyqehfhCJIpwZB6TSqmTYKRhRUZLTDTTEtqibxUZJJ9e2mUY1u0psXx\nsyYHynkHnRf6hz2bJbzpCdmUve03qlETevPDbrBxWb9qKcfs8IXSPKpWoF/mDw6b\n-----END RSA SECRET-KEYX-----","-----BEGIN RSA SECRET-KEYX-----\nh18uKszWBGBEVb/btGo+mw/Fb1vkqWt7Ts0CTdi9hfT2ArfY5E7cXmaCQq/3Meve\nZg3d3VodyCyMPQPw88b2Fcq+NFlPd340wZbpwUbXbq8pP85NYOuhYzxg1Zrd4wE","5\nuppIw5N4RlyqehfhCJIpwZB6TSqmTYKRhRUZLTDTTEtqibxUZJJ9e2mUY1u0psXx\nsyYHynkHnRf6hz2bJbzpCdmUve03qlETevPDbrBxWb9qKcfs8IXSPKpWoF/mDw6b\n-----END RSA SECRET-KEYX-----"],"required_present":[]},"all":{"required_absent":["-----BEGIN RSA SECRET-KEYX-----\nh18uKszWBGBEVb/btGo+mw/Fb1vkqWt7Ts0CTdi9hfT2ArfY5E7cXmaCQq/3Meve\nZg3d3VodyCyMPQPw88b2Fcq+NFlPd340wZbpwUbXbq8pP85NYOuhYzxg1Zrd4wE\u003cwbr\u003e5\nuppIw5N4RlyqehfhCJIpwZB6TSqmTYKRhRUZLTDTTEtqibxUZJJ9e2mUY1u0psXx\nsyYHynkHnRf6hz2bJbzpCdmUve03qlETevPDbrBxWb9qKcfs8IXSPKpWoF/mDw6b\n-----END RSA SECRET-KEYX-----","-----BEGIN RSA SECRET-KEYX-----\nh18uKszWBGBEVb/btGo+mw/Fb1vkqWt7Ts0CTdi9hfT2ArfY5E7cXmaCQq/3Meve\nZg3d3VodyCyMPQPw88b2Fcq+NFlPd340wZbpwUbXbq8pP85NYOuhYzxg1Zrd4wE","5\nuppIw5N4RlyqehfhCJIpwZB6TSqmTYKRhRUZLTDTTEtqibxUZJJ9e2mUY1u0psXx\nsyYHynkHnRf6hz2bJbzpCdmUve03qlETevPDbrBxWb9qKcfs8IXSPKpWoF/mDw6b\n-----END RSA SECRET-KEYX-----"],"required_present":[]}},"tags":["broad-quality","secret-family:private-key","variation:06"],"secret_fixture":{"family":"private-key","role":"must-detect"}}, + {"id":"broad-secret-private-key-preserve-06","language":"en","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad private-key variation.","text":"\u003cp\u003ePublic verification material: \u003ccode\u003e-----BEGIN PUBLIC KEY-----\nRNSib8zZ6ciVeSSift2EK1mET03bShHxq3WZSiXq8Po9i9WOtMZI7T7SqwX+QlLe\nmGhU62DrwtjHdZdAruiaputQBtBikIEb/f0ADrGt8M84NCn1r50XJ+QbEZibSMps\n-----END PUBLIC KEY-----\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"value","kind":"secret","start":39,"end":220,"value":"-----BEGIN PUBLIC KEY-----\nRNSib8zZ6ciVeSSift2EK1mET03bShHxq3WZSiXq8Po9i9WOtMZI7T7SqwX+QlLe\nmGhU62DrwtjHdZdAruiaputQBtBikIEb/f0ADrGt8M84NCn1r50XJ+QbEZibSMps\n-----END PUBLIC KEY-----","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-private-key-preserve-06","recipe":"private-key","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["-----BEGIN PUBLIC KEY-----\nRNSib8zZ6ciVeSSift2EK1mET03bShHxq3WZSiXq8Po9i9WOtMZI7T7SqwX+QlLe\nmGhU62DrwtjHdZdAruiaputQBtBikIEb/f0ADrGt8M84NCn1r50XJ+QbEZibSMps\n-----END PUBLIC KEY-----"]},"customers":{"required_absent":[],"required_present":["-----BEGIN PUBLIC KEY-----\nRNSib8zZ6ciVeSSift2EK1mET03bShHxq3WZSiXq8Po9i9WOtMZI7T7SqwX+QlLe\nmGhU62DrwtjHdZdAruiaputQBtBikIEb/f0ADrGt8M84NCn1r50XJ+QbEZibSMps\n-----END PUBLIC KEY-----"]},"all":{"required_absent":[],"required_present":["-----BEGIN PUBLIC KEY-----\nRNSib8zZ6ciVeSSift2EK1mET03bShHxq3WZSiXq8Po9i9WOtMZI7T7SqwX+QlLe\nmGhU62DrwtjHdZdAruiaputQBtBikIEb/f0ADrGt8M84NCn1r50XJ+QbEZibSMps\n-----END PUBLIC KEY-----"]}},"tags":["broad-quality","secret-family:private-key","variation:06"],"secret_fixture":{"family":"private-key","role":"preserve"}}, {"id":"broad-secret-private-key-must-detect-07","language":"en","script":"Latin","shape":"quoted-reply","risk":"critical","reason":"Locked broad private-key variation.","text":"\u003e Wrapped message credential: -----BEGIN EC SECRET-KEYX-----\nTOGI9ty07Eeheqx+QoAe1MQhwEOnZabClLVUyidAtwl5LsVMEkpTGJHUJUMFB45o\n8DMlzthsroPUgGw5AodfwFqbyh1ExSKPHulnWzFbgVAxai27WOF2LqY0fzq9T9Tz\n/ruQrLyOEoB6wG2B3nWBh4XeLQ6NA1GIgRStD0VOc4CJd3yJw8OhwTPrA5eyXQVw\n/ljJ/XKampUGr/AG5p0Px3Sh3wHVhpfPvuSak2yvpSiuMZP57co3IS9iFKLTCOYa\n-----END EC SECRET-KEYX-----","known_identities":[],"targets":[{"id":"value","kind":"secret","start":30,"end":349,"value":"-----BEGIN EC SECRET-KEYX-----\nTOGI9ty07Eeheqx+QoAe1MQhwEOnZabClLVUyidAtwl5LsVMEkpTGJHUJUMFB45o\n8DMlzthsroPUgGw5AodfwFqbyh1ExSKPHulnWzFbgVAxai27WOF2LqY0fzq9T9Tz\n/ruQrLyOEoB6wG2B3nWBh4XeLQ6NA1GIgRStD0VOc4CJd3yJw8OhwTPrA5eyXQVw\n/ljJ/XKampUGr/AG5p0Px3Sh3wHVhpfPvuSak2yvpSiuMZP57co3IS9iFKLTCOYa\n-----END EC SECRET-KEYX-----","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-private-key-must-detect-07","recipe":"private-key","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["-----BEGIN EC SECRET-KEYX-----\nTOGI9ty07Eeheqx+QoAe1MQhwEOnZabClLVUyidAtwl5LsVMEkpTGJHUJUMFB45o\n8DMlzthsroPUgGw5AodfwFqbyh1ExSKPHulnWzFbgVAxai27WOF2LqY0fzq9T9Tz\n/ruQrLyOEoB6wG2B3nWBh4XeLQ6NA1GIgRStD0VOc4CJd3yJw8OhwTPrA5eyXQVw\n/ljJ/XKampUGr/AG5p0Px3Sh3wHVhpfPvuSak2yvpSiuMZP57co3IS9iFKLTCOYa\n-----END EC SECRET-KEYX-----"]},"customers":{"required_absent":["-----BEGIN EC SECRET-KEYX-----\nTOGI9ty07Eeheqx+QoAe1MQhwEOnZabClLVUyidAtwl5LsVMEkpTGJHUJUMFB45o\n8DMlzthsroPUgGw5AodfwFqbyh1ExSKPHulnWzFbgVAxai27WOF2LqY0fzq9T9Tz\n/ruQrLyOEoB6wG2B3nWBh4XeLQ6NA1GIgRStD0VOc4CJd3yJw8OhwTPrA5eyXQVw\n/ljJ/XKampUGr/AG5p0Px3Sh3wHVhpfPvuSak2yvpSiuMZP57co3IS9iFKLTCOYa\n-----END EC SECRET-KEYX-----"],"required_present":[]},"all":{"required_absent":["-----BEGIN EC SECRET-KEYX-----\nTOGI9ty07Eeheqx+QoAe1MQhwEOnZabClLVUyidAtwl5LsVMEkpTGJHUJUMFB45o\n8DMlzthsroPUgGw5AodfwFqbyh1ExSKPHulnWzFbgVAxai27WOF2LqY0fzq9T9Tz\n/ruQrLyOEoB6wG2B3nWBh4XeLQ6NA1GIgRStD0VOc4CJd3yJw8OhwTPrA5eyXQVw\n/ljJ/XKampUGr/AG5p0Px3Sh3wHVhpfPvuSak2yvpSiuMZP57co3IS9iFKLTCOYa\n-----END EC SECRET-KEYX-----"],"required_present":[]}},"tags":["broad-quality","secret-family:private-key","variation:07"],"secret_fixture":{"family":"private-key","role":"must-detect"}}, {"id":"broad-secret-private-key-preserve-07","language":"en","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad private-key variation.","text":"\u003e Troubleshooting reference: -----BEGIN CERTIFICATE-----\nT/yxdW3oHjtT2FhWMVoqExFfJLFuRIDOc1ZRxbJMM3MvQRPwaRIt5vyP62i1BO8q\nYA+naURx/+cjldS4Omx6sz7dTY9njEvyc2Xnsr68o32H0RGnCDBe2TpEdXM5CePl\n-----END CERTIFICATE-----","known_identities":[],"targets":[{"id":"value","kind":"secret","start":29,"end":212,"value":"-----BEGIN CERTIFICATE-----\nT/yxdW3oHjtT2FhWMVoqExFfJLFuRIDOc1ZRxbJMM3MvQRPwaRIt5vyP62i1BO8q\nYA+naURx/+cjldS4Omx6sz7dTY9njEvyc2Xnsr68o32H0RGnCDBe2TpEdXM5CePl\n-----END CERTIFICATE-----","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-private-key-preserve-07","recipe":"private-key","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["-----BEGIN CERTIFICATE-----\nT/yxdW3oHjtT2FhWMVoqExFfJLFuRIDOc1ZRxbJMM3MvQRPwaRIt5vyP62i1BO8q\nYA+naURx/+cjldS4Omx6sz7dTY9njEvyc2Xnsr68o32H0RGnCDBe2TpEdXM5CePl\n-----END CERTIFICATE-----"]},"customers":{"required_absent":[],"required_present":["-----BEGIN CERTIFICATE-----\nT/yxdW3oHjtT2FhWMVoqExFfJLFuRIDOc1ZRxbJMM3MvQRPwaRIt5vyP62i1BO8q\nYA+naURx/+cjldS4Omx6sz7dTY9njEvyc2Xnsr68o32H0RGnCDBe2TpEdXM5CePl\n-----END CERTIFICATE-----"]},"all":{"required_absent":[],"required_present":["-----BEGIN CERTIFICATE-----\nT/yxdW3oHjtT2FhWMVoqExFfJLFuRIDOc1ZRxbJMM3MvQRPwaRIt5vyP62i1BO8q\nYA+naURx/+cjldS4Omx6sz7dTY9njEvyc2Xnsr68o32H0RGnCDBe2TpEdXM5CePl\n-----END CERTIFICATE-----"]}},"tags":["broad-quality","secret-family:private-key","variation:07"],"secret_fixture":{"family":"private-key","role":"preserve"}}, - {"id":"broad-secret-private-key-must-detect-08","language":"en","script":"Latin","shape":"log","risk":"critical","reason":"Locked broad private-key variation.","text":"level=warn sample=8 message=\"Credential copied from a support reply: \" value=-----BEGIN OPENSSH SECRET-KEYX-----\nmYl+gFYnaKjBFgoyZSK0ZECR2cQ0sce2de7iz5dGkUUSb2dHLRtU/DUaSpayBS0v\nKSJfwVEDcDrXQwmkHpjvzD2tkVWJmT0SAN6fzO0rArAvLBDIhcfqM9xuea4oD7Ik\nIt3EYW3GDhIo97vXyPcU5SRa3RxQXGCS1ZUpB2cDB2jV5POOUHcl2pdc3XOLutdl\nluKI3G8N4XxVTBn7k8aQpKo0o9O5egNswjoXlUpgJvOnXLegAR2GL/QceHTQ3poy\n-----END OPENSSH SECRET-KEYX-----","known_identities":[],"targets":[{"id":"value","kind":"secret","start":77,"end":406,"value":"-----BEGIN OPENSSH SECRET-KEYX-----\nmYl+gFYnaKjBFgoyZSK0ZECR2cQ0sce2de7iz5dGkUUSb2dHLRtU/DUaSpayBS0v\nKSJfwVEDcDrXQwmkHpjvzD2tkVWJmT0SAN6fzO0rArAvLBDIhcfqM9xuea4oD7Ik\nIt3EYW3GDhIo97vXyPcU5SRa3RxQXGCS1ZUpB2cDB2jV5POOUHcl2pdc3XOLutdl\nluKI3G8N4XxVTBn7k8aQpKo0o9O5egNswjoXlUpgJvOnXLegAR2GL/QceHTQ3poy\n-----END OPENSSH SECRET-KEYX-----","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-private-key-must-detect-08","recipe":"private-key","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["-----BEGIN OPENSSH SECRET-KEYX-----\nmYl+gFYnaKjBFgoyZSK0ZECR2cQ0sce2de7iz5dGkUUSb2dHLRtU/DUaSpayBS0v\nKSJfwVEDcDrXQwmkHpjvzD2tkVWJmT0SAN6fzO0rArAvLBDIhcfqM9xuea4oD7Ik\nIt3EYW3GDhIo97vXyPcU5SRa3RxQXGCS1ZUpB2cDB2jV5POOUHcl2pdc3XOLutdl\nluKI3G8N4XxVTBn7k8aQpKo0o9O5egNswjoXlUpgJvOnXLegAR2GL/QceHTQ3poy\n-----END OPENSSH SECRET-KEYX-----"]},"customers":{"required_absent":["-----BEGIN OPENSSH SECRET-KEYX-----\nmYl+gFYnaKjBFgoyZSK0ZECR2cQ0sce2de7iz5dGkUUSb2dHLRtU/DUaSpayBS0v\nKSJfwVEDcDrXQwmkHpjvzD2tkVWJmT0SAN6fzO0rArAvLBDIhcfqM9xuea4oD7Ik\nIt3EYW3GDhIo97vXyPcU5SRa3RxQXGCS1ZUpB2cDB2jV5POOUHcl2pdc3XOLutdl\nluKI3G8N4XxVTBn7k8aQpKo0o9O5egNswjoXlUpgJvOnXLegAR2GL/QceHTQ3poy\n-----END OPENSSH SECRET-KEYX-----"],"required_present":[]},"all":{"required_absent":["-----BEGIN OPENSSH SECRET-KEYX-----\nmYl+gFYnaKjBFgoyZSK0ZECR2cQ0sce2de7iz5dGkUUSb2dHLRtU/DUaSpayBS0v\nKSJfwVEDcDrXQwmkHpjvzD2tkVWJmT0SAN6fzO0rArAvLBDIhcfqM9xuea4oD7Ik\nIt3EYW3GDhIo97vXyPcU5SRa3RxQXGCS1ZUpB2cDB2jV5POOUHcl2pdc3XOLutdl\nluKI3G8N4XxVTBn7k8aQpKo0o9O5egNswjoXlUpgJvOnXLegAR2GL/QceHTQ3poy\n-----END OPENSSH SECRET-KEYX-----"],"required_present":[]}},"tags":["broad-quality","secret-family:private-key","variation:08"],"secret_fixture":{"family":"private-key","role":"must-detect"}}, - {"id":"broad-secret-private-key-preserve-08","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad private-key variation.","text":"level=warn sample=8 message=\"Public configuration vocabulary: \" value=-----BEGIN PUBLIC KEY-----\nix6ExcZ2IWx6xJYSDDWv0Yw9ayeMt2XOP6BQRz5fXSvLfpVecyRO3TcPvDHoJj4N\nSXH6FiAYk8khWkLrO6ps9SxoPhjP2W2Z0NsrvADS44+AKjqfFQe7kEITRXG9YyHr\n-----END PUBLIC KEY-----","known_identities":[],"targets":[{"id":"value","kind":"secret","start":70,"end":251,"value":"-----BEGIN PUBLIC KEY-----\nix6ExcZ2IWx6xJYSDDWv0Yw9ayeMt2XOP6BQRz5fXSvLfpVecyRO3TcPvDHoJj4N\nSXH6FiAYk8khWkLrO6ps9SxoPhjP2W2Z0NsrvADS44+AKjqfFQe7kEITRXG9YyHr\n-----END PUBLIC KEY-----","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-private-key-preserve-08","recipe":"private-key","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["-----BEGIN PUBLIC KEY-----\nix6ExcZ2IWx6xJYSDDWv0Yw9ayeMt2XOP6BQRz5fXSvLfpVecyRO3TcPvDHoJj4N\nSXH6FiAYk8khWkLrO6ps9SxoPhjP2W2Z0NsrvADS44+AKjqfFQe7kEITRXG9YyHr\n-----END PUBLIC KEY-----"]},"customers":{"required_absent":[],"required_present":["-----BEGIN PUBLIC KEY-----\nix6ExcZ2IWx6xJYSDDWv0Yw9ayeMt2XOP6BQRz5fXSvLfpVecyRO3TcPvDHoJj4N\nSXH6FiAYk8khWkLrO6ps9SxoPhjP2W2Z0NsrvADS44+AKjqfFQe7kEITRXG9YyHr\n-----END PUBLIC KEY-----"]},"all":{"required_absent":[],"required_present":["-----BEGIN PUBLIC KEY-----\nix6ExcZ2IWx6xJYSDDWv0Yw9ayeMt2XOP6BQRz5fXSvLfpVecyRO3TcPvDHoJj4N\nSXH6FiAYk8khWkLrO6ps9SxoPhjP2W2Z0NsrvADS44+AKjqfFQe7kEITRXG9YyHr\n-----END PUBLIC KEY-----"]}},"tags":["broad-quality","secret-family:private-key","variation:08"],"secret_fixture":{"family":"private-key","role":"preserve"}}, - {"id":"broad-secret-private-key-must-detect-09","language":"en","script":"Latin","shape":"stack-trace","risk":"critical","reason":"Locked broad private-key variation.","text":"Trace[9]: Authorization header value: -----BEGIN ENCRYPTED SECRET-KEYX-----\nLIazpRR1wsZN9eO5CMlyAwfYdXUQ0CoLEMg7jShEcJDb15fxbP3ll09FaV6YCRnG\n14K+oacBAjRsi3wMvjfnxS1ezGmM/npBUbY/ffDFzVZC6QciXZvB9mqSPvRf0Bbv\nKGIBsOLEeZE7a6snLmLhNf6qXwrpp1/i857VliGF/w9ytU4SXH8dSzR5yADyhzk9\nLTaUp/TwUR5S9kc0pIkhgTFECfl1T/Ko7XUqlhPeEuOasLd0/8uWmCloZk7Ef/n3\n-----END ENCRYPTED SECRET-KEYX-----","known_identities":[],"targets":[{"id":"value","kind":"secret","start":38,"end":371,"value":"-----BEGIN ENCRYPTED SECRET-KEYX-----\nLIazpRR1wsZN9eO5CMlyAwfYdXUQ0CoLEMg7jShEcJDb15fxbP3ll09FaV6YCRnG\n14K+oacBAjRsi3wMvjfnxS1ezGmM/npBUbY/ffDFzVZC6QciXZvB9mqSPvRf0Bbv\nKGIBsOLEeZE7a6snLmLhNf6qXwrpp1/i857VliGF/w9ytU4SXH8dSzR5yADyhzk9\nLTaUp/TwUR5S9kc0pIkhgTFECfl1T/Ko7XUqlhPeEuOasLd0/8uWmCloZk7Ef/n3\n-----END ENCRYPTED SECRET-KEYX-----","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-private-key-must-detect-09","recipe":"private-key","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["-----BEGIN ENCRYPTED SECRET-KEYX-----\nLIazpRR1wsZN9eO5CMlyAwfYdXUQ0CoLEMg7jShEcJDb15fxbP3ll09FaV6YCRnG\n14K+oacBAjRsi3wMvjfnxS1ezGmM/npBUbY/ffDFzVZC6QciXZvB9mqSPvRf0Bbv\nKGIBsOLEeZE7a6snLmLhNf6qXwrpp1/i857VliGF/w9ytU4SXH8dSzR5yADyhzk9\nLTaUp/TwUR5S9kc0pIkhgTFECfl1T/Ko7XUqlhPeEuOasLd0/8uWmCloZk7Ef/n3\n-----END ENCRYPTED SECRET-KEYX-----"]},"customers":{"required_absent":["-----BEGIN ENCRYPTED SECRET-KEYX-----\nLIazpRR1wsZN9eO5CMlyAwfYdXUQ0CoLEMg7jShEcJDb15fxbP3ll09FaV6YCRnG\n14K+oacBAjRsi3wMvjfnxS1ezGmM/npBUbY/ffDFzVZC6QciXZvB9mqSPvRf0Bbv\nKGIBsOLEeZE7a6snLmLhNf6qXwrpp1/i857VliGF/w9ytU4SXH8dSzR5yADyhzk9\nLTaUp/TwUR5S9kc0pIkhgTFECfl1T/Ko7XUqlhPeEuOasLd0/8uWmCloZk7Ef/n3\n-----END ENCRYPTED SECRET-KEYX-----"],"required_present":[]},"all":{"required_absent":["-----BEGIN ENCRYPTED SECRET-KEYX-----\nLIazpRR1wsZN9eO5CMlyAwfYdXUQ0CoLEMg7jShEcJDb15fxbP3ll09FaV6YCRnG\n14K+oacBAjRsi3wMvjfnxS1ezGmM/npBUbY/ffDFzVZC6QciXZvB9mqSPvRf0Bbv\nKGIBsOLEeZE7a6snLmLhNf6qXwrpp1/i857VliGF/w9ytU4SXH8dSzR5yADyhzk9\nLTaUp/TwUR5S9kc0pIkhgTFECfl1T/Ko7XUqlhPeEuOasLd0/8uWmCloZk7Ef/n3\n-----END ENCRYPTED SECRET-KEYX-----"],"required_present":[]}},"tags":["broad-quality","secret-family:private-key","variation:09"],"secret_fixture":{"family":"private-key","role":"must-detect"}}, + {"id":"broad-secret-private-key-must-detect-08","language":"en","script":"Latin","shape":"log","risk":"critical","reason":"Locked broad private-key variation.","text":"level=warn sample=8 message=\"Credential copied from a support reply: \" credential=\"-----BEGIN OPENSSH SECRET-KEYX-----\\nmYl+gFYnaKjBFgoyZSK0ZECR2cQ0sce2de7iz5dGkUUSb2dHLRtU/DUaSpayBS0v\\nKSJfwVEDcDrXQwmkHpjvzD2tkVWJmT0SAN6fzO0rArAvLBDIhcfqM9xuea4oD7Ik\\nIt3EYW3GDhIo97vXyPcU5SRa3RxQXGCS1ZUpB2cDB2jV5POOUHcl2pdc3XOLutdl\\nluKI3G8N4XxVTBn7k8aQpKo0o9O5egNswjoXlUpgJvOnXLegAR2GL/QceHTQ3poy\\n-----END OPENSSH SECRET-KEYX-----\"","known_identities":[],"targets":[{"id":"value","kind":"secret","start":83,"end":417,"value":"-----BEGIN OPENSSH SECRET-KEYX-----\\nmYl+gFYnaKjBFgoyZSK0ZECR2cQ0sce2de7iz5dGkUUSb2dHLRtU/DUaSpayBS0v\\nKSJfwVEDcDrXQwmkHpjvzD2tkVWJmT0SAN6fzO0rArAvLBDIhcfqM9xuea4oD7Ik\\nIt3EYW3GDhIo97vXyPcU5SRa3RxQXGCS1ZUpB2cDB2jV5POOUHcl2pdc3XOLutdl\\nluKI3G8N4XxVTBn7k8aQpKo0o9O5egNswjoXlUpgJvOnXLegAR2GL/QceHTQ3poy\\n-----END OPENSSH SECRET-KEYX-----","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-private-key-must-detect-08","recipe":"private-key","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["-----BEGIN OPENSSH SECRET-KEYX-----\\nmYl+gFYnaKjBFgoyZSK0ZECR2cQ0sce2de7iz5dGkUUSb2dHLRtU/DUaSpayBS0v\\nKSJfwVEDcDrXQwmkHpjvzD2tkVWJmT0SAN6fzO0rArAvLBDIhcfqM9xuea4oD7Ik\\nIt3EYW3GDhIo97vXyPcU5SRa3RxQXGCS1ZUpB2cDB2jV5POOUHcl2pdc3XOLutdl\\nluKI3G8N4XxVTBn7k8aQpKo0o9O5egNswjoXlUpgJvOnXLegAR2GL/QceHTQ3poy\\n-----END OPENSSH SECRET-KEYX-----"]},"customers":{"required_absent":["-----BEGIN OPENSSH SECRET-KEYX-----\\nmYl+gFYnaKjBFgoyZSK0ZECR2cQ0sce2de7iz5dGkUUSb2dHLRtU/DUaSpayBS0v\\nKSJfwVEDcDrXQwmkHpjvzD2tkVWJmT0SAN6fzO0rArAvLBDIhcfqM9xuea4oD7Ik\\nIt3EYW3GDhIo97vXyPcU5SRa3RxQXGCS1ZUpB2cDB2jV5POOUHcl2pdc3XOLutdl\\nluKI3G8N4XxVTBn7k8aQpKo0o9O5egNswjoXlUpgJvOnXLegAR2GL/QceHTQ3poy\\n-----END OPENSSH SECRET-KEYX-----"],"required_present":[]},"all":{"required_absent":["-----BEGIN OPENSSH SECRET-KEYX-----\\nmYl+gFYnaKjBFgoyZSK0ZECR2cQ0sce2de7iz5dGkUUSb2dHLRtU/DUaSpayBS0v\\nKSJfwVEDcDrXQwmkHpjvzD2tkVWJmT0SAN6fzO0rArAvLBDIhcfqM9xuea4oD7Ik\\nIt3EYW3GDhIo97vXyPcU5SRa3RxQXGCS1ZUpB2cDB2jV5POOUHcl2pdc3XOLutdl\\nluKI3G8N4XxVTBn7k8aQpKo0o9O5egNswjoXlUpgJvOnXLegAR2GL/QceHTQ3poy\\n-----END OPENSSH SECRET-KEYX-----"],"required_present":[]}},"tags":["broad-quality","secret-family:private-key","variation:08"],"secret_fixture":{"family":"private-key","role":"must-detect"}}, + {"id":"broad-secret-private-key-preserve-08","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad private-key variation.","text":"level=warn sample=8 message=\"Public configuration vocabulary: \" credential=\"-----BEGIN PUBLIC KEY-----\\nix6ExcZ2IWx6xJYSDDWv0Yw9ayeMt2XOP6BQRz5fXSvLfpVecyRO3TcPvDHoJj4N\\nSXH6FiAYk8khWkLrO6ps9SxoPhjP2W2Z0NsrvADS44+AKjqfFQe7kEITRXG9YyHr\\n-----END PUBLIC KEY-----\"","known_identities":[],"targets":[{"id":"value","kind":"secret","start":76,"end":260,"value":"-----BEGIN PUBLIC KEY-----\\nix6ExcZ2IWx6xJYSDDWv0Yw9ayeMt2XOP6BQRz5fXSvLfpVecyRO3TcPvDHoJj4N\\nSXH6FiAYk8khWkLrO6ps9SxoPhjP2W2Z0NsrvADS44+AKjqfFQe7kEITRXG9YyHr\\n-----END PUBLIC KEY-----","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-private-key-preserve-08","recipe":"private-key","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["-----BEGIN PUBLIC KEY-----\\nix6ExcZ2IWx6xJYSDDWv0Yw9ayeMt2XOP6BQRz5fXSvLfpVecyRO3TcPvDHoJj4N\\nSXH6FiAYk8khWkLrO6ps9SxoPhjP2W2Z0NsrvADS44+AKjqfFQe7kEITRXG9YyHr\\n-----END PUBLIC KEY-----"]},"customers":{"required_absent":[],"required_present":["-----BEGIN PUBLIC KEY-----\\nix6ExcZ2IWx6xJYSDDWv0Yw9ayeMt2XOP6BQRz5fXSvLfpVecyRO3TcPvDHoJj4N\\nSXH6FiAYk8khWkLrO6ps9SxoPhjP2W2Z0NsrvADS44+AKjqfFQe7kEITRXG9YyHr\\n-----END PUBLIC KEY-----"]},"all":{"required_absent":[],"required_present":["-----BEGIN PUBLIC KEY-----\\nix6ExcZ2IWx6xJYSDDWv0Yw9ayeMt2XOP6BQRz5fXSvLfpVecyRO3TcPvDHoJj4N\\nSXH6FiAYk8khWkLrO6ps9SxoPhjP2W2Z0NsrvADS44+AKjqfFQe7kEITRXG9YyHr\\n-----END PUBLIC KEY-----"]}},"tags":["broad-quality","secret-family:private-key","variation:08"],"secret_fixture":{"family":"private-key","role":"preserve"}}, + {"id":"broad-secret-private-key-must-detect-09","language":"en","script":"Latin","shape":"stack-trace","risk":"critical","reason":"Locked broad private-key variation.","text":"Trace[9]: Authorization header value: -----BEGIN ENCRYPTED SECRET-KEYX-----\nLIazpRR1wsZN9eO5CMlyAwfYdXUQ0CoLEMg7jShEcJDb15fxbP3ll09FaV6YCRnG\n14K+oacBAjRsi3wMvjfnxS1ezGmM/npBUbY/ffDFzVZC6QciXZvB9mqSPvRf0Bb\tv\nKGIBsOLEeZE7a6snLmLhNf6qXwrpp1/i857VliGF/w9ytU4SXH8dSzR5yADyhzk9\nLTaUp/TwUR5S9kc0pIkhgTFECfl1T/Ko7XUqlhPeEuOasLd0/8uWmCloZk7Ef/n3\n-----END ENCRYPTED SECRET-KEYX-----","known_identities":[],"targets":[{"id":"value","kind":"secret","start":38,"end":372,"value":"-----BEGIN ENCRYPTED SECRET-KEYX-----\nLIazpRR1wsZN9eO5CMlyAwfYdXUQ0CoLEMg7jShEcJDb15fxbP3ll09FaV6YCRnG\n14K+oacBAjRsi3wMvjfnxS1ezGmM/npBUbY/ffDFzVZC6QciXZvB9mqSPvRf0Bb\tv\nKGIBsOLEeZE7a6snLmLhNf6qXwrpp1/i857VliGF/w9ytU4SXH8dSzR5yADyhzk9\nLTaUp/TwUR5S9kc0pIkhgTFECfl1T/Ko7XUqlhPeEuOasLd0/8uWmCloZk7Ef/n3\n-----END ENCRYPTED SECRET-KEYX-----","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-private-key-must-detect-09","recipe":"private-key","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["-----BEGIN ENCRYPTED SECRET-KEYX-----\nLIazpRR1wsZN9eO5CMlyAwfYdXUQ0CoLEMg7jShEcJDb15fxbP3ll09FaV6YCRnG\n14K+oacBAjRsi3wMvjfnxS1ezGmM/npBUbY/ffDFzVZC6QciXZvB9mqSPvRf0Bb\tv\nKGIBsOLEeZE7a6snLmLhNf6qXwrpp1/i857VliGF/w9ytU4SXH8dSzR5yADyhzk9\nLTaUp/TwUR5S9kc0pIkhgTFECfl1T/Ko7XUqlhPeEuOasLd0/8uWmCloZk7Ef/n3\n-----END ENCRYPTED SECRET-KEYX-----"]},"customers":{"required_absent":["-----BEGIN ENCRYPTED SECRET-KEYX-----\nLIazpRR1wsZN9eO5CMlyAwfYdXUQ0CoLEMg7jShEcJDb15fxbP3ll09FaV6YCRnG\n14K+oacBAjRsi3wMvjfnxS1ezGmM/npBUbY/ffDFzVZC6QciXZvB9mqSPvRf0Bb\tv\nKGIBsOLEeZE7a6snLmLhNf6qXwrpp1/i857VliGF/w9ytU4SXH8dSzR5yADyhzk9\nLTaUp/TwUR5S9kc0pIkhgTFECfl1T/Ko7XUqlhPeEuOasLd0/8uWmCloZk7Ef/n3\n-----END ENCRYPTED SECRET-KEYX-----","-----BEGIN ENCRYPTED SECRET-KEYX-----\nLIazpRR1wsZN9eO5CMlyAwfYdXUQ0CoLEMg7jShEcJDb15fxbP3ll09FaV6YCRnG\n14K+oacBAjRsi3wMvjfnxS1ezGmM/npBUbY/ffDFzVZC6QciXZvB9mqSPvRf0Bb","v\nKGIBsOLEeZE7a6snLmLhNf6qXwrpp1/i857VliGF/w9ytU4SXH8dSzR5yADyhzk9\nLTaUp/TwUR5S9kc0pIkhgTFECfl1T/Ko7XUqlhPeEuOasLd0/8uWmCloZk7Ef/n3\n-----END ENCRYPTED SECRET-KEYX-----"],"required_present":[]},"all":{"required_absent":["-----BEGIN ENCRYPTED SECRET-KEYX-----\nLIazpRR1wsZN9eO5CMlyAwfYdXUQ0CoLEMg7jShEcJDb15fxbP3ll09FaV6YCRnG\n14K+oacBAjRsi3wMvjfnxS1ezGmM/npBUbY/ffDFzVZC6QciXZvB9mqSPvRf0Bb\tv\nKGIBsOLEeZE7a6snLmLhNf6qXwrpp1/i857VliGF/w9ytU4SXH8dSzR5yADyhzk9\nLTaUp/TwUR5S9kc0pIkhgTFECfl1T/Ko7XUqlhPeEuOasLd0/8uWmCloZk7Ef/n3\n-----END ENCRYPTED SECRET-KEYX-----","-----BEGIN ENCRYPTED SECRET-KEYX-----\nLIazpRR1wsZN9eO5CMlyAwfYdXUQ0CoLEMg7jShEcJDb15fxbP3ll09FaV6YCRnG\n14K+oacBAjRsi3wMvjfnxS1ezGmM/npBUbY/ffDFzVZC6QciXZvB9mqSPvRf0Bb","v\nKGIBsOLEeZE7a6snLmLhNf6qXwrpp1/i857VliGF/w9ytU4SXH8dSzR5yADyhzk9\nLTaUp/TwUR5S9kc0pIkhgTFECfl1T/Ko7XUqlhPeEuOasLd0/8uWmCloZk7Ef/n3\n-----END ENCRYPTED SECRET-KEYX-----"],"required_present":[]}},"tags":["broad-quality","secret-family:private-key","variation:09"],"secret_fixture":{"family":"private-key","role":"must-detect"}}, {"id":"broad-secret-private-key-preserve-09","language":"en","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad private-key variation.","text":"Trace[9]: Documentation syntax: -----BEGIN CERTIFICATE-----\n/vqjRa85fFbWaYmlt0Cw7CmuJzmrYOWnY/LGyvhwkmyPCSwWCH1z7xOQis3sO0XX\nLuuBUcinIuFMH8ijUNtpAzWvIKGHs4Ly427tUzjsNHkOgCwh+/jmarF5wtsNWmzn\n-----END CERTIFICATE-----","known_identities":[],"targets":[{"id":"value","kind":"secret","start":32,"end":215,"value":"-----BEGIN CERTIFICATE-----\n/vqjRa85fFbWaYmlt0Cw7CmuJzmrYOWnY/LGyvhwkmyPCSwWCH1z7xOQis3sO0XX\nLuuBUcinIuFMH8ijUNtpAzWvIKGHs4Ly427tUzjsNHkOgCwh+/jmarF5wtsNWmzn\n-----END CERTIFICATE-----","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-private-key-preserve-09","recipe":"private-key","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["-----BEGIN CERTIFICATE-----\n/vqjRa85fFbWaYmlt0Cw7CmuJzmrYOWnY/LGyvhwkmyPCSwWCH1z7xOQis3sO0XX\nLuuBUcinIuFMH8ijUNtpAzWvIKGHs4Ly427tUzjsNHkOgCwh+/jmarF5wtsNWmzn\n-----END CERTIFICATE-----"]},"customers":{"required_absent":[],"required_present":["-----BEGIN CERTIFICATE-----\n/vqjRa85fFbWaYmlt0Cw7CmuJzmrYOWnY/LGyvhwkmyPCSwWCH1z7xOQis3sO0XX\nLuuBUcinIuFMH8ijUNtpAzWvIKGHs4Ly427tUzjsNHkOgCwh+/jmarF5wtsNWmzn\n-----END CERTIFICATE-----"]},"all":{"required_absent":[],"required_present":["-----BEGIN CERTIFICATE-----\n/vqjRa85fFbWaYmlt0Cw7CmuJzmrYOWnY/LGyvhwkmyPCSwWCH1z7xOQis3sO0XX\nLuuBUcinIuFMH8ijUNtpAzWvIKGHs4Ly427tUzjsNHkOgCwh+/jmarF5wtsNWmzn\n-----END CERTIFICATE-----"]}},"tags":["broad-quality","secret-family:private-key","variation:09"],"secret_fixture":{"family":"private-key","role":"preserve"}}, - {"id":"broad-secret-private-key-must-detect-10","language":"en","script":"Latin","shape":"code","risk":"critical","reason":"Locked broad private-key variation.","text":"fixture_10 := `Log field auth_value=-----BEGIN SECRET-KEYX-----\nX7Y713O4SpQj4MeOUnAc6l3svNEsYpTqSbMAr/7qZmQU8ymtPD5DCnaa8vasHq6k\nexSNJ9l+iPWqV6ncF4ofQUpadghb3RsRMDmGIoGO0qPjlbh2ucJSYlrG15440TqK\nVUGHmiuZRuBS0v4H0uWAlpIP75H43jap0PD+zAP4OdAUw8CVsHoTjbZb4NbCVQK0\nJ/oAjZ/1a2q8a0AylGOELP9sCKb1ucTXQ7ZKh+RZ9Dgqz9Oee42kwfZRvkWLqGUS\n-----END SECRET-KEYX-----`","known_identities":[],"targets":[{"id":"value","kind":"secret","start":36,"end":349,"value":"-----BEGIN SECRET-KEYX-----\nX7Y713O4SpQj4MeOUnAc6l3svNEsYpTqSbMAr/7qZmQU8ymtPD5DCnaa8vasHq6k\nexSNJ9l+iPWqV6ncF4ofQUpadghb3RsRMDmGIoGO0qPjlbh2ucJSYlrG15440TqK\nVUGHmiuZRuBS0v4H0uWAlpIP75H43jap0PD+zAP4OdAUw8CVsHoTjbZb4NbCVQK0\nJ/oAjZ/1a2q8a0AylGOELP9sCKb1ucTXQ7ZKh+RZ9Dgqz9Oee42kwfZRvkWLqGUS\n-----END SECRET-KEYX-----","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-private-key-must-detect-10","recipe":"private-key","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["-----BEGIN SECRET-KEYX-----\nX7Y713O4SpQj4MeOUnAc6l3svNEsYpTqSbMAr/7qZmQU8ymtPD5DCnaa8vasHq6k\nexSNJ9l+iPWqV6ncF4ofQUpadghb3RsRMDmGIoGO0qPjlbh2ucJSYlrG15440TqK\nVUGHmiuZRuBS0v4H0uWAlpIP75H43jap0PD+zAP4OdAUw8CVsHoTjbZb4NbCVQK0\nJ/oAjZ/1a2q8a0AylGOELP9sCKb1ucTXQ7ZKh+RZ9Dgqz9Oee42kwfZRvkWLqGUS\n-----END SECRET-KEYX-----"]},"customers":{"required_absent":["-----BEGIN SECRET-KEYX-----\nX7Y713O4SpQj4MeOUnAc6l3svNEsYpTqSbMAr/7qZmQU8ymtPD5DCnaa8vasHq6k\nexSNJ9l+iPWqV6ncF4ofQUpadghb3RsRMDmGIoGO0qPjlbh2ucJSYlrG15440TqK\nVUGHmiuZRuBS0v4H0uWAlpIP75H43jap0PD+zAP4OdAUw8CVsHoTjbZb4NbCVQK0\nJ/oAjZ/1a2q8a0AylGOELP9sCKb1ucTXQ7ZKh+RZ9Dgqz9Oee42kwfZRvkWLqGUS\n-----END SECRET-KEYX-----"],"required_present":[]},"all":{"required_absent":["-----BEGIN SECRET-KEYX-----\nX7Y713O4SpQj4MeOUnAc6l3svNEsYpTqSbMAr/7qZmQU8ymtPD5DCnaa8vasHq6k\nexSNJ9l+iPWqV6ncF4ofQUpadghb3RsRMDmGIoGO0qPjlbh2ucJSYlrG15440TqK\nVUGHmiuZRuBS0v4H0uWAlpIP75H43jap0PD+zAP4OdAUw8CVsHoTjbZb4NbCVQK0\nJ/oAjZ/1a2q8a0AylGOELP9sCKb1ucTXQ7ZKh+RZ9Dgqz9Oee42kwfZRvkWLqGUS\n-----END SECRET-KEYX-----"],"required_present":[]}},"tags":["broad-quality","secret-family:private-key","variation:10"],"secret_fixture":{"family":"private-key","role":"must-detect"}}, + {"id":"broad-secret-private-key-must-detect-10","language":"en","script":"Latin","shape":"code","risk":"critical","reason":"Locked broad private-key variation.","text":"fixture_10 := `Log field auth_value=-----BEGIN SECRET-KEYX-----\nX7Y713O4SpQj4MeOUnAc6l3svNEsYpTqSbMAr/7qZmQU8ymtPD5DCnaa8vasHq6k\nexSNJ9l+iPWqV6ncF4ofQUpadghb3RsRMDmGIoGO0qPjlbh2ucJSYlrG15440Tq·K\nVUGHmiuZRuBS0v4H0uWAlpIP75H43jap0PD+zAP4OdAUw8CVsHoTjbZb4NbCVQK0\nJ/oAjZ/1a2q8a0AylGOELP9sCKb1ucTXQ7ZKh+RZ9Dgqz9Oee42kwfZRvkWLqGUS\n-----END SECRET-KEYX-----`","known_identities":[],"targets":[{"id":"value","kind":"secret","start":36,"end":351,"value":"-----BEGIN SECRET-KEYX-----\nX7Y713O4SpQj4MeOUnAc6l3svNEsYpTqSbMAr/7qZmQU8ymtPD5DCnaa8vasHq6k\nexSNJ9l+iPWqV6ncF4ofQUpadghb3RsRMDmGIoGO0qPjlbh2ucJSYlrG15440Tq·K\nVUGHmiuZRuBS0v4H0uWAlpIP75H43jap0PD+zAP4OdAUw8CVsHoTjbZb4NbCVQK0\nJ/oAjZ/1a2q8a0AylGOELP9sCKb1ucTXQ7ZKh+RZ9Dgqz9Oee42kwfZRvkWLqGUS\n-----END SECRET-KEYX-----","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-private-key-must-detect-10","recipe":"private-key","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["-----BEGIN SECRET-KEYX-----\nX7Y713O4SpQj4MeOUnAc6l3svNEsYpTqSbMAr/7qZmQU8ymtPD5DCnaa8vasHq6k\nexSNJ9l+iPWqV6ncF4ofQUpadghb3RsRMDmGIoGO0qPjlbh2ucJSYlrG15440Tq·K\nVUGHmiuZRuBS0v4H0uWAlpIP75H43jap0PD+zAP4OdAUw8CVsHoTjbZb4NbCVQK0\nJ/oAjZ/1a2q8a0AylGOELP9sCKb1ucTXQ7ZKh+RZ9Dgqz9Oee42kwfZRvkWLqGUS\n-----END SECRET-KEYX-----"]},"customers":{"required_absent":["-----BEGIN SECRET-KEYX-----\nX7Y713O4SpQj4MeOUnAc6l3svNEsYpTqSbMAr/7qZmQU8ymtPD5DCnaa8vasHq6k\nexSNJ9l+iPWqV6ncF4ofQUpadghb3RsRMDmGIoGO0qPjlbh2ucJSYlrG15440Tq·K\nVUGHmiuZRuBS0v4H0uWAlpIP75H43jap0PD+zAP4OdAUw8CVsHoTjbZb4NbCVQK0\nJ/oAjZ/1a2q8a0AylGOELP9sCKb1ucTXQ7ZKh+RZ9Dgqz9Oee42kwfZRvkWLqGUS\n-----END SECRET-KEYX-----","-----BEGIN SECRET-KEYX-----\nX7Y713O4SpQj4MeOUnAc6l3svNEsYpTqSbMAr/7qZmQU8ymtPD5DCnaa8vasHq6k\nexSNJ9l+iPWqV6ncF4ofQUpadghb3RsRMDmGIoGO0qPjlbh2ucJSYlrG15440Tq","K\nVUGHmiuZRuBS0v4H0uWAlpIP75H43jap0PD+zAP4OdAUw8CVsHoTjbZb4NbCVQK0\nJ/oAjZ/1a2q8a0AylGOELP9sCKb1ucTXQ7ZKh+RZ9Dgqz9Oee42kwfZRvkWLqGUS\n-----END SECRET-KEYX-----"],"required_present":[]},"all":{"required_absent":["-----BEGIN SECRET-KEYX-----\nX7Y713O4SpQj4MeOUnAc6l3svNEsYpTqSbMAr/7qZmQU8ymtPD5DCnaa8vasHq6k\nexSNJ9l+iPWqV6ncF4ofQUpadghb3RsRMDmGIoGO0qPjlbh2ucJSYlrG15440Tq·K\nVUGHmiuZRuBS0v4H0uWAlpIP75H43jap0PD+zAP4OdAUw8CVsHoTjbZb4NbCVQK0\nJ/oAjZ/1a2q8a0AylGOELP9sCKb1ucTXQ7ZKh+RZ9Dgqz9Oee42kwfZRvkWLqGUS\n-----END SECRET-KEYX-----","-----BEGIN SECRET-KEYX-----\nX7Y713O4SpQj4MeOUnAc6l3svNEsYpTqSbMAr/7qZmQU8ymtPD5DCnaa8vasHq6k\nexSNJ9l+iPWqV6ncF4ofQUpadghb3RsRMDmGIoGO0qPjlbh2ucJSYlrG15440Tq","K\nVUGHmiuZRuBS0v4H0uWAlpIP75H43jap0PD+zAP4OdAUw8CVsHoTjbZb4NbCVQK0\nJ/oAjZ/1a2q8a0AylGOELP9sCKb1ucTXQ7ZKh+RZ9Dgqz9Oee42kwfZRvkWLqGUS\n-----END SECRET-KEYX-----"],"required_present":[]}},"tags":["broad-quality","secret-family:private-key","variation:10"],"secret_fixture":{"family":"private-key","role":"must-detect"}}, {"id":"broad-secret-private-key-preserve-10","language":"en","script":"Latin","shape":"code","risk":"preservation","reason":"Locked broad private-key variation.","text":"fixture_10 := `Public operational identifier: -----BEGIN PUBLIC KEY-----\n9T2eJV7hh5x1RlZh1nnkdm5ZvPIKQWlY99JunCCdDre9KgOiOyc4Vi63uwMfJ21D\ny9oEkS4f3iHEq+wcRc7yx3D21r/fXv1X5jQzzxyvM6ip9QLtg/PZFW/YrLihrFYV\n-----END PUBLIC KEY-----`","known_identities":[],"targets":[{"id":"value","kind":"secret","start":46,"end":227,"value":"-----BEGIN PUBLIC KEY-----\n9T2eJV7hh5x1RlZh1nnkdm5ZvPIKQWlY99JunCCdDre9KgOiOyc4Vi63uwMfJ21D\ny9oEkS4f3iHEq+wcRc7yx3D21r/fXv1X5jQzzxyvM6ip9QLtg/PZFW/YrLihrFYV\n-----END PUBLIC KEY-----","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-private-key-preserve-10","recipe":"private-key","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["-----BEGIN PUBLIC KEY-----\n9T2eJV7hh5x1RlZh1nnkdm5ZvPIKQWlY99JunCCdDre9KgOiOyc4Vi63uwMfJ21D\ny9oEkS4f3iHEq+wcRc7yx3D21r/fXv1X5jQzzxyvM6ip9QLtg/PZFW/YrLihrFYV\n-----END PUBLIC KEY-----"]},"customers":{"required_absent":[],"required_present":["-----BEGIN PUBLIC KEY-----\n9T2eJV7hh5x1RlZh1nnkdm5ZvPIKQWlY99JunCCdDre9KgOiOyc4Vi63uwMfJ21D\ny9oEkS4f3iHEq+wcRc7yx3D21r/fXv1X5jQzzxyvM6ip9QLtg/PZFW/YrLihrFYV\n-----END PUBLIC KEY-----"]},"all":{"required_absent":[],"required_present":["-----BEGIN PUBLIC KEY-----\n9T2eJV7hh5x1RlZh1nnkdm5ZvPIKQWlY99JunCCdDre9KgOiOyc4Vi63uwMfJ21D\ny9oEkS4f3iHEq+wcRc7yx3D21r/fXv1X5jQzzxyvM6ip9QLtg/PZFW/YrLihrFYV\n-----END PUBLIC KEY-----"]}},"tags":["broad-quality","secret-family:private-key","variation:10"],"secret_fixture":{"family":"private-key","role":"preserve"}}, {"id":"broad-secret-private-key-must-detect-11","language":"en","script":"Latin","shape":"signature","risk":"critical","reason":"Locked broad private-key variation.","text":"--\nRotating this exposed value: -----BEGIN RSA SECRET-KEYX-----\nEYLphTxxYj3r4eEkRVmf0lxYmftQNKbfeeYqZCyKHpRfYUyMPK/iaLDzT2BdXg2Z\nyzTAmhi8EgpRCWLP6fpGrwyMaE4BettnDFfri17qkc2kjQ7XVxCIcdFoBabO3Qly\nzb8PhYu9YBgbw3NTcpez1f2JgvUwMLxwkw26gRAmt6yUIgAw/F2UUuYLCYaO9ghL\nuhWsm4El0K15vb7BSu6KgcxEhuOVSD5xGzoAj6yRt4CGJuErttP7PM/GI2wk6y3s\n-----END RSA SECRET-KEYX-----","known_identities":[],"targets":[{"id":"value","kind":"secret","start":32,"end":353,"value":"-----BEGIN RSA SECRET-KEYX-----\nEYLphTxxYj3r4eEkRVmf0lxYmftQNKbfeeYqZCyKHpRfYUyMPK/iaLDzT2BdXg2Z\nyzTAmhi8EgpRCWLP6fpGrwyMaE4BettnDFfri17qkc2kjQ7XVxCIcdFoBabO3Qly\nzb8PhYu9YBgbw3NTcpez1f2JgvUwMLxwkw26gRAmt6yUIgAw/F2UUuYLCYaO9ghL\nuhWsm4El0K15vb7BSu6KgcxEhuOVSD5xGzoAj6yRt4CGJuErttP7PM/GI2wk6y3s\n-----END RSA SECRET-KEYX-----","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-private-key-must-detect-11","recipe":"private-key","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["-----BEGIN RSA SECRET-KEYX-----\nEYLphTxxYj3r4eEkRVmf0lxYmftQNKbfeeYqZCyKHpRfYUyMPK/iaLDzT2BdXg2Z\nyzTAmhi8EgpRCWLP6fpGrwyMaE4BettnDFfri17qkc2kjQ7XVxCIcdFoBabO3Qly\nzb8PhYu9YBgbw3NTcpez1f2JgvUwMLxwkw26gRAmt6yUIgAw/F2UUuYLCYaO9ghL\nuhWsm4El0K15vb7BSu6KgcxEhuOVSD5xGzoAj6yRt4CGJuErttP7PM/GI2wk6y3s\n-----END RSA SECRET-KEYX-----"]},"customers":{"required_absent":["-----BEGIN RSA SECRET-KEYX-----\nEYLphTxxYj3r4eEkRVmf0lxYmftQNKbfeeYqZCyKHpRfYUyMPK/iaLDzT2BdXg2Z\nyzTAmhi8EgpRCWLP6fpGrwyMaE4BettnDFfri17qkc2kjQ7XVxCIcdFoBabO3Qly\nzb8PhYu9YBgbw3NTcpez1f2JgvUwMLxwkw26gRAmt6yUIgAw/F2UUuYLCYaO9ghL\nuhWsm4El0K15vb7BSu6KgcxEhuOVSD5xGzoAj6yRt4CGJuErttP7PM/GI2wk6y3s\n-----END RSA SECRET-KEYX-----"],"required_present":[]},"all":{"required_absent":["-----BEGIN RSA SECRET-KEYX-----\nEYLphTxxYj3r4eEkRVmf0lxYmftQNKbfeeYqZCyKHpRfYUyMPK/iaLDzT2BdXg2Z\nyzTAmhi8EgpRCWLP6fpGrwyMaE4BettnDFfri17qkc2kjQ7XVxCIcdFoBabO3Qly\nzb8PhYu9YBgbw3NTcpez1f2JgvUwMLxwkw26gRAmt6yUIgAw/F2UUuYLCYaO9ghL\nuhWsm4El0K15vb7BSu6KgcxEhuOVSD5xGzoAj6yRt4CGJuErttP7PM/GI2wk6y3s\n-----END RSA SECRET-KEYX-----"],"required_present":[]}},"tags":["broad-quality","secret-family:private-key","variation:11"],"secret_fixture":{"family":"private-key","role":"must-detect"}}, {"id":"broad-secret-private-key-preserve-11","language":"en","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad private-key variation.","text":"--\nSchema field label: -----BEGIN CERTIFICATE-----\n1z9gN1Nq5LGEVifp+7VJIKFb2stulElpydy+9AelBdvdYPQ8SI8Lmyv3N9MfJERo\nlK0rPR7RjI230gzMbzkt28Tp0psqjIInZ/w4UlMaYvLwSiVu4rY1L8sbpUURmIPs\n-----END CERTIFICATE-----","known_identities":[],"targets":[{"id":"value","kind":"secret","start":23,"end":206,"value":"-----BEGIN CERTIFICATE-----\n1z9gN1Nq5LGEVifp+7VJIKFb2stulElpydy+9AelBdvdYPQ8SI8Lmyv3N9MfJERo\nlK0rPR7RjI230gzMbzkt28Tp0psqjIInZ/w4UlMaYvLwSiVu4rY1L8sbpUURmIPs\n-----END CERTIFICATE-----","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-private-key-preserve-11","recipe":"private-key","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["-----BEGIN CERTIFICATE-----\n1z9gN1Nq5LGEVifp+7VJIKFb2stulElpydy+9AelBdvdYPQ8SI8Lmyv3N9MfJERo\nlK0rPR7RjI230gzMbzkt28Tp0psqjIInZ/w4UlMaYvLwSiVu4rY1L8sbpUURmIPs\n-----END CERTIFICATE-----"]},"customers":{"required_absent":[],"required_present":["-----BEGIN CERTIFICATE-----\n1z9gN1Nq5LGEVifp+7VJIKFb2stulElpydy+9AelBdvdYPQ8SI8Lmyv3N9MfJERo\nlK0rPR7RjI230gzMbzkt28Tp0psqjIInZ/w4UlMaYvLwSiVu4rY1L8sbpUURmIPs\n-----END CERTIFICATE-----"]},"all":{"required_absent":[],"required_present":["-----BEGIN CERTIFICATE-----\n1z9gN1Nq5LGEVifp+7VJIKFb2stulElpydy+9AelBdvdYPQ8SI8Lmyv3N9MfJERo\nlK0rPR7RjI230gzMbzkt28Tp0psqjIInZ/w4UlMaYvLwSiVu4rY1L8sbpUURmIPs\n-----END CERTIFICATE-----"]}},"tags":["broad-quality","secret-family:private-key","variation:11"],"secret_fixture":{"family":"private-key","role":"preserve"}}, {"id":"broad-secret-private-key-must-detect-12","language":"en","script":"Latin","shape":"long-thread","risk":"critical","reason":"Locked broad private-key variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Quoted credential follows: -----BEGIN EC SECRET-KEYX-----\n3WyTA9/uAvd9z7/LIvJRp0U9wh7rkDdlyo8WRFcE6ksPMXVskbgy2bx7w38PGbW8\n5E7daoLIn8XWmD9jOye7AnH+1vrzVBnM3HukbsEWO/Sex+vlCNGEhLoAv9Ikzx4e\nKqwkA0/IRpZPfCQ1c6KTJc0Wpxlj4QP40URC/+IcheDL3oQPPARceeYOl+y/V0rF\nVfxr5bAuYiMvsj0NEgKdKxJJ6B/X6GZ+vqdxuUrmteoo7fl1CjBA2kjE7ebSS5YW\n-----END EC SECRET-KEYX-----","known_identities":[],"targets":[{"id":"value","kind":"secret","start":507,"end":826,"value":"-----BEGIN EC SECRET-KEYX-----\n3WyTA9/uAvd9z7/LIvJRp0U9wh7rkDdlyo8WRFcE6ksPMXVskbgy2bx7w38PGbW8\n5E7daoLIn8XWmD9jOye7AnH+1vrzVBnM3HukbsEWO/Sex+vlCNGEhLoAv9Ikzx4e\nKqwkA0/IRpZPfCQ1c6KTJc0Wpxlj4QP40URC/+IcheDL3oQPPARceeYOl+y/V0rF\nVfxr5bAuYiMvsj0NEgKdKxJJ6B/X6GZ+vqdxuUrmteoo7fl1CjBA2kjE7ebSS5YW\n-----END EC SECRET-KEYX-----","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-private-key-must-detect-12","recipe":"private-key","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["-----BEGIN EC SECRET-KEYX-----\n3WyTA9/uAvd9z7/LIvJRp0U9wh7rkDdlyo8WRFcE6ksPMXVskbgy2bx7w38PGbW8\n5E7daoLIn8XWmD9jOye7AnH+1vrzVBnM3HukbsEWO/Sex+vlCNGEhLoAv9Ikzx4e\nKqwkA0/IRpZPfCQ1c6KTJc0Wpxlj4QP40URC/+IcheDL3oQPPARceeYOl+y/V0rF\nVfxr5bAuYiMvsj0NEgKdKxJJ6B/X6GZ+vqdxuUrmteoo7fl1CjBA2kjE7ebSS5YW\n-----END EC SECRET-KEYX-----"]},"customers":{"required_absent":["-----BEGIN EC SECRET-KEYX-----\n3WyTA9/uAvd9z7/LIvJRp0U9wh7rkDdlyo8WRFcE6ksPMXVskbgy2bx7w38PGbW8\n5E7daoLIn8XWmD9jOye7AnH+1vrzVBnM3HukbsEWO/Sex+vlCNGEhLoAv9Ikzx4e\nKqwkA0/IRpZPfCQ1c6KTJc0Wpxlj4QP40URC/+IcheDL3oQPPARceeYOl+y/V0rF\nVfxr5bAuYiMvsj0NEgKdKxJJ6B/X6GZ+vqdxuUrmteoo7fl1CjBA2kjE7ebSS5YW\n-----END EC SECRET-KEYX-----"],"required_present":[]},"all":{"required_absent":["-----BEGIN EC SECRET-KEYX-----\n3WyTA9/uAvd9z7/LIvJRp0U9wh7rkDdlyo8WRFcE6ksPMXVskbgy2bx7w38PGbW8\n5E7daoLIn8XWmD9jOye7AnH+1vrzVBnM3HukbsEWO/Sex+vlCNGEhLoAv9Ikzx4e\nKqwkA0/IRpZPfCQ1c6KTJc0Wpxlj4QP40URC/+IcheDL3oQPPARceeYOl+y/V0rF\nVfxr5bAuYiMvsj0NEgKdKxJJ6B/X6GZ+vqdxuUrmteoo7fl1CjBA2kjE7ebSS5YW\n-----END EC SECRET-KEYX-----"],"required_present":[]}},"tags":["broad-quality","secret-family:private-key","variation:12"],"secret_fixture":{"family":"private-key","role":"must-detect"}}, {"id":"broad-secret-private-key-preserve-12","language":"en","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad private-key variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Non-confidential protocol token: -----BEGIN PUBLIC KEY-----\nBaoK2VD+eMPzNTWwZbZOCK1YRRU142mUuMsbcOAbzxjDOGY0x+PTNjHvQu6aY4wH\nHHX2yK4r5MswnNmoLkmbUCUUiwRFTRcT/1PyxQtHl4+AqgfNRSJ7k+c30xKNKwP4\n-----END PUBLIC KEY-----","known_identities":[],"targets":[{"id":"value","kind":"secret","start":513,"end":694,"value":"-----BEGIN PUBLIC KEY-----\nBaoK2VD+eMPzNTWwZbZOCK1YRRU142mUuMsbcOAbzxjDOGY0x+PTNjHvQu6aY4wH\nHHX2yK4r5MswnNmoLkmbUCUUiwRFTRcT/1PyxQtHl4+AqgfNRSJ7k+c30xKNKwP4\n-----END PUBLIC KEY-----","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-private-key-preserve-12","recipe":"private-key","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["-----BEGIN PUBLIC KEY-----\nBaoK2VD+eMPzNTWwZbZOCK1YRRU142mUuMsbcOAbzxjDOGY0x+PTNjHvQu6aY4wH\nHHX2yK4r5MswnNmoLkmbUCUUiwRFTRcT/1PyxQtHl4+AqgfNRSJ7k+c30xKNKwP4\n-----END PUBLIC KEY-----"]},"customers":{"required_absent":[],"required_present":["-----BEGIN PUBLIC KEY-----\nBaoK2VD+eMPzNTWwZbZOCK1YRRU142mUuMsbcOAbzxjDOGY0x+PTNjHvQu6aY4wH\nHHX2yK4r5MswnNmoLkmbUCUUiwRFTRcT/1PyxQtHl4+AqgfNRSJ7k+c30xKNKwP4\n-----END PUBLIC KEY-----"]},"all":{"required_absent":[],"required_present":["-----BEGIN PUBLIC KEY-----\nBaoK2VD+eMPzNTWwZbZOCK1YRRU142mUuMsbcOAbzxjDOGY0x+PTNjHvQu6aY4wH\nHHX2yK4r5MswnNmoLkmbUCUUiwRFTRcT/1PyxQtHl4+AqgfNRSJ7k+c30xKNKwP4\n-----END PUBLIC KEY-----"]}},"tags":["broad-quality","secret-family:private-key","variation:12"],"secret_fixture":{"family":"private-key","role":"preserve"}}, - {"id":"broad-secret-private-key-must-detect-13","language":"en","script":"Latin","shape":"command-payload","risk":"critical","reason":"Locked broad private-key variation.","text":"--sample=13 --message=\"Configuration secret: \" --value=-----BEGIN OPENSSH SECRET-KEYX-----\nm/lSyRtYs5bZRD5zOdgjl+0PApr0agBJ45/b/c7Qs8Yy/yXbM1QpCMOSi7TLSzxa\nTcQUxjmdOJoaifhyvLPh2peRCj+lyHbpzl6e/LjN3IGelPdz28r8V5pB3r5G3i3E\n524zBaegmyYuZmLyD1gck+Jw4w1OF3cLHjV384chQITeDx4BslLdyhlm/MCyKpAw\nBij3I6uWYsDzPTG8tnnef/cl0aK9hlcpZRqyjbNBawBIVRlXvm4Rqb2zxB7qB+OY\n-----END OPENSSH SECRET-KEYX-----","known_identities":[],"targets":[{"id":"value","kind":"secret","start":55,"end":384,"value":"-----BEGIN OPENSSH SECRET-KEYX-----\nm/lSyRtYs5bZRD5zOdgjl+0PApr0agBJ45/b/c7Qs8Yy/yXbM1QpCMOSi7TLSzxa\nTcQUxjmdOJoaifhyvLPh2peRCj+lyHbpzl6e/LjN3IGelPdz28r8V5pB3r5G3i3E\n524zBaegmyYuZmLyD1gck+Jw4w1OF3cLHjV384chQITeDx4BslLdyhlm/MCyKpAw\nBij3I6uWYsDzPTG8tnnef/cl0aK9hlcpZRqyjbNBawBIVRlXvm4Rqb2zxB7qB+OY\n-----END OPENSSH SECRET-KEYX-----","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-private-key-must-detect-13","recipe":"private-key","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["-----BEGIN OPENSSH SECRET-KEYX-----\nm/lSyRtYs5bZRD5zOdgjl+0PApr0agBJ45/b/c7Qs8Yy/yXbM1QpCMOSi7TLSzxa\nTcQUxjmdOJoaifhyvLPh2peRCj+lyHbpzl6e/LjN3IGelPdz28r8V5pB3r5G3i3E\n524zBaegmyYuZmLyD1gck+Jw4w1OF3cLHjV384chQITeDx4BslLdyhlm/MCyKpAw\nBij3I6uWYsDzPTG8tnnef/cl0aK9hlcpZRqyjbNBawBIVRlXvm4Rqb2zxB7qB+OY\n-----END OPENSSH SECRET-KEYX-----"]},"customers":{"required_absent":["-----BEGIN OPENSSH SECRET-KEYX-----\nm/lSyRtYs5bZRD5zOdgjl+0PApr0agBJ45/b/c7Qs8Yy/yXbM1QpCMOSi7TLSzxa\nTcQUxjmdOJoaifhyvLPh2peRCj+lyHbpzl6e/LjN3IGelPdz28r8V5pB3r5G3i3E\n524zBaegmyYuZmLyD1gck+Jw4w1OF3cLHjV384chQITeDx4BslLdyhlm/MCyKpAw\nBij3I6uWYsDzPTG8tnnef/cl0aK9hlcpZRqyjbNBawBIVRlXvm4Rqb2zxB7qB+OY\n-----END OPENSSH SECRET-KEYX-----"],"required_present":[]},"all":{"required_absent":["-----BEGIN OPENSSH SECRET-KEYX-----\nm/lSyRtYs5bZRD5zOdgjl+0PApr0agBJ45/b/c7Qs8Yy/yXbM1QpCMOSi7TLSzxa\nTcQUxjmdOJoaifhyvLPh2peRCj+lyHbpzl6e/LjN3IGelPdz28r8V5pB3r5G3i3E\n524zBaegmyYuZmLyD1gck+Jw4w1OF3cLHjV384chQITeDx4BslLdyhlm/MCyKpAw\nBij3I6uWYsDzPTG8tnnef/cl0aK9hlcpZRqyjbNBawBIVRlXvm4Rqb2zxB7qB+OY\n-----END OPENSSH SECRET-KEYX-----"],"required_present":[]}},"tags":["broad-quality","secret-family:private-key","variation:13"],"secret_fixture":{"family":"private-key","role":"must-detect"}}, - {"id":"broad-secret-private-key-preserve-13","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad private-key variation.","text":"--sample=13 --message=\"Release metadata: \" --value=-----BEGIN CERTIFICATE-----\nFpaH8GqPd/9XpbxgS1VcIyeHksa7F1N8mtuWSyZMocMFE+N7+5IQOwOIZX3JQvme\ngVvH0USkjRVmLzhEpPrfEvQnq7s99lxihbmGbbUrn1Nou6/tg8fcav/SLNCx3ay1\n-----END CERTIFICATE-----","known_identities":[],"targets":[{"id":"value","kind":"secret","start":51,"end":234,"value":"-----BEGIN CERTIFICATE-----\nFpaH8GqPd/9XpbxgS1VcIyeHksa7F1N8mtuWSyZMocMFE+N7+5IQOwOIZX3JQvme\ngVvH0USkjRVmLzhEpPrfEvQnq7s99lxihbmGbbUrn1Nou6/tg8fcav/SLNCx3ay1\n-----END CERTIFICATE-----","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-private-key-preserve-13","recipe":"private-key","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["-----BEGIN CERTIFICATE-----\nFpaH8GqPd/9XpbxgS1VcIyeHksa7F1N8mtuWSyZMocMFE+N7+5IQOwOIZX3JQvme\ngVvH0USkjRVmLzhEpPrfEvQnq7s99lxihbmGbbUrn1Nou6/tg8fcav/SLNCx3ay1\n-----END CERTIFICATE-----"]},"customers":{"required_absent":[],"required_present":["-----BEGIN CERTIFICATE-----\nFpaH8GqPd/9XpbxgS1VcIyeHksa7F1N8mtuWSyZMocMFE+N7+5IQOwOIZX3JQvme\ngVvH0USkjRVmLzhEpPrfEvQnq7s99lxihbmGbbUrn1Nou6/tg8fcav/SLNCx3ay1\n-----END CERTIFICATE-----"]},"all":{"required_absent":[],"required_present":["-----BEGIN CERTIFICATE-----\nFpaH8GqPd/9XpbxgS1VcIyeHksa7F1N8mtuWSyZMocMFE+N7+5IQOwOIZX3JQvme\ngVvH0USkjRVmLzhEpPrfEvQnq7s99lxihbmGbbUrn1Nou6/tg8fcav/SLNCx3ay1\n-----END CERTIFICATE-----"]}},"tags":["broad-quality","secret-family:private-key","variation:13"],"secret_fixture":{"family":"private-key","role":"preserve"}}, + {"id":"broad-secret-private-key-must-detect-13","language":"en","script":"Latin","shape":"command-payload","risk":"critical","reason":"Locked broad private-key variation.","text":"--sample=13 --message=\"Configuration secret: \" --credential=\"-----BEGIN OPENSSH SECRET-KEYX-----\\nm/lSyRtYs5bZRD5zOdgjl+0PApr0agBJ45/b/c7Qs8Yy/yXbM1QpCMOSi7TLSzxa\\nTcQUxjmdOJoaifhyvLPh2peRCj+lyHbpzl6e/LjN3IGelPdz28r8V5pB3r5G3i3E\\n524zBaegmyYuZmLyD1gck+Jw4w1OF3cLHjV384chQITeDx4BslLdyhlm/MCyKpAw\\nBij3I6uWYsDzPTG8tnnef/cl0aK9hlcpZRqyjbNBawBIVRlXvm4Rqb2zxB7qB+OY\\n-----END OPENSSH SECRET-KEYX-----\"","known_identities":[],"targets":[{"id":"value","kind":"secret","start":61,"end":395,"value":"-----BEGIN OPENSSH SECRET-KEYX-----\\nm/lSyRtYs5bZRD5zOdgjl+0PApr0agBJ45/b/c7Qs8Yy/yXbM1QpCMOSi7TLSzxa\\nTcQUxjmdOJoaifhyvLPh2peRCj+lyHbpzl6e/LjN3IGelPdz28r8V5pB3r5G3i3E\\n524zBaegmyYuZmLyD1gck+Jw4w1OF3cLHjV384chQITeDx4BslLdyhlm/MCyKpAw\\nBij3I6uWYsDzPTG8tnnef/cl0aK9hlcpZRqyjbNBawBIVRlXvm4Rqb2zxB7qB+OY\\n-----END OPENSSH SECRET-KEYX-----","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-private-key-must-detect-13","recipe":"private-key","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["-----BEGIN OPENSSH SECRET-KEYX-----\\nm/lSyRtYs5bZRD5zOdgjl+0PApr0agBJ45/b/c7Qs8Yy/yXbM1QpCMOSi7TLSzxa\\nTcQUxjmdOJoaifhyvLPh2peRCj+lyHbpzl6e/LjN3IGelPdz28r8V5pB3r5G3i3E\\n524zBaegmyYuZmLyD1gck+Jw4w1OF3cLHjV384chQITeDx4BslLdyhlm/MCyKpAw\\nBij3I6uWYsDzPTG8tnnef/cl0aK9hlcpZRqyjbNBawBIVRlXvm4Rqb2zxB7qB+OY\\n-----END OPENSSH SECRET-KEYX-----"]},"customers":{"required_absent":["-----BEGIN OPENSSH SECRET-KEYX-----\\nm/lSyRtYs5bZRD5zOdgjl+0PApr0agBJ45/b/c7Qs8Yy/yXbM1QpCMOSi7TLSzxa\\nTcQUxjmdOJoaifhyvLPh2peRCj+lyHbpzl6e/LjN3IGelPdz28r8V5pB3r5G3i3E\\n524zBaegmyYuZmLyD1gck+Jw4w1OF3cLHjV384chQITeDx4BslLdyhlm/MCyKpAw\\nBij3I6uWYsDzPTG8tnnef/cl0aK9hlcpZRqyjbNBawBIVRlXvm4Rqb2zxB7qB+OY\\n-----END OPENSSH SECRET-KEYX-----"],"required_present":[]},"all":{"required_absent":["-----BEGIN OPENSSH SECRET-KEYX-----\\nm/lSyRtYs5bZRD5zOdgjl+0PApr0agBJ45/b/c7Qs8Yy/yXbM1QpCMOSi7TLSzxa\\nTcQUxjmdOJoaifhyvLPh2peRCj+lyHbpzl6e/LjN3IGelPdz28r8V5pB3r5G3i3E\\n524zBaegmyYuZmLyD1gck+Jw4w1OF3cLHjV384chQITeDx4BslLdyhlm/MCyKpAw\\nBij3I6uWYsDzPTG8tnnef/cl0aK9hlcpZRqyjbNBawBIVRlXvm4Rqb2zxB7qB+OY\\n-----END OPENSSH SECRET-KEYX-----"],"required_present":[]}},"tags":["broad-quality","secret-family:private-key","variation:13"],"secret_fixture":{"family":"private-key","role":"must-detect"}}, + {"id":"broad-secret-private-key-preserve-13","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad private-key variation.","text":"--sample=13 --message=\"Release metadata: \" --credential=\"-----BEGIN CERTIFICATE-----\\nFpaH8GqPd/9XpbxgS1VcIyeHksa7F1N8mtuWSyZMocMFE+N7+5IQOwOIZX3JQvme\\ngVvH0USkjRVmLzhEpPrfEvQnq7s99lxihbmGbbUrn1Nou6/tg8fcav/SLNCx3ay1\\n-----END CERTIFICATE-----\"","known_identities":[],"targets":[{"id":"value","kind":"secret","start":57,"end":243,"value":"-----BEGIN CERTIFICATE-----\\nFpaH8GqPd/9XpbxgS1VcIyeHksa7F1N8mtuWSyZMocMFE+N7+5IQOwOIZX3JQvme\\ngVvH0USkjRVmLzhEpPrfEvQnq7s99lxihbmGbbUrn1Nou6/tg8fcav/SLNCx3ay1\\n-----END CERTIFICATE-----","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-private-key-preserve-13","recipe":"private-key","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["-----BEGIN CERTIFICATE-----\\nFpaH8GqPd/9XpbxgS1VcIyeHksa7F1N8mtuWSyZMocMFE+N7+5IQOwOIZX3JQvme\\ngVvH0USkjRVmLzhEpPrfEvQnq7s99lxihbmGbbUrn1Nou6/tg8fcav/SLNCx3ay1\\n-----END CERTIFICATE-----"]},"customers":{"required_absent":[],"required_present":["-----BEGIN CERTIFICATE-----\\nFpaH8GqPd/9XpbxgS1VcIyeHksa7F1N8mtuWSyZMocMFE+N7+5IQOwOIZX3JQvme\\ngVvH0USkjRVmLzhEpPrfEvQnq7s99lxihbmGbbUrn1Nou6/tg8fcav/SLNCx3ay1\\n-----END CERTIFICATE-----"]},"all":{"required_absent":[],"required_present":["-----BEGIN CERTIFICATE-----\\nFpaH8GqPd/9XpbxgS1VcIyeHksa7F1N8mtuWSyZMocMFE+N7+5IQOwOIZX3JQvme\\ngVvH0USkjRVmLzhEpPrfEvQnq7s99lxihbmGbbUrn1Nou6/tg8fcav/SLNCx3ay1\\n-----END CERTIFICATE-----"]}},"tags":["broad-quality","secret-family:private-key","variation:13"],"secret_fixture":{"family":"private-key","role":"preserve"}}, {"id":"broad-secret-database-connection-must-detect-00","language":"en","script":"Latin","shape":"prose","risk":"critical","reason":"Locked broad database-connection variation.","text":"Credential copied from a support reply: postgresql://svc_x9awj8se:P9!uC6ryXhf0drQiY3InH@192.0.2.42:5432/support","known_identities":[],"targets":[{"id":"value","kind":"secret","start":40,"end":111,"value":"postgresql://svc_x9awj8se:P9!uC6ryXhf0drQiY3InH@192.0.2.42:5432/support","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-database-connection-must-detect-00","recipe":"database-connection","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["postgresql://svc_x9awj8se:P9!uC6ryXhf0drQiY3InH@192.0.2.42:5432/support"]},"customers":{"required_absent":["postgresql://svc_x9awj8se:P9!uC6ryXhf0drQiY3InH@192.0.2.42:5432/support"],"required_present":[]},"all":{"required_absent":["postgresql://svc_x9awj8se:P9!uC6ryXhf0drQiY3InH@192.0.2.42:5432/support"],"required_present":[]}},"tags":["broad-quality","secret-family:database-connection","variation:00"],"secret_fixture":{"family":"database-connection","role":"must-detect"}}, {"id":"broad-secret-database-connection-preserve-00","language":"en","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad database-connection variation.","text":"Public configuration vocabulary: postgresql://192.0.2.42:5432/support","known_identities":[],"targets":[{"id":"value","kind":"secret","start":33,"end":69,"value":"postgresql://192.0.2.42:5432/support","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-database-connection-preserve-00","recipe":"database-connection","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["postgresql://192.0.2.42:5432/support"]},"customers":{"required_absent":[],"required_present":["postgresql://192.0.2.42:5432/support"]},"all":{"required_absent":[],"required_present":["postgresql://192.0.2.42:5432/support"]}},"tags":["broad-quality","secret-family:database-connection","variation:00"],"secret_fixture":{"family":"database-connection","role":"preserve"}}, {"id":"broad-secret-database-connection-must-detect-01","language":"en","script":"Latin","shape":"json","risk":"critical","reason":"Locked broad database-connection variation.","text":"{\"message_1\":\"Authorization header value: postgresql://svc_o4a61ivd:P9!1lVxFedAHE4GzMNwHE@192.0.2.42:5432/support\"}","known_identities":[],"targets":[{"id":"value","kind":"secret","start":42,"end":113,"value":"postgresql://svc_o4a61ivd:P9!1lVxFedAHE4GzMNwHE@192.0.2.42:5432/support","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-database-connection-must-detect-01","recipe":"database-connection","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["postgresql://svc_o4a61ivd:P9!1lVxFedAHE4GzMNwHE@192.0.2.42:5432/support"]},"customers":{"required_absent":["postgresql://svc_o4a61ivd:P9!1lVxFedAHE4GzMNwHE@192.0.2.42:5432/support"],"required_present":[]},"all":{"required_absent":["postgresql://svc_o4a61ivd:P9!1lVxFedAHE4GzMNwHE@192.0.2.42:5432/support"],"required_present":[]}},"tags":["broad-quality","secret-family:database-connection","variation:01"],"secret_fixture":{"family":"database-connection","role":"must-detect"}}, {"id":"broad-secret-database-connection-preserve-01","language":"en","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad database-connection variation.","text":"{\"message_1\":\"Documentation syntax: postgresql://192.0.2.42:5432/support\"}","known_identities":[],"targets":[{"id":"value","kind":"secret","start":36,"end":72,"value":"postgresql://192.0.2.42:5432/support","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-database-connection-preserve-01","recipe":"database-connection","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["postgresql://192.0.2.42:5432/support"]},"customers":{"required_absent":[],"required_present":["postgresql://192.0.2.42:5432/support"]},"all":{"required_absent":[],"required_present":["postgresql://192.0.2.42:5432/support"]}},"tags":["broad-quality","secret-family:database-connection","variation:01"],"secret_fixture":{"family":"database-connection","role":"preserve"}}, - {"id":"broad-secret-database-connection-must-detect-02","language":"en","script":"Latin","shape":"yaml","risk":"critical","reason":"Locked broad database-connection variation.","text":"message_2: Log field auth_value=postgresql://svc_uzcie7p5:P9!Nof0sJO7ZevbIRpFfg@192.0.2.42:5432/support","known_identities":[],"targets":[{"id":"value","kind":"secret","start":32,"end":103,"value":"postgresql://svc_uzcie7p5:P9!Nof0sJO7ZevbIRpFfg@192.0.2.42:5432/support","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-database-connection-must-detect-02","recipe":"database-connection","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["postgresql://svc_uzcie7p5:P9!Nof0sJO7ZevbIRpFfg@192.0.2.42:5432/support"]},"customers":{"required_absent":["postgresql://svc_uzcie7p5:P9!Nof0sJO7ZevbIRpFfg@192.0.2.42:5432/support"],"required_present":[]},"all":{"required_absent":["postgresql://svc_uzcie7p5:P9!Nof0sJO7ZevbIRpFfg@192.0.2.42:5432/support"],"required_present":[]}},"tags":["broad-quality","secret-family:database-connection","variation:02"],"secret_fixture":{"family":"database-connection","role":"must-detect"}}, - {"id":"broad-secret-database-connection-preserve-02","language":"en","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad database-connection variation.","text":"message_2: Public operational identifier: postgresql://192.0.2.42:5432/support","known_identities":[],"targets":[{"id":"value","kind":"secret","start":42,"end":78,"value":"postgresql://192.0.2.42:5432/support","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-database-connection-preserve-02","recipe":"database-connection","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["postgresql://192.0.2.42:5432/support"]},"customers":{"required_absent":[],"required_present":["postgresql://192.0.2.42:5432/support"]},"all":{"required_absent":[],"required_present":["postgresql://192.0.2.42:5432/support"]}},"tags":["broad-quality","secret-family:database-connection","variation:02"],"secret_fixture":{"family":"database-connection","role":"preserve"}}, + {"id":"broad-secret-database-connection-must-detect-02","language":"en","script":"Latin","shape":"yaml","risk":"critical","reason":"Locked broad database-connection variation.","text":"message_2: \"Log field auth_value=postgresql://svc_uzcie7p5:P9!Nof0sJO7ZevbIRpFfg@192.0.2.42:5432/support\"","known_identities":[],"targets":[{"id":"value","kind":"secret","start":33,"end":104,"value":"postgresql://svc_uzcie7p5:P9!Nof0sJO7ZevbIRpFfg@192.0.2.42:5432/support","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-database-connection-must-detect-02","recipe":"database-connection","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["postgresql://svc_uzcie7p5:P9!Nof0sJO7ZevbIRpFfg@192.0.2.42:5432/support"]},"customers":{"required_absent":["postgresql://svc_uzcie7p5:P9!Nof0sJO7ZevbIRpFfg@192.0.2.42:5432/support"],"required_present":[]},"all":{"required_absent":["postgresql://svc_uzcie7p5:P9!Nof0sJO7ZevbIRpFfg@192.0.2.42:5432/support"],"required_present":[]}},"tags":["broad-quality","secret-family:database-connection","variation:02"],"secret_fixture":{"family":"database-connection","role":"must-detect"}}, + {"id":"broad-secret-database-connection-preserve-02","language":"en","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad database-connection variation.","text":"message_2: \"Public operational identifier: postgresql://192.0.2.42:5432/support\"","known_identities":[],"targets":[{"id":"value","kind":"secret","start":43,"end":79,"value":"postgresql://192.0.2.42:5432/support","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-database-connection-preserve-02","recipe":"database-connection","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["postgresql://192.0.2.42:5432/support"]},"customers":{"required_absent":[],"required_present":["postgresql://192.0.2.42:5432/support"]},"all":{"required_absent":[],"required_present":["postgresql://192.0.2.42:5432/support"]}},"tags":["broad-quality","secret-family:database-connection","variation:02"],"secret_fixture":{"family":"database-connection","role":"preserve"}}, {"id":"broad-secret-database-connection-must-detect-03","language":"en","script":"Latin","shape":"shell","risk":"critical","reason":"Locked broad database-connection variation.","text":"MESSAGE_3='Rotating this exposed value: postgresql://svc_hpmz22jx:P9!xvTRuGZV98f7aAHpAx@192.0.2.42:5432/support'","known_identities":[],"targets":[{"id":"value","kind":"secret","start":40,"end":111,"value":"postgresql://svc_hpmz22jx:P9!xvTRuGZV98f7aAHpAx@192.0.2.42:5432/support","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-database-connection-must-detect-03","recipe":"database-connection","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["postgresql://svc_hpmz22jx:P9!xvTRuGZV98f7aAHpAx@192.0.2.42:5432/support"]},"customers":{"required_absent":["postgresql://svc_hpmz22jx:P9!xvTRuGZV98f7aAHpAx@192.0.2.42:5432/support"],"required_present":[]},"all":{"required_absent":["postgresql://svc_hpmz22jx:P9!xvTRuGZV98f7aAHpAx@192.0.2.42:5432/support"],"required_present":[]}},"tags":["broad-quality","secret-family:database-connection","variation:03"],"secret_fixture":{"family":"database-connection","role":"must-detect"}}, {"id":"broad-secret-database-connection-preserve-03","language":"en","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad database-connection variation.","text":"MESSAGE_3='Schema field label: postgresql://192.0.2.42:5432/support'","known_identities":[],"targets":[{"id":"value","kind":"secret","start":31,"end":67,"value":"postgresql://192.0.2.42:5432/support","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-database-connection-preserve-03","recipe":"database-connection","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["postgresql://192.0.2.42:5432/support"]},"customers":{"required_absent":[],"required_present":["postgresql://192.0.2.42:5432/support"]},"all":{"required_absent":[],"required_present":["postgresql://192.0.2.42:5432/support"]}},"tags":["broad-quality","secret-family:database-connection","variation:03"],"secret_fixture":{"family":"database-connection","role":"preserve"}}, - {"id":"broad-secret-database-connection-must-detect-04","language":"en","script":"Latin","shape":"url","risk":"critical","reason":"Locked broad database-connection variation.","text":"endpoint=https://192.0.2.10/4 ; Quoted credential follows: postgresql://svc_e5ik63ll:P9!njSBA1fFBcIc5442GM@192.0.2.42:5432/support","known_identities":[],"targets":[{"id":"value","kind":"secret","start":59,"end":130,"value":"postgresql://svc_e5ik63ll:P9!njSBA1fFBcIc5442GM@192.0.2.42:5432/support","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-database-connection-must-detect-04","recipe":"database-connection","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["postgresql://svc_e5ik63ll:P9!njSBA1fFBcIc5442GM@192.0.2.42:5432/support"]},"customers":{"required_absent":["postgresql://svc_e5ik63ll:P9!njSBA1fFBcIc5442GM@192.0.2.42:5432/support"],"required_present":[]},"all":{"required_absent":["postgresql://svc_e5ik63ll:P9!njSBA1fFBcIc5442GM@192.0.2.42:5432/support"],"required_present":[]}},"tags":["broad-quality","secret-family:database-connection","variation:04"],"secret_fixture":{"family":"database-connection","role":"must-detect"}}, - {"id":"broad-secret-database-connection-preserve-04","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad database-connection variation.","text":"endpoint=https://192.0.2.10/4 ; Non-confidential protocol token: postgresql://192.0.2.42:5432/support","known_identities":[],"targets":[{"id":"value","kind":"secret","start":65,"end":101,"value":"postgresql://192.0.2.42:5432/support","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-database-connection-preserve-04","recipe":"database-connection","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["postgresql://192.0.2.42:5432/support"]},"customers":{"required_absent":[],"required_present":["postgresql://192.0.2.42:5432/support"]},"all":{"required_absent":[],"required_present":["postgresql://192.0.2.42:5432/support"]}},"tags":["broad-quality","secret-family:database-connection","variation:04"],"secret_fixture":{"family":"database-connection","role":"preserve"}}, - {"id":"broad-secret-database-connection-must-detect-05","language":"en","script":"Latin","shape":"markdown","risk":"critical","reason":"Locked broad database-connection variation.","text":"**Configuration secret: postgresql://svc_13jh9yb6:P9!CQC2dIMnVYsfCTlzno@192.0.2.42:5432/support**","known_identities":[],"targets":[{"id":"value","kind":"secret","start":24,"end":95,"value":"postgresql://svc_13jh9yb6:P9!CQC2dIMnVYsfCTlzno@192.0.2.42:5432/support","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-database-connection-must-detect-05","recipe":"database-connection","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["postgresql://svc_13jh9yb6:P9!CQC2dIMnVYsfCTlzno@192.0.2.42:5432/support"]},"customers":{"required_absent":["postgresql://svc_13jh9yb6:P9!CQC2dIMnVYsfCTlzno@192.0.2.42:5432/support"],"required_present":[]},"all":{"required_absent":["postgresql://svc_13jh9yb6:P9!CQC2dIMnVYsfCTlzno@192.0.2.42:5432/support"],"required_present":[]}},"tags":["broad-quality","secret-family:database-connection","variation:05"],"secret_fixture":{"family":"database-connection","role":"must-detect"}}, - {"id":"broad-secret-database-connection-preserve-05","language":"en","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad database-connection variation.","text":"**Release metadata: postgresql://192.0.2.42:5432/support**","known_identities":[],"targets":[{"id":"value","kind":"secret","start":20,"end":56,"value":"postgresql://192.0.2.42:5432/support","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-database-connection-preserve-05","recipe":"database-connection","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["postgresql://192.0.2.42:5432/support"]},"customers":{"required_absent":[],"required_present":["postgresql://192.0.2.42:5432/support"]},"all":{"required_absent":[],"required_present":["postgresql://192.0.2.42:5432/support"]}},"tags":["broad-quality","secret-family:database-connection","variation:05"],"secret_fixture":{"family":"database-connection","role":"preserve"}}, - {"id":"broad-secret-database-connection-must-detect-06","language":"en","script":"Latin","shape":"html","risk":"critical","reason":"Locked broad database-connection variation.","text":"\u003cp\u003eStack trace captured credential postgresql://svc_7pari30w:P9!iv6AlTeN2vmPUfI5PP@192.0.2.42:5432/support\u003c/p\u003e","known_identities":[],"targets":[{"id":"value","kind":"secret","start":35,"end":106,"value":"postgresql://svc_7pari30w:P9!iv6AlTeN2vmPUfI5PP@192.0.2.42:5432/support","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-database-connection-must-detect-06","recipe":"database-connection","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["postgresql://svc_7pari30w:P9!iv6AlTeN2vmPUfI5PP@192.0.2.42:5432/support"]},"customers":{"required_absent":["postgresql://svc_7pari30w:P9!iv6AlTeN2vmPUfI5PP@192.0.2.42:5432/support"],"required_present":[]},"all":{"required_absent":["postgresql://svc_7pari30w:P9!iv6AlTeN2vmPUfI5PP@192.0.2.42:5432/support"],"required_present":[]}},"tags":["broad-quality","secret-family:database-connection","variation:06"],"secret_fixture":{"family":"database-connection","role":"must-detect"}}, - {"id":"broad-secret-database-connection-preserve-06","language":"en","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad database-connection variation.","text":"\u003cp\u003ePublic verification material: postgresql://192.0.2.42:5432/support\u003c/p\u003e","known_identities":[],"targets":[{"id":"value","kind":"secret","start":33,"end":69,"value":"postgresql://192.0.2.42:5432/support","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-database-connection-preserve-06","recipe":"database-connection","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["postgresql://192.0.2.42:5432/support"]},"customers":{"required_absent":[],"required_present":["postgresql://192.0.2.42:5432/support"]},"all":{"required_absent":[],"required_present":["postgresql://192.0.2.42:5432/support"]}},"tags":["broad-quality","secret-family:database-connection","variation:06"],"secret_fixture":{"family":"database-connection","role":"preserve"}}, + {"id":"broad-secret-database-connection-must-detect-04","language":"en","script":"Latin","shape":"url","risk":"critical","reason":"Locked broad database-connection variation.","text":"endpoint=https://192.0.2.10/4?credential=postgresql%3A%2F%2Fsvc_e5ik63ll%3AP9%21njSBA1fFBcIc5442GM%40192.0.2.42%3A5432%2Fsupport\u0026note=Quoted+credential+follows%3A+","known_identities":[],"targets":[{"id":"value","kind":"secret","start":41,"end":128,"value":"postgresql%3A%2F%2Fsvc_e5ik63ll%3AP9%21njSBA1fFBcIc5442GM%40192.0.2.42%3A5432%2Fsupport","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-database-connection-must-detect-04","recipe":"database-connection","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["postgresql%3A%2F%2Fsvc_e5ik63ll%3AP9%21njSBA1fFBcIc5442GM%40192.0.2.42%3A5432%2Fsupport"]},"customers":{"required_absent":["postgresql%3A%2F%2Fsvc_e5ik63ll%3AP9%21njSBA1fFBcIc5442GM%40192.0.2.42%3A5432%2Fsupport"],"required_present":[]},"all":{"required_absent":["postgresql%3A%2F%2Fsvc_e5ik63ll%3AP9%21njSBA1fFBcIc5442GM%40192.0.2.42%3A5432%2Fsupport"],"required_present":[]}},"tags":["broad-quality","secret-family:database-connection","variation:04"],"secret_fixture":{"family":"database-connection","role":"must-detect"}}, + {"id":"broad-secret-database-connection-preserve-04","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad database-connection variation.","text":"endpoint=https://192.0.2.10/4?credential=postgresql%3A%2F%2F192.0.2.42%3A5432%2Fsupport\u0026note=Non-confidential+protocol+token%3A+","known_identities":[],"targets":[{"id":"value","kind":"secret","start":41,"end":87,"value":"postgresql%3A%2F%2F192.0.2.42%3A5432%2Fsupport","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-database-connection-preserve-04","recipe":"database-connection","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["postgresql%3A%2F%2F192.0.2.42%3A5432%2Fsupport"]},"customers":{"required_absent":[],"required_present":["postgresql%3A%2F%2F192.0.2.42%3A5432%2Fsupport"]},"all":{"required_absent":[],"required_present":["postgresql%3A%2F%2F192.0.2.42%3A5432%2Fsupport"]}},"tags":["broad-quality","secret-family:database-connection","variation:04"],"secret_fixture":{"family":"database-connection","role":"preserve"}}, + {"id":"broad-secret-database-connection-must-detect-05","language":"en","script":"Latin","shape":"markdown","risk":"critical","reason":"Locked broad database-connection variation.","text":"Configuration secret: postgresql://svc_13jh9yb6:P9!CQC2dI**MnVYsfCTlzno@192.0.2.42:5432/support**","known_identities":[],"targets":[{"id":"value","kind":"secret","start":22,"end":97,"value":"postgresql://svc_13jh9yb6:P9!CQC2dI**MnVYsfCTlzno@192.0.2.42:5432/support**","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-database-connection-must-detect-05","recipe":"database-connection","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["postgresql://svc_13jh9yb6:P9!CQC2dI**MnVYsfCTlzno@192.0.2.42:5432/support**"]},"customers":{"required_absent":["postgresql://svc_13jh9yb6:P9!CQC2dI**MnVYsfCTlzno@192.0.2.42:5432/support**","postgresql://svc_13jh9yb6:P9!CQC2dI","MnVYsfCTlzno@192.0.2.42:5432/support"],"required_present":[]},"all":{"required_absent":["postgresql://svc_13jh9yb6:P9!CQC2dI**MnVYsfCTlzno@192.0.2.42:5432/support**","postgresql://svc_13jh9yb6:P9!CQC2dI","MnVYsfCTlzno@192.0.2.42:5432/support"],"required_present":[]}},"tags":["broad-quality","secret-family:database-connection","variation:05"],"secret_fixture":{"family":"database-connection","role":"must-detect"}}, + {"id":"broad-secret-database-connection-preserve-05","language":"en","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad database-connection variation.","text":"Release metadata: `postgresql://192.0.2.42:5432/support`","known_identities":[],"targets":[{"id":"value","kind":"secret","start":19,"end":55,"value":"postgresql://192.0.2.42:5432/support","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-database-connection-preserve-05","recipe":"database-connection","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["postgresql://192.0.2.42:5432/support"]},"customers":{"required_absent":[],"required_present":["postgresql://192.0.2.42:5432/support"]},"all":{"required_absent":[],"required_present":["postgresql://192.0.2.42:5432/support"]}},"tags":["broad-quality","secret-family:database-connection","variation:05"],"secret_fixture":{"family":"database-connection","role":"preserve"}}, + {"id":"broad-secret-database-connection-must-detect-06","language":"en","script":"Latin","shape":"html","risk":"critical","reason":"Locked broad database-connection variation.","text":"\u003cp\u003eStack trace captured credential \u003ccode\u003epostgresql://svc_7pari30w:P9!iv6AlT\u003cwbr\u003eeN2vmPUfI5PP@192.0.2.42:5432/support\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"value","kind":"secret","start":41,"end":117,"value":"postgresql://svc_7pari30w:P9!iv6AlT\u003cwbr\u003eeN2vmPUfI5PP@192.0.2.42:5432/support","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-database-connection-must-detect-06","recipe":"database-connection","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["postgresql://svc_7pari30w:P9!iv6AlT\u003cwbr\u003eeN2vmPUfI5PP@192.0.2.42:5432/support"]},"customers":{"required_absent":["postgresql://svc_7pari30w:P9!iv6AlT\u003cwbr\u003eeN2vmPUfI5PP@192.0.2.42:5432/support","postgresql://svc_7pari30w:P9!iv6AlT","eN2vmPUfI5PP@192.0.2.42:5432/support"],"required_present":[]},"all":{"required_absent":["postgresql://svc_7pari30w:P9!iv6AlT\u003cwbr\u003eeN2vmPUfI5PP@192.0.2.42:5432/support","postgresql://svc_7pari30w:P9!iv6AlT","eN2vmPUfI5PP@192.0.2.42:5432/support"],"required_present":[]}},"tags":["broad-quality","secret-family:database-connection","variation:06"],"secret_fixture":{"family":"database-connection","role":"must-detect"}}, + {"id":"broad-secret-database-connection-preserve-06","language":"en","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad database-connection variation.","text":"\u003cp\u003ePublic verification material: \u003ccode\u003epostgresql://192.0.2.42:5432/support\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"value","kind":"secret","start":39,"end":75,"value":"postgresql://192.0.2.42:5432/support","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-database-connection-preserve-06","recipe":"database-connection","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["postgresql://192.0.2.42:5432/support"]},"customers":{"required_absent":[],"required_present":["postgresql://192.0.2.42:5432/support"]},"all":{"required_absent":[],"required_present":["postgresql://192.0.2.42:5432/support"]}},"tags":["broad-quality","secret-family:database-connection","variation:06"],"secret_fixture":{"family":"database-connection","role":"preserve"}}, {"id":"broad-secret-database-connection-must-detect-07","language":"en","script":"Latin","shape":"quoted-reply","risk":"critical","reason":"Locked broad database-connection variation.","text":"\u003e Wrapped message credential: postgresql://svc_i7pxn5vy:P9!b0R7N9omcQNrBf5Thc@192.0.2.42:5432/support","known_identities":[],"targets":[{"id":"value","kind":"secret","start":30,"end":101,"value":"postgresql://svc_i7pxn5vy:P9!b0R7N9omcQNrBf5Thc@192.0.2.42:5432/support","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-database-connection-must-detect-07","recipe":"database-connection","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["postgresql://svc_i7pxn5vy:P9!b0R7N9omcQNrBf5Thc@192.0.2.42:5432/support"]},"customers":{"required_absent":["postgresql://svc_i7pxn5vy:P9!b0R7N9omcQNrBf5Thc@192.0.2.42:5432/support"],"required_present":[]},"all":{"required_absent":["postgresql://svc_i7pxn5vy:P9!b0R7N9omcQNrBf5Thc@192.0.2.42:5432/support"],"required_present":[]}},"tags":["broad-quality","secret-family:database-connection","variation:07"],"secret_fixture":{"family":"database-connection","role":"must-detect"}}, {"id":"broad-secret-database-connection-preserve-07","language":"en","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad database-connection variation.","text":"\u003e Troubleshooting reference: postgresql://192.0.2.42:5432/support","known_identities":[],"targets":[{"id":"value","kind":"secret","start":29,"end":65,"value":"postgresql://192.0.2.42:5432/support","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-database-connection-preserve-07","recipe":"database-connection","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["postgresql://192.0.2.42:5432/support"]},"customers":{"required_absent":[],"required_present":["postgresql://192.0.2.42:5432/support"]},"all":{"required_absent":[],"required_present":["postgresql://192.0.2.42:5432/support"]}},"tags":["broad-quality","secret-family:database-connection","variation:07"],"secret_fixture":{"family":"database-connection","role":"preserve"}}, - {"id":"broad-secret-database-connection-must-detect-08","language":"en","script":"Latin","shape":"log","risk":"critical","reason":"Locked broad database-connection variation.","text":"level=warn sample=8 message=\"Credential copied from a support reply: \" value=postgresql://svc_0bra0v2p:P9!HP9mon\nYDFHcEB6G8Gs@192.0.2.42:5432/support","known_identities":[],"targets":[{"id":"value","kind":"secret","start":77,"end":149,"value":"postgresql://svc_0bra0v2p:P9!HP9mon\nYDFHcEB6G8Gs@192.0.2.42:5432/support","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-database-connection-must-detect-08","recipe":"database-connection","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["postgresql://svc_0bra0v2p:P9!HP9mon\nYDFHcEB6G8Gs@192.0.2.42:5432/support"]},"customers":{"required_absent":["postgresql://svc_0bra0v2p:P9!HP9mon\nYDFHcEB6G8Gs@192.0.2.42:5432/support"],"required_present":[]},"all":{"required_absent":["postgresql://svc_0bra0v2p:P9!HP9mon\nYDFHcEB6G8Gs@192.0.2.42:5432/support"],"required_present":[]}},"tags":["broad-quality","secret-family:database-connection","variation:08"],"secret_fixture":{"family":"database-connection","role":"must-detect"}}, - {"id":"broad-secret-database-connection-preserve-08","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad database-connection variation.","text":"level=warn sample=8 message=\"Public configuration vocabulary: \" value=postgresql://192.0.2.42:5432/support","known_identities":[],"targets":[{"id":"value","kind":"secret","start":70,"end":106,"value":"postgresql://192.0.2.42:5432/support","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-database-connection-preserve-08","recipe":"database-connection","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["postgresql://192.0.2.42:5432/support"]},"customers":{"required_absent":[],"required_present":["postgresql://192.0.2.42:5432/support"]},"all":{"required_absent":[],"required_present":["postgresql://192.0.2.42:5432/support"]}},"tags":["broad-quality","secret-family:database-connection","variation:08"],"secret_fixture":{"family":"database-connection","role":"preserve"}}, - {"id":"broad-secret-database-connection-must-detect-09","language":"en","script":"Latin","shape":"stack-trace","risk":"critical","reason":"Locked broad database-connection variation.","text":"Trace[9]: Authorization header value: postgresql://svc_7y7aywa0:P9!fXhukl tlrEGnZMNm7j@192.0.2.42:5432/support","known_identities":[],"targets":[{"id":"value","kind":"secret","start":38,"end":110,"value":"postgresql://svc_7y7aywa0:P9!fXhukl tlrEGnZMNm7j@192.0.2.42:5432/support","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-database-connection-must-detect-09","recipe":"database-connection","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["postgresql://svc_7y7aywa0:P9!fXhukl tlrEGnZMNm7j@192.0.2.42:5432/support"]},"customers":{"required_absent":["postgresql://svc_7y7aywa0:P9!fXhukl tlrEGnZMNm7j@192.0.2.42:5432/support"],"required_present":[]},"all":{"required_absent":["postgresql://svc_7y7aywa0:P9!fXhukl tlrEGnZMNm7j@192.0.2.42:5432/support"],"required_present":[]}},"tags":["broad-quality","secret-family:database-connection","variation:09"],"secret_fixture":{"family":"database-connection","role":"must-detect"}}, + {"id":"broad-secret-database-connection-must-detect-08","language":"en","script":"Latin","shape":"log","risk":"critical","reason":"Locked broad database-connection variation.","text":"level=warn sample=8 message=\"Credential copied from a support reply: \" credential=\"postgresql://svc_0bra0v2p:P9!HP9monYDFHcEB6G8Gs@192.0.2.42:5432/support\"","known_identities":[],"targets":[{"id":"value","kind":"secret","start":83,"end":154,"value":"postgresql://svc_0bra0v2p:P9!HP9monYDFHcEB6G8Gs@192.0.2.42:5432/support","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-database-connection-must-detect-08","recipe":"database-connection","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["postgresql://svc_0bra0v2p:P9!HP9monYDFHcEB6G8Gs@192.0.2.42:5432/support"]},"customers":{"required_absent":["postgresql://svc_0bra0v2p:P9!HP9monYDFHcEB6G8Gs@192.0.2.42:5432/support"],"required_present":[]},"all":{"required_absent":["postgresql://svc_0bra0v2p:P9!HP9monYDFHcEB6G8Gs@192.0.2.42:5432/support"],"required_present":[]}},"tags":["broad-quality","secret-family:database-connection","variation:08"],"secret_fixture":{"family":"database-connection","role":"must-detect"}}, + {"id":"broad-secret-database-connection-preserve-08","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad database-connection variation.","text":"level=warn sample=8 message=\"Public configuration vocabulary: \" credential=\"postgresql://192.0.2.42:5432/support\"","known_identities":[],"targets":[{"id":"value","kind":"secret","start":76,"end":112,"value":"postgresql://192.0.2.42:5432/support","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-database-connection-preserve-08","recipe":"database-connection","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["postgresql://192.0.2.42:5432/support"]},"customers":{"required_absent":[],"required_present":["postgresql://192.0.2.42:5432/support"]},"all":{"required_absent":[],"required_present":["postgresql://192.0.2.42:5432/support"]}},"tags":["broad-quality","secret-family:database-connection","variation:08"],"secret_fixture":{"family":"database-connection","role":"preserve"}}, + {"id":"broad-secret-database-connection-must-detect-09","language":"en","script":"Latin","shape":"stack-trace","risk":"critical","reason":"Locked broad database-connection variation.","text":"Trace[9]: Authorization header value: postgresql://svc_7y7aywa0:P9!fXhukl\ttlrEGnZMNm7j@192.0.2.42:5432/support","known_identities":[],"targets":[{"id":"value","kind":"secret","start":38,"end":110,"value":"postgresql://svc_7y7aywa0:P9!fXhukl\ttlrEGnZMNm7j@192.0.2.42:5432/support","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-database-connection-must-detect-09","recipe":"database-connection","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["postgresql://svc_7y7aywa0:P9!fXhukl\ttlrEGnZMNm7j@192.0.2.42:5432/support"]},"customers":{"required_absent":["postgresql://svc_7y7aywa0:P9!fXhukl\ttlrEGnZMNm7j@192.0.2.42:5432/support","postgresql://svc_7y7aywa0:P9!fXhukl","tlrEGnZMNm7j@192.0.2.42:5432/support"],"required_present":[]},"all":{"required_absent":["postgresql://svc_7y7aywa0:P9!fXhukl\ttlrEGnZMNm7j@192.0.2.42:5432/support","postgresql://svc_7y7aywa0:P9!fXhukl","tlrEGnZMNm7j@192.0.2.42:5432/support"],"required_present":[]}},"tags":["broad-quality","secret-family:database-connection","variation:09"],"secret_fixture":{"family":"database-connection","role":"must-detect"}}, {"id":"broad-secret-database-connection-preserve-09","language":"en","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad database-connection variation.","text":"Trace[9]: Documentation syntax: postgresql://192.0.2.42:5432/support","known_identities":[],"targets":[{"id":"value","kind":"secret","start":32,"end":68,"value":"postgresql://192.0.2.42:5432/support","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-database-connection-preserve-09","recipe":"database-connection","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["postgresql://192.0.2.42:5432/support"]},"customers":{"required_absent":[],"required_present":["postgresql://192.0.2.42:5432/support"]},"all":{"required_absent":[],"required_present":["postgresql://192.0.2.42:5432/support"]}},"tags":["broad-quality","secret-family:database-connection","variation:09"],"secret_fixture":{"family":"database-connection","role":"preserve"}}, - {"id":"broad-secret-database-connection-must-detect-10","language":"en","script":"Latin","shape":"code","risk":"critical","reason":"Locked broad database-connection variation.","text":"fixture_10 := `Log field auth_value=postgresql://svc_s9cdixca:P9!1WkyQ5·XCejIlaOc5g1@192.0.2.42:5432/support`","known_identities":[],"targets":[{"id":"value","kind":"secret","start":36,"end":109,"value":"postgresql://svc_s9cdixca:P9!1WkyQ5·XCejIlaOc5g1@192.0.2.42:5432/support","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-database-connection-must-detect-10","recipe":"database-connection","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["postgresql://svc_s9cdixca:P9!1WkyQ5·XCejIlaOc5g1@192.0.2.42:5432/support"]},"customers":{"required_absent":["postgresql://svc_s9cdixca:P9!1WkyQ5·XCejIlaOc5g1@192.0.2.42:5432/support"],"required_present":[]},"all":{"required_absent":["postgresql://svc_s9cdixca:P9!1WkyQ5·XCejIlaOc5g1@192.0.2.42:5432/support"],"required_present":[]}},"tags":["broad-quality","secret-family:database-connection","variation:10"],"secret_fixture":{"family":"database-connection","role":"must-detect"}}, + {"id":"broad-secret-database-connection-must-detect-10","language":"en","script":"Latin","shape":"code","risk":"critical","reason":"Locked broad database-connection variation.","text":"fixture_10 := `Log field auth_value=postgresql://svc_s9cdixca:P9!1WkyQ5·XCejIlaOc5g1@192.0.2.42:5432/support`","known_identities":[],"targets":[{"id":"value","kind":"secret","start":36,"end":109,"value":"postgresql://svc_s9cdixca:P9!1WkyQ5·XCejIlaOc5g1@192.0.2.42:5432/support","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-database-connection-must-detect-10","recipe":"database-connection","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["postgresql://svc_s9cdixca:P9!1WkyQ5·XCejIlaOc5g1@192.0.2.42:5432/support"]},"customers":{"required_absent":["postgresql://svc_s9cdixca:P9!1WkyQ5·XCejIlaOc5g1@192.0.2.42:5432/support","postgresql://svc_s9cdixca:P9!1WkyQ5","XCejIlaOc5g1@192.0.2.42:5432/support"],"required_present":[]},"all":{"required_absent":["postgresql://svc_s9cdixca:P9!1WkyQ5·XCejIlaOc5g1@192.0.2.42:5432/support","postgresql://svc_s9cdixca:P9!1WkyQ5","XCejIlaOc5g1@192.0.2.42:5432/support"],"required_present":[]}},"tags":["broad-quality","secret-family:database-connection","variation:10"],"secret_fixture":{"family":"database-connection","role":"must-detect"}}, {"id":"broad-secret-database-connection-preserve-10","language":"en","script":"Latin","shape":"code","risk":"preservation","reason":"Locked broad database-connection variation.","text":"fixture_10 := `Public operational identifier: postgresql://192.0.2.42:5432/support`","known_identities":[],"targets":[{"id":"value","kind":"secret","start":46,"end":82,"value":"postgresql://192.0.2.42:5432/support","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-database-connection-preserve-10","recipe":"database-connection","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["postgresql://192.0.2.42:5432/support"]},"customers":{"required_absent":[],"required_present":["postgresql://192.0.2.42:5432/support"]},"all":{"required_absent":[],"required_present":["postgresql://192.0.2.42:5432/support"]}},"tags":["broad-quality","secret-family:database-connection","variation:10"],"secret_fixture":{"family":"database-connection","role":"preserve"}}, - {"id":"broad-secret-database-connection-must-detect-11","language":"en","script":"Latin","shape":"signature","risk":"critical","reason":"Locked broad database-connection variation.","text":"--\nRotating this exposed value: postgresql://svc_1tzhwfh1:P9!IGGnyP\u003cwbr\u003eVTmgCN38EqTF@192.0.2.42:5432/support","known_identities":[],"targets":[{"id":"value","kind":"secret","start":32,"end":108,"value":"postgresql://svc_1tzhwfh1:P9!IGGnyP\u003cwbr\u003eVTmgCN38EqTF@192.0.2.42:5432/support","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-database-connection-must-detect-11","recipe":"database-connection","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["postgresql://svc_1tzhwfh1:P9!IGGnyP\u003cwbr\u003eVTmgCN38EqTF@192.0.2.42:5432/support"]},"customers":{"required_absent":["postgresql://svc_1tzhwfh1:P9!IGGnyP\u003cwbr\u003eVTmgCN38EqTF@192.0.2.42:5432/support"],"required_present":[]},"all":{"required_absent":["postgresql://svc_1tzhwfh1:P9!IGGnyP\u003cwbr\u003eVTmgCN38EqTF@192.0.2.42:5432/support"],"required_present":[]}},"tags":["broad-quality","secret-family:database-connection","variation:11"],"secret_fixture":{"family":"database-connection","role":"must-detect"}}, + {"id":"broad-secret-database-connection-must-detect-11","language":"en","script":"Latin","shape":"signature","risk":"critical","reason":"Locked broad database-connection variation.","text":"--\nRotating this exposed value: postgresql://svc_1tzhwfh1:P9!IGGnyPVTmgCN38EqTF@192.0.2.42:5432/support","known_identities":[],"targets":[{"id":"value","kind":"secret","start":32,"end":103,"value":"postgresql://svc_1tzhwfh1:P9!IGGnyPVTmgCN38EqTF@192.0.2.42:5432/support","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-database-connection-must-detect-11","recipe":"database-connection","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["postgresql://svc_1tzhwfh1:P9!IGGnyPVTmgCN38EqTF@192.0.2.42:5432/support"]},"customers":{"required_absent":["postgresql://svc_1tzhwfh1:P9!IGGnyPVTmgCN38EqTF@192.0.2.42:5432/support"],"required_present":[]},"all":{"required_absent":["postgresql://svc_1tzhwfh1:P9!IGGnyPVTmgCN38EqTF@192.0.2.42:5432/support"],"required_present":[]}},"tags":["broad-quality","secret-family:database-connection","variation:11"],"secret_fixture":{"family":"database-connection","role":"must-detect"}}, {"id":"broad-secret-database-connection-preserve-11","language":"en","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad database-connection variation.","text":"--\nSchema field label: postgresql://192.0.2.42:5432/support","known_identities":[],"targets":[{"id":"value","kind":"secret","start":23,"end":59,"value":"postgresql://192.0.2.42:5432/support","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-database-connection-preserve-11","recipe":"database-connection","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["postgresql://192.0.2.42:5432/support"]},"customers":{"required_absent":[],"required_present":["postgresql://192.0.2.42:5432/support"]},"all":{"required_absent":[],"required_present":["postgresql://192.0.2.42:5432/support"]}},"tags":["broad-quality","secret-family:database-connection","variation:11"],"secret_fixture":{"family":"database-connection","role":"preserve"}}, - {"id":"broad-secret-database-connection-must-detect-12","language":"en","script":"Latin","shape":"long-thread","risk":"critical","reason":"Locked broad database-connection variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Quoted credential follows: postgresql://svc_n27fj71s:P9!ZVNKGk**K99FLIuWrJlw@192.0.2.42:5432/support","known_identities":[],"targets":[{"id":"value","kind":"secret","start":507,"end":580,"value":"postgresql://svc_n27fj71s:P9!ZVNKGk**K99FLIuWrJlw@192.0.2.42:5432/support","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-database-connection-must-detect-12","recipe":"database-connection","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["postgresql://svc_n27fj71s:P9!ZVNKGk**K99FLIuWrJlw@192.0.2.42:5432/support"]},"customers":{"required_absent":["postgresql://svc_n27fj71s:P9!ZVNKGk**K99FLIuWrJlw@192.0.2.42:5432/support"],"required_present":[]},"all":{"required_absent":["postgresql://svc_n27fj71s:P9!ZVNKGk**K99FLIuWrJlw@192.0.2.42:5432/support"],"required_present":[]}},"tags":["broad-quality","secret-family:database-connection","variation:12"],"secret_fixture":{"family":"database-connection","role":"must-detect"}}, + {"id":"broad-secret-database-connection-must-detect-12","language":"en","script":"Latin","shape":"long-thread","risk":"critical","reason":"Locked broad database-connection variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Quoted credential follows: postgresql://svc_n27fj71s:P9!ZVNKGkK99FLIuWrJlw@192.0.2.42:5432/support","known_identities":[],"targets":[{"id":"value","kind":"secret","start":507,"end":578,"value":"postgresql://svc_n27fj71s:P9!ZVNKGkK99FLIuWrJlw@192.0.2.42:5432/support","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-database-connection-must-detect-12","recipe":"database-connection","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["postgresql://svc_n27fj71s:P9!ZVNKGkK99FLIuWrJlw@192.0.2.42:5432/support"]},"customers":{"required_absent":["postgresql://svc_n27fj71s:P9!ZVNKGkK99FLIuWrJlw@192.0.2.42:5432/support"],"required_present":[]},"all":{"required_absent":["postgresql://svc_n27fj71s:P9!ZVNKGkK99FLIuWrJlw@192.0.2.42:5432/support"],"required_present":[]}},"tags":["broad-quality","secret-family:database-connection","variation:12"],"secret_fixture":{"family":"database-connection","role":"must-detect"}}, {"id":"broad-secret-database-connection-preserve-12","language":"en","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad database-connection variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Non-confidential protocol token: postgresql://192.0.2.42:5432/support","known_identities":[],"targets":[{"id":"value","kind":"secret","start":513,"end":549,"value":"postgresql://192.0.2.42:5432/support","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-database-connection-preserve-12","recipe":"database-connection","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["postgresql://192.0.2.42:5432/support"]},"customers":{"required_absent":[],"required_present":["postgresql://192.0.2.42:5432/support"]},"all":{"required_absent":[],"required_present":["postgresql://192.0.2.42:5432/support"]}},"tags":["broad-quality","secret-family:database-connection","variation:12"],"secret_fixture":{"family":"database-connection","role":"preserve"}}, - {"id":"broad-secret-database-connection-must-detect-13","language":"en","script":"Latin","shape":"command-payload","risk":"critical","reason":"Locked broad database-connection variation.","text":"--sample=13 --message=\"Configuration secret: \" --value=postgresql://svc_73of20t1:P9!3F6Wz8fCw5qDXiCX2l@192.0.2.42:5432/support / postgresql://svc_73of20t1:P9!3F6Wz8fCw5qDXiCX2l@192.0.2.42:5432/support","known_identities":[],"targets":[{"id":"value","kind":"secret","start":55,"end":200,"value":"postgresql://svc_73of20t1:P9!3F6Wz8fCw5qDXiCX2l@192.0.2.42:5432/support / postgresql://svc_73of20t1:P9!3F6Wz8fCw5qDXiCX2l@192.0.2.42:5432/support","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-database-connection-must-detect-13","recipe":"database-connection","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["postgresql://svc_73of20t1:P9!3F6Wz8fCw5qDXiCX2l@192.0.2.42:5432/support / postgresql://svc_73of20t1:P9!3F6Wz8fCw5qDXiCX2l@192.0.2.42:5432/support"]},"customers":{"required_absent":["postgresql://svc_73of20t1:P9!3F6Wz8fCw5qDXiCX2l@192.0.2.42:5432/support / postgresql://svc_73of20t1:P9!3F6Wz8fCw5qDXiCX2l@192.0.2.42:5432/support"],"required_present":[]},"all":{"required_absent":["postgresql://svc_73of20t1:P9!3F6Wz8fCw5qDXiCX2l@192.0.2.42:5432/support / postgresql://svc_73of20t1:P9!3F6Wz8fCw5qDXiCX2l@192.0.2.42:5432/support"],"required_present":[]}},"tags":["broad-quality","secret-family:database-connection","variation:13"],"secret_fixture":{"family":"database-connection","role":"must-detect"}}, - {"id":"broad-secret-database-connection-preserve-13","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad database-connection variation.","text":"--sample=13 --message=\"Release metadata: \" --value=postgresql://192.0.2.42:5432/support","known_identities":[],"targets":[{"id":"value","kind":"secret","start":51,"end":87,"value":"postgresql://192.0.2.42:5432/support","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-database-connection-preserve-13","recipe":"database-connection","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["postgresql://192.0.2.42:5432/support"]},"customers":{"required_absent":[],"required_present":["postgresql://192.0.2.42:5432/support"]},"all":{"required_absent":[],"required_present":["postgresql://192.0.2.42:5432/support"]}},"tags":["broad-quality","secret-family:database-connection","variation:13"],"secret_fixture":{"family":"database-connection","role":"preserve"}}, + {"id":"broad-secret-database-connection-must-detect-13","language":"en","script":"Latin","shape":"command-payload","risk":"critical","reason":"Locked broad database-connection variation.","text":"--sample=13 --message=\"Configuration secret: \" --credential=\"postgresql://svc_73of20t1:P9!3F6Wz8fCw5qDXiCX2l@192.0.2.42:5432/support\"","known_identities":[],"targets":[{"id":"value","kind":"secret","start":61,"end":132,"value":"postgresql://svc_73of20t1:P9!3F6Wz8fCw5qDXiCX2l@192.0.2.42:5432/support","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-database-connection-must-detect-13","recipe":"database-connection","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["postgresql://svc_73of20t1:P9!3F6Wz8fCw5qDXiCX2l@192.0.2.42:5432/support"]},"customers":{"required_absent":["postgresql://svc_73of20t1:P9!3F6Wz8fCw5qDXiCX2l@192.0.2.42:5432/support"],"required_present":[]},"all":{"required_absent":["postgresql://svc_73of20t1:P9!3F6Wz8fCw5qDXiCX2l@192.0.2.42:5432/support"],"required_present":[]}},"tags":["broad-quality","secret-family:database-connection","variation:13"],"secret_fixture":{"family":"database-connection","role":"must-detect"}}, + {"id":"broad-secret-database-connection-preserve-13","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad database-connection variation.","text":"--sample=13 --message=\"Release metadata: \" --credential=\"postgresql://192.0.2.42:5432/support\"","known_identities":[],"targets":[{"id":"value","kind":"secret","start":57,"end":93,"value":"postgresql://192.0.2.42:5432/support","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-database-connection-preserve-13","recipe":"database-connection","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["postgresql://192.0.2.42:5432/support"]},"customers":{"required_absent":[],"required_present":["postgresql://192.0.2.42:5432/support"]},"all":{"required_absent":[],"required_present":["postgresql://192.0.2.42:5432/support"]}},"tags":["broad-quality","secret-family:database-connection","variation:13"],"secret_fixture":{"family":"database-connection","role":"preserve"}}, {"id":"broad-secret-cookie-authorization-must-detect-00","language":"en","script":"Latin","shape":"prose","risk":"critical","reason":"Locked broad cookie-authorization variation.","text":"Credential copied from a support reply: session=GNmDXuliO6cl5ta46ZB9kCHvkM7RE0EVeGtqXDKubrrm4qzn","known_identities":[],"targets":[{"id":"value","kind":"secret","start":40,"end":96,"value":"session=GNmDXuliO6cl5ta46ZB9kCHvkM7RE0EVeGtqXDKubrrm4qzn","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cookie-authorization-must-detect-00","recipe":"cookie-authorization","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["session=GNmDXuliO6cl5ta46ZB9kCHvkM7RE0EVeGtqXDKubrrm4qzn"]},"customers":{"required_absent":["session=GNmDXuliO6cl5ta46ZB9kCHvkM7RE0EVeGtqXDKubrrm4qzn"],"required_present":[]},"all":{"required_absent":["session=GNmDXuliO6cl5ta46ZB9kCHvkM7RE0EVeGtqXDKubrrm4qzn"],"required_present":[]}},"tags":["broad-quality","secret-family:cookie-authorization","variation:00"],"secret_fixture":{"family":"cookie-authorization","role":"must-detect"}}, {"id":"broad-secret-cookie-authorization-preserve-00","language":"en","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad cookie-authorization variation.","text":"Public configuration vocabulary: SameSite=Strict","known_identities":[],"targets":[{"id":"value","kind":"secret","start":33,"end":48,"value":"SameSite=Strict","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cookie-authorization-preserve-00","recipe":"cookie-authorization","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["SameSite=Strict"]},"customers":{"required_absent":[],"required_present":["SameSite=Strict"]},"all":{"required_absent":[],"required_present":["SameSite=Strict"]}},"tags":["broad-quality","secret-family:cookie-authorization","variation:00"],"secret_fixture":{"family":"cookie-authorization","role":"preserve"}}, {"id":"broad-secret-cookie-authorization-must-detect-01","language":"en","script":"Latin","shape":"json","risk":"critical","reason":"Locked broad cookie-authorization variation.","text":"{\"message_1\":\"Authorization header value: session=70UpED23zdT3VXDNixtgl1xJicbLge9hCZp3s7CEpjAMz6fm\"}","known_identities":[],"targets":[{"id":"value","kind":"secret","start":42,"end":98,"value":"session=70UpED23zdT3VXDNixtgl1xJicbLge9hCZp3s7CEpjAMz6fm","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cookie-authorization-must-detect-01","recipe":"cookie-authorization","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["session=70UpED23zdT3VXDNixtgl1xJicbLge9hCZp3s7CEpjAMz6fm"]},"customers":{"required_absent":["session=70UpED23zdT3VXDNixtgl1xJicbLge9hCZp3s7CEpjAMz6fm"],"required_present":[]},"all":{"required_absent":["session=70UpED23zdT3VXDNixtgl1xJicbLge9hCZp3s7CEpjAMz6fm"],"required_present":[]}},"tags":["broad-quality","secret-family:cookie-authorization","variation:01"],"secret_fixture":{"family":"cookie-authorization","role":"must-detect"}}, {"id":"broad-secret-cookie-authorization-preserve-01","language":"en","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad cookie-authorization variation.","text":"{\"message_1\":\"Documentation syntax: SameSite=Strict\"}","known_identities":[],"targets":[{"id":"value","kind":"secret","start":36,"end":51,"value":"SameSite=Strict","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cookie-authorization-preserve-01","recipe":"cookie-authorization","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["SameSite=Strict"]},"customers":{"required_absent":[],"required_present":["SameSite=Strict"]},"all":{"required_absent":[],"required_present":["SameSite=Strict"]}},"tags":["broad-quality","secret-family:cookie-authorization","variation:01"],"secret_fixture":{"family":"cookie-authorization","role":"preserve"}}, - {"id":"broad-secret-cookie-authorization-must-detect-02","language":"en","script":"Latin","shape":"yaml","risk":"critical","reason":"Locked broad cookie-authorization variation.","text":"message_2: Log field auth_value=session=goDeF6dOx8-vJJfioklnDVv86i_Y9hSK4kdO4VXytbmFRZS9","known_identities":[],"targets":[{"id":"value","kind":"secret","start":32,"end":88,"value":"session=goDeF6dOx8-vJJfioklnDVv86i_Y9hSK4kdO4VXytbmFRZS9","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cookie-authorization-must-detect-02","recipe":"cookie-authorization","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["session=goDeF6dOx8-vJJfioklnDVv86i_Y9hSK4kdO4VXytbmFRZS9"]},"customers":{"required_absent":["session=goDeF6dOx8-vJJfioklnDVv86i_Y9hSK4kdO4VXytbmFRZS9"],"required_present":[]},"all":{"required_absent":["session=goDeF6dOx8-vJJfioklnDVv86i_Y9hSK4kdO4VXytbmFRZS9"],"required_present":[]}},"tags":["broad-quality","secret-family:cookie-authorization","variation:02"],"secret_fixture":{"family":"cookie-authorization","role":"must-detect"}}, - {"id":"broad-secret-cookie-authorization-preserve-02","language":"en","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad cookie-authorization variation.","text":"message_2: Public operational identifier: SameSite=Strict","known_identities":[],"targets":[{"id":"value","kind":"secret","start":42,"end":57,"value":"SameSite=Strict","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cookie-authorization-preserve-02","recipe":"cookie-authorization","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["SameSite=Strict"]},"customers":{"required_absent":[],"required_present":["SameSite=Strict"]},"all":{"required_absent":[],"required_present":["SameSite=Strict"]}},"tags":["broad-quality","secret-family:cookie-authorization","variation:02"],"secret_fixture":{"family":"cookie-authorization","role":"preserve"}}, + {"id":"broad-secret-cookie-authorization-must-detect-02","language":"en","script":"Latin","shape":"yaml","risk":"critical","reason":"Locked broad cookie-authorization variation.","text":"message_2: \"Log field auth_value=session=goDeF6dOx8-vJJfioklnDVv86i_Y9hSK4kdO4VXytbmFRZS9\"","known_identities":[],"targets":[{"id":"value","kind":"secret","start":33,"end":89,"value":"session=goDeF6dOx8-vJJfioklnDVv86i_Y9hSK4kdO4VXytbmFRZS9","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cookie-authorization-must-detect-02","recipe":"cookie-authorization","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["session=goDeF6dOx8-vJJfioklnDVv86i_Y9hSK4kdO4VXytbmFRZS9"]},"customers":{"required_absent":["session=goDeF6dOx8-vJJfioklnDVv86i_Y9hSK4kdO4VXytbmFRZS9"],"required_present":[]},"all":{"required_absent":["session=goDeF6dOx8-vJJfioklnDVv86i_Y9hSK4kdO4VXytbmFRZS9"],"required_present":[]}},"tags":["broad-quality","secret-family:cookie-authorization","variation:02"],"secret_fixture":{"family":"cookie-authorization","role":"must-detect"}}, + {"id":"broad-secret-cookie-authorization-preserve-02","language":"en","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad cookie-authorization variation.","text":"message_2: \"Public operational identifier: SameSite=Strict\"","known_identities":[],"targets":[{"id":"value","kind":"secret","start":43,"end":58,"value":"SameSite=Strict","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cookie-authorization-preserve-02","recipe":"cookie-authorization","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["SameSite=Strict"]},"customers":{"required_absent":[],"required_present":["SameSite=Strict"]},"all":{"required_absent":[],"required_present":["SameSite=Strict"]}},"tags":["broad-quality","secret-family:cookie-authorization","variation:02"],"secret_fixture":{"family":"cookie-authorization","role":"preserve"}}, {"id":"broad-secret-cookie-authorization-must-detect-03","language":"en","script":"Latin","shape":"shell","risk":"critical","reason":"Locked broad cookie-authorization variation.","text":"MESSAGE_3='Rotating this exposed value: session=9ddY4Wx0mKq0Xj0mWAsD4Yj703mjdelQWDebpfe8ljHSzmgz'","known_identities":[],"targets":[{"id":"value","kind":"secret","start":40,"end":96,"value":"session=9ddY4Wx0mKq0Xj0mWAsD4Yj703mjdelQWDebpfe8ljHSzmgz","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cookie-authorization-must-detect-03","recipe":"cookie-authorization","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["session=9ddY4Wx0mKq0Xj0mWAsD4Yj703mjdelQWDebpfe8ljHSzmgz"]},"customers":{"required_absent":["session=9ddY4Wx0mKq0Xj0mWAsD4Yj703mjdelQWDebpfe8ljHSzmgz"],"required_present":[]},"all":{"required_absent":["session=9ddY4Wx0mKq0Xj0mWAsD4Yj703mjdelQWDebpfe8ljHSzmgz"],"required_present":[]}},"tags":["broad-quality","secret-family:cookie-authorization","variation:03"],"secret_fixture":{"family":"cookie-authorization","role":"must-detect"}}, {"id":"broad-secret-cookie-authorization-preserve-03","language":"en","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad cookie-authorization variation.","text":"MESSAGE_3='Schema field label: SameSite=Strict'","known_identities":[],"targets":[{"id":"value","kind":"secret","start":31,"end":46,"value":"SameSite=Strict","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cookie-authorization-preserve-03","recipe":"cookie-authorization","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["SameSite=Strict"]},"customers":{"required_absent":[],"required_present":["SameSite=Strict"]},"all":{"required_absent":[],"required_present":["SameSite=Strict"]}},"tags":["broad-quality","secret-family:cookie-authorization","variation:03"],"secret_fixture":{"family":"cookie-authorization","role":"preserve"}}, - {"id":"broad-secret-cookie-authorization-must-detect-04","language":"en","script":"Latin","shape":"url","risk":"critical","reason":"Locked broad cookie-authorization variation.","text":"endpoint=https://192.0.2.10/4 ; Quoted credential follows: session=C6jWJ0od1IluQDIkCqbEVg00m1NAaYKs4TQ-X7-BdoNsx3-h","known_identities":[],"targets":[{"id":"value","kind":"secret","start":59,"end":115,"value":"session=C6jWJ0od1IluQDIkCqbEVg00m1NAaYKs4TQ-X7-BdoNsx3-h","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cookie-authorization-must-detect-04","recipe":"cookie-authorization","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["session=C6jWJ0od1IluQDIkCqbEVg00m1NAaYKs4TQ-X7-BdoNsx3-h"]},"customers":{"required_absent":["session=C6jWJ0od1IluQDIkCqbEVg00m1NAaYKs4TQ-X7-BdoNsx3-h"],"required_present":[]},"all":{"required_absent":["session=C6jWJ0od1IluQDIkCqbEVg00m1NAaYKs4TQ-X7-BdoNsx3-h"],"required_present":[]}},"tags":["broad-quality","secret-family:cookie-authorization","variation:04"],"secret_fixture":{"family":"cookie-authorization","role":"must-detect"}}, - {"id":"broad-secret-cookie-authorization-preserve-04","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad cookie-authorization variation.","text":"endpoint=https://192.0.2.10/4 ; Non-confidential protocol token: SameSite=Strict","known_identities":[],"targets":[{"id":"value","kind":"secret","start":65,"end":80,"value":"SameSite=Strict","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cookie-authorization-preserve-04","recipe":"cookie-authorization","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["SameSite=Strict"]},"customers":{"required_absent":[],"required_present":["SameSite=Strict"]},"all":{"required_absent":[],"required_present":["SameSite=Strict"]}},"tags":["broad-quality","secret-family:cookie-authorization","variation:04"],"secret_fixture":{"family":"cookie-authorization","role":"preserve"}}, - {"id":"broad-secret-cookie-authorization-must-detect-05","language":"en","script":"Latin","shape":"markdown","risk":"critical","reason":"Locked broad cookie-authorization variation.","text":"**Configuration secret: session=9obLxmOxyIYf1bf4KLQuT7TuV53B-1mzYZBsW3e1cly7h9nR**","known_identities":[],"targets":[{"id":"value","kind":"secret","start":24,"end":80,"value":"session=9obLxmOxyIYf1bf4KLQuT7TuV53B-1mzYZBsW3e1cly7h9nR","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cookie-authorization-must-detect-05","recipe":"cookie-authorization","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["session=9obLxmOxyIYf1bf4KLQuT7TuV53B-1mzYZBsW3e1cly7h9nR"]},"customers":{"required_absent":["session=9obLxmOxyIYf1bf4KLQuT7TuV53B-1mzYZBsW3e1cly7h9nR"],"required_present":[]},"all":{"required_absent":["session=9obLxmOxyIYf1bf4KLQuT7TuV53B-1mzYZBsW3e1cly7h9nR"],"required_present":[]}},"tags":["broad-quality","secret-family:cookie-authorization","variation:05"],"secret_fixture":{"family":"cookie-authorization","role":"must-detect"}}, - {"id":"broad-secret-cookie-authorization-preserve-05","language":"en","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad cookie-authorization variation.","text":"**Release metadata: SameSite=Strict**","known_identities":[],"targets":[{"id":"value","kind":"secret","start":20,"end":35,"value":"SameSite=Strict","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cookie-authorization-preserve-05","recipe":"cookie-authorization","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["SameSite=Strict"]},"customers":{"required_absent":[],"required_present":["SameSite=Strict"]},"all":{"required_absent":[],"required_present":["SameSite=Strict"]}},"tags":["broad-quality","secret-family:cookie-authorization","variation:05"],"secret_fixture":{"family":"cookie-authorization","role":"preserve"}}, - {"id":"broad-secret-cookie-authorization-must-detect-06","language":"en","script":"Latin","shape":"html","risk":"critical","reason":"Locked broad cookie-authorization variation.","text":"\u003cp\u003eStack trace captured credential session=zRSJLb9-6st0DHMo8mx7jG-ESAr-V68KaDjZNP94kgA9pNLS\u003c/p\u003e","known_identities":[],"targets":[{"id":"value","kind":"secret","start":35,"end":91,"value":"session=zRSJLb9-6st0DHMo8mx7jG-ESAr-V68KaDjZNP94kgA9pNLS","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cookie-authorization-must-detect-06","recipe":"cookie-authorization","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["session=zRSJLb9-6st0DHMo8mx7jG-ESAr-V68KaDjZNP94kgA9pNLS"]},"customers":{"required_absent":["session=zRSJLb9-6st0DHMo8mx7jG-ESAr-V68KaDjZNP94kgA9pNLS"],"required_present":[]},"all":{"required_absent":["session=zRSJLb9-6st0DHMo8mx7jG-ESAr-V68KaDjZNP94kgA9pNLS"],"required_present":[]}},"tags":["broad-quality","secret-family:cookie-authorization","variation:06"],"secret_fixture":{"family":"cookie-authorization","role":"must-detect"}}, - {"id":"broad-secret-cookie-authorization-preserve-06","language":"en","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad cookie-authorization variation.","text":"\u003cp\u003ePublic verification material: SameSite=Strict\u003c/p\u003e","known_identities":[],"targets":[{"id":"value","kind":"secret","start":33,"end":48,"value":"SameSite=Strict","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cookie-authorization-preserve-06","recipe":"cookie-authorization","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["SameSite=Strict"]},"customers":{"required_absent":[],"required_present":["SameSite=Strict"]},"all":{"required_absent":[],"required_present":["SameSite=Strict"]}},"tags":["broad-quality","secret-family:cookie-authorization","variation:06"],"secret_fixture":{"family":"cookie-authorization","role":"preserve"}}, + {"id":"broad-secret-cookie-authorization-must-detect-04","language":"en","script":"Latin","shape":"url","risk":"critical","reason":"Locked broad cookie-authorization variation.","text":"endpoint=https://192.0.2.10/4?credential=session%3DC6jWJ0od1IluQDIkCqbEVg00m1NAaYKs4TQ-X7-BdoNsx3-h\u0026note=Quoted+credential+follows%3A+","known_identities":[],"targets":[{"id":"value","kind":"secret","start":41,"end":99,"value":"session%3DC6jWJ0od1IluQDIkCqbEVg00m1NAaYKs4TQ-X7-BdoNsx3-h","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cookie-authorization-must-detect-04","recipe":"cookie-authorization","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["session%3DC6jWJ0od1IluQDIkCqbEVg00m1NAaYKs4TQ-X7-BdoNsx3-h"]},"customers":{"required_absent":["session%3DC6jWJ0od1IluQDIkCqbEVg00m1NAaYKs4TQ-X7-BdoNsx3-h"],"required_present":[]},"all":{"required_absent":["session%3DC6jWJ0od1IluQDIkCqbEVg00m1NAaYKs4TQ-X7-BdoNsx3-h"],"required_present":[]}},"tags":["broad-quality","secret-family:cookie-authorization","variation:04"],"secret_fixture":{"family":"cookie-authorization","role":"must-detect"}}, + {"id":"broad-secret-cookie-authorization-preserve-04","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad cookie-authorization variation.","text":"endpoint=https://192.0.2.10/4?credential=SameSite%3DStrict\u0026note=Non-confidential+protocol+token%3A+","known_identities":[],"targets":[{"id":"value","kind":"secret","start":41,"end":58,"value":"SameSite%3DStrict","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cookie-authorization-preserve-04","recipe":"cookie-authorization","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["SameSite%3DStrict"]},"customers":{"required_absent":[],"required_present":["SameSite%3DStrict"]},"all":{"required_absent":[],"required_present":["SameSite%3DStrict"]}},"tags":["broad-quality","secret-family:cookie-authorization","variation:04"],"secret_fixture":{"family":"cookie-authorization","role":"preserve"}}, + {"id":"broad-secret-cookie-authorization-must-detect-05","language":"en","script":"Latin","shape":"markdown","risk":"critical","reason":"Locked broad cookie-authorization variation.","text":"Configuration secret: session=9obLxmOxyIYf1bf4KLQu**T7TuV53B-1mzYZBsW3e1cly7h9nR**","known_identities":[],"targets":[{"id":"value","kind":"secret","start":22,"end":82,"value":"session=9obLxmOxyIYf1bf4KLQu**T7TuV53B-1mzYZBsW3e1cly7h9nR**","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cookie-authorization-must-detect-05","recipe":"cookie-authorization","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["session=9obLxmOxyIYf1bf4KLQu**T7TuV53B-1mzYZBsW3e1cly7h9nR**"]},"customers":{"required_absent":["session=9obLxmOxyIYf1bf4KLQu**T7TuV53B-1mzYZBsW3e1cly7h9nR**","session=9obLxmOxyIYf1bf4KLQu","T7TuV53B-1mzYZBsW3e1cly7h9nR"],"required_present":[]},"all":{"required_absent":["session=9obLxmOxyIYf1bf4KLQu**T7TuV53B-1mzYZBsW3e1cly7h9nR**","session=9obLxmOxyIYf1bf4KLQu","T7TuV53B-1mzYZBsW3e1cly7h9nR"],"required_present":[]}},"tags":["broad-quality","secret-family:cookie-authorization","variation:05"],"secret_fixture":{"family":"cookie-authorization","role":"must-detect"}}, + {"id":"broad-secret-cookie-authorization-preserve-05","language":"en","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad cookie-authorization variation.","text":"Release metadata: `SameSite=Strict`","known_identities":[],"targets":[{"id":"value","kind":"secret","start":19,"end":34,"value":"SameSite=Strict","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cookie-authorization-preserve-05","recipe":"cookie-authorization","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["SameSite=Strict"]},"customers":{"required_absent":[],"required_present":["SameSite=Strict"]},"all":{"required_absent":[],"required_present":["SameSite=Strict"]}},"tags":["broad-quality","secret-family:cookie-authorization","variation:05"],"secret_fixture":{"family":"cookie-authorization","role":"preserve"}}, + {"id":"broad-secret-cookie-authorization-must-detect-06","language":"en","script":"Latin","shape":"html","risk":"critical","reason":"Locked broad cookie-authorization variation.","text":"\u003cp\u003eStack trace captured credential \u003ccode\u003esession=zRSJLb9-6st0DHMo8mx7\u003cwbr\u003ejG-ESAr-V68KaDjZNP94kgA9pNLS\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"value","kind":"secret","start":41,"end":102,"value":"session=zRSJLb9-6st0DHMo8mx7\u003cwbr\u003ejG-ESAr-V68KaDjZNP94kgA9pNLS","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cookie-authorization-must-detect-06","recipe":"cookie-authorization","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["session=zRSJLb9-6st0DHMo8mx7\u003cwbr\u003ejG-ESAr-V68KaDjZNP94kgA9pNLS"]},"customers":{"required_absent":["session=zRSJLb9-6st0DHMo8mx7\u003cwbr\u003ejG-ESAr-V68KaDjZNP94kgA9pNLS","session=zRSJLb9-6st0DHMo8mx7","jG-ESAr-V68KaDjZNP94kgA9pNLS"],"required_present":[]},"all":{"required_absent":["session=zRSJLb9-6st0DHMo8mx7\u003cwbr\u003ejG-ESAr-V68KaDjZNP94kgA9pNLS","session=zRSJLb9-6st0DHMo8mx7","jG-ESAr-V68KaDjZNP94kgA9pNLS"],"required_present":[]}},"tags":["broad-quality","secret-family:cookie-authorization","variation:06"],"secret_fixture":{"family":"cookie-authorization","role":"must-detect"}}, + {"id":"broad-secret-cookie-authorization-preserve-06","language":"en","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad cookie-authorization variation.","text":"\u003cp\u003ePublic verification material: \u003ccode\u003eSameSite=Strict\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"value","kind":"secret","start":39,"end":54,"value":"SameSite=Strict","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cookie-authorization-preserve-06","recipe":"cookie-authorization","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["SameSite=Strict"]},"customers":{"required_absent":[],"required_present":["SameSite=Strict"]},"all":{"required_absent":[],"required_present":["SameSite=Strict"]}},"tags":["broad-quality","secret-family:cookie-authorization","variation:06"],"secret_fixture":{"family":"cookie-authorization","role":"preserve"}}, {"id":"broad-secret-cookie-authorization-must-detect-07","language":"en","script":"Latin","shape":"quoted-reply","risk":"critical","reason":"Locked broad cookie-authorization variation.","text":"\u003e Wrapped message credential: session=UVhFMpdujWgDiFhwFBNU4L7_qwtSS5uwlkoLkL75R56a4ZQa","known_identities":[],"targets":[{"id":"value","kind":"secret","start":30,"end":86,"value":"session=UVhFMpdujWgDiFhwFBNU4L7_qwtSS5uwlkoLkL75R56a4ZQa","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cookie-authorization-must-detect-07","recipe":"cookie-authorization","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["session=UVhFMpdujWgDiFhwFBNU4L7_qwtSS5uwlkoLkL75R56a4ZQa"]},"customers":{"required_absent":["session=UVhFMpdujWgDiFhwFBNU4L7_qwtSS5uwlkoLkL75R56a4ZQa"],"required_present":[]},"all":{"required_absent":["session=UVhFMpdujWgDiFhwFBNU4L7_qwtSS5uwlkoLkL75R56a4ZQa"],"required_present":[]}},"tags":["broad-quality","secret-family:cookie-authorization","variation:07"],"secret_fixture":{"family":"cookie-authorization","role":"must-detect"}}, {"id":"broad-secret-cookie-authorization-preserve-07","language":"en","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad cookie-authorization variation.","text":"\u003e Troubleshooting reference: SameSite=Strict","known_identities":[],"targets":[{"id":"value","kind":"secret","start":29,"end":44,"value":"SameSite=Strict","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cookie-authorization-preserve-07","recipe":"cookie-authorization","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["SameSite=Strict"]},"customers":{"required_absent":[],"required_present":["SameSite=Strict"]},"all":{"required_absent":[],"required_present":["SameSite=Strict"]}},"tags":["broad-quality","secret-family:cookie-authorization","variation:07"],"secret_fixture":{"family":"cookie-authorization","role":"preserve"}}, - {"id":"broad-secret-cookie-authorization-must-detect-08","language":"en","script":"Latin","shape":"log","risk":"critical","reason":"Locked broad cookie-authorization variation.","text":"level=warn sample=8 message=\"Credential copied from a support reply: \" value=session=QsIIJoBCnO-hqhN_xfc0\niktFLj5z73lsdbJGHN7avYloirbu","known_identities":[],"targets":[{"id":"value","kind":"secret","start":77,"end":134,"value":"session=QsIIJoBCnO-hqhN_xfc0\niktFLj5z73lsdbJGHN7avYloirbu","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cookie-authorization-must-detect-08","recipe":"cookie-authorization","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["session=QsIIJoBCnO-hqhN_xfc0\niktFLj5z73lsdbJGHN7avYloirbu"]},"customers":{"required_absent":["session=QsIIJoBCnO-hqhN_xfc0\niktFLj5z73lsdbJGHN7avYloirbu"],"required_present":[]},"all":{"required_absent":["session=QsIIJoBCnO-hqhN_xfc0\niktFLj5z73lsdbJGHN7avYloirbu"],"required_present":[]}},"tags":["broad-quality","secret-family:cookie-authorization","variation:08"],"secret_fixture":{"family":"cookie-authorization","role":"must-detect"}}, - {"id":"broad-secret-cookie-authorization-preserve-08","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad cookie-authorization variation.","text":"level=warn sample=8 message=\"Public configuration vocabulary: \" value=SameSite=Strict","known_identities":[],"targets":[{"id":"value","kind":"secret","start":70,"end":85,"value":"SameSite=Strict","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cookie-authorization-preserve-08","recipe":"cookie-authorization","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["SameSite=Strict"]},"customers":{"required_absent":[],"required_present":["SameSite=Strict"]},"all":{"required_absent":[],"required_present":["SameSite=Strict"]}},"tags":["broad-quality","secret-family:cookie-authorization","variation:08"],"secret_fixture":{"family":"cookie-authorization","role":"preserve"}}, - {"id":"broad-secret-cookie-authorization-must-detect-09","language":"en","script":"Latin","shape":"stack-trace","risk":"critical","reason":"Locked broad cookie-authorization variation.","text":"Trace[9]: Authorization header value: session=flOxCRvYh8Np_W6mdyyX 5_V-waTIngBYt-JZvDU5V0pO83gM","known_identities":[],"targets":[{"id":"value","kind":"secret","start":38,"end":95,"value":"session=flOxCRvYh8Np_W6mdyyX 5_V-waTIngBYt-JZvDU5V0pO83gM","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cookie-authorization-must-detect-09","recipe":"cookie-authorization","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["session=flOxCRvYh8Np_W6mdyyX 5_V-waTIngBYt-JZvDU5V0pO83gM"]},"customers":{"required_absent":["session=flOxCRvYh8Np_W6mdyyX 5_V-waTIngBYt-JZvDU5V0pO83gM"],"required_present":[]},"all":{"required_absent":["session=flOxCRvYh8Np_W6mdyyX 5_V-waTIngBYt-JZvDU5V0pO83gM"],"required_present":[]}},"tags":["broad-quality","secret-family:cookie-authorization","variation:09"],"secret_fixture":{"family":"cookie-authorization","role":"must-detect"}}, + {"id":"broad-secret-cookie-authorization-must-detect-08","language":"en","script":"Latin","shape":"log","risk":"critical","reason":"Locked broad cookie-authorization variation.","text":"level=warn sample=8 message=\"Credential copied from a support reply: \" credential=\"session=QsIIJoBCnO-hqhN_xfc0iktFLj5z73lsdbJGHN7avYloirbu\"","known_identities":[],"targets":[{"id":"value","kind":"secret","start":83,"end":139,"value":"session=QsIIJoBCnO-hqhN_xfc0iktFLj5z73lsdbJGHN7avYloirbu","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cookie-authorization-must-detect-08","recipe":"cookie-authorization","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["session=QsIIJoBCnO-hqhN_xfc0iktFLj5z73lsdbJGHN7avYloirbu"]},"customers":{"required_absent":["session=QsIIJoBCnO-hqhN_xfc0iktFLj5z73lsdbJGHN7avYloirbu"],"required_present":[]},"all":{"required_absent":["session=QsIIJoBCnO-hqhN_xfc0iktFLj5z73lsdbJGHN7avYloirbu"],"required_present":[]}},"tags":["broad-quality","secret-family:cookie-authorization","variation:08"],"secret_fixture":{"family":"cookie-authorization","role":"must-detect"}}, + {"id":"broad-secret-cookie-authorization-preserve-08","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad cookie-authorization variation.","text":"level=warn sample=8 message=\"Public configuration vocabulary: \" credential=\"SameSite=Strict\"","known_identities":[],"targets":[{"id":"value","kind":"secret","start":76,"end":91,"value":"SameSite=Strict","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cookie-authorization-preserve-08","recipe":"cookie-authorization","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["SameSite=Strict"]},"customers":{"required_absent":[],"required_present":["SameSite=Strict"]},"all":{"required_absent":[],"required_present":["SameSite=Strict"]}},"tags":["broad-quality","secret-family:cookie-authorization","variation:08"],"secret_fixture":{"family":"cookie-authorization","role":"preserve"}}, + {"id":"broad-secret-cookie-authorization-must-detect-09","language":"en","script":"Latin","shape":"stack-trace","risk":"critical","reason":"Locked broad cookie-authorization variation.","text":"Trace[9]: Authorization header value: session=flOxCRvYh8Np_W6mdyyX\t5_V-waTIngBYt-JZvDU5V0pO83gM","known_identities":[],"targets":[{"id":"value","kind":"secret","start":38,"end":95,"value":"session=flOxCRvYh8Np_W6mdyyX\t5_V-waTIngBYt-JZvDU5V0pO83gM","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cookie-authorization-must-detect-09","recipe":"cookie-authorization","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["session=flOxCRvYh8Np_W6mdyyX\t5_V-waTIngBYt-JZvDU5V0pO83gM"]},"customers":{"required_absent":["session=flOxCRvYh8Np_W6mdyyX\t5_V-waTIngBYt-JZvDU5V0pO83gM","session=flOxCRvYh8Np_W6mdyyX","5_V-waTIngBYt-JZvDU5V0pO83gM"],"required_present":[]},"all":{"required_absent":["session=flOxCRvYh8Np_W6mdyyX\t5_V-waTIngBYt-JZvDU5V0pO83gM","session=flOxCRvYh8Np_W6mdyyX","5_V-waTIngBYt-JZvDU5V0pO83gM"],"required_present":[]}},"tags":["broad-quality","secret-family:cookie-authorization","variation:09"],"secret_fixture":{"family":"cookie-authorization","role":"must-detect"}}, {"id":"broad-secret-cookie-authorization-preserve-09","language":"en","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad cookie-authorization variation.","text":"Trace[9]: Documentation syntax: SameSite=Strict","known_identities":[],"targets":[{"id":"value","kind":"secret","start":32,"end":47,"value":"SameSite=Strict","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cookie-authorization-preserve-09","recipe":"cookie-authorization","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["SameSite=Strict"]},"customers":{"required_absent":[],"required_present":["SameSite=Strict"]},"all":{"required_absent":[],"required_present":["SameSite=Strict"]}},"tags":["broad-quality","secret-family:cookie-authorization","variation:09"],"secret_fixture":{"family":"cookie-authorization","role":"preserve"}}, - {"id":"broad-secret-cookie-authorization-must-detect-10","language":"en","script":"Latin","shape":"code","risk":"critical","reason":"Locked broad cookie-authorization variation.","text":"fixture_10 := `Log field auth_value=session=e-OL96D7t8-fQHRfN57I·GTccx9Z_UVXadEf8BEyjvoGyMXUh`","known_identities":[],"targets":[{"id":"value","kind":"secret","start":36,"end":94,"value":"session=e-OL96D7t8-fQHRfN57I·GTccx9Z_UVXadEf8BEyjvoGyMXUh","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cookie-authorization-must-detect-10","recipe":"cookie-authorization","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["session=e-OL96D7t8-fQHRfN57I·GTccx9Z_UVXadEf8BEyjvoGyMXUh"]},"customers":{"required_absent":["session=e-OL96D7t8-fQHRfN57I·GTccx9Z_UVXadEf8BEyjvoGyMXUh"],"required_present":[]},"all":{"required_absent":["session=e-OL96D7t8-fQHRfN57I·GTccx9Z_UVXadEf8BEyjvoGyMXUh"],"required_present":[]}},"tags":["broad-quality","secret-family:cookie-authorization","variation:10"],"secret_fixture":{"family":"cookie-authorization","role":"must-detect"}}, + {"id":"broad-secret-cookie-authorization-must-detect-10","language":"en","script":"Latin","shape":"code","risk":"critical","reason":"Locked broad cookie-authorization variation.","text":"fixture_10 := `Log field auth_value=session=e-OL96D7t8-fQHRfN57I·GTccx9Z_UVXadEf8BEyjvoGyMXUh`","known_identities":[],"targets":[{"id":"value","kind":"secret","start":36,"end":94,"value":"session=e-OL96D7t8-fQHRfN57I·GTccx9Z_UVXadEf8BEyjvoGyMXUh","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cookie-authorization-must-detect-10","recipe":"cookie-authorization","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["session=e-OL96D7t8-fQHRfN57I·GTccx9Z_UVXadEf8BEyjvoGyMXUh"]},"customers":{"required_absent":["session=e-OL96D7t8-fQHRfN57I·GTccx9Z_UVXadEf8BEyjvoGyMXUh","session=e-OL96D7t8-fQHRfN57I","GTccx9Z_UVXadEf8BEyjvoGyMXUh"],"required_present":[]},"all":{"required_absent":["session=e-OL96D7t8-fQHRfN57I·GTccx9Z_UVXadEf8BEyjvoGyMXUh","session=e-OL96D7t8-fQHRfN57I","GTccx9Z_UVXadEf8BEyjvoGyMXUh"],"required_present":[]}},"tags":["broad-quality","secret-family:cookie-authorization","variation:10"],"secret_fixture":{"family":"cookie-authorization","role":"must-detect"}}, {"id":"broad-secret-cookie-authorization-preserve-10","language":"en","script":"Latin","shape":"code","risk":"preservation","reason":"Locked broad cookie-authorization variation.","text":"fixture_10 := `Public operational identifier: SameSite=Strict`","known_identities":[],"targets":[{"id":"value","kind":"secret","start":46,"end":61,"value":"SameSite=Strict","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cookie-authorization-preserve-10","recipe":"cookie-authorization","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["SameSite=Strict"]},"customers":{"required_absent":[],"required_present":["SameSite=Strict"]},"all":{"required_absent":[],"required_present":["SameSite=Strict"]}},"tags":["broad-quality","secret-family:cookie-authorization","variation:10"],"secret_fixture":{"family":"cookie-authorization","role":"preserve"}}, - {"id":"broad-secret-cookie-authorization-must-detect-11","language":"en","script":"Latin","shape":"signature","risk":"critical","reason":"Locked broad cookie-authorization variation.","text":"--\nRotating this exposed value: session=2bwgGFRPJVrujKIC3Wn1\u003cwbr\u003eUZYAXBaZbsKIZGDDJT9VwAYNfv1-","known_identities":[],"targets":[{"id":"value","kind":"secret","start":32,"end":93,"value":"session=2bwgGFRPJVrujKIC3Wn1\u003cwbr\u003eUZYAXBaZbsKIZGDDJT9VwAYNfv1-","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cookie-authorization-must-detect-11","recipe":"cookie-authorization","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["session=2bwgGFRPJVrujKIC3Wn1\u003cwbr\u003eUZYAXBaZbsKIZGDDJT9VwAYNfv1-"]},"customers":{"required_absent":["session=2bwgGFRPJVrujKIC3Wn1\u003cwbr\u003eUZYAXBaZbsKIZGDDJT9VwAYNfv1-"],"required_present":[]},"all":{"required_absent":["session=2bwgGFRPJVrujKIC3Wn1\u003cwbr\u003eUZYAXBaZbsKIZGDDJT9VwAYNfv1-"],"required_present":[]}},"tags":["broad-quality","secret-family:cookie-authorization","variation:11"],"secret_fixture":{"family":"cookie-authorization","role":"must-detect"}}, + {"id":"broad-secret-cookie-authorization-must-detect-11","language":"en","script":"Latin","shape":"signature","risk":"critical","reason":"Locked broad cookie-authorization variation.","text":"--\nRotating this exposed value: session=2bwgGFRPJVrujKIC3Wn1UZYAXBaZbsKIZGDDJT9VwAYNfv1-","known_identities":[],"targets":[{"id":"value","kind":"secret","start":32,"end":88,"value":"session=2bwgGFRPJVrujKIC3Wn1UZYAXBaZbsKIZGDDJT9VwAYNfv1-","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cookie-authorization-must-detect-11","recipe":"cookie-authorization","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["session=2bwgGFRPJVrujKIC3Wn1UZYAXBaZbsKIZGDDJT9VwAYNfv1-"]},"customers":{"required_absent":["session=2bwgGFRPJVrujKIC3Wn1UZYAXBaZbsKIZGDDJT9VwAYNfv1-"],"required_present":[]},"all":{"required_absent":["session=2bwgGFRPJVrujKIC3Wn1UZYAXBaZbsKIZGDDJT9VwAYNfv1-"],"required_present":[]}},"tags":["broad-quality","secret-family:cookie-authorization","variation:11"],"secret_fixture":{"family":"cookie-authorization","role":"must-detect"}}, {"id":"broad-secret-cookie-authorization-preserve-11","language":"en","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad cookie-authorization variation.","text":"--\nSchema field label: SameSite=Strict","known_identities":[],"targets":[{"id":"value","kind":"secret","start":23,"end":38,"value":"SameSite=Strict","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cookie-authorization-preserve-11","recipe":"cookie-authorization","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["SameSite=Strict"]},"customers":{"required_absent":[],"required_present":["SameSite=Strict"]},"all":{"required_absent":[],"required_present":["SameSite=Strict"]}},"tags":["broad-quality","secret-family:cookie-authorization","variation:11"],"secret_fixture":{"family":"cookie-authorization","role":"preserve"}}, - {"id":"broad-secret-cookie-authorization-must-detect-12","language":"en","script":"Latin","shape":"long-thread","risk":"critical","reason":"Locked broad cookie-authorization variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Quoted credential follows: session=jIZXrFqut6n9g3WZtaYw**TVflPCUi5RZuekWWAN25rzsctC18","known_identities":[],"targets":[{"id":"value","kind":"secret","start":507,"end":565,"value":"session=jIZXrFqut6n9g3WZtaYw**TVflPCUi5RZuekWWAN25rzsctC18","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cookie-authorization-must-detect-12","recipe":"cookie-authorization","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["session=jIZXrFqut6n9g3WZtaYw**TVflPCUi5RZuekWWAN25rzsctC18"]},"customers":{"required_absent":["session=jIZXrFqut6n9g3WZtaYw**TVflPCUi5RZuekWWAN25rzsctC18"],"required_present":[]},"all":{"required_absent":["session=jIZXrFqut6n9g3WZtaYw**TVflPCUi5RZuekWWAN25rzsctC18"],"required_present":[]}},"tags":["broad-quality","secret-family:cookie-authorization","variation:12"],"secret_fixture":{"family":"cookie-authorization","role":"must-detect"}}, + {"id":"broad-secret-cookie-authorization-must-detect-12","language":"en","script":"Latin","shape":"long-thread","risk":"critical","reason":"Locked broad cookie-authorization variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Quoted credential follows: session=jIZXrFqut6n9g3WZtaYwTVflPCUi5RZuekWWAN25rzsctC18","known_identities":[],"targets":[{"id":"value","kind":"secret","start":507,"end":563,"value":"session=jIZXrFqut6n9g3WZtaYwTVflPCUi5RZuekWWAN25rzsctC18","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cookie-authorization-must-detect-12","recipe":"cookie-authorization","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["session=jIZXrFqut6n9g3WZtaYwTVflPCUi5RZuekWWAN25rzsctC18"]},"customers":{"required_absent":["session=jIZXrFqut6n9g3WZtaYwTVflPCUi5RZuekWWAN25rzsctC18"],"required_present":[]},"all":{"required_absent":["session=jIZXrFqut6n9g3WZtaYwTVflPCUi5RZuekWWAN25rzsctC18"],"required_present":[]}},"tags":["broad-quality","secret-family:cookie-authorization","variation:12"],"secret_fixture":{"family":"cookie-authorization","role":"must-detect"}}, {"id":"broad-secret-cookie-authorization-preserve-12","language":"en","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad cookie-authorization variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Non-confidential protocol token: SameSite=Strict","known_identities":[],"targets":[{"id":"value","kind":"secret","start":513,"end":528,"value":"SameSite=Strict","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cookie-authorization-preserve-12","recipe":"cookie-authorization","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["SameSite=Strict"]},"customers":{"required_absent":[],"required_present":["SameSite=Strict"]},"all":{"required_absent":[],"required_present":["SameSite=Strict"]}},"tags":["broad-quality","secret-family:cookie-authorization","variation:12"],"secret_fixture":{"family":"cookie-authorization","role":"preserve"}}, - {"id":"broad-secret-cookie-authorization-must-detect-13","language":"en","script":"Latin","shape":"command-payload","risk":"critical","reason":"Locked broad cookie-authorization variation.","text":"--sample=13 --message=\"Configuration secret: \" --value=session=v5rHscDVPwIrW3A-rWKoer3UxgM5kD_s-UfYHSEO9x3OUInQ / session=v5rHscDVPwIrW3A-rWKoer3UxgM5kD_s-UfYHSEO9x3OUInQ","known_identities":[],"targets":[{"id":"value","kind":"secret","start":55,"end":170,"value":"session=v5rHscDVPwIrW3A-rWKoer3UxgM5kD_s-UfYHSEO9x3OUInQ / session=v5rHscDVPwIrW3A-rWKoer3UxgM5kD_s-UfYHSEO9x3OUInQ","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cookie-authorization-must-detect-13","recipe":"cookie-authorization","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["session=v5rHscDVPwIrW3A-rWKoer3UxgM5kD_s-UfYHSEO9x3OUInQ / session=v5rHscDVPwIrW3A-rWKoer3UxgM5kD_s-UfYHSEO9x3OUInQ"]},"customers":{"required_absent":["session=v5rHscDVPwIrW3A-rWKoer3UxgM5kD_s-UfYHSEO9x3OUInQ / session=v5rHscDVPwIrW3A-rWKoer3UxgM5kD_s-UfYHSEO9x3OUInQ"],"required_present":[]},"all":{"required_absent":["session=v5rHscDVPwIrW3A-rWKoer3UxgM5kD_s-UfYHSEO9x3OUInQ / session=v5rHscDVPwIrW3A-rWKoer3UxgM5kD_s-UfYHSEO9x3OUInQ"],"required_present":[]}},"tags":["broad-quality","secret-family:cookie-authorization","variation:13"],"secret_fixture":{"family":"cookie-authorization","role":"must-detect"}}, - {"id":"broad-secret-cookie-authorization-preserve-13","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad cookie-authorization variation.","text":"--sample=13 --message=\"Release metadata: \" --value=SameSite=Strict","known_identities":[],"targets":[{"id":"value","kind":"secret","start":51,"end":66,"value":"SameSite=Strict","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cookie-authorization-preserve-13","recipe":"cookie-authorization","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["SameSite=Strict"]},"customers":{"required_absent":[],"required_present":["SameSite=Strict"]},"all":{"required_absent":[],"required_present":["SameSite=Strict"]}},"tags":["broad-quality","secret-family:cookie-authorization","variation:13"],"secret_fixture":{"family":"cookie-authorization","role":"preserve"}}, + {"id":"broad-secret-cookie-authorization-must-detect-13","language":"en","script":"Latin","shape":"command-payload","risk":"critical","reason":"Locked broad cookie-authorization variation.","text":"--sample=13 --message=\"Configuration secret: \" --credential=\"session=v5rHscDVPwIrW3A-rWKoer3UxgM5kD_s-UfYHSEO9x3OUInQ\"","known_identities":[],"targets":[{"id":"value","kind":"secret","start":61,"end":117,"value":"session=v5rHscDVPwIrW3A-rWKoer3UxgM5kD_s-UfYHSEO9x3OUInQ","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cookie-authorization-must-detect-13","recipe":"cookie-authorization","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["session=v5rHscDVPwIrW3A-rWKoer3UxgM5kD_s-UfYHSEO9x3OUInQ"]},"customers":{"required_absent":["session=v5rHscDVPwIrW3A-rWKoer3UxgM5kD_s-UfYHSEO9x3OUInQ"],"required_present":[]},"all":{"required_absent":["session=v5rHscDVPwIrW3A-rWKoer3UxgM5kD_s-UfYHSEO9x3OUInQ"],"required_present":[]}},"tags":["broad-quality","secret-family:cookie-authorization","variation:13"],"secret_fixture":{"family":"cookie-authorization","role":"must-detect"}}, + {"id":"broad-secret-cookie-authorization-preserve-13","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad cookie-authorization variation.","text":"--sample=13 --message=\"Release metadata: \" --credential=\"SameSite=Strict\"","known_identities":[],"targets":[{"id":"value","kind":"secret","start":57,"end":72,"value":"SameSite=Strict","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cookie-authorization-preserve-13","recipe":"cookie-authorization","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["SameSite=Strict"]},"customers":{"required_absent":[],"required_present":["SameSite=Strict"]},"all":{"required_absent":[],"required_present":["SameSite=Strict"]}},"tags":["broad-quality","secret-family:cookie-authorization","variation:13"],"secret_fixture":{"family":"cookie-authorization","role":"preserve"}}, {"id":"broad-secret-webhook-secret-must-detect-00","language":"en","script":"Latin","shape":"prose","risk":"critical","reason":"Locked broad webhook-secret variation.","text":"Credential copied from a support reply: whsig_H4jzdX2fBTIpXH8KPStEzHPdLlRqD5BgrERxxoND","known_identities":[],"targets":[{"id":"value","kind":"secret","start":40,"end":86,"value":"whsig_H4jzdX2fBTIpXH8KPStEzHPdLlRqD5BgrERxxoND","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-webhook-secret-must-detect-00","recipe":"webhook-secret","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["whsig_H4jzdX2fBTIpXH8KPStEzHPdLlRqD5BgrERxxoND"]},"customers":{"required_absent":["whsig_H4jzdX2fBTIpXH8KPStEzHPdLlRqD5BgrERxxoND"],"required_present":[]},"all":{"required_absent":["whsig_H4jzdX2fBTIpXH8KPStEzHPdLlRqD5BgrERxxoND"],"required_present":[]}},"tags":["broad-quality","secret-family:webhook-secret","variation:00"],"secret_fixture":{"family":"webhook-secret","role":"must-detect"}}, {"id":"broad-secret-webhook-secret-preserve-00","language":"en","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad webhook-secret variation.","text":"Public configuration vocabulary: event.delivery.created","known_identities":[],"targets":[{"id":"value","kind":"secret","start":33,"end":55,"value":"event.delivery.created","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-webhook-secret-preserve-00","recipe":"webhook-secret","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["event.delivery.created"]},"customers":{"required_absent":[],"required_present":["event.delivery.created"]},"all":{"required_absent":[],"required_present":["event.delivery.created"]}},"tags":["broad-quality","secret-family:webhook-secret","variation:00"],"secret_fixture":{"family":"webhook-secret","role":"preserve"}}, {"id":"broad-secret-webhook-secret-must-detect-01","language":"en","script":"Latin","shape":"json","risk":"critical","reason":"Locked broad webhook-secret variation.","text":"{\"message_1\":\"Authorization header value: whsig_AFp8z85OuNNozz6cAn910KNDE2C7Ws0y10QHjDt6\"}","known_identities":[],"targets":[{"id":"value","kind":"secret","start":42,"end":88,"value":"whsig_AFp8z85OuNNozz6cAn910KNDE2C7Ws0y10QHjDt6","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-webhook-secret-must-detect-01","recipe":"webhook-secret","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["whsig_AFp8z85OuNNozz6cAn910KNDE2C7Ws0y10QHjDt6"]},"customers":{"required_absent":["whsig_AFp8z85OuNNozz6cAn910KNDE2C7Ws0y10QHjDt6"],"required_present":[]},"all":{"required_absent":["whsig_AFp8z85OuNNozz6cAn910KNDE2C7Ws0y10QHjDt6"],"required_present":[]}},"tags":["broad-quality","secret-family:webhook-secret","variation:01"],"secret_fixture":{"family":"webhook-secret","role":"must-detect"}}, {"id":"broad-secret-webhook-secret-preserve-01","language":"en","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad webhook-secret variation.","text":"{\"message_1\":\"Documentation syntax: event.delivery.created\"}","known_identities":[],"targets":[{"id":"value","kind":"secret","start":36,"end":58,"value":"event.delivery.created","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-webhook-secret-preserve-01","recipe":"webhook-secret","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["event.delivery.created"]},"customers":{"required_absent":[],"required_present":["event.delivery.created"]},"all":{"required_absent":[],"required_present":["event.delivery.created"]}},"tags":["broad-quality","secret-family:webhook-secret","variation:01"],"secret_fixture":{"family":"webhook-secret","role":"preserve"}}, - {"id":"broad-secret-webhook-secret-must-detect-02","language":"en","script":"Latin","shape":"yaml","risk":"critical","reason":"Locked broad webhook-secret variation.","text":"message_2: Log field auth_value=whsig_f4RxeBMWDT5m8xNffxBwSgKj5dvsq8kCGE4iR70b","known_identities":[],"targets":[{"id":"value","kind":"secret","start":32,"end":78,"value":"whsig_f4RxeBMWDT5m8xNffxBwSgKj5dvsq8kCGE4iR70b","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-webhook-secret-must-detect-02","recipe":"webhook-secret","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["whsig_f4RxeBMWDT5m8xNffxBwSgKj5dvsq8kCGE4iR70b"]},"customers":{"required_absent":["whsig_f4RxeBMWDT5m8xNffxBwSgKj5dvsq8kCGE4iR70b"],"required_present":[]},"all":{"required_absent":["whsig_f4RxeBMWDT5m8xNffxBwSgKj5dvsq8kCGE4iR70b"],"required_present":[]}},"tags":["broad-quality","secret-family:webhook-secret","variation:02"],"secret_fixture":{"family":"webhook-secret","role":"must-detect"}}, - {"id":"broad-secret-webhook-secret-preserve-02","language":"en","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad webhook-secret variation.","text":"message_2: Public operational identifier: event.delivery.created","known_identities":[],"targets":[{"id":"value","kind":"secret","start":42,"end":64,"value":"event.delivery.created","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-webhook-secret-preserve-02","recipe":"webhook-secret","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["event.delivery.created"]},"customers":{"required_absent":[],"required_present":["event.delivery.created"]},"all":{"required_absent":[],"required_present":["event.delivery.created"]}},"tags":["broad-quality","secret-family:webhook-secret","variation:02"],"secret_fixture":{"family":"webhook-secret","role":"preserve"}}, + {"id":"broad-secret-webhook-secret-must-detect-02","language":"en","script":"Latin","shape":"yaml","risk":"critical","reason":"Locked broad webhook-secret variation.","text":"message_2: \"Log field auth_value=whsig_f4RxeBMWDT5m8xNffxBwSgKj5dvsq8kCGE4iR70b\"","known_identities":[],"targets":[{"id":"value","kind":"secret","start":33,"end":79,"value":"whsig_f4RxeBMWDT5m8xNffxBwSgKj5dvsq8kCGE4iR70b","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-webhook-secret-must-detect-02","recipe":"webhook-secret","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["whsig_f4RxeBMWDT5m8xNffxBwSgKj5dvsq8kCGE4iR70b"]},"customers":{"required_absent":["whsig_f4RxeBMWDT5m8xNffxBwSgKj5dvsq8kCGE4iR70b"],"required_present":[]},"all":{"required_absent":["whsig_f4RxeBMWDT5m8xNffxBwSgKj5dvsq8kCGE4iR70b"],"required_present":[]}},"tags":["broad-quality","secret-family:webhook-secret","variation:02"],"secret_fixture":{"family":"webhook-secret","role":"must-detect"}}, + {"id":"broad-secret-webhook-secret-preserve-02","language":"en","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad webhook-secret variation.","text":"message_2: \"Public operational identifier: event.delivery.created\"","known_identities":[],"targets":[{"id":"value","kind":"secret","start":43,"end":65,"value":"event.delivery.created","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-webhook-secret-preserve-02","recipe":"webhook-secret","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["event.delivery.created"]},"customers":{"required_absent":[],"required_present":["event.delivery.created"]},"all":{"required_absent":[],"required_present":["event.delivery.created"]}},"tags":["broad-quality","secret-family:webhook-secret","variation:02"],"secret_fixture":{"family":"webhook-secret","role":"preserve"}}, {"id":"broad-secret-webhook-secret-must-detect-03","language":"en","script":"Latin","shape":"shell","risk":"critical","reason":"Locked broad webhook-secret variation.","text":"MESSAGE_3='Rotating this exposed value: whsig_xYAQmcN5NgiAnWUzpQsnILPEY7kAzinTRIio8zgF'","known_identities":[],"targets":[{"id":"value","kind":"secret","start":40,"end":86,"value":"whsig_xYAQmcN5NgiAnWUzpQsnILPEY7kAzinTRIio8zgF","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-webhook-secret-must-detect-03","recipe":"webhook-secret","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["whsig_xYAQmcN5NgiAnWUzpQsnILPEY7kAzinTRIio8zgF"]},"customers":{"required_absent":["whsig_xYAQmcN5NgiAnWUzpQsnILPEY7kAzinTRIio8zgF"],"required_present":[]},"all":{"required_absent":["whsig_xYAQmcN5NgiAnWUzpQsnILPEY7kAzinTRIio8zgF"],"required_present":[]}},"tags":["broad-quality","secret-family:webhook-secret","variation:03"],"secret_fixture":{"family":"webhook-secret","role":"must-detect"}}, {"id":"broad-secret-webhook-secret-preserve-03","language":"en","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad webhook-secret variation.","text":"MESSAGE_3='Schema field label: event.delivery.created'","known_identities":[],"targets":[{"id":"value","kind":"secret","start":31,"end":53,"value":"event.delivery.created","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-webhook-secret-preserve-03","recipe":"webhook-secret","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["event.delivery.created"]},"customers":{"required_absent":[],"required_present":["event.delivery.created"]},"all":{"required_absent":[],"required_present":["event.delivery.created"]}},"tags":["broad-quality","secret-family:webhook-secret","variation:03"],"secret_fixture":{"family":"webhook-secret","role":"preserve"}}, - {"id":"broad-secret-webhook-secret-must-detect-04","language":"en","script":"Latin","shape":"url","risk":"critical","reason":"Locked broad webhook-secret variation.","text":"endpoint=https://192.0.2.10/4 ; Quoted credential follows: whsig_Sa6uR9dBlhJ3JTrLob8yf2RLrGVeZcJzoYBG35dM","known_identities":[],"targets":[{"id":"value","kind":"secret","start":59,"end":105,"value":"whsig_Sa6uR9dBlhJ3JTrLob8yf2RLrGVeZcJzoYBG35dM","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-webhook-secret-must-detect-04","recipe":"webhook-secret","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["whsig_Sa6uR9dBlhJ3JTrLob8yf2RLrGVeZcJzoYBG35dM"]},"customers":{"required_absent":["whsig_Sa6uR9dBlhJ3JTrLob8yf2RLrGVeZcJzoYBG35dM"],"required_present":[]},"all":{"required_absent":["whsig_Sa6uR9dBlhJ3JTrLob8yf2RLrGVeZcJzoYBG35dM"],"required_present":[]}},"tags":["broad-quality","secret-family:webhook-secret","variation:04"],"secret_fixture":{"family":"webhook-secret","role":"must-detect"}}, - {"id":"broad-secret-webhook-secret-preserve-04","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad webhook-secret variation.","text":"endpoint=https://192.0.2.10/4 ; Non-confidential protocol token: event.delivery.created","known_identities":[],"targets":[{"id":"value","kind":"secret","start":65,"end":87,"value":"event.delivery.created","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-webhook-secret-preserve-04","recipe":"webhook-secret","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["event.delivery.created"]},"customers":{"required_absent":[],"required_present":["event.delivery.created"]},"all":{"required_absent":[],"required_present":["event.delivery.created"]}},"tags":["broad-quality","secret-family:webhook-secret","variation:04"],"secret_fixture":{"family":"webhook-secret","role":"preserve"}}, - {"id":"broad-secret-webhook-secret-must-detect-05","language":"en","script":"Latin","shape":"markdown","risk":"critical","reason":"Locked broad webhook-secret variation.","text":"**Configuration secret: whsig_kq7MQmfWEWcZjk16EyQLkt2Oymr3MtvLOj5ewbOD**","known_identities":[],"targets":[{"id":"value","kind":"secret","start":24,"end":70,"value":"whsig_kq7MQmfWEWcZjk16EyQLkt2Oymr3MtvLOj5ewbOD","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-webhook-secret-must-detect-05","recipe":"webhook-secret","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["whsig_kq7MQmfWEWcZjk16EyQLkt2Oymr3MtvLOj5ewbOD"]},"customers":{"required_absent":["whsig_kq7MQmfWEWcZjk16EyQLkt2Oymr3MtvLOj5ewbOD"],"required_present":[]},"all":{"required_absent":["whsig_kq7MQmfWEWcZjk16EyQLkt2Oymr3MtvLOj5ewbOD"],"required_present":[]}},"tags":["broad-quality","secret-family:webhook-secret","variation:05"],"secret_fixture":{"family":"webhook-secret","role":"must-detect"}}, - {"id":"broad-secret-webhook-secret-preserve-05","language":"en","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad webhook-secret variation.","text":"**Release metadata: event.delivery.created**","known_identities":[],"targets":[{"id":"value","kind":"secret","start":20,"end":42,"value":"event.delivery.created","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-webhook-secret-preserve-05","recipe":"webhook-secret","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["event.delivery.created"]},"customers":{"required_absent":[],"required_present":["event.delivery.created"]},"all":{"required_absent":[],"required_present":["event.delivery.created"]}},"tags":["broad-quality","secret-family:webhook-secret","variation:05"],"secret_fixture":{"family":"webhook-secret","role":"preserve"}}, - {"id":"broad-secret-webhook-secret-must-detect-06","language":"en","script":"Latin","shape":"html","risk":"critical","reason":"Locked broad webhook-secret variation.","text":"\u003cp\u003eStack trace captured credential whsig_zw6qWp8I71rO5rzMi33XPYldo3dEjCmZREcQVRkn\u003c/p\u003e","known_identities":[],"targets":[{"id":"value","kind":"secret","start":35,"end":81,"value":"whsig_zw6qWp8I71rO5rzMi33XPYldo3dEjCmZREcQVRkn","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-webhook-secret-must-detect-06","recipe":"webhook-secret","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["whsig_zw6qWp8I71rO5rzMi33XPYldo3dEjCmZREcQVRkn"]},"customers":{"required_absent":["whsig_zw6qWp8I71rO5rzMi33XPYldo3dEjCmZREcQVRkn"],"required_present":[]},"all":{"required_absent":["whsig_zw6qWp8I71rO5rzMi33XPYldo3dEjCmZREcQVRkn"],"required_present":[]}},"tags":["broad-quality","secret-family:webhook-secret","variation:06"],"secret_fixture":{"family":"webhook-secret","role":"must-detect"}}, - {"id":"broad-secret-webhook-secret-preserve-06","language":"en","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad webhook-secret variation.","text":"\u003cp\u003ePublic verification material: event.delivery.created\u003c/p\u003e","known_identities":[],"targets":[{"id":"value","kind":"secret","start":33,"end":55,"value":"event.delivery.created","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-webhook-secret-preserve-06","recipe":"webhook-secret","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["event.delivery.created"]},"customers":{"required_absent":[],"required_present":["event.delivery.created"]},"all":{"required_absent":[],"required_present":["event.delivery.created"]}},"tags":["broad-quality","secret-family:webhook-secret","variation:06"],"secret_fixture":{"family":"webhook-secret","role":"preserve"}}, + {"id":"broad-secret-webhook-secret-must-detect-04","language":"en","script":"Latin","shape":"url","risk":"critical","reason":"Locked broad webhook-secret variation.","text":"endpoint=https://192.0.2.10/4?credential=whsig_Sa6uR9dBlhJ3JTrLob8yf2RLrGVeZcJzoYBG35dM\u0026note=Quoted+credential+follows%3A+","known_identities":[],"targets":[{"id":"value","kind":"secret","start":41,"end":87,"value":"whsig_Sa6uR9dBlhJ3JTrLob8yf2RLrGVeZcJzoYBG35dM","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-webhook-secret-must-detect-04","recipe":"webhook-secret","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["whsig_Sa6uR9dBlhJ3JTrLob8yf2RLrGVeZcJzoYBG35dM"]},"customers":{"required_absent":["whsig_Sa6uR9dBlhJ3JTrLob8yf2RLrGVeZcJzoYBG35dM"],"required_present":[]},"all":{"required_absent":["whsig_Sa6uR9dBlhJ3JTrLob8yf2RLrGVeZcJzoYBG35dM"],"required_present":[]}},"tags":["broad-quality","secret-family:webhook-secret","variation:04"],"secret_fixture":{"family":"webhook-secret","role":"must-detect"}}, + {"id":"broad-secret-webhook-secret-preserve-04","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad webhook-secret variation.","text":"endpoint=https://192.0.2.10/4?credential=event.delivery.created\u0026note=Non-confidential+protocol+token%3A+","known_identities":[],"targets":[{"id":"value","kind":"secret","start":41,"end":63,"value":"event.delivery.created","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-webhook-secret-preserve-04","recipe":"webhook-secret","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["event.delivery.created"]},"customers":{"required_absent":[],"required_present":["event.delivery.created"]},"all":{"required_absent":[],"required_present":["event.delivery.created"]}},"tags":["broad-quality","secret-family:webhook-secret","variation:04"],"secret_fixture":{"family":"webhook-secret","role":"preserve"}}, + {"id":"broad-secret-webhook-secret-must-detect-05","language":"en","script":"Latin","shape":"markdown","risk":"critical","reason":"Locked broad webhook-secret variation.","text":"Configuration secret: whsig_kq7MQmfWEWcZjk16E**yQLkt2Oymr3MtvLOj5ewbOD**","known_identities":[],"targets":[{"id":"value","kind":"secret","start":22,"end":72,"value":"whsig_kq7MQmfWEWcZjk16E**yQLkt2Oymr3MtvLOj5ewbOD**","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-webhook-secret-must-detect-05","recipe":"webhook-secret","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["whsig_kq7MQmfWEWcZjk16E**yQLkt2Oymr3MtvLOj5ewbOD**"]},"customers":{"required_absent":["whsig_kq7MQmfWEWcZjk16E**yQLkt2Oymr3MtvLOj5ewbOD**","whsig_kq7MQmfWEWcZjk16E","yQLkt2Oymr3MtvLOj5ewbOD"],"required_present":[]},"all":{"required_absent":["whsig_kq7MQmfWEWcZjk16E**yQLkt2Oymr3MtvLOj5ewbOD**","whsig_kq7MQmfWEWcZjk16E","yQLkt2Oymr3MtvLOj5ewbOD"],"required_present":[]}},"tags":["broad-quality","secret-family:webhook-secret","variation:05"],"secret_fixture":{"family":"webhook-secret","role":"must-detect"}}, + {"id":"broad-secret-webhook-secret-preserve-05","language":"en","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad webhook-secret variation.","text":"Release metadata: `event.delivery.created`","known_identities":[],"targets":[{"id":"value","kind":"secret","start":19,"end":41,"value":"event.delivery.created","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-webhook-secret-preserve-05","recipe":"webhook-secret","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["event.delivery.created"]},"customers":{"required_absent":[],"required_present":["event.delivery.created"]},"all":{"required_absent":[],"required_present":["event.delivery.created"]}},"tags":["broad-quality","secret-family:webhook-secret","variation:05"],"secret_fixture":{"family":"webhook-secret","role":"preserve"}}, + {"id":"broad-secret-webhook-secret-must-detect-06","language":"en","script":"Latin","shape":"html","risk":"critical","reason":"Locked broad webhook-secret variation.","text":"\u003cp\u003eStack trace captured credential \u003ccode\u003ewhsig_zw6qWp8I71rO5rzMi\u003cwbr\u003e33XPYldo3dEjCmZREcQVRkn\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"value","kind":"secret","start":41,"end":92,"value":"whsig_zw6qWp8I71rO5rzMi\u003cwbr\u003e33XPYldo3dEjCmZREcQVRkn","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-webhook-secret-must-detect-06","recipe":"webhook-secret","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["whsig_zw6qWp8I71rO5rzMi\u003cwbr\u003e33XPYldo3dEjCmZREcQVRkn"]},"customers":{"required_absent":["whsig_zw6qWp8I71rO5rzMi\u003cwbr\u003e33XPYldo3dEjCmZREcQVRkn","whsig_zw6qWp8I71rO5rzMi","33XPYldo3dEjCmZREcQVRkn"],"required_present":[]},"all":{"required_absent":["whsig_zw6qWp8I71rO5rzMi\u003cwbr\u003e33XPYldo3dEjCmZREcQVRkn","whsig_zw6qWp8I71rO5rzMi","33XPYldo3dEjCmZREcQVRkn"],"required_present":[]}},"tags":["broad-quality","secret-family:webhook-secret","variation:06"],"secret_fixture":{"family":"webhook-secret","role":"must-detect"}}, + {"id":"broad-secret-webhook-secret-preserve-06","language":"en","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad webhook-secret variation.","text":"\u003cp\u003ePublic verification material: \u003ccode\u003eevent.delivery.created\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"value","kind":"secret","start":39,"end":61,"value":"event.delivery.created","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-webhook-secret-preserve-06","recipe":"webhook-secret","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["event.delivery.created"]},"customers":{"required_absent":[],"required_present":["event.delivery.created"]},"all":{"required_absent":[],"required_present":["event.delivery.created"]}},"tags":["broad-quality","secret-family:webhook-secret","variation:06"],"secret_fixture":{"family":"webhook-secret","role":"preserve"}}, {"id":"broad-secret-webhook-secret-must-detect-07","language":"en","script":"Latin","shape":"quoted-reply","risk":"critical","reason":"Locked broad webhook-secret variation.","text":"\u003e Wrapped message credential: whsig_fkGQX0jhQXKzsTBbrUiZB4pBszhW85xxKkFyv5iw","known_identities":[],"targets":[{"id":"value","kind":"secret","start":30,"end":76,"value":"whsig_fkGQX0jhQXKzsTBbrUiZB4pBszhW85xxKkFyv5iw","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-webhook-secret-must-detect-07","recipe":"webhook-secret","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["whsig_fkGQX0jhQXKzsTBbrUiZB4pBszhW85xxKkFyv5iw"]},"customers":{"required_absent":["whsig_fkGQX0jhQXKzsTBbrUiZB4pBszhW85xxKkFyv5iw"],"required_present":[]},"all":{"required_absent":["whsig_fkGQX0jhQXKzsTBbrUiZB4pBszhW85xxKkFyv5iw"],"required_present":[]}},"tags":["broad-quality","secret-family:webhook-secret","variation:07"],"secret_fixture":{"family":"webhook-secret","role":"must-detect"}}, {"id":"broad-secret-webhook-secret-preserve-07","language":"en","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad webhook-secret variation.","text":"\u003e Troubleshooting reference: event.delivery.created","known_identities":[],"targets":[{"id":"value","kind":"secret","start":29,"end":51,"value":"event.delivery.created","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-webhook-secret-preserve-07","recipe":"webhook-secret","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["event.delivery.created"]},"customers":{"required_absent":[],"required_present":["event.delivery.created"]},"all":{"required_absent":[],"required_present":["event.delivery.created"]}},"tags":["broad-quality","secret-family:webhook-secret","variation:07"],"secret_fixture":{"family":"webhook-secret","role":"preserve"}}, - {"id":"broad-secret-webhook-secret-must-detect-08","language":"en","script":"Latin","shape":"log","risk":"critical","reason":"Locked broad webhook-secret variation.","text":"level=warn sample=8 message=\"Credential copied from a support reply: \" value=whsig_za2Tqi1G0gLwXt33F\npyVSD5FHDTy9W5Oi7JSEnnF","known_identities":[],"targets":[{"id":"value","kind":"secret","start":77,"end":124,"value":"whsig_za2Tqi1G0gLwXt33F\npyVSD5FHDTy9W5Oi7JSEnnF","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-webhook-secret-must-detect-08","recipe":"webhook-secret","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["whsig_za2Tqi1G0gLwXt33F\npyVSD5FHDTy9W5Oi7JSEnnF"]},"customers":{"required_absent":["whsig_za2Tqi1G0gLwXt33F\npyVSD5FHDTy9W5Oi7JSEnnF"],"required_present":[]},"all":{"required_absent":["whsig_za2Tqi1G0gLwXt33F\npyVSD5FHDTy9W5Oi7JSEnnF"],"required_present":[]}},"tags":["broad-quality","secret-family:webhook-secret","variation:08"],"secret_fixture":{"family":"webhook-secret","role":"must-detect"}}, - {"id":"broad-secret-webhook-secret-preserve-08","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad webhook-secret variation.","text":"level=warn sample=8 message=\"Public configuration vocabulary: \" value=event.delivery.created","known_identities":[],"targets":[{"id":"value","kind":"secret","start":70,"end":92,"value":"event.delivery.created","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-webhook-secret-preserve-08","recipe":"webhook-secret","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["event.delivery.created"]},"customers":{"required_absent":[],"required_present":["event.delivery.created"]},"all":{"required_absent":[],"required_present":["event.delivery.created"]}},"tags":["broad-quality","secret-family:webhook-secret","variation:08"],"secret_fixture":{"family":"webhook-secret","role":"preserve"}}, - {"id":"broad-secret-webhook-secret-must-detect-09","language":"en","script":"Latin","shape":"stack-trace","risk":"critical","reason":"Locked broad webhook-secret variation.","text":"Trace[9]: Authorization header value: whsig_yI96MXx5DwLH08z9V hV4eB8PPDC30SeZQd6fmZor","known_identities":[],"targets":[{"id":"value","kind":"secret","start":38,"end":85,"value":"whsig_yI96MXx5DwLH08z9V hV4eB8PPDC30SeZQd6fmZor","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-webhook-secret-must-detect-09","recipe":"webhook-secret","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["whsig_yI96MXx5DwLH08z9V hV4eB8PPDC30SeZQd6fmZor"]},"customers":{"required_absent":["whsig_yI96MXx5DwLH08z9V hV4eB8PPDC30SeZQd6fmZor"],"required_present":[]},"all":{"required_absent":["whsig_yI96MXx5DwLH08z9V hV4eB8PPDC30SeZQd6fmZor"],"required_present":[]}},"tags":["broad-quality","secret-family:webhook-secret","variation:09"],"secret_fixture":{"family":"webhook-secret","role":"must-detect"}}, + {"id":"broad-secret-webhook-secret-must-detect-08","language":"en","script":"Latin","shape":"log","risk":"critical","reason":"Locked broad webhook-secret variation.","text":"level=warn sample=8 message=\"Credential copied from a support reply: \" credential=\"whsig_za2Tqi1G0gLwXt33FpyVSD5FHDTy9W5Oi7JSEnnF\"","known_identities":[],"targets":[{"id":"value","kind":"secret","start":83,"end":129,"value":"whsig_za2Tqi1G0gLwXt33FpyVSD5FHDTy9W5Oi7JSEnnF","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-webhook-secret-must-detect-08","recipe":"webhook-secret","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["whsig_za2Tqi1G0gLwXt33FpyVSD5FHDTy9W5Oi7JSEnnF"]},"customers":{"required_absent":["whsig_za2Tqi1G0gLwXt33FpyVSD5FHDTy9W5Oi7JSEnnF"],"required_present":[]},"all":{"required_absent":["whsig_za2Tqi1G0gLwXt33FpyVSD5FHDTy9W5Oi7JSEnnF"],"required_present":[]}},"tags":["broad-quality","secret-family:webhook-secret","variation:08"],"secret_fixture":{"family":"webhook-secret","role":"must-detect"}}, + {"id":"broad-secret-webhook-secret-preserve-08","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad webhook-secret variation.","text":"level=warn sample=8 message=\"Public configuration vocabulary: \" credential=\"event.delivery.created\"","known_identities":[],"targets":[{"id":"value","kind":"secret","start":76,"end":98,"value":"event.delivery.created","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-webhook-secret-preserve-08","recipe":"webhook-secret","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["event.delivery.created"]},"customers":{"required_absent":[],"required_present":["event.delivery.created"]},"all":{"required_absent":[],"required_present":["event.delivery.created"]}},"tags":["broad-quality","secret-family:webhook-secret","variation:08"],"secret_fixture":{"family":"webhook-secret","role":"preserve"}}, + {"id":"broad-secret-webhook-secret-must-detect-09","language":"en","script":"Latin","shape":"stack-trace","risk":"critical","reason":"Locked broad webhook-secret variation.","text":"Trace[9]: Authorization header value: whsig_yI96MXx5DwLH08z9V\thV4eB8PPDC30SeZQd6fmZor","known_identities":[],"targets":[{"id":"value","kind":"secret","start":38,"end":85,"value":"whsig_yI96MXx5DwLH08z9V\thV4eB8PPDC30SeZQd6fmZor","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-webhook-secret-must-detect-09","recipe":"webhook-secret","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["whsig_yI96MXx5DwLH08z9V\thV4eB8PPDC30SeZQd6fmZor"]},"customers":{"required_absent":["whsig_yI96MXx5DwLH08z9V\thV4eB8PPDC30SeZQd6fmZor","whsig_yI96MXx5DwLH08z9V","hV4eB8PPDC30SeZQd6fmZor"],"required_present":[]},"all":{"required_absent":["whsig_yI96MXx5DwLH08z9V\thV4eB8PPDC30SeZQd6fmZor","whsig_yI96MXx5DwLH08z9V","hV4eB8PPDC30SeZQd6fmZor"],"required_present":[]}},"tags":["broad-quality","secret-family:webhook-secret","variation:09"],"secret_fixture":{"family":"webhook-secret","role":"must-detect"}}, {"id":"broad-secret-webhook-secret-preserve-09","language":"en","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad webhook-secret variation.","text":"Trace[9]: Documentation syntax: event.delivery.created","known_identities":[],"targets":[{"id":"value","kind":"secret","start":32,"end":54,"value":"event.delivery.created","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-webhook-secret-preserve-09","recipe":"webhook-secret","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["event.delivery.created"]},"customers":{"required_absent":[],"required_present":["event.delivery.created"]},"all":{"required_absent":[],"required_present":["event.delivery.created"]}},"tags":["broad-quality","secret-family:webhook-secret","variation:09"],"secret_fixture":{"family":"webhook-secret","role":"preserve"}}, - {"id":"broad-secret-webhook-secret-must-detect-10","language":"en","script":"Latin","shape":"code","risk":"critical","reason":"Locked broad webhook-secret variation.","text":"fixture_10 := `Log field auth_value=whsig_REWSww3t7785GJ675·8uidL9rUXJD2ojXaI8jzIAC`","known_identities":[],"targets":[{"id":"value","kind":"secret","start":36,"end":84,"value":"whsig_REWSww3t7785GJ675·8uidL9rUXJD2ojXaI8jzIAC","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-webhook-secret-must-detect-10","recipe":"webhook-secret","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["whsig_REWSww3t7785GJ675·8uidL9rUXJD2ojXaI8jzIAC"]},"customers":{"required_absent":["whsig_REWSww3t7785GJ675·8uidL9rUXJD2ojXaI8jzIAC"],"required_present":[]},"all":{"required_absent":["whsig_REWSww3t7785GJ675·8uidL9rUXJD2ojXaI8jzIAC"],"required_present":[]}},"tags":["broad-quality","secret-family:webhook-secret","variation:10"],"secret_fixture":{"family":"webhook-secret","role":"must-detect"}}, + {"id":"broad-secret-webhook-secret-must-detect-10","language":"en","script":"Latin","shape":"code","risk":"critical","reason":"Locked broad webhook-secret variation.","text":"fixture_10 := `Log field auth_value=whsig_REWSww3t7785GJ675·8uidL9rUXJD2ojXaI8jzIAC`","known_identities":[],"targets":[{"id":"value","kind":"secret","start":36,"end":84,"value":"whsig_REWSww3t7785GJ675·8uidL9rUXJD2ojXaI8jzIAC","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-webhook-secret-must-detect-10","recipe":"webhook-secret","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["whsig_REWSww3t7785GJ675·8uidL9rUXJD2ojXaI8jzIAC"]},"customers":{"required_absent":["whsig_REWSww3t7785GJ675·8uidL9rUXJD2ojXaI8jzIAC","whsig_REWSww3t7785GJ675","8uidL9rUXJD2ojXaI8jzIAC"],"required_present":[]},"all":{"required_absent":["whsig_REWSww3t7785GJ675·8uidL9rUXJD2ojXaI8jzIAC","whsig_REWSww3t7785GJ675","8uidL9rUXJD2ojXaI8jzIAC"],"required_present":[]}},"tags":["broad-quality","secret-family:webhook-secret","variation:10"],"secret_fixture":{"family":"webhook-secret","role":"must-detect"}}, {"id":"broad-secret-webhook-secret-preserve-10","language":"en","script":"Latin","shape":"code","risk":"preservation","reason":"Locked broad webhook-secret variation.","text":"fixture_10 := `Public operational identifier: event.delivery.created`","known_identities":[],"targets":[{"id":"value","kind":"secret","start":46,"end":68,"value":"event.delivery.created","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-webhook-secret-preserve-10","recipe":"webhook-secret","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["event.delivery.created"]},"customers":{"required_absent":[],"required_present":["event.delivery.created"]},"all":{"required_absent":[],"required_present":["event.delivery.created"]}},"tags":["broad-quality","secret-family:webhook-secret","variation:10"],"secret_fixture":{"family":"webhook-secret","role":"preserve"}}, - {"id":"broad-secret-webhook-secret-must-detect-11","language":"en","script":"Latin","shape":"signature","risk":"critical","reason":"Locked broad webhook-secret variation.","text":"--\nRotating this exposed value: whsig_Qilci5DFumNcZghCs\u003cwbr\u003egfzCNhnJfL0e6snHIvx9jjI","known_identities":[],"targets":[{"id":"value","kind":"secret","start":32,"end":83,"value":"whsig_Qilci5DFumNcZghCs\u003cwbr\u003egfzCNhnJfL0e6snHIvx9jjI","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-webhook-secret-must-detect-11","recipe":"webhook-secret","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["whsig_Qilci5DFumNcZghCs\u003cwbr\u003egfzCNhnJfL0e6snHIvx9jjI"]},"customers":{"required_absent":["whsig_Qilci5DFumNcZghCs\u003cwbr\u003egfzCNhnJfL0e6snHIvx9jjI"],"required_present":[]},"all":{"required_absent":["whsig_Qilci5DFumNcZghCs\u003cwbr\u003egfzCNhnJfL0e6snHIvx9jjI"],"required_present":[]}},"tags":["broad-quality","secret-family:webhook-secret","variation:11"],"secret_fixture":{"family":"webhook-secret","role":"must-detect"}}, + {"id":"broad-secret-webhook-secret-must-detect-11","language":"en","script":"Latin","shape":"signature","risk":"critical","reason":"Locked broad webhook-secret variation.","text":"--\nRotating this exposed value: whsig_Qilci5DFumNcZghCsgfzCNhnJfL0e6snHIvx9jjI","known_identities":[],"targets":[{"id":"value","kind":"secret","start":32,"end":78,"value":"whsig_Qilci5DFumNcZghCsgfzCNhnJfL0e6snHIvx9jjI","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-webhook-secret-must-detect-11","recipe":"webhook-secret","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["whsig_Qilci5DFumNcZghCsgfzCNhnJfL0e6snHIvx9jjI"]},"customers":{"required_absent":["whsig_Qilci5DFumNcZghCsgfzCNhnJfL0e6snHIvx9jjI"],"required_present":[]},"all":{"required_absent":["whsig_Qilci5DFumNcZghCsgfzCNhnJfL0e6snHIvx9jjI"],"required_present":[]}},"tags":["broad-quality","secret-family:webhook-secret","variation:11"],"secret_fixture":{"family":"webhook-secret","role":"must-detect"}}, {"id":"broad-secret-webhook-secret-preserve-11","language":"en","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad webhook-secret variation.","text":"--\nSchema field label: event.delivery.created","known_identities":[],"targets":[{"id":"value","kind":"secret","start":23,"end":45,"value":"event.delivery.created","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-webhook-secret-preserve-11","recipe":"webhook-secret","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["event.delivery.created"]},"customers":{"required_absent":[],"required_present":["event.delivery.created"]},"all":{"required_absent":[],"required_present":["event.delivery.created"]}},"tags":["broad-quality","secret-family:webhook-secret","variation:11"],"secret_fixture":{"family":"webhook-secret","role":"preserve"}}, - {"id":"broad-secret-webhook-secret-must-detect-12","language":"en","script":"Latin","shape":"long-thread","risk":"critical","reason":"Locked broad webhook-secret variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Quoted credential follows: whsig_PYfqr1ztt1eV3hHRQ**l6YJY4puLFE8QPsshWnikp3","known_identities":[],"targets":[{"id":"value","kind":"secret","start":507,"end":555,"value":"whsig_PYfqr1ztt1eV3hHRQ**l6YJY4puLFE8QPsshWnikp3","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-webhook-secret-must-detect-12","recipe":"webhook-secret","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["whsig_PYfqr1ztt1eV3hHRQ**l6YJY4puLFE8QPsshWnikp3"]},"customers":{"required_absent":["whsig_PYfqr1ztt1eV3hHRQ**l6YJY4puLFE8QPsshWnikp3"],"required_present":[]},"all":{"required_absent":["whsig_PYfqr1ztt1eV3hHRQ**l6YJY4puLFE8QPsshWnikp3"],"required_present":[]}},"tags":["broad-quality","secret-family:webhook-secret","variation:12"],"secret_fixture":{"family":"webhook-secret","role":"must-detect"}}, + {"id":"broad-secret-webhook-secret-must-detect-12","language":"en","script":"Latin","shape":"long-thread","risk":"critical","reason":"Locked broad webhook-secret variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Quoted credential follows: whsig_PYfqr1ztt1eV3hHRQl6YJY4puLFE8QPsshWnikp3","known_identities":[],"targets":[{"id":"value","kind":"secret","start":507,"end":553,"value":"whsig_PYfqr1ztt1eV3hHRQl6YJY4puLFE8QPsshWnikp3","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-webhook-secret-must-detect-12","recipe":"webhook-secret","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["whsig_PYfqr1ztt1eV3hHRQl6YJY4puLFE8QPsshWnikp3"]},"customers":{"required_absent":["whsig_PYfqr1ztt1eV3hHRQl6YJY4puLFE8QPsshWnikp3"],"required_present":[]},"all":{"required_absent":["whsig_PYfqr1ztt1eV3hHRQl6YJY4puLFE8QPsshWnikp3"],"required_present":[]}},"tags":["broad-quality","secret-family:webhook-secret","variation:12"],"secret_fixture":{"family":"webhook-secret","role":"must-detect"}}, {"id":"broad-secret-webhook-secret-preserve-12","language":"en","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad webhook-secret variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Non-confidential protocol token: event.delivery.created","known_identities":[],"targets":[{"id":"value","kind":"secret","start":513,"end":535,"value":"event.delivery.created","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-webhook-secret-preserve-12","recipe":"webhook-secret","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["event.delivery.created"]},"customers":{"required_absent":[],"required_present":["event.delivery.created"]},"all":{"required_absent":[],"required_present":["event.delivery.created"]}},"tags":["broad-quality","secret-family:webhook-secret","variation:12"],"secret_fixture":{"family":"webhook-secret","role":"preserve"}}, - {"id":"broad-secret-webhook-secret-must-detect-13","language":"en","script":"Latin","shape":"command-payload","risk":"critical","reason":"Locked broad webhook-secret variation.","text":"--sample=13 --message=\"Configuration secret: \" --value=whsig_DuhU2LPUk8fKqiecDpFhPheNyLym0Jsz8LGGpyVK / whsig_DuhU2LPUk8fKqiecDpFhPheNyLym0Jsz8LGGpyVK","known_identities":[],"targets":[{"id":"value","kind":"secret","start":55,"end":150,"value":"whsig_DuhU2LPUk8fKqiecDpFhPheNyLym0Jsz8LGGpyVK / whsig_DuhU2LPUk8fKqiecDpFhPheNyLym0Jsz8LGGpyVK","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-webhook-secret-must-detect-13","recipe":"webhook-secret","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["whsig_DuhU2LPUk8fKqiecDpFhPheNyLym0Jsz8LGGpyVK / whsig_DuhU2LPUk8fKqiecDpFhPheNyLym0Jsz8LGGpyVK"]},"customers":{"required_absent":["whsig_DuhU2LPUk8fKqiecDpFhPheNyLym0Jsz8LGGpyVK / whsig_DuhU2LPUk8fKqiecDpFhPheNyLym0Jsz8LGGpyVK"],"required_present":[]},"all":{"required_absent":["whsig_DuhU2LPUk8fKqiecDpFhPheNyLym0Jsz8LGGpyVK / whsig_DuhU2LPUk8fKqiecDpFhPheNyLym0Jsz8LGGpyVK"],"required_present":[]}},"tags":["broad-quality","secret-family:webhook-secret","variation:13"],"secret_fixture":{"family":"webhook-secret","role":"must-detect"}}, - {"id":"broad-secret-webhook-secret-preserve-13","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad webhook-secret variation.","text":"--sample=13 --message=\"Release metadata: \" --value=event.delivery.created","known_identities":[],"targets":[{"id":"value","kind":"secret","start":51,"end":73,"value":"event.delivery.created","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-webhook-secret-preserve-13","recipe":"webhook-secret","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["event.delivery.created"]},"customers":{"required_absent":[],"required_present":["event.delivery.created"]},"all":{"required_absent":[],"required_present":["event.delivery.created"]}},"tags":["broad-quality","secret-family:webhook-secret","variation:13"],"secret_fixture":{"family":"webhook-secret","role":"preserve"}}, + {"id":"broad-secret-webhook-secret-must-detect-13","language":"en","script":"Latin","shape":"command-payload","risk":"critical","reason":"Locked broad webhook-secret variation.","text":"--sample=13 --message=\"Configuration secret: \" --credential=\"whsig_DuhU2LPUk8fKqiecDpFhPheNyLym0Jsz8LGGpyVK\"","known_identities":[],"targets":[{"id":"value","kind":"secret","start":61,"end":107,"value":"whsig_DuhU2LPUk8fKqiecDpFhPheNyLym0Jsz8LGGpyVK","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-webhook-secret-must-detect-13","recipe":"webhook-secret","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["whsig_DuhU2LPUk8fKqiecDpFhPheNyLym0Jsz8LGGpyVK"]},"customers":{"required_absent":["whsig_DuhU2LPUk8fKqiecDpFhPheNyLym0Jsz8LGGpyVK"],"required_present":[]},"all":{"required_absent":["whsig_DuhU2LPUk8fKqiecDpFhPheNyLym0Jsz8LGGpyVK"],"required_present":[]}},"tags":["broad-quality","secret-family:webhook-secret","variation:13"],"secret_fixture":{"family":"webhook-secret","role":"must-detect"}}, + {"id":"broad-secret-webhook-secret-preserve-13","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad webhook-secret variation.","text":"--sample=13 --message=\"Release metadata: \" --credential=\"event.delivery.created\"","known_identities":[],"targets":[{"id":"value","kind":"secret","start":57,"end":79,"value":"event.delivery.created","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-webhook-secret-preserve-13","recipe":"webhook-secret","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["event.delivery.created"]},"customers":{"required_absent":[],"required_present":["event.delivery.created"]},"all":{"required_absent":[],"required_present":["event.delivery.created"]}},"tags":["broad-quality","secret-family:webhook-secret","variation:13"],"secret_fixture":{"family":"webhook-secret","role":"preserve"}}, {"id":"broad-secret-cloud-credential-must-detect-00","language":"en","script":"Latin","shape":"prose","risk":"critical","reason":"Locked broad cloud-credential variation.","text":"Credential copied from a support reply: CLDXUQ98ZO5LQC7SMWQD","known_identities":[],"targets":[{"id":"value","kind":"secret","start":40,"end":60,"value":"CLDXUQ98ZO5LQC7SMWQD","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cloud-credential-must-detect-00","recipe":"cloud-credential","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CLDXUQ98ZO5LQC7SMWQD"]},"customers":{"required_absent":["CLDXUQ98ZO5LQC7SMWQD"],"required_present":[]},"all":{"required_absent":["CLDXUQ98ZO5LQC7SMWQD"],"required_present":[]}},"tags":["broad-quality","secret-family:cloud-credential","variation:00"],"secret_fixture":{"family":"cloud-credential","role":"must-detect"}}, {"id":"broad-secret-cloud-credential-preserve-00","language":"en","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad cloud-credential variation.","text":"Public configuration vocabulary: 341196342754","known_identities":[],"targets":[{"id":"value","kind":"secret","start":33,"end":45,"value":"341196342754","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cloud-credential-preserve-00","recipe":"cloud-credential","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["341196342754"]},"customers":{"required_absent":[],"required_present":["341196342754"]},"all":{"required_absent":[],"required_present":["341196342754"]}},"tags":["broad-quality","secret-family:cloud-credential","variation:00"],"secret_fixture":{"family":"cloud-credential","role":"preserve"}}, {"id":"broad-secret-cloud-credential-must-detect-01","language":"en","script":"Latin","shape":"json","risk":"critical","reason":"Locked broad cloud-credential variation.","text":"{\"message_1\":\"Authorization header value: CLDXCW3NJPNBM3FNLPEW\"}","known_identities":[],"targets":[{"id":"value","kind":"secret","start":42,"end":62,"value":"CLDXCW3NJPNBM3FNLPEW","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cloud-credential-must-detect-01","recipe":"cloud-credential","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CLDXCW3NJPNBM3FNLPEW"]},"customers":{"required_absent":["CLDXCW3NJPNBM3FNLPEW"],"required_present":[]},"all":{"required_absent":["CLDXCW3NJPNBM3FNLPEW"],"required_present":[]}},"tags":["broad-quality","secret-family:cloud-credential","variation:01"],"secret_fixture":{"family":"cloud-credential","role":"must-detect"}}, {"id":"broad-secret-cloud-credential-preserve-01","language":"en","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad cloud-credential variation.","text":"{\"message_1\":\"Documentation syntax: 997192730562\"}","known_identities":[],"targets":[{"id":"value","kind":"secret","start":36,"end":48,"value":"997192730562","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cloud-credential-preserve-01","recipe":"cloud-credential","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["997192730562"]},"customers":{"required_absent":[],"required_present":["997192730562"]},"all":{"required_absent":[],"required_present":["997192730562"]}},"tags":["broad-quality","secret-family:cloud-credential","variation:01"],"secret_fixture":{"family":"cloud-credential","role":"preserve"}}, - {"id":"broad-secret-cloud-credential-must-detect-02","language":"en","script":"Latin","shape":"yaml","risk":"critical","reason":"Locked broad cloud-credential variation.","text":"message_2: Log field auth_value=CLDX1TEIA7TT86KQFB2P","known_identities":[],"targets":[{"id":"value","kind":"secret","start":32,"end":52,"value":"CLDX1TEIA7TT86KQFB2P","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cloud-credential-must-detect-02","recipe":"cloud-credential","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CLDX1TEIA7TT86KQFB2P"]},"customers":{"required_absent":["CLDX1TEIA7TT86KQFB2P"],"required_present":[]},"all":{"required_absent":["CLDX1TEIA7TT86KQFB2P"],"required_present":[]}},"tags":["broad-quality","secret-family:cloud-credential","variation:02"],"secret_fixture":{"family":"cloud-credential","role":"must-detect"}}, - {"id":"broad-secret-cloud-credential-preserve-02","language":"en","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad cloud-credential variation.","text":"message_2: Public operational identifier: 522233693123","known_identities":[],"targets":[{"id":"value","kind":"secret","start":42,"end":54,"value":"522233693123","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cloud-credential-preserve-02","recipe":"cloud-credential","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["522233693123"]},"customers":{"required_absent":[],"required_present":["522233693123"]},"all":{"required_absent":[],"required_present":["522233693123"]}},"tags":["broad-quality","secret-family:cloud-credential","variation:02"],"secret_fixture":{"family":"cloud-credential","role":"preserve"}}, + {"id":"broad-secret-cloud-credential-must-detect-02","language":"en","script":"Latin","shape":"yaml","risk":"critical","reason":"Locked broad cloud-credential variation.","text":"message_2: \"Log field auth_value=CLDX1TEIA7TT86KQFB2P\"","known_identities":[],"targets":[{"id":"value","kind":"secret","start":33,"end":53,"value":"CLDX1TEIA7TT86KQFB2P","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cloud-credential-must-detect-02","recipe":"cloud-credential","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CLDX1TEIA7TT86KQFB2P"]},"customers":{"required_absent":["CLDX1TEIA7TT86KQFB2P"],"required_present":[]},"all":{"required_absent":["CLDX1TEIA7TT86KQFB2P"],"required_present":[]}},"tags":["broad-quality","secret-family:cloud-credential","variation:02"],"secret_fixture":{"family":"cloud-credential","role":"must-detect"}}, + {"id":"broad-secret-cloud-credential-preserve-02","language":"en","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad cloud-credential variation.","text":"message_2: \"Public operational identifier: 522233693123\"","known_identities":[],"targets":[{"id":"value","kind":"secret","start":43,"end":55,"value":"522233693123","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cloud-credential-preserve-02","recipe":"cloud-credential","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["522233693123"]},"customers":{"required_absent":[],"required_present":["522233693123"]},"all":{"required_absent":[],"required_present":["522233693123"]}},"tags":["broad-quality","secret-family:cloud-credential","variation:02"],"secret_fixture":{"family":"cloud-credential","role":"preserve"}}, {"id":"broad-secret-cloud-credential-must-detect-03","language":"en","script":"Latin","shape":"shell","risk":"critical","reason":"Locked broad cloud-credential variation.","text":"MESSAGE_3='Rotating this exposed value: CLDXGJ4RJOJJAA4FRG56'","known_identities":[],"targets":[{"id":"value","kind":"secret","start":40,"end":60,"value":"CLDXGJ4RJOJJAA4FRG56","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cloud-credential-must-detect-03","recipe":"cloud-credential","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CLDXGJ4RJOJJAA4FRG56"]},"customers":{"required_absent":["CLDXGJ4RJOJJAA4FRG56"],"required_present":[]},"all":{"required_absent":["CLDXGJ4RJOJJAA4FRG56"],"required_present":[]}},"tags":["broad-quality","secret-family:cloud-credential","variation:03"],"secret_fixture":{"family":"cloud-credential","role":"must-detect"}}, {"id":"broad-secret-cloud-credential-preserve-03","language":"en","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad cloud-credential variation.","text":"MESSAGE_3='Schema field label: 332379951281'","known_identities":[],"targets":[{"id":"value","kind":"secret","start":31,"end":43,"value":"332379951281","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cloud-credential-preserve-03","recipe":"cloud-credential","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["332379951281"]},"customers":{"required_absent":[],"required_present":["332379951281"]},"all":{"required_absent":[],"required_present":["332379951281"]}},"tags":["broad-quality","secret-family:cloud-credential","variation:03"],"secret_fixture":{"family":"cloud-credential","role":"preserve"}}, - {"id":"broad-secret-cloud-credential-must-detect-04","language":"en","script":"Latin","shape":"url","risk":"critical","reason":"Locked broad cloud-credential variation.","text":"endpoint=https://192.0.2.10/4 ; Quoted credential follows: CLDX4UAKIQHI1HJFBHS1","known_identities":[],"targets":[{"id":"value","kind":"secret","start":59,"end":79,"value":"CLDX4UAKIQHI1HJFBHS1","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cloud-credential-must-detect-04","recipe":"cloud-credential","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CLDX4UAKIQHI1HJFBHS1"]},"customers":{"required_absent":["CLDX4UAKIQHI1HJFBHS1"],"required_present":[]},"all":{"required_absent":["CLDX4UAKIQHI1HJFBHS1"],"required_present":[]}},"tags":["broad-quality","secret-family:cloud-credential","variation:04"],"secret_fixture":{"family":"cloud-credential","role":"must-detect"}}, - {"id":"broad-secret-cloud-credential-preserve-04","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad cloud-credential variation.","text":"endpoint=https://192.0.2.10/4 ; Non-confidential protocol token: 744724784199","known_identities":[],"targets":[{"id":"value","kind":"secret","start":65,"end":77,"value":"744724784199","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cloud-credential-preserve-04","recipe":"cloud-credential","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["744724784199"]},"customers":{"required_absent":[],"required_present":["744724784199"]},"all":{"required_absent":[],"required_present":["744724784199"]}},"tags":["broad-quality","secret-family:cloud-credential","variation:04"],"secret_fixture":{"family":"cloud-credential","role":"preserve"}}, - {"id":"broad-secret-cloud-credential-must-detect-05","language":"en","script":"Latin","shape":"markdown","risk":"critical","reason":"Locked broad cloud-credential variation.","text":"**Configuration secret: CLDX79A822QY40ZA2E4M**","known_identities":[],"targets":[{"id":"value","kind":"secret","start":24,"end":44,"value":"CLDX79A822QY40ZA2E4M","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cloud-credential-must-detect-05","recipe":"cloud-credential","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CLDX79A822QY40ZA2E4M"]},"customers":{"required_absent":["CLDX79A822QY40ZA2E4M"],"required_present":[]},"all":{"required_absent":["CLDX79A822QY40ZA2E4M"],"required_present":[]}},"tags":["broad-quality","secret-family:cloud-credential","variation:05"],"secret_fixture":{"family":"cloud-credential","role":"must-detect"}}, - {"id":"broad-secret-cloud-credential-preserve-05","language":"en","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad cloud-credential variation.","text":"**Release metadata: 635853326056**","known_identities":[],"targets":[{"id":"value","kind":"secret","start":20,"end":32,"value":"635853326056","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cloud-credential-preserve-05","recipe":"cloud-credential","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["635853326056"]},"customers":{"required_absent":[],"required_present":["635853326056"]},"all":{"required_absent":[],"required_present":["635853326056"]}},"tags":["broad-quality","secret-family:cloud-credential","variation:05"],"secret_fixture":{"family":"cloud-credential","role":"preserve"}}, - {"id":"broad-secret-cloud-credential-must-detect-06","language":"en","script":"Latin","shape":"html","risk":"critical","reason":"Locked broad cloud-credential variation.","text":"\u003cp\u003eStack trace captured credential CLDXEDLCZNII5TL6PUJC\u003c/p\u003e","known_identities":[],"targets":[{"id":"value","kind":"secret","start":35,"end":55,"value":"CLDXEDLCZNII5TL6PUJC","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cloud-credential-must-detect-06","recipe":"cloud-credential","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CLDXEDLCZNII5TL6PUJC"]},"customers":{"required_absent":["CLDXEDLCZNII5TL6PUJC"],"required_present":[]},"all":{"required_absent":["CLDXEDLCZNII5TL6PUJC"],"required_present":[]}},"tags":["broad-quality","secret-family:cloud-credential","variation:06"],"secret_fixture":{"family":"cloud-credential","role":"must-detect"}}, - {"id":"broad-secret-cloud-credential-preserve-06","language":"en","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad cloud-credential variation.","text":"\u003cp\u003ePublic verification material: 501905216311\u003c/p\u003e","known_identities":[],"targets":[{"id":"value","kind":"secret","start":33,"end":45,"value":"501905216311","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cloud-credential-preserve-06","recipe":"cloud-credential","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["501905216311"]},"customers":{"required_absent":[],"required_present":["501905216311"]},"all":{"required_absent":[],"required_present":["501905216311"]}},"tags":["broad-quality","secret-family:cloud-credential","variation:06"],"secret_fixture":{"family":"cloud-credential","role":"preserve"}}, + {"id":"broad-secret-cloud-credential-must-detect-04","language":"en","script":"Latin","shape":"url","risk":"critical","reason":"Locked broad cloud-credential variation.","text":"endpoint=https://192.0.2.10/4?credential=CLDX4UAKIQHI1HJFBHS1\u0026note=Quoted+credential+follows%3A+","known_identities":[],"targets":[{"id":"value","kind":"secret","start":41,"end":61,"value":"CLDX4UAKIQHI1HJFBHS1","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cloud-credential-must-detect-04","recipe":"cloud-credential","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CLDX4UAKIQHI1HJFBHS1"]},"customers":{"required_absent":["CLDX4UAKIQHI1HJFBHS1"],"required_present":[]},"all":{"required_absent":["CLDX4UAKIQHI1HJFBHS1"],"required_present":[]}},"tags":["broad-quality","secret-family:cloud-credential","variation:04"],"secret_fixture":{"family":"cloud-credential","role":"must-detect"}}, + {"id":"broad-secret-cloud-credential-preserve-04","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad cloud-credential variation.","text":"endpoint=https://192.0.2.10/4?credential=744724784199\u0026note=Non-confidential+protocol+token%3A+","known_identities":[],"targets":[{"id":"value","kind":"secret","start":41,"end":53,"value":"744724784199","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cloud-credential-preserve-04","recipe":"cloud-credential","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["744724784199"]},"customers":{"required_absent":[],"required_present":["744724784199"]},"all":{"required_absent":[],"required_present":["744724784199"]}},"tags":["broad-quality","secret-family:cloud-credential","variation:04"],"secret_fixture":{"family":"cloud-credential","role":"preserve"}}, + {"id":"broad-secret-cloud-credential-must-detect-05","language":"en","script":"Latin","shape":"markdown","risk":"critical","reason":"Locked broad cloud-credential variation.","text":"Configuration secret: CLDX79A822**QY40ZA2E4M**","known_identities":[],"targets":[{"id":"value","kind":"secret","start":22,"end":46,"value":"CLDX79A822**QY40ZA2E4M**","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cloud-credential-must-detect-05","recipe":"cloud-credential","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CLDX79A822**QY40ZA2E4M**"]},"customers":{"required_absent":["CLDX79A822**QY40ZA2E4M**","CLDX79A822","QY40ZA2E4M"],"required_present":[]},"all":{"required_absent":["CLDX79A822**QY40ZA2E4M**","CLDX79A822","QY40ZA2E4M"],"required_present":[]}},"tags":["broad-quality","secret-family:cloud-credential","variation:05"],"secret_fixture":{"family":"cloud-credential","role":"must-detect"}}, + {"id":"broad-secret-cloud-credential-preserve-05","language":"en","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad cloud-credential variation.","text":"Release metadata: `635853326056`","known_identities":[],"targets":[{"id":"value","kind":"secret","start":19,"end":31,"value":"635853326056","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cloud-credential-preserve-05","recipe":"cloud-credential","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["635853326056"]},"customers":{"required_absent":[],"required_present":["635853326056"]},"all":{"required_absent":[],"required_present":["635853326056"]}},"tags":["broad-quality","secret-family:cloud-credential","variation:05"],"secret_fixture":{"family":"cloud-credential","role":"preserve"}}, + {"id":"broad-secret-cloud-credential-must-detect-06","language":"en","script":"Latin","shape":"html","risk":"critical","reason":"Locked broad cloud-credential variation.","text":"\u003cp\u003eStack trace captured credential \u003ccode\u003eCLDXEDLCZN\u003cwbr\u003eII5TL6PUJC\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"value","kind":"secret","start":41,"end":66,"value":"CLDXEDLCZN\u003cwbr\u003eII5TL6PUJC","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cloud-credential-must-detect-06","recipe":"cloud-credential","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CLDXEDLCZN\u003cwbr\u003eII5TL6PUJC"]},"customers":{"required_absent":["CLDXEDLCZN\u003cwbr\u003eII5TL6PUJC","CLDXEDLCZN","II5TL6PUJC"],"required_present":[]},"all":{"required_absent":["CLDXEDLCZN\u003cwbr\u003eII5TL6PUJC","CLDXEDLCZN","II5TL6PUJC"],"required_present":[]}},"tags":["broad-quality","secret-family:cloud-credential","variation:06"],"secret_fixture":{"family":"cloud-credential","role":"must-detect"}}, + {"id":"broad-secret-cloud-credential-preserve-06","language":"en","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad cloud-credential variation.","text":"\u003cp\u003ePublic verification material: \u003ccode\u003e501905216311\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"value","kind":"secret","start":39,"end":51,"value":"501905216311","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cloud-credential-preserve-06","recipe":"cloud-credential","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["501905216311"]},"customers":{"required_absent":[],"required_present":["501905216311"]},"all":{"required_absent":[],"required_present":["501905216311"]}},"tags":["broad-quality","secret-family:cloud-credential","variation:06"],"secret_fixture":{"family":"cloud-credential","role":"preserve"}}, {"id":"broad-secret-cloud-credential-must-detect-07","language":"en","script":"Latin","shape":"quoted-reply","risk":"critical","reason":"Locked broad cloud-credential variation.","text":"\u003e Wrapped message credential: CLDXGAOGIN26P4H7JM8E","known_identities":[],"targets":[{"id":"value","kind":"secret","start":30,"end":50,"value":"CLDXGAOGIN26P4H7JM8E","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cloud-credential-must-detect-07","recipe":"cloud-credential","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CLDXGAOGIN26P4H7JM8E"]},"customers":{"required_absent":["CLDXGAOGIN26P4H7JM8E"],"required_present":[]},"all":{"required_absent":["CLDXGAOGIN26P4H7JM8E"],"required_present":[]}},"tags":["broad-quality","secret-family:cloud-credential","variation:07"],"secret_fixture":{"family":"cloud-credential","role":"must-detect"}}, {"id":"broad-secret-cloud-credential-preserve-07","language":"en","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad cloud-credential variation.","text":"\u003e Troubleshooting reference: 950155987954","known_identities":[],"targets":[{"id":"value","kind":"secret","start":29,"end":41,"value":"950155987954","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cloud-credential-preserve-07","recipe":"cloud-credential","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["950155987954"]},"customers":{"required_absent":[],"required_present":["950155987954"]},"all":{"required_absent":[],"required_present":["950155987954"]}},"tags":["broad-quality","secret-family:cloud-credential","variation:07"],"secret_fixture":{"family":"cloud-credential","role":"preserve"}}, - {"id":"broad-secret-cloud-credential-must-detect-08","language":"en","script":"Latin","shape":"log","risk":"critical","reason":"Locked broad cloud-credential variation.","text":"level=warn sample=8 message=\"Credential copied from a support reply: \" value=CLDXHRBKUU\nN2NB7SGLU6","known_identities":[],"targets":[{"id":"value","kind":"secret","start":77,"end":98,"value":"CLDXHRBKUU\nN2NB7SGLU6","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cloud-credential-must-detect-08","recipe":"cloud-credential","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CLDXHRBKUU\nN2NB7SGLU6"]},"customers":{"required_absent":["CLDXHRBKUU\nN2NB7SGLU6"],"required_present":[]},"all":{"required_absent":["CLDXHRBKUU\nN2NB7SGLU6"],"required_present":[]}},"tags":["broad-quality","secret-family:cloud-credential","variation:08"],"secret_fixture":{"family":"cloud-credential","role":"must-detect"}}, - {"id":"broad-secret-cloud-credential-preserve-08","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad cloud-credential variation.","text":"level=warn sample=8 message=\"Public configuration vocabulary: \" value=627636614198","known_identities":[],"targets":[{"id":"value","kind":"secret","start":70,"end":82,"value":"627636614198","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cloud-credential-preserve-08","recipe":"cloud-credential","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["627636614198"]},"customers":{"required_absent":[],"required_present":["627636614198"]},"all":{"required_absent":[],"required_present":["627636614198"]}},"tags":["broad-quality","secret-family:cloud-credential","variation:08"],"secret_fixture":{"family":"cloud-credential","role":"preserve"}}, - {"id":"broad-secret-cloud-credential-must-detect-09","language":"en","script":"Latin","shape":"stack-trace","risk":"critical","reason":"Locked broad cloud-credential variation.","text":"Trace[9]: Authorization header value: CLDXQK8BH1 BFAIV3XZ7J","known_identities":[],"targets":[{"id":"value","kind":"secret","start":38,"end":59,"value":"CLDXQK8BH1 BFAIV3XZ7J","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cloud-credential-must-detect-09","recipe":"cloud-credential","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CLDXQK8BH1 BFAIV3XZ7J"]},"customers":{"required_absent":["CLDXQK8BH1 BFAIV3XZ7J"],"required_present":[]},"all":{"required_absent":["CLDXQK8BH1 BFAIV3XZ7J"],"required_present":[]}},"tags":["broad-quality","secret-family:cloud-credential","variation:09"],"secret_fixture":{"family":"cloud-credential","role":"must-detect"}}, + {"id":"broad-secret-cloud-credential-must-detect-08","language":"en","script":"Latin","shape":"log","risk":"critical","reason":"Locked broad cloud-credential variation.","text":"level=warn sample=8 message=\"Credential copied from a support reply: \" credential=\"CLDXHRBKUUN2NB7SGLU6\"","known_identities":[],"targets":[{"id":"value","kind":"secret","start":83,"end":103,"value":"CLDXHRBKUUN2NB7SGLU6","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cloud-credential-must-detect-08","recipe":"cloud-credential","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CLDXHRBKUUN2NB7SGLU6"]},"customers":{"required_absent":["CLDXHRBKUUN2NB7SGLU6"],"required_present":[]},"all":{"required_absent":["CLDXHRBKUUN2NB7SGLU6"],"required_present":[]}},"tags":["broad-quality","secret-family:cloud-credential","variation:08"],"secret_fixture":{"family":"cloud-credential","role":"must-detect"}}, + {"id":"broad-secret-cloud-credential-preserve-08","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad cloud-credential variation.","text":"level=warn sample=8 message=\"Public configuration vocabulary: \" credential=\"627636614198\"","known_identities":[],"targets":[{"id":"value","kind":"secret","start":76,"end":88,"value":"627636614198","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cloud-credential-preserve-08","recipe":"cloud-credential","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["627636614198"]},"customers":{"required_absent":[],"required_present":["627636614198"]},"all":{"required_absent":[],"required_present":["627636614198"]}},"tags":["broad-quality","secret-family:cloud-credential","variation:08"],"secret_fixture":{"family":"cloud-credential","role":"preserve"}}, + {"id":"broad-secret-cloud-credential-must-detect-09","language":"en","script":"Latin","shape":"stack-trace","risk":"critical","reason":"Locked broad cloud-credential variation.","text":"Trace[9]: Authorization header value: CLDXQK8BH1\tBFAIV3XZ7J","known_identities":[],"targets":[{"id":"value","kind":"secret","start":38,"end":59,"value":"CLDXQK8BH1\tBFAIV3XZ7J","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cloud-credential-must-detect-09","recipe":"cloud-credential","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CLDXQK8BH1\tBFAIV3XZ7J"]},"customers":{"required_absent":["CLDXQK8BH1\tBFAIV3XZ7J","CLDXQK8BH1","BFAIV3XZ7J"],"required_present":[]},"all":{"required_absent":["CLDXQK8BH1\tBFAIV3XZ7J","CLDXQK8BH1","BFAIV3XZ7J"],"required_present":[]}},"tags":["broad-quality","secret-family:cloud-credential","variation:09"],"secret_fixture":{"family":"cloud-credential","role":"must-detect"}}, {"id":"broad-secret-cloud-credential-preserve-09","language":"en","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad cloud-credential variation.","text":"Trace[9]: Documentation syntax: 926833333995","known_identities":[],"targets":[{"id":"value","kind":"secret","start":32,"end":44,"value":"926833333995","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cloud-credential-preserve-09","recipe":"cloud-credential","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["926833333995"]},"customers":{"required_absent":[],"required_present":["926833333995"]},"all":{"required_absent":[],"required_present":["926833333995"]}},"tags":["broad-quality","secret-family:cloud-credential","variation:09"],"secret_fixture":{"family":"cloud-credential","role":"preserve"}}, - {"id":"broad-secret-cloud-credential-must-detect-10","language":"en","script":"Latin","shape":"code","risk":"critical","reason":"Locked broad cloud-credential variation.","text":"fixture_10 := `Log field auth_value=CLDXIP24V0·UO82K3SZZH`","known_identities":[],"targets":[{"id":"value","kind":"secret","start":36,"end":58,"value":"CLDXIP24V0·UO82K3SZZH","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cloud-credential-must-detect-10","recipe":"cloud-credential","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CLDXIP24V0·UO82K3SZZH"]},"customers":{"required_absent":["CLDXIP24V0·UO82K3SZZH"],"required_present":[]},"all":{"required_absent":["CLDXIP24V0·UO82K3SZZH"],"required_present":[]}},"tags":["broad-quality","secret-family:cloud-credential","variation:10"],"secret_fixture":{"family":"cloud-credential","role":"must-detect"}}, + {"id":"broad-secret-cloud-credential-must-detect-10","language":"en","script":"Latin","shape":"code","risk":"critical","reason":"Locked broad cloud-credential variation.","text":"fixture_10 := `Log field auth_value=CLDXIP24V0·UO82K3SZZH`","known_identities":[],"targets":[{"id":"value","kind":"secret","start":36,"end":58,"value":"CLDXIP24V0·UO82K3SZZH","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cloud-credential-must-detect-10","recipe":"cloud-credential","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CLDXIP24V0·UO82K3SZZH"]},"customers":{"required_absent":["CLDXIP24V0·UO82K3SZZH","CLDXIP24V0","UO82K3SZZH"],"required_present":[]},"all":{"required_absent":["CLDXIP24V0·UO82K3SZZH","CLDXIP24V0","UO82K3SZZH"],"required_present":[]}},"tags":["broad-quality","secret-family:cloud-credential","variation:10"],"secret_fixture":{"family":"cloud-credential","role":"must-detect"}}, {"id":"broad-secret-cloud-credential-preserve-10","language":"en","script":"Latin","shape":"code","risk":"preservation","reason":"Locked broad cloud-credential variation.","text":"fixture_10 := `Public operational identifier: 384157459691`","known_identities":[],"targets":[{"id":"value","kind":"secret","start":46,"end":58,"value":"384157459691","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cloud-credential-preserve-10","recipe":"cloud-credential","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["384157459691"]},"customers":{"required_absent":[],"required_present":["384157459691"]},"all":{"required_absent":[],"required_present":["384157459691"]}},"tags":["broad-quality","secret-family:cloud-credential","variation:10"],"secret_fixture":{"family":"cloud-credential","role":"preserve"}}, - {"id":"broad-secret-cloud-credential-must-detect-11","language":"en","script":"Latin","shape":"signature","risk":"critical","reason":"Locked broad cloud-credential variation.","text":"--\nRotating this exposed value: CLDX9PYR02\u003cwbr\u003eDNV71RLTN8","known_identities":[],"targets":[{"id":"value","kind":"secret","start":32,"end":57,"value":"CLDX9PYR02\u003cwbr\u003eDNV71RLTN8","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cloud-credential-must-detect-11","recipe":"cloud-credential","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CLDX9PYR02\u003cwbr\u003eDNV71RLTN8"]},"customers":{"required_absent":["CLDX9PYR02\u003cwbr\u003eDNV71RLTN8"],"required_present":[]},"all":{"required_absent":["CLDX9PYR02\u003cwbr\u003eDNV71RLTN8"],"required_present":[]}},"tags":["broad-quality","secret-family:cloud-credential","variation:11"],"secret_fixture":{"family":"cloud-credential","role":"must-detect"}}, + {"id":"broad-secret-cloud-credential-must-detect-11","language":"en","script":"Latin","shape":"signature","risk":"critical","reason":"Locked broad cloud-credential variation.","text":"--\nRotating this exposed value: CLDX9PYR02DNV71RLTN8","known_identities":[],"targets":[{"id":"value","kind":"secret","start":32,"end":52,"value":"CLDX9PYR02DNV71RLTN8","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cloud-credential-must-detect-11","recipe":"cloud-credential","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CLDX9PYR02DNV71RLTN8"]},"customers":{"required_absent":["CLDX9PYR02DNV71RLTN8"],"required_present":[]},"all":{"required_absent":["CLDX9PYR02DNV71RLTN8"],"required_present":[]}},"tags":["broad-quality","secret-family:cloud-credential","variation:11"],"secret_fixture":{"family":"cloud-credential","role":"must-detect"}}, {"id":"broad-secret-cloud-credential-preserve-11","language":"en","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad cloud-credential variation.","text":"--\nSchema field label: 354135213603","known_identities":[],"targets":[{"id":"value","kind":"secret","start":23,"end":35,"value":"354135213603","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cloud-credential-preserve-11","recipe":"cloud-credential","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["354135213603"]},"customers":{"required_absent":[],"required_present":["354135213603"]},"all":{"required_absent":[],"required_present":["354135213603"]}},"tags":["broad-quality","secret-family:cloud-credential","variation:11"],"secret_fixture":{"family":"cloud-credential","role":"preserve"}}, - {"id":"broad-secret-cloud-credential-must-detect-12","language":"en","script":"Latin","shape":"long-thread","risk":"critical","reason":"Locked broad cloud-credential variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Quoted credential follows: CLDXKDVI8G**WX2DNHEBK8","known_identities":[],"targets":[{"id":"value","kind":"secret","start":507,"end":529,"value":"CLDXKDVI8G**WX2DNHEBK8","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cloud-credential-must-detect-12","recipe":"cloud-credential","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CLDXKDVI8G**WX2DNHEBK8"]},"customers":{"required_absent":["CLDXKDVI8G**WX2DNHEBK8"],"required_present":[]},"all":{"required_absent":["CLDXKDVI8G**WX2DNHEBK8"],"required_present":[]}},"tags":["broad-quality","secret-family:cloud-credential","variation:12"],"secret_fixture":{"family":"cloud-credential","role":"must-detect"}}, + {"id":"broad-secret-cloud-credential-must-detect-12","language":"en","script":"Latin","shape":"long-thread","risk":"critical","reason":"Locked broad cloud-credential variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Quoted credential follows: CLDXKDVI8GWX2DNHEBK8","known_identities":[],"targets":[{"id":"value","kind":"secret","start":507,"end":527,"value":"CLDXKDVI8GWX2DNHEBK8","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cloud-credential-must-detect-12","recipe":"cloud-credential","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CLDXKDVI8GWX2DNHEBK8"]},"customers":{"required_absent":["CLDXKDVI8GWX2DNHEBK8"],"required_present":[]},"all":{"required_absent":["CLDXKDVI8GWX2DNHEBK8"],"required_present":[]}},"tags":["broad-quality","secret-family:cloud-credential","variation:12"],"secret_fixture":{"family":"cloud-credential","role":"must-detect"}}, {"id":"broad-secret-cloud-credential-preserve-12","language":"en","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad cloud-credential variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Non-confidential protocol token: 869317192016","known_identities":[],"targets":[{"id":"value","kind":"secret","start":513,"end":525,"value":"869317192016","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cloud-credential-preserve-12","recipe":"cloud-credential","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["869317192016"]},"customers":{"required_absent":[],"required_present":["869317192016"]},"all":{"required_absent":[],"required_present":["869317192016"]}},"tags":["broad-quality","secret-family:cloud-credential","variation:12"],"secret_fixture":{"family":"cloud-credential","role":"preserve"}}, - {"id":"broad-secret-cloud-credential-must-detect-13","language":"en","script":"Latin","shape":"command-payload","risk":"critical","reason":"Locked broad cloud-credential variation.","text":"--sample=13 --message=\"Configuration secret: \" --value=CLDX0VODXECLITTEZPKE / CLDX0VODXECLITTEZPKE","known_identities":[],"targets":[{"id":"value","kind":"secret","start":55,"end":98,"value":"CLDX0VODXECLITTEZPKE / CLDX0VODXECLITTEZPKE","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cloud-credential-must-detect-13","recipe":"cloud-credential","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CLDX0VODXECLITTEZPKE / CLDX0VODXECLITTEZPKE"]},"customers":{"required_absent":["CLDX0VODXECLITTEZPKE / CLDX0VODXECLITTEZPKE"],"required_present":[]},"all":{"required_absent":["CLDX0VODXECLITTEZPKE / CLDX0VODXECLITTEZPKE"],"required_present":[]}},"tags":["broad-quality","secret-family:cloud-credential","variation:13"],"secret_fixture":{"family":"cloud-credential","role":"must-detect"}}, - {"id":"broad-secret-cloud-credential-preserve-13","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad cloud-credential variation.","text":"--sample=13 --message=\"Release metadata: \" --value=098208669521","known_identities":[],"targets":[{"id":"value","kind":"secret","start":51,"end":63,"value":"098208669521","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cloud-credential-preserve-13","recipe":"cloud-credential","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["098208669521"]},"customers":{"required_absent":[],"required_present":["098208669521"]},"all":{"required_absent":[],"required_present":["098208669521"]}},"tags":["broad-quality","secret-family:cloud-credential","variation:13"],"secret_fixture":{"family":"cloud-credential","role":"preserve"}}, + {"id":"broad-secret-cloud-credential-must-detect-13","language":"en","script":"Latin","shape":"command-payload","risk":"critical","reason":"Locked broad cloud-credential variation.","text":"--sample=13 --message=\"Configuration secret: \" --credential=\"CLDX0VODXECLITTEZPKE\"","known_identities":[],"targets":[{"id":"value","kind":"secret","start":61,"end":81,"value":"CLDX0VODXECLITTEZPKE","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cloud-credential-must-detect-13","recipe":"cloud-credential","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["CLDX0VODXECLITTEZPKE"]},"customers":{"required_absent":["CLDX0VODXECLITTEZPKE"],"required_present":[]},"all":{"required_absent":["CLDX0VODXECLITTEZPKE"],"required_present":[]}},"tags":["broad-quality","secret-family:cloud-credential","variation:13"],"secret_fixture":{"family":"cloud-credential","role":"must-detect"}}, + {"id":"broad-secret-cloud-credential-preserve-13","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad cloud-credential variation.","text":"--sample=13 --message=\"Release metadata: \" --credential=\"098208669521\"","known_identities":[],"targets":[{"id":"value","kind":"secret","start":57,"end":69,"value":"098208669521","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-cloud-credential-preserve-13","recipe":"cloud-credential","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["098208669521"]},"customers":{"required_absent":[],"required_present":["098208669521"]},"all":{"required_absent":[],"required_present":["098208669521"]}},"tags":["broad-quality","secret-family:cloud-credential","variation:13"],"secret_fixture":{"family":"cloud-credential","role":"preserve"}}, {"id":"broad-secret-source-control-token-must-detect-00","language":"en","script":"Latin","shape":"prose","risk":"critical","reason":"Locked broad source-control-token variation.","text":"Credential copied from a support reply: scm_zNclz7ABNBFGXDrvBSTgolaSYZGgFzGyWWna","known_identities":[],"targets":[{"id":"value","kind":"secret","start":40,"end":80,"value":"scm_zNclz7ABNBFGXDrvBSTgolaSYZGgFzGyWWna","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-source-control-token-must-detect-00","recipe":"source-control-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["scm_zNclz7ABNBFGXDrvBSTgolaSYZGgFzGyWWna"]},"customers":{"required_absent":["scm_zNclz7ABNBFGXDrvBSTgolaSYZGgFzGyWWna"],"required_present":[]},"all":{"required_absent":["scm_zNclz7ABNBFGXDrvBSTgolaSYZGgFzGyWWna"],"required_present":[]}},"tags":["broad-quality","secret-family:source-control-token","variation:00"],"secret_fixture":{"family":"source-control-token","role":"must-detect"}}, {"id":"broad-secret-source-control-token-preserve-00","language":"en","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad source-control-token variation.","text":"Public configuration vocabulary: e3bf73e5fbecd66b12ef9e0fe1ab0ecebd65f00a","known_identities":[],"targets":[{"id":"value","kind":"secret","start":33,"end":73,"value":"e3bf73e5fbecd66b12ef9e0fe1ab0ecebd65f00a","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-source-control-token-preserve-00","recipe":"source-control-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["e3bf73e5fbecd66b12ef9e0fe1ab0ecebd65f00a"]},"customers":{"required_absent":[],"required_present":["e3bf73e5fbecd66b12ef9e0fe1ab0ecebd65f00a"]},"all":{"required_absent":[],"required_present":["e3bf73e5fbecd66b12ef9e0fe1ab0ecebd65f00a"]}},"tags":["broad-quality","secret-family:source-control-token","variation:00"],"secret_fixture":{"family":"source-control-token","role":"preserve"}}, {"id":"broad-secret-source-control-token-must-detect-01","language":"en","script":"Latin","shape":"json","risk":"critical","reason":"Locked broad source-control-token variation.","text":"{\"message_1\":\"Authorization header value: scm_jTKpMIr2J82ZRSkVdzybx70cYzM2pdGr4D9e\"}","known_identities":[],"targets":[{"id":"value","kind":"secret","start":42,"end":82,"value":"scm_jTKpMIr2J82ZRSkVdzybx70cYzM2pdGr4D9e","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-source-control-token-must-detect-01","recipe":"source-control-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["scm_jTKpMIr2J82ZRSkVdzybx70cYzM2pdGr4D9e"]},"customers":{"required_absent":["scm_jTKpMIr2J82ZRSkVdzybx70cYzM2pdGr4D9e"],"required_present":[]},"all":{"required_absent":["scm_jTKpMIr2J82ZRSkVdzybx70cYzM2pdGr4D9e"],"required_present":[]}},"tags":["broad-quality","secret-family:source-control-token","variation:01"],"secret_fixture":{"family":"source-control-token","role":"must-detect"}}, {"id":"broad-secret-source-control-token-preserve-01","language":"en","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad source-control-token variation.","text":"{\"message_1\":\"Documentation syntax: f2cb9cb8deefa1ea00bc4a7edbddf4a65bc4faea\"}","known_identities":[],"targets":[{"id":"value","kind":"secret","start":36,"end":76,"value":"f2cb9cb8deefa1ea00bc4a7edbddf4a65bc4faea","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-source-control-token-preserve-01","recipe":"source-control-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["f2cb9cb8deefa1ea00bc4a7edbddf4a65bc4faea"]},"customers":{"required_absent":[],"required_present":["f2cb9cb8deefa1ea00bc4a7edbddf4a65bc4faea"]},"all":{"required_absent":[],"required_present":["f2cb9cb8deefa1ea00bc4a7edbddf4a65bc4faea"]}},"tags":["broad-quality","secret-family:source-control-token","variation:01"],"secret_fixture":{"family":"source-control-token","role":"preserve"}}, - {"id":"broad-secret-source-control-token-must-detect-02","language":"en","script":"Latin","shape":"yaml","risk":"critical","reason":"Locked broad source-control-token variation.","text":"message_2: Log field auth_value=scm_K8F6N2CBDHE85rO3RDs2a6qB1rLswilXcvrT","known_identities":[],"targets":[{"id":"value","kind":"secret","start":32,"end":72,"value":"scm_K8F6N2CBDHE85rO3RDs2a6qB1rLswilXcvrT","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-source-control-token-must-detect-02","recipe":"source-control-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["scm_K8F6N2CBDHE85rO3RDs2a6qB1rLswilXcvrT"]},"customers":{"required_absent":["scm_K8F6N2CBDHE85rO3RDs2a6qB1rLswilXcvrT"],"required_present":[]},"all":{"required_absent":["scm_K8F6N2CBDHE85rO3RDs2a6qB1rLswilXcvrT"],"required_present":[]}},"tags":["broad-quality","secret-family:source-control-token","variation:02"],"secret_fixture":{"family":"source-control-token","role":"must-detect"}}, - {"id":"broad-secret-source-control-token-preserve-02","language":"en","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad source-control-token variation.","text":"message_2: Public operational identifier: a04b3df4ed71ca6ab0f45ee1e23b24ca2ef7e71b","known_identities":[],"targets":[{"id":"value","kind":"secret","start":42,"end":82,"value":"a04b3df4ed71ca6ab0f45ee1e23b24ca2ef7e71b","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-source-control-token-preserve-02","recipe":"source-control-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["a04b3df4ed71ca6ab0f45ee1e23b24ca2ef7e71b"]},"customers":{"required_absent":[],"required_present":["a04b3df4ed71ca6ab0f45ee1e23b24ca2ef7e71b"]},"all":{"required_absent":[],"required_present":["a04b3df4ed71ca6ab0f45ee1e23b24ca2ef7e71b"]}},"tags":["broad-quality","secret-family:source-control-token","variation:02"],"secret_fixture":{"family":"source-control-token","role":"preserve"}}, + {"id":"broad-secret-source-control-token-must-detect-02","language":"en","script":"Latin","shape":"yaml","risk":"critical","reason":"Locked broad source-control-token variation.","text":"message_2: \"Log field auth_value=scm_K8F6N2CBDHE85rO3RDs2a6qB1rLswilXcvrT\"","known_identities":[],"targets":[{"id":"value","kind":"secret","start":33,"end":73,"value":"scm_K8F6N2CBDHE85rO3RDs2a6qB1rLswilXcvrT","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-source-control-token-must-detect-02","recipe":"source-control-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["scm_K8F6N2CBDHE85rO3RDs2a6qB1rLswilXcvrT"]},"customers":{"required_absent":["scm_K8F6N2CBDHE85rO3RDs2a6qB1rLswilXcvrT"],"required_present":[]},"all":{"required_absent":["scm_K8F6N2CBDHE85rO3RDs2a6qB1rLswilXcvrT"],"required_present":[]}},"tags":["broad-quality","secret-family:source-control-token","variation:02"],"secret_fixture":{"family":"source-control-token","role":"must-detect"}}, + {"id":"broad-secret-source-control-token-preserve-02","language":"en","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad source-control-token variation.","text":"message_2: \"Public operational identifier: a04b3df4ed71ca6ab0f45ee1e23b24ca2ef7e71b\"","known_identities":[],"targets":[{"id":"value","kind":"secret","start":43,"end":83,"value":"a04b3df4ed71ca6ab0f45ee1e23b24ca2ef7e71b","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-source-control-token-preserve-02","recipe":"source-control-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["a04b3df4ed71ca6ab0f45ee1e23b24ca2ef7e71b"]},"customers":{"required_absent":[],"required_present":["a04b3df4ed71ca6ab0f45ee1e23b24ca2ef7e71b"]},"all":{"required_absent":[],"required_present":["a04b3df4ed71ca6ab0f45ee1e23b24ca2ef7e71b"]}},"tags":["broad-quality","secret-family:source-control-token","variation:02"],"secret_fixture":{"family":"source-control-token","role":"preserve"}}, {"id":"broad-secret-source-control-token-must-detect-03","language":"en","script":"Latin","shape":"shell","risk":"critical","reason":"Locked broad source-control-token variation.","text":"MESSAGE_3='Rotating this exposed value: scm_n1MJYEl5H4Ca99FfdJdBxq7uJWnTUShR5fdV'","known_identities":[],"targets":[{"id":"value","kind":"secret","start":40,"end":80,"value":"scm_n1MJYEl5H4Ca99FfdJdBxq7uJWnTUShR5fdV","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-source-control-token-must-detect-03","recipe":"source-control-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["scm_n1MJYEl5H4Ca99FfdJdBxq7uJWnTUShR5fdV"]},"customers":{"required_absent":["scm_n1MJYEl5H4Ca99FfdJdBxq7uJWnTUShR5fdV"],"required_present":[]},"all":{"required_absent":["scm_n1MJYEl5H4Ca99FfdJdBxq7uJWnTUShR5fdV"],"required_present":[]}},"tags":["broad-quality","secret-family:source-control-token","variation:03"],"secret_fixture":{"family":"source-control-token","role":"must-detect"}}, {"id":"broad-secret-source-control-token-preserve-03","language":"en","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad source-control-token variation.","text":"MESSAGE_3='Schema field label: f2fbcbba6d17f31baabb2d12cd6c1ada1a87a87e'","known_identities":[],"targets":[{"id":"value","kind":"secret","start":31,"end":71,"value":"f2fbcbba6d17f31baabb2d12cd6c1ada1a87a87e","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-source-control-token-preserve-03","recipe":"source-control-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["f2fbcbba6d17f31baabb2d12cd6c1ada1a87a87e"]},"customers":{"required_absent":[],"required_present":["f2fbcbba6d17f31baabb2d12cd6c1ada1a87a87e"]},"all":{"required_absent":[],"required_present":["f2fbcbba6d17f31baabb2d12cd6c1ada1a87a87e"]}},"tags":["broad-quality","secret-family:source-control-token","variation:03"],"secret_fixture":{"family":"source-control-token","role":"preserve"}}, - {"id":"broad-secret-source-control-token-must-detect-04","language":"en","script":"Latin","shape":"url","risk":"critical","reason":"Locked broad source-control-token variation.","text":"endpoint=https://192.0.2.10/4 ; Quoted credential follows: scm_deZux3MqdzMMQovI6bKVjEXoIIP6VFHjOapN","known_identities":[],"targets":[{"id":"value","kind":"secret","start":59,"end":99,"value":"scm_deZux3MqdzMMQovI6bKVjEXoIIP6VFHjOapN","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-source-control-token-must-detect-04","recipe":"source-control-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["scm_deZux3MqdzMMQovI6bKVjEXoIIP6VFHjOapN"]},"customers":{"required_absent":["scm_deZux3MqdzMMQovI6bKVjEXoIIP6VFHjOapN"],"required_present":[]},"all":{"required_absent":["scm_deZux3MqdzMMQovI6bKVjEXoIIP6VFHjOapN"],"required_present":[]}},"tags":["broad-quality","secret-family:source-control-token","variation:04"],"secret_fixture":{"family":"source-control-token","role":"must-detect"}}, - {"id":"broad-secret-source-control-token-preserve-04","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad source-control-token variation.","text":"endpoint=https://192.0.2.10/4 ; Non-confidential protocol token: dc1b65ec5c8ab01cada96c8dcdaa09af3f7eb4bc","known_identities":[],"targets":[{"id":"value","kind":"secret","start":65,"end":105,"value":"dc1b65ec5c8ab01cada96c8dcdaa09af3f7eb4bc","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-source-control-token-preserve-04","recipe":"source-control-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["dc1b65ec5c8ab01cada96c8dcdaa09af3f7eb4bc"]},"customers":{"required_absent":[],"required_present":["dc1b65ec5c8ab01cada96c8dcdaa09af3f7eb4bc"]},"all":{"required_absent":[],"required_present":["dc1b65ec5c8ab01cada96c8dcdaa09af3f7eb4bc"]}},"tags":["broad-quality","secret-family:source-control-token","variation:04"],"secret_fixture":{"family":"source-control-token","role":"preserve"}}, - {"id":"broad-secret-source-control-token-must-detect-05","language":"en","script":"Latin","shape":"markdown","risk":"critical","reason":"Locked broad source-control-token variation.","text":"**Configuration secret: scm_3KrL8Em4RXDGoAbcEkhI7vjJtVqwNSC6TiVd**","known_identities":[],"targets":[{"id":"value","kind":"secret","start":24,"end":64,"value":"scm_3KrL8Em4RXDGoAbcEkhI7vjJtVqwNSC6TiVd","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-source-control-token-must-detect-05","recipe":"source-control-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["scm_3KrL8Em4RXDGoAbcEkhI7vjJtVqwNSC6TiVd"]},"customers":{"required_absent":["scm_3KrL8Em4RXDGoAbcEkhI7vjJtVqwNSC6TiVd"],"required_present":[]},"all":{"required_absent":["scm_3KrL8Em4RXDGoAbcEkhI7vjJtVqwNSC6TiVd"],"required_present":[]}},"tags":["broad-quality","secret-family:source-control-token","variation:05"],"secret_fixture":{"family":"source-control-token","role":"must-detect"}}, - {"id":"broad-secret-source-control-token-preserve-05","language":"en","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad source-control-token variation.","text":"**Release metadata: a79ad8f9cbdcb92b7ac33aa4a4cb14c2fc68d95c**","known_identities":[],"targets":[{"id":"value","kind":"secret","start":20,"end":60,"value":"a79ad8f9cbdcb92b7ac33aa4a4cb14c2fc68d95c","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-source-control-token-preserve-05","recipe":"source-control-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["a79ad8f9cbdcb92b7ac33aa4a4cb14c2fc68d95c"]},"customers":{"required_absent":[],"required_present":["a79ad8f9cbdcb92b7ac33aa4a4cb14c2fc68d95c"]},"all":{"required_absent":[],"required_present":["a79ad8f9cbdcb92b7ac33aa4a4cb14c2fc68d95c"]}},"tags":["broad-quality","secret-family:source-control-token","variation:05"],"secret_fixture":{"family":"source-control-token","role":"preserve"}}, - {"id":"broad-secret-source-control-token-must-detect-06","language":"en","script":"Latin","shape":"html","risk":"critical","reason":"Locked broad source-control-token variation.","text":"\u003cp\u003eStack trace captured credential scm_SWlfM4RcF7vY6naRnpjJGJkCEXlkC0pMx51P\u003c/p\u003e","known_identities":[],"targets":[{"id":"value","kind":"secret","start":35,"end":75,"value":"scm_SWlfM4RcF7vY6naRnpjJGJkCEXlkC0pMx51P","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-source-control-token-must-detect-06","recipe":"source-control-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["scm_SWlfM4RcF7vY6naRnpjJGJkCEXlkC0pMx51P"]},"customers":{"required_absent":["scm_SWlfM4RcF7vY6naRnpjJGJkCEXlkC0pMx51P"],"required_present":[]},"all":{"required_absent":["scm_SWlfM4RcF7vY6naRnpjJGJkCEXlkC0pMx51P"],"required_present":[]}},"tags":["broad-quality","secret-family:source-control-token","variation:06"],"secret_fixture":{"family":"source-control-token","role":"must-detect"}}, - {"id":"broad-secret-source-control-token-preserve-06","language":"en","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad source-control-token variation.","text":"\u003cp\u003ePublic verification material: a81e7decec33a88cb7f51db7fb5ca3f27ecdc38b\u003c/p\u003e","known_identities":[],"targets":[{"id":"value","kind":"secret","start":33,"end":73,"value":"a81e7decec33a88cb7f51db7fb5ca3f27ecdc38b","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-source-control-token-preserve-06","recipe":"source-control-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["a81e7decec33a88cb7f51db7fb5ca3f27ecdc38b"]},"customers":{"required_absent":[],"required_present":["a81e7decec33a88cb7f51db7fb5ca3f27ecdc38b"]},"all":{"required_absent":[],"required_present":["a81e7decec33a88cb7f51db7fb5ca3f27ecdc38b"]}},"tags":["broad-quality","secret-family:source-control-token","variation:06"],"secret_fixture":{"family":"source-control-token","role":"preserve"}}, + {"id":"broad-secret-source-control-token-must-detect-04","language":"en","script":"Latin","shape":"url","risk":"critical","reason":"Locked broad source-control-token variation.","text":"endpoint=https://192.0.2.10/4?credential=scm_deZux3MqdzMMQovI6bKVjEXoIIP6VFHjOapN\u0026note=Quoted+credential+follows%3A+","known_identities":[],"targets":[{"id":"value","kind":"secret","start":41,"end":81,"value":"scm_deZux3MqdzMMQovI6bKVjEXoIIP6VFHjOapN","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-source-control-token-must-detect-04","recipe":"source-control-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["scm_deZux3MqdzMMQovI6bKVjEXoIIP6VFHjOapN"]},"customers":{"required_absent":["scm_deZux3MqdzMMQovI6bKVjEXoIIP6VFHjOapN"],"required_present":[]},"all":{"required_absent":["scm_deZux3MqdzMMQovI6bKVjEXoIIP6VFHjOapN"],"required_present":[]}},"tags":["broad-quality","secret-family:source-control-token","variation:04"],"secret_fixture":{"family":"source-control-token","role":"must-detect"}}, + {"id":"broad-secret-source-control-token-preserve-04","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad source-control-token variation.","text":"endpoint=https://192.0.2.10/4?credential=dc1b65ec5c8ab01cada96c8dcdaa09af3f7eb4bc\u0026note=Non-confidential+protocol+token%3A+","known_identities":[],"targets":[{"id":"value","kind":"secret","start":41,"end":81,"value":"dc1b65ec5c8ab01cada96c8dcdaa09af3f7eb4bc","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-source-control-token-preserve-04","recipe":"source-control-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["dc1b65ec5c8ab01cada96c8dcdaa09af3f7eb4bc"]},"customers":{"required_absent":[],"required_present":["dc1b65ec5c8ab01cada96c8dcdaa09af3f7eb4bc"]},"all":{"required_absent":[],"required_present":["dc1b65ec5c8ab01cada96c8dcdaa09af3f7eb4bc"]}},"tags":["broad-quality","secret-family:source-control-token","variation:04"],"secret_fixture":{"family":"source-control-token","role":"preserve"}}, + {"id":"broad-secret-source-control-token-must-detect-05","language":"en","script":"Latin","shape":"markdown","risk":"critical","reason":"Locked broad source-control-token variation.","text":"Configuration secret: scm_3KrL8Em4RXDGoAbc**EkhI7vjJtVqwNSC6TiVd**","known_identities":[],"targets":[{"id":"value","kind":"secret","start":22,"end":66,"value":"scm_3KrL8Em4RXDGoAbc**EkhI7vjJtVqwNSC6TiVd**","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-source-control-token-must-detect-05","recipe":"source-control-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["scm_3KrL8Em4RXDGoAbc**EkhI7vjJtVqwNSC6TiVd**"]},"customers":{"required_absent":["scm_3KrL8Em4RXDGoAbc**EkhI7vjJtVqwNSC6TiVd**","scm_3KrL8Em4RXDGoAbc","EkhI7vjJtVqwNSC6TiVd"],"required_present":[]},"all":{"required_absent":["scm_3KrL8Em4RXDGoAbc**EkhI7vjJtVqwNSC6TiVd**","scm_3KrL8Em4RXDGoAbc","EkhI7vjJtVqwNSC6TiVd"],"required_present":[]}},"tags":["broad-quality","secret-family:source-control-token","variation:05"],"secret_fixture":{"family":"source-control-token","role":"must-detect"}}, + {"id":"broad-secret-source-control-token-preserve-05","language":"en","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad source-control-token variation.","text":"Release metadata: `a79ad8f9cbdcb92b7ac33aa4a4cb14c2fc68d95c`","known_identities":[],"targets":[{"id":"value","kind":"secret","start":19,"end":59,"value":"a79ad8f9cbdcb92b7ac33aa4a4cb14c2fc68d95c","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-source-control-token-preserve-05","recipe":"source-control-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["a79ad8f9cbdcb92b7ac33aa4a4cb14c2fc68d95c"]},"customers":{"required_absent":[],"required_present":["a79ad8f9cbdcb92b7ac33aa4a4cb14c2fc68d95c"]},"all":{"required_absent":[],"required_present":["a79ad8f9cbdcb92b7ac33aa4a4cb14c2fc68d95c"]}},"tags":["broad-quality","secret-family:source-control-token","variation:05"],"secret_fixture":{"family":"source-control-token","role":"preserve"}}, + {"id":"broad-secret-source-control-token-must-detect-06","language":"en","script":"Latin","shape":"html","risk":"critical","reason":"Locked broad source-control-token variation.","text":"\u003cp\u003eStack trace captured credential \u003ccode\u003escm_SWlfM4RcF7vY6naR\u003cwbr\u003enpjJGJkCEXlkC0pMx51P\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"value","kind":"secret","start":41,"end":86,"value":"scm_SWlfM4RcF7vY6naR\u003cwbr\u003enpjJGJkCEXlkC0pMx51P","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-source-control-token-must-detect-06","recipe":"source-control-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["scm_SWlfM4RcF7vY6naR\u003cwbr\u003enpjJGJkCEXlkC0pMx51P"]},"customers":{"required_absent":["scm_SWlfM4RcF7vY6naR\u003cwbr\u003enpjJGJkCEXlkC0pMx51P","scm_SWlfM4RcF7vY6naR","npjJGJkCEXlkC0pMx51P"],"required_present":[]},"all":{"required_absent":["scm_SWlfM4RcF7vY6naR\u003cwbr\u003enpjJGJkCEXlkC0pMx51P","scm_SWlfM4RcF7vY6naR","npjJGJkCEXlkC0pMx51P"],"required_present":[]}},"tags":["broad-quality","secret-family:source-control-token","variation:06"],"secret_fixture":{"family":"source-control-token","role":"must-detect"}}, + {"id":"broad-secret-source-control-token-preserve-06","language":"en","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad source-control-token variation.","text":"\u003cp\u003ePublic verification material: \u003ccode\u003ea81e7decec33a88cb7f51db7fb5ca3f27ecdc38b\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"value","kind":"secret","start":39,"end":79,"value":"a81e7decec33a88cb7f51db7fb5ca3f27ecdc38b","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-source-control-token-preserve-06","recipe":"source-control-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["a81e7decec33a88cb7f51db7fb5ca3f27ecdc38b"]},"customers":{"required_absent":[],"required_present":["a81e7decec33a88cb7f51db7fb5ca3f27ecdc38b"]},"all":{"required_absent":[],"required_present":["a81e7decec33a88cb7f51db7fb5ca3f27ecdc38b"]}},"tags":["broad-quality","secret-family:source-control-token","variation:06"],"secret_fixture":{"family":"source-control-token","role":"preserve"}}, {"id":"broad-secret-source-control-token-must-detect-07","language":"en","script":"Latin","shape":"quoted-reply","risk":"critical","reason":"Locked broad source-control-token variation.","text":"\u003e Wrapped message credential: scm_x9sVvK9wowDqlHIfQlcxuYY7RbXdSRseEKbn","known_identities":[],"targets":[{"id":"value","kind":"secret","start":30,"end":70,"value":"scm_x9sVvK9wowDqlHIfQlcxuYY7RbXdSRseEKbn","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-source-control-token-must-detect-07","recipe":"source-control-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["scm_x9sVvK9wowDqlHIfQlcxuYY7RbXdSRseEKbn"]},"customers":{"required_absent":["scm_x9sVvK9wowDqlHIfQlcxuYY7RbXdSRseEKbn"],"required_present":[]},"all":{"required_absent":["scm_x9sVvK9wowDqlHIfQlcxuYY7RbXdSRseEKbn"],"required_present":[]}},"tags":["broad-quality","secret-family:source-control-token","variation:07"],"secret_fixture":{"family":"source-control-token","role":"must-detect"}}, {"id":"broad-secret-source-control-token-preserve-07","language":"en","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad source-control-token variation.","text":"\u003e Troubleshooting reference: b76f96dd2bb3e20f33cbeabdc99e5af86b0bb2af","known_identities":[],"targets":[{"id":"value","kind":"secret","start":29,"end":69,"value":"b76f96dd2bb3e20f33cbeabdc99e5af86b0bb2af","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-source-control-token-preserve-07","recipe":"source-control-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["b76f96dd2bb3e20f33cbeabdc99e5af86b0bb2af"]},"customers":{"required_absent":[],"required_present":["b76f96dd2bb3e20f33cbeabdc99e5af86b0bb2af"]},"all":{"required_absent":[],"required_present":["b76f96dd2bb3e20f33cbeabdc99e5af86b0bb2af"]}},"tags":["broad-quality","secret-family:source-control-token","variation:07"],"secret_fixture":{"family":"source-control-token","role":"preserve"}}, - {"id":"broad-secret-source-control-token-must-detect-08","language":"en","script":"Latin","shape":"log","risk":"critical","reason":"Locked broad source-control-token variation.","text":"level=warn sample=8 message=\"Credential copied from a support reply: \" value=scm_zsgB89pN8H2mxS5l\n5ICGPx2XunxeDlAnpNLd","known_identities":[],"targets":[{"id":"value","kind":"secret","start":77,"end":118,"value":"scm_zsgB89pN8H2mxS5l\n5ICGPx2XunxeDlAnpNLd","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-source-control-token-must-detect-08","recipe":"source-control-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["scm_zsgB89pN8H2mxS5l\n5ICGPx2XunxeDlAnpNLd"]},"customers":{"required_absent":["scm_zsgB89pN8H2mxS5l\n5ICGPx2XunxeDlAnpNLd"],"required_present":[]},"all":{"required_absent":["scm_zsgB89pN8H2mxS5l\n5ICGPx2XunxeDlAnpNLd"],"required_present":[]}},"tags":["broad-quality","secret-family:source-control-token","variation:08"],"secret_fixture":{"family":"source-control-token","role":"must-detect"}}, - {"id":"broad-secret-source-control-token-preserve-08","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad source-control-token variation.","text":"level=warn sample=8 message=\"Public configuration vocabulary: \" value=e3be3cad4e69d95cf1f01cc7d9ade9aacb0ebd3c","known_identities":[],"targets":[{"id":"value","kind":"secret","start":70,"end":110,"value":"e3be3cad4e69d95cf1f01cc7d9ade9aacb0ebd3c","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-source-control-token-preserve-08","recipe":"source-control-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["e3be3cad4e69d95cf1f01cc7d9ade9aacb0ebd3c"]},"customers":{"required_absent":[],"required_present":["e3be3cad4e69d95cf1f01cc7d9ade9aacb0ebd3c"]},"all":{"required_absent":[],"required_present":["e3be3cad4e69d95cf1f01cc7d9ade9aacb0ebd3c"]}},"tags":["broad-quality","secret-family:source-control-token","variation:08"],"secret_fixture":{"family":"source-control-token","role":"preserve"}}, - {"id":"broad-secret-source-control-token-must-detect-09","language":"en","script":"Latin","shape":"stack-trace","risk":"critical","reason":"Locked broad source-control-token variation.","text":"Trace[9]: Authorization header value: scm_3DB4UAoAN7jQnXMM aRARuH40i1CCiLHqmpMz","known_identities":[],"targets":[{"id":"value","kind":"secret","start":38,"end":79,"value":"scm_3DB4UAoAN7jQnXMM aRARuH40i1CCiLHqmpMz","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-source-control-token-must-detect-09","recipe":"source-control-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["scm_3DB4UAoAN7jQnXMM aRARuH40i1CCiLHqmpMz"]},"customers":{"required_absent":["scm_3DB4UAoAN7jQnXMM aRARuH40i1CCiLHqmpMz"],"required_present":[]},"all":{"required_absent":["scm_3DB4UAoAN7jQnXMM aRARuH40i1CCiLHqmpMz"],"required_present":[]}},"tags":["broad-quality","secret-family:source-control-token","variation:09"],"secret_fixture":{"family":"source-control-token","role":"must-detect"}}, + {"id":"broad-secret-source-control-token-must-detect-08","language":"en","script":"Latin","shape":"log","risk":"critical","reason":"Locked broad source-control-token variation.","text":"level=warn sample=8 message=\"Credential copied from a support reply: \" credential=\"scm_zsgB89pN8H2mxS5l5ICGPx2XunxeDlAnpNLd\"","known_identities":[],"targets":[{"id":"value","kind":"secret","start":83,"end":123,"value":"scm_zsgB89pN8H2mxS5l5ICGPx2XunxeDlAnpNLd","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-source-control-token-must-detect-08","recipe":"source-control-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["scm_zsgB89pN8H2mxS5l5ICGPx2XunxeDlAnpNLd"]},"customers":{"required_absent":["scm_zsgB89pN8H2mxS5l5ICGPx2XunxeDlAnpNLd"],"required_present":[]},"all":{"required_absent":["scm_zsgB89pN8H2mxS5l5ICGPx2XunxeDlAnpNLd"],"required_present":[]}},"tags":["broad-quality","secret-family:source-control-token","variation:08"],"secret_fixture":{"family":"source-control-token","role":"must-detect"}}, + {"id":"broad-secret-source-control-token-preserve-08","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad source-control-token variation.","text":"level=warn sample=8 message=\"Public configuration vocabulary: \" credential=\"e3be3cad4e69d95cf1f01cc7d9ade9aacb0ebd3c\"","known_identities":[],"targets":[{"id":"value","kind":"secret","start":76,"end":116,"value":"e3be3cad4e69d95cf1f01cc7d9ade9aacb0ebd3c","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-source-control-token-preserve-08","recipe":"source-control-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["e3be3cad4e69d95cf1f01cc7d9ade9aacb0ebd3c"]},"customers":{"required_absent":[],"required_present":["e3be3cad4e69d95cf1f01cc7d9ade9aacb0ebd3c"]},"all":{"required_absent":[],"required_present":["e3be3cad4e69d95cf1f01cc7d9ade9aacb0ebd3c"]}},"tags":["broad-quality","secret-family:source-control-token","variation:08"],"secret_fixture":{"family":"source-control-token","role":"preserve"}}, + {"id":"broad-secret-source-control-token-must-detect-09","language":"en","script":"Latin","shape":"stack-trace","risk":"critical","reason":"Locked broad source-control-token variation.","text":"Trace[9]: Authorization header value: scm_3DB4UAoAN7jQnXMM\taRARuH40i1CCiLHqmpMz","known_identities":[],"targets":[{"id":"value","kind":"secret","start":38,"end":79,"value":"scm_3DB4UAoAN7jQnXMM\taRARuH40i1CCiLHqmpMz","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-source-control-token-must-detect-09","recipe":"source-control-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["scm_3DB4UAoAN7jQnXMM\taRARuH40i1CCiLHqmpMz"]},"customers":{"required_absent":["scm_3DB4UAoAN7jQnXMM\taRARuH40i1CCiLHqmpMz","scm_3DB4UAoAN7jQnXMM","aRARuH40i1CCiLHqmpMz"],"required_present":[]},"all":{"required_absent":["scm_3DB4UAoAN7jQnXMM\taRARuH40i1CCiLHqmpMz","scm_3DB4UAoAN7jQnXMM","aRARuH40i1CCiLHqmpMz"],"required_present":[]}},"tags":["broad-quality","secret-family:source-control-token","variation:09"],"secret_fixture":{"family":"source-control-token","role":"must-detect"}}, {"id":"broad-secret-source-control-token-preserve-09","language":"en","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad source-control-token variation.","text":"Trace[9]: Documentation syntax: a8eb38c61b97eaeb85d9ccfef21b3bdf2bb1bc9a","known_identities":[],"targets":[{"id":"value","kind":"secret","start":32,"end":72,"value":"a8eb38c61b97eaeb85d9ccfef21b3bdf2bb1bc9a","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-source-control-token-preserve-09","recipe":"source-control-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["a8eb38c61b97eaeb85d9ccfef21b3bdf2bb1bc9a"]},"customers":{"required_absent":[],"required_present":["a8eb38c61b97eaeb85d9ccfef21b3bdf2bb1bc9a"]},"all":{"required_absent":[],"required_present":["a8eb38c61b97eaeb85d9ccfef21b3bdf2bb1bc9a"]}},"tags":["broad-quality","secret-family:source-control-token","variation:09"],"secret_fixture":{"family":"source-control-token","role":"preserve"}}, - {"id":"broad-secret-source-control-token-must-detect-10","language":"en","script":"Latin","shape":"code","risk":"critical","reason":"Locked broad source-control-token variation.","text":"fixture_10 := `Log field auth_value=scm_TX7hk4waBRtF2FL5·aXOBHZUDhCwuzSfAh7ot`","known_identities":[],"targets":[{"id":"value","kind":"secret","start":36,"end":78,"value":"scm_TX7hk4waBRtF2FL5·aXOBHZUDhCwuzSfAh7ot","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-source-control-token-must-detect-10","recipe":"source-control-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["scm_TX7hk4waBRtF2FL5·aXOBHZUDhCwuzSfAh7ot"]},"customers":{"required_absent":["scm_TX7hk4waBRtF2FL5·aXOBHZUDhCwuzSfAh7ot"],"required_present":[]},"all":{"required_absent":["scm_TX7hk4waBRtF2FL5·aXOBHZUDhCwuzSfAh7ot"],"required_present":[]}},"tags":["broad-quality","secret-family:source-control-token","variation:10"],"secret_fixture":{"family":"source-control-token","role":"must-detect"}}, + {"id":"broad-secret-source-control-token-must-detect-10","language":"en","script":"Latin","shape":"code","risk":"critical","reason":"Locked broad source-control-token variation.","text":"fixture_10 := `Log field auth_value=scm_TX7hk4waBRtF2FL5·aXOBHZUDhCwuzSfAh7ot`","known_identities":[],"targets":[{"id":"value","kind":"secret","start":36,"end":78,"value":"scm_TX7hk4waBRtF2FL5·aXOBHZUDhCwuzSfAh7ot","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-source-control-token-must-detect-10","recipe":"source-control-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["scm_TX7hk4waBRtF2FL5·aXOBHZUDhCwuzSfAh7ot"]},"customers":{"required_absent":["scm_TX7hk4waBRtF2FL5·aXOBHZUDhCwuzSfAh7ot","scm_TX7hk4waBRtF2FL5","aXOBHZUDhCwuzSfAh7ot"],"required_present":[]},"all":{"required_absent":["scm_TX7hk4waBRtF2FL5·aXOBHZUDhCwuzSfAh7ot","scm_TX7hk4waBRtF2FL5","aXOBHZUDhCwuzSfAh7ot"],"required_present":[]}},"tags":["broad-quality","secret-family:source-control-token","variation:10"],"secret_fixture":{"family":"source-control-token","role":"must-detect"}}, {"id":"broad-secret-source-control-token-preserve-10","language":"en","script":"Latin","shape":"code","risk":"preservation","reason":"Locked broad source-control-token variation.","text":"fixture_10 := `Public operational identifier: d4ad2aab2fa4f2efebc27ea0ff8ca2a77a05bfbd`","known_identities":[],"targets":[{"id":"value","kind":"secret","start":46,"end":86,"value":"d4ad2aab2fa4f2efebc27ea0ff8ca2a77a05bfbd","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-source-control-token-preserve-10","recipe":"source-control-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["d4ad2aab2fa4f2efebc27ea0ff8ca2a77a05bfbd"]},"customers":{"required_absent":[],"required_present":["d4ad2aab2fa4f2efebc27ea0ff8ca2a77a05bfbd"]},"all":{"required_absent":[],"required_present":["d4ad2aab2fa4f2efebc27ea0ff8ca2a77a05bfbd"]}},"tags":["broad-quality","secret-family:source-control-token","variation:10"],"secret_fixture":{"family":"source-control-token","role":"preserve"}}, - {"id":"broad-secret-source-control-token-must-detect-11","language":"en","script":"Latin","shape":"signature","risk":"critical","reason":"Locked broad source-control-token variation.","text":"--\nRotating this exposed value: scm_rAnFEbS5Fwnsge74\u003cwbr\u003e90FfvmxhMZocrhUW51eX","known_identities":[],"targets":[{"id":"value","kind":"secret","start":32,"end":77,"value":"scm_rAnFEbS5Fwnsge74\u003cwbr\u003e90FfvmxhMZocrhUW51eX","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-source-control-token-must-detect-11","recipe":"source-control-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["scm_rAnFEbS5Fwnsge74\u003cwbr\u003e90FfvmxhMZocrhUW51eX"]},"customers":{"required_absent":["scm_rAnFEbS5Fwnsge74\u003cwbr\u003e90FfvmxhMZocrhUW51eX"],"required_present":[]},"all":{"required_absent":["scm_rAnFEbS5Fwnsge74\u003cwbr\u003e90FfvmxhMZocrhUW51eX"],"required_present":[]}},"tags":["broad-quality","secret-family:source-control-token","variation:11"],"secret_fixture":{"family":"source-control-token","role":"must-detect"}}, + {"id":"broad-secret-source-control-token-must-detect-11","language":"en","script":"Latin","shape":"signature","risk":"critical","reason":"Locked broad source-control-token variation.","text":"--\nRotating this exposed value: scm_rAnFEbS5Fwnsge7490FfvmxhMZocrhUW51eX","known_identities":[],"targets":[{"id":"value","kind":"secret","start":32,"end":72,"value":"scm_rAnFEbS5Fwnsge7490FfvmxhMZocrhUW51eX","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-source-control-token-must-detect-11","recipe":"source-control-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["scm_rAnFEbS5Fwnsge7490FfvmxhMZocrhUW51eX"]},"customers":{"required_absent":["scm_rAnFEbS5Fwnsge7490FfvmxhMZocrhUW51eX"],"required_present":[]},"all":{"required_absent":["scm_rAnFEbS5Fwnsge7490FfvmxhMZocrhUW51eX"],"required_present":[]}},"tags":["broad-quality","secret-family:source-control-token","variation:11"],"secret_fixture":{"family":"source-control-token","role":"must-detect"}}, {"id":"broad-secret-source-control-token-preserve-11","language":"en","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad source-control-token variation.","text":"--\nSchema field label: a92ddcd93b04c39faaa66a24e72da2d90c73c7bf","known_identities":[],"targets":[{"id":"value","kind":"secret","start":23,"end":63,"value":"a92ddcd93b04c39faaa66a24e72da2d90c73c7bf","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-source-control-token-preserve-11","recipe":"source-control-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["a92ddcd93b04c39faaa66a24e72da2d90c73c7bf"]},"customers":{"required_absent":[],"required_present":["a92ddcd93b04c39faaa66a24e72da2d90c73c7bf"]},"all":{"required_absent":[],"required_present":["a92ddcd93b04c39faaa66a24e72da2d90c73c7bf"]}},"tags":["broad-quality","secret-family:source-control-token","variation:11"],"secret_fixture":{"family":"source-control-token","role":"preserve"}}, - {"id":"broad-secret-source-control-token-must-detect-12","language":"en","script":"Latin","shape":"long-thread","risk":"critical","reason":"Locked broad source-control-token variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Quoted credential follows: scm_1MrVwlbGIKFtrxAi**TkBfeUi0ZfFvKEGXCHWO","known_identities":[],"targets":[{"id":"value","kind":"secret","start":507,"end":549,"value":"scm_1MrVwlbGIKFtrxAi**TkBfeUi0ZfFvKEGXCHWO","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-source-control-token-must-detect-12","recipe":"source-control-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["scm_1MrVwlbGIKFtrxAi**TkBfeUi0ZfFvKEGXCHWO"]},"customers":{"required_absent":["scm_1MrVwlbGIKFtrxAi**TkBfeUi0ZfFvKEGXCHWO"],"required_present":[]},"all":{"required_absent":["scm_1MrVwlbGIKFtrxAi**TkBfeUi0ZfFvKEGXCHWO"],"required_present":[]}},"tags":["broad-quality","secret-family:source-control-token","variation:12"],"secret_fixture":{"family":"source-control-token","role":"must-detect"}}, + {"id":"broad-secret-source-control-token-must-detect-12","language":"en","script":"Latin","shape":"long-thread","risk":"critical","reason":"Locked broad source-control-token variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Quoted credential follows: scm_1MrVwlbGIKFtrxAiTkBfeUi0ZfFvKEGXCHWO","known_identities":[],"targets":[{"id":"value","kind":"secret","start":507,"end":547,"value":"scm_1MrVwlbGIKFtrxAiTkBfeUi0ZfFvKEGXCHWO","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-source-control-token-must-detect-12","recipe":"source-control-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["scm_1MrVwlbGIKFtrxAiTkBfeUi0ZfFvKEGXCHWO"]},"customers":{"required_absent":["scm_1MrVwlbGIKFtrxAiTkBfeUi0ZfFvKEGXCHWO"],"required_present":[]},"all":{"required_absent":["scm_1MrVwlbGIKFtrxAiTkBfeUi0ZfFvKEGXCHWO"],"required_present":[]}},"tags":["broad-quality","secret-family:source-control-token","variation:12"],"secret_fixture":{"family":"source-control-token","role":"must-detect"}}, {"id":"broad-secret-source-control-token-preserve-12","language":"en","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad source-control-token variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Non-confidential protocol token: d26b9bedfa1acfec25f5feb3f05b45b63cfbf7de","known_identities":[],"targets":[{"id":"value","kind":"secret","start":513,"end":553,"value":"d26b9bedfa1acfec25f5feb3f05b45b63cfbf7de","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-source-control-token-preserve-12","recipe":"source-control-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["d26b9bedfa1acfec25f5feb3f05b45b63cfbf7de"]},"customers":{"required_absent":[],"required_present":["d26b9bedfa1acfec25f5feb3f05b45b63cfbf7de"]},"all":{"required_absent":[],"required_present":["d26b9bedfa1acfec25f5feb3f05b45b63cfbf7de"]}},"tags":["broad-quality","secret-family:source-control-token","variation:12"],"secret_fixture":{"family":"source-control-token","role":"preserve"}}, - {"id":"broad-secret-source-control-token-must-detect-13","language":"en","script":"Latin","shape":"command-payload","risk":"critical","reason":"Locked broad source-control-token variation.","text":"--sample=13 --message=\"Configuration secret: \" --value=scm_bCgD6Mju4wFuhSlD8UPRBaEXUGJshcRkT6Vs / scm_bCgD6Mju4wFuhSlD8UPRBaEXUGJshcRkT6Vs","known_identities":[],"targets":[{"id":"value","kind":"secret","start":55,"end":138,"value":"scm_bCgD6Mju4wFuhSlD8UPRBaEXUGJshcRkT6Vs / scm_bCgD6Mju4wFuhSlD8UPRBaEXUGJshcRkT6Vs","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-source-control-token-must-detect-13","recipe":"source-control-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["scm_bCgD6Mju4wFuhSlD8UPRBaEXUGJshcRkT6Vs / scm_bCgD6Mju4wFuhSlD8UPRBaEXUGJshcRkT6Vs"]},"customers":{"required_absent":["scm_bCgD6Mju4wFuhSlD8UPRBaEXUGJshcRkT6Vs / scm_bCgD6Mju4wFuhSlD8UPRBaEXUGJshcRkT6Vs"],"required_present":[]},"all":{"required_absent":["scm_bCgD6Mju4wFuhSlD8UPRBaEXUGJshcRkT6Vs / scm_bCgD6Mju4wFuhSlD8UPRBaEXUGJshcRkT6Vs"],"required_present":[]}},"tags":["broad-quality","secret-family:source-control-token","variation:13"],"secret_fixture":{"family":"source-control-token","role":"must-detect"}}, - {"id":"broad-secret-source-control-token-preserve-13","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad source-control-token variation.","text":"--sample=13 --message=\"Release metadata: \" --value=b7bff6f16ae2ec1b0cac0f9fd9edbdf53d6da49b","known_identities":[],"targets":[{"id":"value","kind":"secret","start":51,"end":91,"value":"b7bff6f16ae2ec1b0cac0f9fd9edbdf53d6da49b","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-source-control-token-preserve-13","recipe":"source-control-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["b7bff6f16ae2ec1b0cac0f9fd9edbdf53d6da49b"]},"customers":{"required_absent":[],"required_present":["b7bff6f16ae2ec1b0cac0f9fd9edbdf53d6da49b"]},"all":{"required_absent":[],"required_present":["b7bff6f16ae2ec1b0cac0f9fd9edbdf53d6da49b"]}},"tags":["broad-quality","secret-family:source-control-token","variation:13"],"secret_fixture":{"family":"source-control-token","role":"preserve"}}, + {"id":"broad-secret-source-control-token-must-detect-13","language":"en","script":"Latin","shape":"command-payload","risk":"critical","reason":"Locked broad source-control-token variation.","text":"--sample=13 --message=\"Configuration secret: \" --credential=\"scm_bCgD6Mju4wFuhSlD8UPRBaEXUGJshcRkT6Vs\"","known_identities":[],"targets":[{"id":"value","kind":"secret","start":61,"end":101,"value":"scm_bCgD6Mju4wFuhSlD8UPRBaEXUGJshcRkT6Vs","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-source-control-token-must-detect-13","recipe":"source-control-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["scm_bCgD6Mju4wFuhSlD8UPRBaEXUGJshcRkT6Vs"]},"customers":{"required_absent":["scm_bCgD6Mju4wFuhSlD8UPRBaEXUGJshcRkT6Vs"],"required_present":[]},"all":{"required_absent":["scm_bCgD6Mju4wFuhSlD8UPRBaEXUGJshcRkT6Vs"],"required_present":[]}},"tags":["broad-quality","secret-family:source-control-token","variation:13"],"secret_fixture":{"family":"source-control-token","role":"must-detect"}}, + {"id":"broad-secret-source-control-token-preserve-13","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad source-control-token variation.","text":"--sample=13 --message=\"Release metadata: \" --credential=\"b7bff6f16ae2ec1b0cac0f9fd9edbdf53d6da49b\"","known_identities":[],"targets":[{"id":"value","kind":"secret","start":57,"end":97,"value":"b7bff6f16ae2ec1b0cac0f9fd9edbdf53d6da49b","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-source-control-token-preserve-13","recipe":"source-control-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["b7bff6f16ae2ec1b0cac0f9fd9edbdf53d6da49b"]},"customers":{"required_absent":[],"required_present":["b7bff6f16ae2ec1b0cac0f9fd9edbdf53d6da49b"]},"all":{"required_absent":[],"required_present":["b7bff6f16ae2ec1b0cac0f9fd9edbdf53d6da49b"]}},"tags":["broad-quality","secret-family:source-control-token","variation:13"],"secret_fixture":{"family":"source-control-token","role":"preserve"}}, {"id":"broad-secret-payment-credential-must-detect-00","language":"en","script":"Latin","shape":"prose","risk":"critical","reason":"Locked broad payment-credential variation.","text":"Credential copied from a support reply: paylive_77LVl0OwfXdkjXf91lzO6oyh3ipJraPu","known_identities":[],"targets":[{"id":"value","kind":"secret","start":40,"end":80,"value":"paylive_77LVl0OwfXdkjXf91lzO6oyh3ipJraPu","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-payment-credential-must-detect-00","recipe":"payment-credential","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["paylive_77LVl0OwfXdkjXf91lzO6oyh3ipJraPu"]},"customers":{"required_absent":["paylive_77LVl0OwfXdkjXf91lzO6oyh3ipJraPu"],"required_present":[]},"all":{"required_absent":["paylive_77LVl0OwfXdkjXf91lzO6oyh3ipJraPu"],"required_present":[]}},"tags":["broad-quality","secret-family:payment-credential","variation:00"],"secret_fixture":{"family":"payment-credential","role":"must-detect"}}, {"id":"broad-secret-payment-credential-preserve-00","language":"en","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad payment-credential variation.","text":"Public configuration vocabulary: pk_live_PKA2aGFBU8CVIf697LldwsDEPMCHkMOJ","known_identities":[],"targets":[{"id":"value","kind":"secret","start":33,"end":73,"value":"pk_live_PKA2aGFBU8CVIf697LldwsDEPMCHkMOJ","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-payment-credential-preserve-00","recipe":"payment-credential","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["pk_live_PKA2aGFBU8CVIf697LldwsDEPMCHkMOJ"]},"customers":{"required_absent":[],"required_present":["pk_live_PKA2aGFBU8CVIf697LldwsDEPMCHkMOJ"]},"all":{"required_absent":[],"required_present":["pk_live_PKA2aGFBU8CVIf697LldwsDEPMCHkMOJ"]}},"tags":["broad-quality","secret-family:payment-credential","variation:00"],"secret_fixture":{"family":"payment-credential","role":"preserve"}}, {"id":"broad-secret-payment-credential-must-detect-01","language":"en","script":"Latin","shape":"json","risk":"critical","reason":"Locked broad payment-credential variation.","text":"{\"message_1\":\"Authorization header value: paylive_UNK6hhu4PLTtREEWEHO53aJPGG7Lh4Z8\"}","known_identities":[],"targets":[{"id":"value","kind":"secret","start":42,"end":82,"value":"paylive_UNK6hhu4PLTtREEWEHO53aJPGG7Lh4Z8","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-payment-credential-must-detect-01","recipe":"payment-credential","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["paylive_UNK6hhu4PLTtREEWEHO53aJPGG7Lh4Z8"]},"customers":{"required_absent":["paylive_UNK6hhu4PLTtREEWEHO53aJPGG7Lh4Z8"],"required_present":[]},"all":{"required_absent":["paylive_UNK6hhu4PLTtREEWEHO53aJPGG7Lh4Z8"],"required_present":[]}},"tags":["broad-quality","secret-family:payment-credential","variation:01"],"secret_fixture":{"family":"payment-credential","role":"must-detect"}}, {"id":"broad-secret-payment-credential-preserve-01","language":"en","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad payment-credential variation.","text":"{\"message_1\":\"Documentation syntax: pk_live_47F81nLzuPKg2Szf3vMdxf6DygHZ4cvD\"}","known_identities":[],"targets":[{"id":"value","kind":"secret","start":36,"end":76,"value":"pk_live_47F81nLzuPKg2Szf3vMdxf6DygHZ4cvD","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-payment-credential-preserve-01","recipe":"payment-credential","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["pk_live_47F81nLzuPKg2Szf3vMdxf6DygHZ4cvD"]},"customers":{"required_absent":[],"required_present":["pk_live_47F81nLzuPKg2Szf3vMdxf6DygHZ4cvD"]},"all":{"required_absent":[],"required_present":["pk_live_47F81nLzuPKg2Szf3vMdxf6DygHZ4cvD"]}},"tags":["broad-quality","secret-family:payment-credential","variation:01"],"secret_fixture":{"family":"payment-credential","role":"preserve"}}, - {"id":"broad-secret-payment-credential-must-detect-02","language":"en","script":"Latin","shape":"yaml","risk":"critical","reason":"Locked broad payment-credential variation.","text":"message_2: Log field auth_value=paylive_eBvjZHv4m0jmVt7o4bqfO9yocjInAckw","known_identities":[],"targets":[{"id":"value","kind":"secret","start":32,"end":72,"value":"paylive_eBvjZHv4m0jmVt7o4bqfO9yocjInAckw","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-payment-credential-must-detect-02","recipe":"payment-credential","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["paylive_eBvjZHv4m0jmVt7o4bqfO9yocjInAckw"]},"customers":{"required_absent":["paylive_eBvjZHv4m0jmVt7o4bqfO9yocjInAckw"],"required_present":[]},"all":{"required_absent":["paylive_eBvjZHv4m0jmVt7o4bqfO9yocjInAckw"],"required_present":[]}},"tags":["broad-quality","secret-family:payment-credential","variation:02"],"secret_fixture":{"family":"payment-credential","role":"must-detect"}}, - {"id":"broad-secret-payment-credential-preserve-02","language":"en","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad payment-credential variation.","text":"message_2: Public operational identifier: pk_live_meUkNvgDp8CiBIU9c0b9pRZGKBeDAdON","known_identities":[],"targets":[{"id":"value","kind":"secret","start":42,"end":82,"value":"pk_live_meUkNvgDp8CiBIU9c0b9pRZGKBeDAdON","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-payment-credential-preserve-02","recipe":"payment-credential","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["pk_live_meUkNvgDp8CiBIU9c0b9pRZGKBeDAdON"]},"customers":{"required_absent":[],"required_present":["pk_live_meUkNvgDp8CiBIU9c0b9pRZGKBeDAdON"]},"all":{"required_absent":[],"required_present":["pk_live_meUkNvgDp8CiBIU9c0b9pRZGKBeDAdON"]}},"tags":["broad-quality","secret-family:payment-credential","variation:02"],"secret_fixture":{"family":"payment-credential","role":"preserve"}}, + {"id":"broad-secret-payment-credential-must-detect-02","language":"en","script":"Latin","shape":"yaml","risk":"critical","reason":"Locked broad payment-credential variation.","text":"message_2: \"Log field auth_value=paylive_eBvjZHv4m0jmVt7o4bqfO9yocjInAckw\"","known_identities":[],"targets":[{"id":"value","kind":"secret","start":33,"end":73,"value":"paylive_eBvjZHv4m0jmVt7o4bqfO9yocjInAckw","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-payment-credential-must-detect-02","recipe":"payment-credential","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["paylive_eBvjZHv4m0jmVt7o4bqfO9yocjInAckw"]},"customers":{"required_absent":["paylive_eBvjZHv4m0jmVt7o4bqfO9yocjInAckw"],"required_present":[]},"all":{"required_absent":["paylive_eBvjZHv4m0jmVt7o4bqfO9yocjInAckw"],"required_present":[]}},"tags":["broad-quality","secret-family:payment-credential","variation:02"],"secret_fixture":{"family":"payment-credential","role":"must-detect"}}, + {"id":"broad-secret-payment-credential-preserve-02","language":"en","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad payment-credential variation.","text":"message_2: \"Public operational identifier: pk_live_meUkNvgDp8CiBIU9c0b9pRZGKBeDAdON\"","known_identities":[],"targets":[{"id":"value","kind":"secret","start":43,"end":83,"value":"pk_live_meUkNvgDp8CiBIU9c0b9pRZGKBeDAdON","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-payment-credential-preserve-02","recipe":"payment-credential","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["pk_live_meUkNvgDp8CiBIU9c0b9pRZGKBeDAdON"]},"customers":{"required_absent":[],"required_present":["pk_live_meUkNvgDp8CiBIU9c0b9pRZGKBeDAdON"]},"all":{"required_absent":[],"required_present":["pk_live_meUkNvgDp8CiBIU9c0b9pRZGKBeDAdON"]}},"tags":["broad-quality","secret-family:payment-credential","variation:02"],"secret_fixture":{"family":"payment-credential","role":"preserve"}}, {"id":"broad-secret-payment-credential-must-detect-03","language":"en","script":"Latin","shape":"shell","risk":"critical","reason":"Locked broad payment-credential variation.","text":"MESSAGE_3='Rotating this exposed value: paylive_r3Ssn4zynw63PV0iK7KDZBtKOIvCtr9i'","known_identities":[],"targets":[{"id":"value","kind":"secret","start":40,"end":80,"value":"paylive_r3Ssn4zynw63PV0iK7KDZBtKOIvCtr9i","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-payment-credential-must-detect-03","recipe":"payment-credential","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["paylive_r3Ssn4zynw63PV0iK7KDZBtKOIvCtr9i"]},"customers":{"required_absent":["paylive_r3Ssn4zynw63PV0iK7KDZBtKOIvCtr9i"],"required_present":[]},"all":{"required_absent":["paylive_r3Ssn4zynw63PV0iK7KDZBtKOIvCtr9i"],"required_present":[]}},"tags":["broad-quality","secret-family:payment-credential","variation:03"],"secret_fixture":{"family":"payment-credential","role":"must-detect"}}, {"id":"broad-secret-payment-credential-preserve-03","language":"en","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad payment-credential variation.","text":"MESSAGE_3='Schema field label: pk_live_755YgqNC5sqdxQ822ffrgZQfFjSAecDA'","known_identities":[],"targets":[{"id":"value","kind":"secret","start":31,"end":71,"value":"pk_live_755YgqNC5sqdxQ822ffrgZQfFjSAecDA","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-payment-credential-preserve-03","recipe":"payment-credential","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["pk_live_755YgqNC5sqdxQ822ffrgZQfFjSAecDA"]},"customers":{"required_absent":[],"required_present":["pk_live_755YgqNC5sqdxQ822ffrgZQfFjSAecDA"]},"all":{"required_absent":[],"required_present":["pk_live_755YgqNC5sqdxQ822ffrgZQfFjSAecDA"]}},"tags":["broad-quality","secret-family:payment-credential","variation:03"],"secret_fixture":{"family":"payment-credential","role":"preserve"}}, - {"id":"broad-secret-payment-credential-must-detect-04","language":"en","script":"Latin","shape":"url","risk":"critical","reason":"Locked broad payment-credential variation.","text":"endpoint=https://192.0.2.10/4 ; Quoted credential follows: paylive_LiWecu9GOqJqVbb44jslWp1fDbn4tSBn","known_identities":[],"targets":[{"id":"value","kind":"secret","start":59,"end":99,"value":"paylive_LiWecu9GOqJqVbb44jslWp1fDbn4tSBn","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-payment-credential-must-detect-04","recipe":"payment-credential","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["paylive_LiWecu9GOqJqVbb44jslWp1fDbn4tSBn"]},"customers":{"required_absent":["paylive_LiWecu9GOqJqVbb44jslWp1fDbn4tSBn"],"required_present":[]},"all":{"required_absent":["paylive_LiWecu9GOqJqVbb44jslWp1fDbn4tSBn"],"required_present":[]}},"tags":["broad-quality","secret-family:payment-credential","variation:04"],"secret_fixture":{"family":"payment-credential","role":"must-detect"}}, - {"id":"broad-secret-payment-credential-preserve-04","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad payment-credential variation.","text":"endpoint=https://192.0.2.10/4 ; Non-confidential protocol token: pk_live_LYgipxicakgYf0hkfHy7HBsDO0pdEugZ","known_identities":[],"targets":[{"id":"value","kind":"secret","start":65,"end":105,"value":"pk_live_LYgipxicakgYf0hkfHy7HBsDO0pdEugZ","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-payment-credential-preserve-04","recipe":"payment-credential","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["pk_live_LYgipxicakgYf0hkfHy7HBsDO0pdEugZ"]},"customers":{"required_absent":[],"required_present":["pk_live_LYgipxicakgYf0hkfHy7HBsDO0pdEugZ"]},"all":{"required_absent":[],"required_present":["pk_live_LYgipxicakgYf0hkfHy7HBsDO0pdEugZ"]}},"tags":["broad-quality","secret-family:payment-credential","variation:04"],"secret_fixture":{"family":"payment-credential","role":"preserve"}}, - {"id":"broad-secret-payment-credential-must-detect-05","language":"en","script":"Latin","shape":"markdown","risk":"critical","reason":"Locked broad payment-credential variation.","text":"**Configuration secret: paylive_EDqPcwPCU2FBK35mjlnp4Em2DppSCnk9**","known_identities":[],"targets":[{"id":"value","kind":"secret","start":24,"end":64,"value":"paylive_EDqPcwPCU2FBK35mjlnp4Em2DppSCnk9","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-payment-credential-must-detect-05","recipe":"payment-credential","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["paylive_EDqPcwPCU2FBK35mjlnp4Em2DppSCnk9"]},"customers":{"required_absent":["paylive_EDqPcwPCU2FBK35mjlnp4Em2DppSCnk9"],"required_present":[]},"all":{"required_absent":["paylive_EDqPcwPCU2FBK35mjlnp4Em2DppSCnk9"],"required_present":[]}},"tags":["broad-quality","secret-family:payment-credential","variation:05"],"secret_fixture":{"family":"payment-credential","role":"must-detect"}}, - {"id":"broad-secret-payment-credential-preserve-05","language":"en","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad payment-credential variation.","text":"**Release metadata: pk_live_zm2mfC1OZFq1EKYzmK1jnFKU4lNP2n6F**","known_identities":[],"targets":[{"id":"value","kind":"secret","start":20,"end":60,"value":"pk_live_zm2mfC1OZFq1EKYzmK1jnFKU4lNP2n6F","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-payment-credential-preserve-05","recipe":"payment-credential","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["pk_live_zm2mfC1OZFq1EKYzmK1jnFKU4lNP2n6F"]},"customers":{"required_absent":[],"required_present":["pk_live_zm2mfC1OZFq1EKYzmK1jnFKU4lNP2n6F"]},"all":{"required_absent":[],"required_present":["pk_live_zm2mfC1OZFq1EKYzmK1jnFKU4lNP2n6F"]}},"tags":["broad-quality","secret-family:payment-credential","variation:05"],"secret_fixture":{"family":"payment-credential","role":"preserve"}}, - {"id":"broad-secret-payment-credential-must-detect-06","language":"en","script":"Latin","shape":"html","risk":"critical","reason":"Locked broad payment-credential variation.","text":"\u003cp\u003eStack trace captured credential paylive_eABCSmj0rrP7DUH7ZqAbS6tCF3P4FzOa\u003c/p\u003e","known_identities":[],"targets":[{"id":"value","kind":"secret","start":35,"end":75,"value":"paylive_eABCSmj0rrP7DUH7ZqAbS6tCF3P4FzOa","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-payment-credential-must-detect-06","recipe":"payment-credential","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["paylive_eABCSmj0rrP7DUH7ZqAbS6tCF3P4FzOa"]},"customers":{"required_absent":["paylive_eABCSmj0rrP7DUH7ZqAbS6tCF3P4FzOa"],"required_present":[]},"all":{"required_absent":["paylive_eABCSmj0rrP7DUH7ZqAbS6tCF3P4FzOa"],"required_present":[]}},"tags":["broad-quality","secret-family:payment-credential","variation:06"],"secret_fixture":{"family":"payment-credential","role":"must-detect"}}, - {"id":"broad-secret-payment-credential-preserve-06","language":"en","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad payment-credential variation.","text":"\u003cp\u003ePublic verification material: pk_live_2uhEUeE7zRvsGI2VWYiqbEoHNz1FfHvw\u003c/p\u003e","known_identities":[],"targets":[{"id":"value","kind":"secret","start":33,"end":73,"value":"pk_live_2uhEUeE7zRvsGI2VWYiqbEoHNz1FfHvw","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-payment-credential-preserve-06","recipe":"payment-credential","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["pk_live_2uhEUeE7zRvsGI2VWYiqbEoHNz1FfHvw"]},"customers":{"required_absent":[],"required_present":["pk_live_2uhEUeE7zRvsGI2VWYiqbEoHNz1FfHvw"]},"all":{"required_absent":[],"required_present":["pk_live_2uhEUeE7zRvsGI2VWYiqbEoHNz1FfHvw"]}},"tags":["broad-quality","secret-family:payment-credential","variation:06"],"secret_fixture":{"family":"payment-credential","role":"preserve"}}, + {"id":"broad-secret-payment-credential-must-detect-04","language":"en","script":"Latin","shape":"url","risk":"critical","reason":"Locked broad payment-credential variation.","text":"endpoint=https://192.0.2.10/4?credential=paylive_LiWecu9GOqJqVbb44jslWp1fDbn4tSBn\u0026note=Quoted+credential+follows%3A+","known_identities":[],"targets":[{"id":"value","kind":"secret","start":41,"end":81,"value":"paylive_LiWecu9GOqJqVbb44jslWp1fDbn4tSBn","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-payment-credential-must-detect-04","recipe":"payment-credential","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["paylive_LiWecu9GOqJqVbb44jslWp1fDbn4tSBn"]},"customers":{"required_absent":["paylive_LiWecu9GOqJqVbb44jslWp1fDbn4tSBn"],"required_present":[]},"all":{"required_absent":["paylive_LiWecu9GOqJqVbb44jslWp1fDbn4tSBn"],"required_present":[]}},"tags":["broad-quality","secret-family:payment-credential","variation:04"],"secret_fixture":{"family":"payment-credential","role":"must-detect"}}, + {"id":"broad-secret-payment-credential-preserve-04","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad payment-credential variation.","text":"endpoint=https://192.0.2.10/4?credential=pk_live_LYgipxicakgYf0hkfHy7HBsDO0pdEugZ\u0026note=Non-confidential+protocol+token%3A+","known_identities":[],"targets":[{"id":"value","kind":"secret","start":41,"end":81,"value":"pk_live_LYgipxicakgYf0hkfHy7HBsDO0pdEugZ","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-payment-credential-preserve-04","recipe":"payment-credential","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["pk_live_LYgipxicakgYf0hkfHy7HBsDO0pdEugZ"]},"customers":{"required_absent":[],"required_present":["pk_live_LYgipxicakgYf0hkfHy7HBsDO0pdEugZ"]},"all":{"required_absent":[],"required_present":["pk_live_LYgipxicakgYf0hkfHy7HBsDO0pdEugZ"]}},"tags":["broad-quality","secret-family:payment-credential","variation:04"],"secret_fixture":{"family":"payment-credential","role":"preserve"}}, + {"id":"broad-secret-payment-credential-must-detect-05","language":"en","script":"Latin","shape":"markdown","risk":"critical","reason":"Locked broad payment-credential variation.","text":"Configuration secret: paylive_EDqPcwPCU2FB**K35mjlnp4Em2DppSCnk9**","known_identities":[],"targets":[{"id":"value","kind":"secret","start":22,"end":66,"value":"paylive_EDqPcwPCU2FB**K35mjlnp4Em2DppSCnk9**","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-payment-credential-must-detect-05","recipe":"payment-credential","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["paylive_EDqPcwPCU2FB**K35mjlnp4Em2DppSCnk9**"]},"customers":{"required_absent":["paylive_EDqPcwPCU2FB**K35mjlnp4Em2DppSCnk9**","paylive_EDqPcwPCU2FB","K35mjlnp4Em2DppSCnk9"],"required_present":[]},"all":{"required_absent":["paylive_EDqPcwPCU2FB**K35mjlnp4Em2DppSCnk9**","paylive_EDqPcwPCU2FB","K35mjlnp4Em2DppSCnk9"],"required_present":[]}},"tags":["broad-quality","secret-family:payment-credential","variation:05"],"secret_fixture":{"family":"payment-credential","role":"must-detect"}}, + {"id":"broad-secret-payment-credential-preserve-05","language":"en","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad payment-credential variation.","text":"Release metadata: `pk_live_zm2mfC1OZFq1EKYzmK1jnFKU4lNP2n6F`","known_identities":[],"targets":[{"id":"value","kind":"secret","start":19,"end":59,"value":"pk_live_zm2mfC1OZFq1EKYzmK1jnFKU4lNP2n6F","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-payment-credential-preserve-05","recipe":"payment-credential","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["pk_live_zm2mfC1OZFq1EKYzmK1jnFKU4lNP2n6F"]},"customers":{"required_absent":[],"required_present":["pk_live_zm2mfC1OZFq1EKYzmK1jnFKU4lNP2n6F"]},"all":{"required_absent":[],"required_present":["pk_live_zm2mfC1OZFq1EKYzmK1jnFKU4lNP2n6F"]}},"tags":["broad-quality","secret-family:payment-credential","variation:05"],"secret_fixture":{"family":"payment-credential","role":"preserve"}}, + {"id":"broad-secret-payment-credential-must-detect-06","language":"en","script":"Latin","shape":"html","risk":"critical","reason":"Locked broad payment-credential variation.","text":"\u003cp\u003eStack trace captured credential \u003ccode\u003epaylive_eABCSmj0rrP7\u003cwbr\u003eDUH7ZqAbS6tCF3P4FzOa\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"value","kind":"secret","start":41,"end":86,"value":"paylive_eABCSmj0rrP7\u003cwbr\u003eDUH7ZqAbS6tCF3P4FzOa","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-payment-credential-must-detect-06","recipe":"payment-credential","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["paylive_eABCSmj0rrP7\u003cwbr\u003eDUH7ZqAbS6tCF3P4FzOa"]},"customers":{"required_absent":["paylive_eABCSmj0rrP7\u003cwbr\u003eDUH7ZqAbS6tCF3P4FzOa","paylive_eABCSmj0rrP7","DUH7ZqAbS6tCF3P4FzOa"],"required_present":[]},"all":{"required_absent":["paylive_eABCSmj0rrP7\u003cwbr\u003eDUH7ZqAbS6tCF3P4FzOa","paylive_eABCSmj0rrP7","DUH7ZqAbS6tCF3P4FzOa"],"required_present":[]}},"tags":["broad-quality","secret-family:payment-credential","variation:06"],"secret_fixture":{"family":"payment-credential","role":"must-detect"}}, + {"id":"broad-secret-payment-credential-preserve-06","language":"en","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad payment-credential variation.","text":"\u003cp\u003ePublic verification material: \u003ccode\u003epk_live_2uhEUeE7zRvsGI2VWYiqbEoHNz1FfHvw\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"value","kind":"secret","start":39,"end":79,"value":"pk_live_2uhEUeE7zRvsGI2VWYiqbEoHNz1FfHvw","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-payment-credential-preserve-06","recipe":"payment-credential","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["pk_live_2uhEUeE7zRvsGI2VWYiqbEoHNz1FfHvw"]},"customers":{"required_absent":[],"required_present":["pk_live_2uhEUeE7zRvsGI2VWYiqbEoHNz1FfHvw"]},"all":{"required_absent":[],"required_present":["pk_live_2uhEUeE7zRvsGI2VWYiqbEoHNz1FfHvw"]}},"tags":["broad-quality","secret-family:payment-credential","variation:06"],"secret_fixture":{"family":"payment-credential","role":"preserve"}}, {"id":"broad-secret-payment-credential-must-detect-07","language":"en","script":"Latin","shape":"quoted-reply","risk":"critical","reason":"Locked broad payment-credential variation.","text":"\u003e Wrapped message credential: paylive_EGiA0xMaTH6ROn3xfPKwP8xTzKVHXusV","known_identities":[],"targets":[{"id":"value","kind":"secret","start":30,"end":70,"value":"paylive_EGiA0xMaTH6ROn3xfPKwP8xTzKVHXusV","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-payment-credential-must-detect-07","recipe":"payment-credential","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["paylive_EGiA0xMaTH6ROn3xfPKwP8xTzKVHXusV"]},"customers":{"required_absent":["paylive_EGiA0xMaTH6ROn3xfPKwP8xTzKVHXusV"],"required_present":[]},"all":{"required_absent":["paylive_EGiA0xMaTH6ROn3xfPKwP8xTzKVHXusV"],"required_present":[]}},"tags":["broad-quality","secret-family:payment-credential","variation:07"],"secret_fixture":{"family":"payment-credential","role":"must-detect"}}, {"id":"broad-secret-payment-credential-preserve-07","language":"en","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad payment-credential variation.","text":"\u003e Troubleshooting reference: pk_live_83t0xgyoJ4PMtuD1aX7qCqGfZzGhaQL8","known_identities":[],"targets":[{"id":"value","kind":"secret","start":29,"end":69,"value":"pk_live_83t0xgyoJ4PMtuD1aX7qCqGfZzGhaQL8","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-payment-credential-preserve-07","recipe":"payment-credential","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["pk_live_83t0xgyoJ4PMtuD1aX7qCqGfZzGhaQL8"]},"customers":{"required_absent":[],"required_present":["pk_live_83t0xgyoJ4PMtuD1aX7qCqGfZzGhaQL8"]},"all":{"required_absent":[],"required_present":["pk_live_83t0xgyoJ4PMtuD1aX7qCqGfZzGhaQL8"]}},"tags":["broad-quality","secret-family:payment-credential","variation:07"],"secret_fixture":{"family":"payment-credential","role":"preserve"}}, - {"id":"broad-secret-payment-credential-must-detect-08","language":"en","script":"Latin","shape":"log","risk":"critical","reason":"Locked broad payment-credential variation.","text":"level=warn sample=8 message=\"Credential copied from a support reply: \" value=paylive_1K89BwsydnUh\nTzxqT7BpDINV0PuaB5Fg","known_identities":[],"targets":[{"id":"value","kind":"secret","start":77,"end":118,"value":"paylive_1K89BwsydnUh\nTzxqT7BpDINV0PuaB5Fg","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-payment-credential-must-detect-08","recipe":"payment-credential","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["paylive_1K89BwsydnUh\nTzxqT7BpDINV0PuaB5Fg"]},"customers":{"required_absent":["paylive_1K89BwsydnUh\nTzxqT7BpDINV0PuaB5Fg"],"required_present":[]},"all":{"required_absent":["paylive_1K89BwsydnUh\nTzxqT7BpDINV0PuaB5Fg"],"required_present":[]}},"tags":["broad-quality","secret-family:payment-credential","variation:08"],"secret_fixture":{"family":"payment-credential","role":"must-detect"}}, - {"id":"broad-secret-payment-credential-preserve-08","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad payment-credential variation.","text":"level=warn sample=8 message=\"Public configuration vocabulary: \" value=pk_live_zLhD9k4aJqyEJHSBMkwFltzqSW7sRKwl","known_identities":[],"targets":[{"id":"value","kind":"secret","start":70,"end":110,"value":"pk_live_zLhD9k4aJqyEJHSBMkwFltzqSW7sRKwl","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-payment-credential-preserve-08","recipe":"payment-credential","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["pk_live_zLhD9k4aJqyEJHSBMkwFltzqSW7sRKwl"]},"customers":{"required_absent":[],"required_present":["pk_live_zLhD9k4aJqyEJHSBMkwFltzqSW7sRKwl"]},"all":{"required_absent":[],"required_present":["pk_live_zLhD9k4aJqyEJHSBMkwFltzqSW7sRKwl"]}},"tags":["broad-quality","secret-family:payment-credential","variation:08"],"secret_fixture":{"family":"payment-credential","role":"preserve"}}, - {"id":"broad-secret-payment-credential-must-detect-09","language":"en","script":"Latin","shape":"stack-trace","risk":"critical","reason":"Locked broad payment-credential variation.","text":"Trace[9]: Authorization header value: paylive_gU9ATCNuBAm5 EJw6HW2oxnDuil4AVTfD","known_identities":[],"targets":[{"id":"value","kind":"secret","start":38,"end":79,"value":"paylive_gU9ATCNuBAm5 EJw6HW2oxnDuil4AVTfD","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-payment-credential-must-detect-09","recipe":"payment-credential","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["paylive_gU9ATCNuBAm5 EJw6HW2oxnDuil4AVTfD"]},"customers":{"required_absent":["paylive_gU9ATCNuBAm5 EJw6HW2oxnDuil4AVTfD"],"required_present":[]},"all":{"required_absent":["paylive_gU9ATCNuBAm5 EJw6HW2oxnDuil4AVTfD"],"required_present":[]}},"tags":["broad-quality","secret-family:payment-credential","variation:09"],"secret_fixture":{"family":"payment-credential","role":"must-detect"}}, + {"id":"broad-secret-payment-credential-must-detect-08","language":"en","script":"Latin","shape":"log","risk":"critical","reason":"Locked broad payment-credential variation.","text":"level=warn sample=8 message=\"Credential copied from a support reply: \" credential=\"paylive_1K89BwsydnUhTzxqT7BpDINV0PuaB5Fg\"","known_identities":[],"targets":[{"id":"value","kind":"secret","start":83,"end":123,"value":"paylive_1K89BwsydnUhTzxqT7BpDINV0PuaB5Fg","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-payment-credential-must-detect-08","recipe":"payment-credential","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["paylive_1K89BwsydnUhTzxqT7BpDINV0PuaB5Fg"]},"customers":{"required_absent":["paylive_1K89BwsydnUhTzxqT7BpDINV0PuaB5Fg"],"required_present":[]},"all":{"required_absent":["paylive_1K89BwsydnUhTzxqT7BpDINV0PuaB5Fg"],"required_present":[]}},"tags":["broad-quality","secret-family:payment-credential","variation:08"],"secret_fixture":{"family":"payment-credential","role":"must-detect"}}, + {"id":"broad-secret-payment-credential-preserve-08","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad payment-credential variation.","text":"level=warn sample=8 message=\"Public configuration vocabulary: \" credential=\"pk_live_zLhD9k4aJqyEJHSBMkwFltzqSW7sRKwl\"","known_identities":[],"targets":[{"id":"value","kind":"secret","start":76,"end":116,"value":"pk_live_zLhD9k4aJqyEJHSBMkwFltzqSW7sRKwl","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-payment-credential-preserve-08","recipe":"payment-credential","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["pk_live_zLhD9k4aJqyEJHSBMkwFltzqSW7sRKwl"]},"customers":{"required_absent":[],"required_present":["pk_live_zLhD9k4aJqyEJHSBMkwFltzqSW7sRKwl"]},"all":{"required_absent":[],"required_present":["pk_live_zLhD9k4aJqyEJHSBMkwFltzqSW7sRKwl"]}},"tags":["broad-quality","secret-family:payment-credential","variation:08"],"secret_fixture":{"family":"payment-credential","role":"preserve"}}, + {"id":"broad-secret-payment-credential-must-detect-09","language":"en","script":"Latin","shape":"stack-trace","risk":"critical","reason":"Locked broad payment-credential variation.","text":"Trace[9]: Authorization header value: paylive_gU9ATCNuBAm5\tEJw6HW2oxnDuil4AVTfD","known_identities":[],"targets":[{"id":"value","kind":"secret","start":38,"end":79,"value":"paylive_gU9ATCNuBAm5\tEJw6HW2oxnDuil4AVTfD","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-payment-credential-must-detect-09","recipe":"payment-credential","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["paylive_gU9ATCNuBAm5\tEJw6HW2oxnDuil4AVTfD"]},"customers":{"required_absent":["paylive_gU9ATCNuBAm5\tEJw6HW2oxnDuil4AVTfD","paylive_gU9ATCNuBAm5","EJw6HW2oxnDuil4AVTfD"],"required_present":[]},"all":{"required_absent":["paylive_gU9ATCNuBAm5\tEJw6HW2oxnDuil4AVTfD","paylive_gU9ATCNuBAm5","EJw6HW2oxnDuil4AVTfD"],"required_present":[]}},"tags":["broad-quality","secret-family:payment-credential","variation:09"],"secret_fixture":{"family":"payment-credential","role":"must-detect"}}, {"id":"broad-secret-payment-credential-preserve-09","language":"en","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad payment-credential variation.","text":"Trace[9]: Documentation syntax: pk_live_JUniBHtDCNoLCilGEAX6xSVdX5zjAC6G","known_identities":[],"targets":[{"id":"value","kind":"secret","start":32,"end":72,"value":"pk_live_JUniBHtDCNoLCilGEAX6xSVdX5zjAC6G","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-payment-credential-preserve-09","recipe":"payment-credential","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["pk_live_JUniBHtDCNoLCilGEAX6xSVdX5zjAC6G"]},"customers":{"required_absent":[],"required_present":["pk_live_JUniBHtDCNoLCilGEAX6xSVdX5zjAC6G"]},"all":{"required_absent":[],"required_present":["pk_live_JUniBHtDCNoLCilGEAX6xSVdX5zjAC6G"]}},"tags":["broad-quality","secret-family:payment-credential","variation:09"],"secret_fixture":{"family":"payment-credential","role":"preserve"}}, - {"id":"broad-secret-payment-credential-must-detect-10","language":"en","script":"Latin","shape":"code","risk":"critical","reason":"Locked broad payment-credential variation.","text":"fixture_10 := `Log field auth_value=paylive_f9kOYFYsbR0h·ffpHCDlceHsUR5Crijaf`","known_identities":[],"targets":[{"id":"value","kind":"secret","start":36,"end":78,"value":"paylive_f9kOYFYsbR0h·ffpHCDlceHsUR5Crijaf","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-payment-credential-must-detect-10","recipe":"payment-credential","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["paylive_f9kOYFYsbR0h·ffpHCDlceHsUR5Crijaf"]},"customers":{"required_absent":["paylive_f9kOYFYsbR0h·ffpHCDlceHsUR5Crijaf"],"required_present":[]},"all":{"required_absent":["paylive_f9kOYFYsbR0h·ffpHCDlceHsUR5Crijaf"],"required_present":[]}},"tags":["broad-quality","secret-family:payment-credential","variation:10"],"secret_fixture":{"family":"payment-credential","role":"must-detect"}}, + {"id":"broad-secret-payment-credential-must-detect-10","language":"en","script":"Latin","shape":"code","risk":"critical","reason":"Locked broad payment-credential variation.","text":"fixture_10 := `Log field auth_value=paylive_f9kOYFYsbR0h·ffpHCDlceHsUR5Crijaf`","known_identities":[],"targets":[{"id":"value","kind":"secret","start":36,"end":78,"value":"paylive_f9kOYFYsbR0h·ffpHCDlceHsUR5Crijaf","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-payment-credential-must-detect-10","recipe":"payment-credential","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["paylive_f9kOYFYsbR0h·ffpHCDlceHsUR5Crijaf"]},"customers":{"required_absent":["paylive_f9kOYFYsbR0h·ffpHCDlceHsUR5Crijaf","paylive_f9kOYFYsbR0h","ffpHCDlceHsUR5Crijaf"],"required_present":[]},"all":{"required_absent":["paylive_f9kOYFYsbR0h·ffpHCDlceHsUR5Crijaf","paylive_f9kOYFYsbR0h","ffpHCDlceHsUR5Crijaf"],"required_present":[]}},"tags":["broad-quality","secret-family:payment-credential","variation:10"],"secret_fixture":{"family":"payment-credential","role":"must-detect"}}, {"id":"broad-secret-payment-credential-preserve-10","language":"en","script":"Latin","shape":"code","risk":"preservation","reason":"Locked broad payment-credential variation.","text":"fixture_10 := `Public operational identifier: pk_live_aE3wDCv2JY6054AH0GevxatCkI6D6SyO`","known_identities":[],"targets":[{"id":"value","kind":"secret","start":46,"end":86,"value":"pk_live_aE3wDCv2JY6054AH0GevxatCkI6D6SyO","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-payment-credential-preserve-10","recipe":"payment-credential","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["pk_live_aE3wDCv2JY6054AH0GevxatCkI6D6SyO"]},"customers":{"required_absent":[],"required_present":["pk_live_aE3wDCv2JY6054AH0GevxatCkI6D6SyO"]},"all":{"required_absent":[],"required_present":["pk_live_aE3wDCv2JY6054AH0GevxatCkI6D6SyO"]}},"tags":["broad-quality","secret-family:payment-credential","variation:10"],"secret_fixture":{"family":"payment-credential","role":"preserve"}}, - {"id":"broad-secret-payment-credential-must-detect-11","language":"en","script":"Latin","shape":"signature","risk":"critical","reason":"Locked broad payment-credential variation.","text":"--\nRotating this exposed value: paylive_I4JIQRSRz6RL\u003cwbr\u003eVPzg2C8p9w4GNyWGmLYH","known_identities":[],"targets":[{"id":"value","kind":"secret","start":32,"end":77,"value":"paylive_I4JIQRSRz6RL\u003cwbr\u003eVPzg2C8p9w4GNyWGmLYH","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-payment-credential-must-detect-11","recipe":"payment-credential","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["paylive_I4JIQRSRz6RL\u003cwbr\u003eVPzg2C8p9w4GNyWGmLYH"]},"customers":{"required_absent":["paylive_I4JIQRSRz6RL\u003cwbr\u003eVPzg2C8p9w4GNyWGmLYH"],"required_present":[]},"all":{"required_absent":["paylive_I4JIQRSRz6RL\u003cwbr\u003eVPzg2C8p9w4GNyWGmLYH"],"required_present":[]}},"tags":["broad-quality","secret-family:payment-credential","variation:11"],"secret_fixture":{"family":"payment-credential","role":"must-detect"}}, + {"id":"broad-secret-payment-credential-must-detect-11","language":"en","script":"Latin","shape":"signature","risk":"critical","reason":"Locked broad payment-credential variation.","text":"--\nRotating this exposed value: paylive_I4JIQRSRz6RLVPzg2C8p9w4GNyWGmLYH","known_identities":[],"targets":[{"id":"value","kind":"secret","start":32,"end":72,"value":"paylive_I4JIQRSRz6RLVPzg2C8p9w4GNyWGmLYH","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-payment-credential-must-detect-11","recipe":"payment-credential","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["paylive_I4JIQRSRz6RLVPzg2C8p9w4GNyWGmLYH"]},"customers":{"required_absent":["paylive_I4JIQRSRz6RLVPzg2C8p9w4GNyWGmLYH"],"required_present":[]},"all":{"required_absent":["paylive_I4JIQRSRz6RLVPzg2C8p9w4GNyWGmLYH"],"required_present":[]}},"tags":["broad-quality","secret-family:payment-credential","variation:11"],"secret_fixture":{"family":"payment-credential","role":"must-detect"}}, {"id":"broad-secret-payment-credential-preserve-11","language":"en","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad payment-credential variation.","text":"--\nSchema field label: pk_live_E9zyvmD57rjXcbYiBIAjGA6yA1Y6DQ34","known_identities":[],"targets":[{"id":"value","kind":"secret","start":23,"end":63,"value":"pk_live_E9zyvmD57rjXcbYiBIAjGA6yA1Y6DQ34","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-payment-credential-preserve-11","recipe":"payment-credential","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["pk_live_E9zyvmD57rjXcbYiBIAjGA6yA1Y6DQ34"]},"customers":{"required_absent":[],"required_present":["pk_live_E9zyvmD57rjXcbYiBIAjGA6yA1Y6DQ34"]},"all":{"required_absent":[],"required_present":["pk_live_E9zyvmD57rjXcbYiBIAjGA6yA1Y6DQ34"]}},"tags":["broad-quality","secret-family:payment-credential","variation:11"],"secret_fixture":{"family":"payment-credential","role":"preserve"}}, - {"id":"broad-secret-payment-credential-must-detect-12","language":"en","script":"Latin","shape":"long-thread","risk":"critical","reason":"Locked broad payment-credential variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Quoted credential follows: paylive_Tx4XkLW419mM**vzf3DjcTCXnMAGPxXhsF","known_identities":[],"targets":[{"id":"value","kind":"secret","start":507,"end":549,"value":"paylive_Tx4XkLW419mM**vzf3DjcTCXnMAGPxXhsF","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-payment-credential-must-detect-12","recipe":"payment-credential","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["paylive_Tx4XkLW419mM**vzf3DjcTCXnMAGPxXhsF"]},"customers":{"required_absent":["paylive_Tx4XkLW419mM**vzf3DjcTCXnMAGPxXhsF"],"required_present":[]},"all":{"required_absent":["paylive_Tx4XkLW419mM**vzf3DjcTCXnMAGPxXhsF"],"required_present":[]}},"tags":["broad-quality","secret-family:payment-credential","variation:12"],"secret_fixture":{"family":"payment-credential","role":"must-detect"}}, + {"id":"broad-secret-payment-credential-must-detect-12","language":"en","script":"Latin","shape":"long-thread","risk":"critical","reason":"Locked broad payment-credential variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Quoted credential follows: paylive_Tx4XkLW419mMvzf3DjcTCXnMAGPxXhsF","known_identities":[],"targets":[{"id":"value","kind":"secret","start":507,"end":547,"value":"paylive_Tx4XkLW419mMvzf3DjcTCXnMAGPxXhsF","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-payment-credential-must-detect-12","recipe":"payment-credential","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["paylive_Tx4XkLW419mMvzf3DjcTCXnMAGPxXhsF"]},"customers":{"required_absent":["paylive_Tx4XkLW419mMvzf3DjcTCXnMAGPxXhsF"],"required_present":[]},"all":{"required_absent":["paylive_Tx4XkLW419mMvzf3DjcTCXnMAGPxXhsF"],"required_present":[]}},"tags":["broad-quality","secret-family:payment-credential","variation:12"],"secret_fixture":{"family":"payment-credential","role":"must-detect"}}, {"id":"broad-secret-payment-credential-preserve-12","language":"en","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad payment-credential variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Non-confidential protocol token: pk_live_GcC3dl0j0zeLwagikBFrIBHd9sDhO1aA","known_identities":[],"targets":[{"id":"value","kind":"secret","start":513,"end":553,"value":"pk_live_GcC3dl0j0zeLwagikBFrIBHd9sDhO1aA","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-payment-credential-preserve-12","recipe":"payment-credential","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["pk_live_GcC3dl0j0zeLwagikBFrIBHd9sDhO1aA"]},"customers":{"required_absent":[],"required_present":["pk_live_GcC3dl0j0zeLwagikBFrIBHd9sDhO1aA"]},"all":{"required_absent":[],"required_present":["pk_live_GcC3dl0j0zeLwagikBFrIBHd9sDhO1aA"]}},"tags":["broad-quality","secret-family:payment-credential","variation:12"],"secret_fixture":{"family":"payment-credential","role":"preserve"}}, - {"id":"broad-secret-payment-credential-must-detect-13","language":"en","script":"Latin","shape":"command-payload","risk":"critical","reason":"Locked broad payment-credential variation.","text":"--sample=13 --message=\"Configuration secret: \" --value=paylive_LirbgQVySR9dVyWb0Sg0EJZSaoPKu9fd / paylive_LirbgQVySR9dVyWb0Sg0EJZSaoPKu9fd","known_identities":[],"targets":[{"id":"value","kind":"secret","start":55,"end":138,"value":"paylive_LirbgQVySR9dVyWb0Sg0EJZSaoPKu9fd / paylive_LirbgQVySR9dVyWb0Sg0EJZSaoPKu9fd","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-payment-credential-must-detect-13","recipe":"payment-credential","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["paylive_LirbgQVySR9dVyWb0Sg0EJZSaoPKu9fd / paylive_LirbgQVySR9dVyWb0Sg0EJZSaoPKu9fd"]},"customers":{"required_absent":["paylive_LirbgQVySR9dVyWb0Sg0EJZSaoPKu9fd / paylive_LirbgQVySR9dVyWb0Sg0EJZSaoPKu9fd"],"required_present":[]},"all":{"required_absent":["paylive_LirbgQVySR9dVyWb0Sg0EJZSaoPKu9fd / paylive_LirbgQVySR9dVyWb0Sg0EJZSaoPKu9fd"],"required_present":[]}},"tags":["broad-quality","secret-family:payment-credential","variation:13"],"secret_fixture":{"family":"payment-credential","role":"must-detect"}}, - {"id":"broad-secret-payment-credential-preserve-13","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad payment-credential variation.","text":"--sample=13 --message=\"Release metadata: \" --value=pk_live_DtP1bEvoK31ca8gWcGXHU4rRQ5Cp25qd","known_identities":[],"targets":[{"id":"value","kind":"secret","start":51,"end":91,"value":"pk_live_DtP1bEvoK31ca8gWcGXHU4rRQ5Cp25qd","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-payment-credential-preserve-13","recipe":"payment-credential","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["pk_live_DtP1bEvoK31ca8gWcGXHU4rRQ5Cp25qd"]},"customers":{"required_absent":[],"required_present":["pk_live_DtP1bEvoK31ca8gWcGXHU4rRQ5Cp25qd"]},"all":{"required_absent":[],"required_present":["pk_live_DtP1bEvoK31ca8gWcGXHU4rRQ5Cp25qd"]}},"tags":["broad-quality","secret-family:payment-credential","variation:13"],"secret_fixture":{"family":"payment-credential","role":"preserve"}}, + {"id":"broad-secret-payment-credential-must-detect-13","language":"en","script":"Latin","shape":"command-payload","risk":"critical","reason":"Locked broad payment-credential variation.","text":"--sample=13 --message=\"Configuration secret: \" --credential=\"paylive_LirbgQVySR9dVyWb0Sg0EJZSaoPKu9fd\"","known_identities":[],"targets":[{"id":"value","kind":"secret","start":61,"end":101,"value":"paylive_LirbgQVySR9dVyWb0Sg0EJZSaoPKu9fd","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-payment-credential-must-detect-13","recipe":"payment-credential","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["paylive_LirbgQVySR9dVyWb0Sg0EJZSaoPKu9fd"]},"customers":{"required_absent":["paylive_LirbgQVySR9dVyWb0Sg0EJZSaoPKu9fd"],"required_present":[]},"all":{"required_absent":["paylive_LirbgQVySR9dVyWb0Sg0EJZSaoPKu9fd"],"required_present":[]}},"tags":["broad-quality","secret-family:payment-credential","variation:13"],"secret_fixture":{"family":"payment-credential","role":"must-detect"}}, + {"id":"broad-secret-payment-credential-preserve-13","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad payment-credential variation.","text":"--sample=13 --message=\"Release metadata: \" --credential=\"pk_live_DtP1bEvoK31ca8gWcGXHU4rRQ5Cp25qd\"","known_identities":[],"targets":[{"id":"value","kind":"secret","start":57,"end":97,"value":"pk_live_DtP1bEvoK31ca8gWcGXHU4rRQ5Cp25qd","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-payment-credential-preserve-13","recipe":"payment-credential","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["pk_live_DtP1bEvoK31ca8gWcGXHU4rRQ5Cp25qd"]},"customers":{"required_absent":[],"required_present":["pk_live_DtP1bEvoK31ca8gWcGXHU4rRQ5Cp25qd"]},"all":{"required_absent":[],"required_present":["pk_live_DtP1bEvoK31ca8gWcGXHU4rRQ5Cp25qd"]}},"tags":["broad-quality","secret-family:payment-credential","variation:13"],"secret_fixture":{"family":"payment-credential","role":"preserve"}}, {"id":"broad-secret-observability-token-must-detect-00","language":"en","script":"Latin","shape":"prose","risk":"critical","reason":"Locked broad observability-token variation.","text":"Credential copied from a support reply: obsap_467dfd20dbc1adef94d51a706b6fe937","known_identities":[],"targets":[{"id":"value","kind":"secret","start":40,"end":78,"value":"obsap_467dfd20dbc1adef94d51a706b6fe937","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-observability-token-must-detect-00","recipe":"observability-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["obsap_467dfd20dbc1adef94d51a706b6fe937"]},"customers":{"required_absent":["obsap_467dfd20dbc1adef94d51a706b6fe937"],"required_present":[]},"all":{"required_absent":["obsap_467dfd20dbc1adef94d51a706b6fe937"],"required_present":[]}},"tags":["broad-quality","secret-family:observability-token","variation:00"],"secret_fixture":{"family":"observability-token","role":"must-detect"}}, {"id":"broad-secret-observability-token-preserve-00","language":"en","script":"Latin","shape":"prose","risk":"preservation","reason":"Locked broad observability-token variation.","text":"Public configuration vocabulary: eefbf6b91b5fcd6c89b08d90b74c5ca8","known_identities":[],"targets":[{"id":"value","kind":"secret","start":33,"end":65,"value":"eefbf6b91b5fcd6c89b08d90b74c5ca8","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-observability-token-preserve-00","recipe":"observability-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["eefbf6b91b5fcd6c89b08d90b74c5ca8"]},"customers":{"required_absent":[],"required_present":["eefbf6b91b5fcd6c89b08d90b74c5ca8"]},"all":{"required_absent":[],"required_present":["eefbf6b91b5fcd6c89b08d90b74c5ca8"]}},"tags":["broad-quality","secret-family:observability-token","variation:00"],"secret_fixture":{"family":"observability-token","role":"preserve"}}, {"id":"broad-secret-observability-token-must-detect-01","language":"en","script":"Latin","shape":"json","risk":"critical","reason":"Locked broad observability-token variation.","text":"{\"message_1\":\"Authorization header value: obsap_7cecd20ca6eb2e9821f07fdca28c3269\"}","known_identities":[],"targets":[{"id":"value","kind":"secret","start":42,"end":80,"value":"obsap_7cecd20ca6eb2e9821f07fdca28c3269","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-observability-token-must-detect-01","recipe":"observability-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["obsap_7cecd20ca6eb2e9821f07fdca28c3269"]},"customers":{"required_absent":["obsap_7cecd20ca6eb2e9821f07fdca28c3269"],"required_present":[]},"all":{"required_absent":["obsap_7cecd20ca6eb2e9821f07fdca28c3269"],"required_present":[]}},"tags":["broad-quality","secret-family:observability-token","variation:01"],"secret_fixture":{"family":"observability-token","role":"must-detect"}}, {"id":"broad-secret-observability-token-preserve-01","language":"en","script":"Latin","shape":"json","risk":"preservation","reason":"Locked broad observability-token variation.","text":"{\"message_1\":\"Documentation syntax: e9fe45c64a12cccc79d80ee8d88e5cdd\"}","known_identities":[],"targets":[{"id":"value","kind":"secret","start":36,"end":68,"value":"e9fe45c64a12cccc79d80ee8d88e5cdd","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-observability-token-preserve-01","recipe":"observability-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["e9fe45c64a12cccc79d80ee8d88e5cdd"]},"customers":{"required_absent":[],"required_present":["e9fe45c64a12cccc79d80ee8d88e5cdd"]},"all":{"required_absent":[],"required_present":["e9fe45c64a12cccc79d80ee8d88e5cdd"]}},"tags":["broad-quality","secret-family:observability-token","variation:01"],"secret_fixture":{"family":"observability-token","role":"preserve"}}, - {"id":"broad-secret-observability-token-must-detect-02","language":"en","script":"Latin","shape":"yaml","risk":"critical","reason":"Locked broad observability-token variation.","text":"message_2: Log field auth_value=obsap_d41b620bcaa4e3bf63bedcc2d7913561","known_identities":[],"targets":[{"id":"value","kind":"secret","start":32,"end":70,"value":"obsap_d41b620bcaa4e3bf63bedcc2d7913561","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-observability-token-must-detect-02","recipe":"observability-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["obsap_d41b620bcaa4e3bf63bedcc2d7913561"]},"customers":{"required_absent":["obsap_d41b620bcaa4e3bf63bedcc2d7913561"],"required_present":[]},"all":{"required_absent":["obsap_d41b620bcaa4e3bf63bedcc2d7913561"],"required_present":[]}},"tags":["broad-quality","secret-family:observability-token","variation:02"],"secret_fixture":{"family":"observability-token","role":"must-detect"}}, - {"id":"broad-secret-observability-token-preserve-02","language":"en","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad observability-token variation.","text":"message_2: Public operational identifier: fa8ab0e35b97eecbd1b33fbefadb6ef1","known_identities":[],"targets":[{"id":"value","kind":"secret","start":42,"end":74,"value":"fa8ab0e35b97eecbd1b33fbefadb6ef1","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-observability-token-preserve-02","recipe":"observability-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["fa8ab0e35b97eecbd1b33fbefadb6ef1"]},"customers":{"required_absent":[],"required_present":["fa8ab0e35b97eecbd1b33fbefadb6ef1"]},"all":{"required_absent":[],"required_present":["fa8ab0e35b97eecbd1b33fbefadb6ef1"]}},"tags":["broad-quality","secret-family:observability-token","variation:02"],"secret_fixture":{"family":"observability-token","role":"preserve"}}, + {"id":"broad-secret-observability-token-must-detect-02","language":"en","script":"Latin","shape":"yaml","risk":"critical","reason":"Locked broad observability-token variation.","text":"message_2: \"Log field auth_value=obsap_d41b620bcaa4e3bf63bedcc2d7913561\"","known_identities":[],"targets":[{"id":"value","kind":"secret","start":33,"end":71,"value":"obsap_d41b620bcaa4e3bf63bedcc2d7913561","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-observability-token-must-detect-02","recipe":"observability-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["obsap_d41b620bcaa4e3bf63bedcc2d7913561"]},"customers":{"required_absent":["obsap_d41b620bcaa4e3bf63bedcc2d7913561"],"required_present":[]},"all":{"required_absent":["obsap_d41b620bcaa4e3bf63bedcc2d7913561"],"required_present":[]}},"tags":["broad-quality","secret-family:observability-token","variation:02"],"secret_fixture":{"family":"observability-token","role":"must-detect"}}, + {"id":"broad-secret-observability-token-preserve-02","language":"en","script":"Latin","shape":"yaml","risk":"preservation","reason":"Locked broad observability-token variation.","text":"message_2: \"Public operational identifier: fa8ab0e35b97eecbd1b33fbefadb6ef1\"","known_identities":[],"targets":[{"id":"value","kind":"secret","start":43,"end":75,"value":"fa8ab0e35b97eecbd1b33fbefadb6ef1","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-observability-token-preserve-02","recipe":"observability-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["fa8ab0e35b97eecbd1b33fbefadb6ef1"]},"customers":{"required_absent":[],"required_present":["fa8ab0e35b97eecbd1b33fbefadb6ef1"]},"all":{"required_absent":[],"required_present":["fa8ab0e35b97eecbd1b33fbefadb6ef1"]}},"tags":["broad-quality","secret-family:observability-token","variation:02"],"secret_fixture":{"family":"observability-token","role":"preserve"}}, {"id":"broad-secret-observability-token-must-detect-03","language":"en","script":"Latin","shape":"shell","risk":"critical","reason":"Locked broad observability-token variation.","text":"MESSAGE_3='Rotating this exposed value: obsap_8ad9061d382acb4ad876e933a3b13f0c'","known_identities":[],"targets":[{"id":"value","kind":"secret","start":40,"end":78,"value":"obsap_8ad9061d382acb4ad876e933a3b13f0c","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-observability-token-must-detect-03","recipe":"observability-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["obsap_8ad9061d382acb4ad876e933a3b13f0c"]},"customers":{"required_absent":["obsap_8ad9061d382acb4ad876e933a3b13f0c"],"required_present":[]},"all":{"required_absent":["obsap_8ad9061d382acb4ad876e933a3b13f0c"],"required_present":[]}},"tags":["broad-quality","secret-family:observability-token","variation:03"],"secret_fixture":{"family":"observability-token","role":"must-detect"}}, {"id":"broad-secret-observability-token-preserve-03","language":"en","script":"Latin","shape":"shell","risk":"preservation","reason":"Locked broad observability-token variation.","text":"MESSAGE_3='Schema field label: ecefd0c5aa76b94a07a84b36df1e26c9'","known_identities":[],"targets":[{"id":"value","kind":"secret","start":31,"end":63,"value":"ecefd0c5aa76b94a07a84b36df1e26c9","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-observability-token-preserve-03","recipe":"observability-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["ecefd0c5aa76b94a07a84b36df1e26c9"]},"customers":{"required_absent":[],"required_present":["ecefd0c5aa76b94a07a84b36df1e26c9"]},"all":{"required_absent":[],"required_present":["ecefd0c5aa76b94a07a84b36df1e26c9"]}},"tags":["broad-quality","secret-family:observability-token","variation:03"],"secret_fixture":{"family":"observability-token","role":"preserve"}}, - {"id":"broad-secret-observability-token-must-detect-04","language":"en","script":"Latin","shape":"url","risk":"critical","reason":"Locked broad observability-token variation.","text":"endpoint=https://192.0.2.10/4 ; Quoted credential follows: obsap_19494d979ffed3a989323819bcfcb2c8","known_identities":[],"targets":[{"id":"value","kind":"secret","start":59,"end":97,"value":"obsap_19494d979ffed3a989323819bcfcb2c8","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-observability-token-must-detect-04","recipe":"observability-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["obsap_19494d979ffed3a989323819bcfcb2c8"]},"customers":{"required_absent":["obsap_19494d979ffed3a989323819bcfcb2c8"],"required_present":[]},"all":{"required_absent":["obsap_19494d979ffed3a989323819bcfcb2c8"],"required_present":[]}},"tags":["broad-quality","secret-family:observability-token","variation:04"],"secret_fixture":{"family":"observability-token","role":"must-detect"}}, - {"id":"broad-secret-observability-token-preserve-04","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad observability-token variation.","text":"endpoint=https://192.0.2.10/4 ; Non-confidential protocol token: a0bb66e76ebbdf6f1bfc3ba3c38dadaf","known_identities":[],"targets":[{"id":"value","kind":"secret","start":65,"end":97,"value":"a0bb66e76ebbdf6f1bfc3ba3c38dadaf","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-observability-token-preserve-04","recipe":"observability-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["a0bb66e76ebbdf6f1bfc3ba3c38dadaf"]},"customers":{"required_absent":[],"required_present":["a0bb66e76ebbdf6f1bfc3ba3c38dadaf"]},"all":{"required_absent":[],"required_present":["a0bb66e76ebbdf6f1bfc3ba3c38dadaf"]}},"tags":["broad-quality","secret-family:observability-token","variation:04"],"secret_fixture":{"family":"observability-token","role":"preserve"}}, - {"id":"broad-secret-observability-token-must-detect-05","language":"en","script":"Latin","shape":"markdown","risk":"critical","reason":"Locked broad observability-token variation.","text":"**Configuration secret: obsap_eb3d03d87632a4ff2493c0015ddb39e1**","known_identities":[],"targets":[{"id":"value","kind":"secret","start":24,"end":62,"value":"obsap_eb3d03d87632a4ff2493c0015ddb39e1","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-observability-token-must-detect-05","recipe":"observability-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["obsap_eb3d03d87632a4ff2493c0015ddb39e1"]},"customers":{"required_absent":["obsap_eb3d03d87632a4ff2493c0015ddb39e1"],"required_present":[]},"all":{"required_absent":["obsap_eb3d03d87632a4ff2493c0015ddb39e1"],"required_present":[]}},"tags":["broad-quality","secret-family:observability-token","variation:05"],"secret_fixture":{"family":"observability-token","role":"must-detect"}}, - {"id":"broad-secret-observability-token-preserve-05","language":"en","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad observability-token variation.","text":"**Release metadata: e30b45d9afd1c87fbec51bf0cf4f18bb**","known_identities":[],"targets":[{"id":"value","kind":"secret","start":20,"end":52,"value":"e30b45d9afd1c87fbec51bf0cf4f18bb","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-observability-token-preserve-05","recipe":"observability-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["e30b45d9afd1c87fbec51bf0cf4f18bb"]},"customers":{"required_absent":[],"required_present":["e30b45d9afd1c87fbec51bf0cf4f18bb"]},"all":{"required_absent":[],"required_present":["e30b45d9afd1c87fbec51bf0cf4f18bb"]}},"tags":["broad-quality","secret-family:observability-token","variation:05"],"secret_fixture":{"family":"observability-token","role":"preserve"}}, - {"id":"broad-secret-observability-token-must-detect-06","language":"en","script":"Latin","shape":"html","risk":"critical","reason":"Locked broad observability-token variation.","text":"\u003cp\u003eStack trace captured credential obsap_2138547ffffc51a3c09b8ac55980739a\u003c/p\u003e","known_identities":[],"targets":[{"id":"value","kind":"secret","start":35,"end":73,"value":"obsap_2138547ffffc51a3c09b8ac55980739a","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-observability-token-must-detect-06","recipe":"observability-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["obsap_2138547ffffc51a3c09b8ac55980739a"]},"customers":{"required_absent":["obsap_2138547ffffc51a3c09b8ac55980739a"],"required_present":[]},"all":{"required_absent":["obsap_2138547ffffc51a3c09b8ac55980739a"],"required_present":[]}},"tags":["broad-quality","secret-family:observability-token","variation:06"],"secret_fixture":{"family":"observability-token","role":"must-detect"}}, - {"id":"broad-secret-observability-token-preserve-06","language":"en","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad observability-token variation.","text":"\u003cp\u003ePublic verification material: a18e28da7ab4dcca58ac5abcf4bcb5fa\u003c/p\u003e","known_identities":[],"targets":[{"id":"value","kind":"secret","start":33,"end":65,"value":"a18e28da7ab4dcca58ac5abcf4bcb5fa","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-observability-token-preserve-06","recipe":"observability-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["a18e28da7ab4dcca58ac5abcf4bcb5fa"]},"customers":{"required_absent":[],"required_present":["a18e28da7ab4dcca58ac5abcf4bcb5fa"]},"all":{"required_absent":[],"required_present":["a18e28da7ab4dcca58ac5abcf4bcb5fa"]}},"tags":["broad-quality","secret-family:observability-token","variation:06"],"secret_fixture":{"family":"observability-token","role":"preserve"}}, + {"id":"broad-secret-observability-token-must-detect-04","language":"en","script":"Latin","shape":"url","risk":"critical","reason":"Locked broad observability-token variation.","text":"endpoint=https://192.0.2.10/4?credential=obsap_19494d979ffed3a989323819bcfcb2c8\u0026note=Quoted+credential+follows%3A+","known_identities":[],"targets":[{"id":"value","kind":"secret","start":41,"end":79,"value":"obsap_19494d979ffed3a989323819bcfcb2c8","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-observability-token-must-detect-04","recipe":"observability-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["obsap_19494d979ffed3a989323819bcfcb2c8"]},"customers":{"required_absent":["obsap_19494d979ffed3a989323819bcfcb2c8"],"required_present":[]},"all":{"required_absent":["obsap_19494d979ffed3a989323819bcfcb2c8"],"required_present":[]}},"tags":["broad-quality","secret-family:observability-token","variation:04"],"secret_fixture":{"family":"observability-token","role":"must-detect"}}, + {"id":"broad-secret-observability-token-preserve-04","language":"en","script":"Latin","shape":"url","risk":"preservation","reason":"Locked broad observability-token variation.","text":"endpoint=https://192.0.2.10/4?credential=a0bb66e76ebbdf6f1bfc3ba3c38dadaf\u0026note=Non-confidential+protocol+token%3A+","known_identities":[],"targets":[{"id":"value","kind":"secret","start":41,"end":73,"value":"a0bb66e76ebbdf6f1bfc3ba3c38dadaf","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-observability-token-preserve-04","recipe":"observability-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["a0bb66e76ebbdf6f1bfc3ba3c38dadaf"]},"customers":{"required_absent":[],"required_present":["a0bb66e76ebbdf6f1bfc3ba3c38dadaf"]},"all":{"required_absent":[],"required_present":["a0bb66e76ebbdf6f1bfc3ba3c38dadaf"]}},"tags":["broad-quality","secret-family:observability-token","variation:04"],"secret_fixture":{"family":"observability-token","role":"preserve"}}, + {"id":"broad-secret-observability-token-must-detect-05","language":"en","script":"Latin","shape":"markdown","risk":"critical","reason":"Locked broad observability-token variation.","text":"Configuration secret: obsap_eb3d03d87632a**4ff2493c0015ddb39e1**","known_identities":[],"targets":[{"id":"value","kind":"secret","start":22,"end":64,"value":"obsap_eb3d03d87632a**4ff2493c0015ddb39e1**","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-observability-token-must-detect-05","recipe":"observability-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["obsap_eb3d03d87632a**4ff2493c0015ddb39e1**"]},"customers":{"required_absent":["obsap_eb3d03d87632a**4ff2493c0015ddb39e1**","obsap_eb3d03d87632a","4ff2493c0015ddb39e1"],"required_present":[]},"all":{"required_absent":["obsap_eb3d03d87632a**4ff2493c0015ddb39e1**","obsap_eb3d03d87632a","4ff2493c0015ddb39e1"],"required_present":[]}},"tags":["broad-quality","secret-family:observability-token","variation:05"],"secret_fixture":{"family":"observability-token","role":"must-detect"}}, + {"id":"broad-secret-observability-token-preserve-05","language":"en","script":"Latin","shape":"markdown","risk":"preservation","reason":"Locked broad observability-token variation.","text":"Release metadata: `e30b45d9afd1c87fbec51bf0cf4f18bb`","known_identities":[],"targets":[{"id":"value","kind":"secret","start":19,"end":51,"value":"e30b45d9afd1c87fbec51bf0cf4f18bb","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-observability-token-preserve-05","recipe":"observability-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["e30b45d9afd1c87fbec51bf0cf4f18bb"]},"customers":{"required_absent":[],"required_present":["e30b45d9afd1c87fbec51bf0cf4f18bb"]},"all":{"required_absent":[],"required_present":["e30b45d9afd1c87fbec51bf0cf4f18bb"]}},"tags":["broad-quality","secret-family:observability-token","variation:05"],"secret_fixture":{"family":"observability-token","role":"preserve"}}, + {"id":"broad-secret-observability-token-must-detect-06","language":"en","script":"Latin","shape":"html","risk":"critical","reason":"Locked broad observability-token variation.","text":"\u003cp\u003eStack trace captured credential \u003ccode\u003eobsap_2138547ffffc5\u003cwbr\u003e1a3c09b8ac55980739a\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"value","kind":"secret","start":41,"end":84,"value":"obsap_2138547ffffc5\u003cwbr\u003e1a3c09b8ac55980739a","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-observability-token-must-detect-06","recipe":"observability-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["obsap_2138547ffffc5\u003cwbr\u003e1a3c09b8ac55980739a"]},"customers":{"required_absent":["obsap_2138547ffffc5\u003cwbr\u003e1a3c09b8ac55980739a","obsap_2138547ffffc5","1a3c09b8ac55980739a"],"required_present":[]},"all":{"required_absent":["obsap_2138547ffffc5\u003cwbr\u003e1a3c09b8ac55980739a","obsap_2138547ffffc5","1a3c09b8ac55980739a"],"required_present":[]}},"tags":["broad-quality","secret-family:observability-token","variation:06"],"secret_fixture":{"family":"observability-token","role":"must-detect"}}, + {"id":"broad-secret-observability-token-preserve-06","language":"en","script":"Latin","shape":"html","risk":"preservation","reason":"Locked broad observability-token variation.","text":"\u003cp\u003ePublic verification material: \u003ccode\u003ea18e28da7ab4dcca58ac5abcf4bcb5fa\u003c/code\u003e\u003c/p\u003e","known_identities":[],"targets":[{"id":"value","kind":"secret","start":39,"end":71,"value":"a18e28da7ab4dcca58ac5abcf4bcb5fa","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-observability-token-preserve-06","recipe":"observability-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["a18e28da7ab4dcca58ac5abcf4bcb5fa"]},"customers":{"required_absent":[],"required_present":["a18e28da7ab4dcca58ac5abcf4bcb5fa"]},"all":{"required_absent":[],"required_present":["a18e28da7ab4dcca58ac5abcf4bcb5fa"]}},"tags":["broad-quality","secret-family:observability-token","variation:06"],"secret_fixture":{"family":"observability-token","role":"preserve"}}, {"id":"broad-secret-observability-token-must-detect-07","language":"en","script":"Latin","shape":"quoted-reply","risk":"critical","reason":"Locked broad observability-token variation.","text":"\u003e Wrapped message credential: obsap_24e8796d4eecfdb2b42f553e5491e7d0","known_identities":[],"targets":[{"id":"value","kind":"secret","start":30,"end":68,"value":"obsap_24e8796d4eecfdb2b42f553e5491e7d0","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-observability-token-must-detect-07","recipe":"observability-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["obsap_24e8796d4eecfdb2b42f553e5491e7d0"]},"customers":{"required_absent":["obsap_24e8796d4eecfdb2b42f553e5491e7d0"],"required_present":[]},"all":{"required_absent":["obsap_24e8796d4eecfdb2b42f553e5491e7d0"],"required_present":[]}},"tags":["broad-quality","secret-family:observability-token","variation:07"],"secret_fixture":{"family":"observability-token","role":"must-detect"}}, {"id":"broad-secret-observability-token-preserve-07","language":"en","script":"Latin","shape":"quoted-reply","risk":"preservation","reason":"Locked broad observability-token variation.","text":"\u003e Troubleshooting reference: c84d46e1ba62f5ba1abf7ed5f6da41ae","known_identities":[],"targets":[{"id":"value","kind":"secret","start":29,"end":61,"value":"c84d46e1ba62f5ba1abf7ed5f6da41ae","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-observability-token-preserve-07","recipe":"observability-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["c84d46e1ba62f5ba1abf7ed5f6da41ae"]},"customers":{"required_absent":[],"required_present":["c84d46e1ba62f5ba1abf7ed5f6da41ae"]},"all":{"required_absent":[],"required_present":["c84d46e1ba62f5ba1abf7ed5f6da41ae"]}},"tags":["broad-quality","secret-family:observability-token","variation:07"],"secret_fixture":{"family":"observability-token","role":"preserve"}}, - {"id":"broad-secret-observability-token-must-detect-08","language":"en","script":"Latin","shape":"log","risk":"critical","reason":"Locked broad observability-token variation.","text":"level=warn sample=8 message=\"Credential copied from a support reply: \" value=obsap_2e427063027cc\nf581fc310fec0564ede","known_identities":[],"targets":[{"id":"value","kind":"secret","start":77,"end":116,"value":"obsap_2e427063027cc\nf581fc310fec0564ede","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-observability-token-must-detect-08","recipe":"observability-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["obsap_2e427063027cc\nf581fc310fec0564ede"]},"customers":{"required_absent":["obsap_2e427063027cc\nf581fc310fec0564ede"],"required_present":[]},"all":{"required_absent":["obsap_2e427063027cc\nf581fc310fec0564ede"],"required_present":[]}},"tags":["broad-quality","secret-family:observability-token","variation:08"],"secret_fixture":{"family":"observability-token","role":"must-detect"}}, - {"id":"broad-secret-observability-token-preserve-08","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad observability-token variation.","text":"level=warn sample=8 message=\"Public configuration vocabulary: \" value=af0dabef0e4db37fe4af8cd3e05e55ed","known_identities":[],"targets":[{"id":"value","kind":"secret","start":70,"end":102,"value":"af0dabef0e4db37fe4af8cd3e05e55ed","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-observability-token-preserve-08","recipe":"observability-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["af0dabef0e4db37fe4af8cd3e05e55ed"]},"customers":{"required_absent":[],"required_present":["af0dabef0e4db37fe4af8cd3e05e55ed"]},"all":{"required_absent":[],"required_present":["af0dabef0e4db37fe4af8cd3e05e55ed"]}},"tags":["broad-quality","secret-family:observability-token","variation:08"],"secret_fixture":{"family":"observability-token","role":"preserve"}}, - {"id":"broad-secret-observability-token-must-detect-09","language":"en","script":"Latin","shape":"stack-trace","risk":"critical","reason":"Locked broad observability-token variation.","text":"Trace[9]: Authorization header value: obsap_3966841bbb943 c3490643f105f04cde2","known_identities":[],"targets":[{"id":"value","kind":"secret","start":38,"end":77,"value":"obsap_3966841bbb943 c3490643f105f04cde2","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-observability-token-must-detect-09","recipe":"observability-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["obsap_3966841bbb943 c3490643f105f04cde2"]},"customers":{"required_absent":["obsap_3966841bbb943 c3490643f105f04cde2"],"required_present":[]},"all":{"required_absent":["obsap_3966841bbb943 c3490643f105f04cde2"],"required_present":[]}},"tags":["broad-quality","secret-family:observability-token","variation:09"],"secret_fixture":{"family":"observability-token","role":"must-detect"}}, + {"id":"broad-secret-observability-token-must-detect-08","language":"en","script":"Latin","shape":"log","risk":"critical","reason":"Locked broad observability-token variation.","text":"level=warn sample=8 message=\"Credential copied from a support reply: \" credential=\"obsap_2e427063027ccf581fc310fec0564ede\"","known_identities":[],"targets":[{"id":"value","kind":"secret","start":83,"end":121,"value":"obsap_2e427063027ccf581fc310fec0564ede","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-observability-token-must-detect-08","recipe":"observability-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["obsap_2e427063027ccf581fc310fec0564ede"]},"customers":{"required_absent":["obsap_2e427063027ccf581fc310fec0564ede"],"required_present":[]},"all":{"required_absent":["obsap_2e427063027ccf581fc310fec0564ede"],"required_present":[]}},"tags":["broad-quality","secret-family:observability-token","variation:08"],"secret_fixture":{"family":"observability-token","role":"must-detect"}}, + {"id":"broad-secret-observability-token-preserve-08","language":"en","script":"Latin","shape":"log","risk":"preservation","reason":"Locked broad observability-token variation.","text":"level=warn sample=8 message=\"Public configuration vocabulary: \" credential=\"af0dabef0e4db37fe4af8cd3e05e55ed\"","known_identities":[],"targets":[{"id":"value","kind":"secret","start":76,"end":108,"value":"af0dabef0e4db37fe4af8cd3e05e55ed","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-observability-token-preserve-08","recipe":"observability-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["af0dabef0e4db37fe4af8cd3e05e55ed"]},"customers":{"required_absent":[],"required_present":["af0dabef0e4db37fe4af8cd3e05e55ed"]},"all":{"required_absent":[],"required_present":["af0dabef0e4db37fe4af8cd3e05e55ed"]}},"tags":["broad-quality","secret-family:observability-token","variation:08"],"secret_fixture":{"family":"observability-token","role":"preserve"}}, + {"id":"broad-secret-observability-token-must-detect-09","language":"en","script":"Latin","shape":"stack-trace","risk":"critical","reason":"Locked broad observability-token variation.","text":"Trace[9]: Authorization header value: obsap_3966841bbb943\tc3490643f105f04cde2","known_identities":[],"targets":[{"id":"value","kind":"secret","start":38,"end":77,"value":"obsap_3966841bbb943\tc3490643f105f04cde2","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-observability-token-must-detect-09","recipe":"observability-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["obsap_3966841bbb943\tc3490643f105f04cde2"]},"customers":{"required_absent":["obsap_3966841bbb943\tc3490643f105f04cde2","obsap_3966841bbb943","c3490643f105f04cde2"],"required_present":[]},"all":{"required_absent":["obsap_3966841bbb943\tc3490643f105f04cde2","obsap_3966841bbb943","c3490643f105f04cde2"],"required_present":[]}},"tags":["broad-quality","secret-family:observability-token","variation:09"],"secret_fixture":{"family":"observability-token","role":"must-detect"}}, {"id":"broad-secret-observability-token-preserve-09","language":"en","script":"Latin","shape":"stack-trace","risk":"preservation","reason":"Locked broad observability-token variation.","text":"Trace[9]: Documentation syntax: debf42b7bc17f14c4ca2dd5ab1fe67ba","known_identities":[],"targets":[{"id":"value","kind":"secret","start":32,"end":64,"value":"debf42b7bc17f14c4ca2dd5ab1fe67ba","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-observability-token-preserve-09","recipe":"observability-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["debf42b7bc17f14c4ca2dd5ab1fe67ba"]},"customers":{"required_absent":[],"required_present":["debf42b7bc17f14c4ca2dd5ab1fe67ba"]},"all":{"required_absent":[],"required_present":["debf42b7bc17f14c4ca2dd5ab1fe67ba"]}},"tags":["broad-quality","secret-family:observability-token","variation:09"],"secret_fixture":{"family":"observability-token","role":"preserve"}}, - {"id":"broad-secret-observability-token-must-detect-10","language":"en","script":"Latin","shape":"code","risk":"critical","reason":"Locked broad observability-token variation.","text":"fixture_10 := `Log field auth_value=obsap_d1083a576d5f9·7853b218b9f5d73a127`","known_identities":[],"targets":[{"id":"value","kind":"secret","start":36,"end":76,"value":"obsap_d1083a576d5f9·7853b218b9f5d73a127","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-observability-token-must-detect-10","recipe":"observability-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["obsap_d1083a576d5f9·7853b218b9f5d73a127"]},"customers":{"required_absent":["obsap_d1083a576d5f9·7853b218b9f5d73a127"],"required_present":[]},"all":{"required_absent":["obsap_d1083a576d5f9·7853b218b9f5d73a127"],"required_present":[]}},"tags":["broad-quality","secret-family:observability-token","variation:10"],"secret_fixture":{"family":"observability-token","role":"must-detect"}}, + {"id":"broad-secret-observability-token-must-detect-10","language":"en","script":"Latin","shape":"code","risk":"critical","reason":"Locked broad observability-token variation.","text":"fixture_10 := `Log field auth_value=obsap_d1083a576d5f9·7853b218b9f5d73a127`","known_identities":[],"targets":[{"id":"value","kind":"secret","start":36,"end":76,"value":"obsap_d1083a576d5f9·7853b218b9f5d73a127","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-observability-token-must-detect-10","recipe":"observability-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["obsap_d1083a576d5f9·7853b218b9f5d73a127"]},"customers":{"required_absent":["obsap_d1083a576d5f9·7853b218b9f5d73a127","obsap_d1083a576d5f9","7853b218b9f5d73a127"],"required_present":[]},"all":{"required_absent":["obsap_d1083a576d5f9·7853b218b9f5d73a127","obsap_d1083a576d5f9","7853b218b9f5d73a127"],"required_present":[]}},"tags":["broad-quality","secret-family:observability-token","variation:10"],"secret_fixture":{"family":"observability-token","role":"must-detect"}}, {"id":"broad-secret-observability-token-preserve-10","language":"en","script":"Latin","shape":"code","risk":"preservation","reason":"Locked broad observability-token variation.","text":"fixture_10 := `Public operational identifier: f50b3ef3ecd8e4ad6bc98e25c0ecbab1`","known_identities":[],"targets":[{"id":"value","kind":"secret","start":46,"end":78,"value":"f50b3ef3ecd8e4ad6bc98e25c0ecbab1","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-observability-token-preserve-10","recipe":"observability-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["f50b3ef3ecd8e4ad6bc98e25c0ecbab1"]},"customers":{"required_absent":[],"required_present":["f50b3ef3ecd8e4ad6bc98e25c0ecbab1"]},"all":{"required_absent":[],"required_present":["f50b3ef3ecd8e4ad6bc98e25c0ecbab1"]}},"tags":["broad-quality","secret-family:observability-token","variation:10"],"secret_fixture":{"family":"observability-token","role":"preserve"}}, - {"id":"broad-secret-observability-token-must-detect-11","language":"en","script":"Latin","shape":"signature","risk":"critical","reason":"Locked broad observability-token variation.","text":"--\nRotating this exposed value: obsap_4f1e1266742cb\u003cwbr\u003eb12576128778ec6eda2","known_identities":[],"targets":[{"id":"value","kind":"secret","start":32,"end":75,"value":"obsap_4f1e1266742cb\u003cwbr\u003eb12576128778ec6eda2","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-observability-token-must-detect-11","recipe":"observability-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["obsap_4f1e1266742cb\u003cwbr\u003eb12576128778ec6eda2"]},"customers":{"required_absent":["obsap_4f1e1266742cb\u003cwbr\u003eb12576128778ec6eda2"],"required_present":[]},"all":{"required_absent":["obsap_4f1e1266742cb\u003cwbr\u003eb12576128778ec6eda2"],"required_present":[]}},"tags":["broad-quality","secret-family:observability-token","variation:11"],"secret_fixture":{"family":"observability-token","role":"must-detect"}}, + {"id":"broad-secret-observability-token-must-detect-11","language":"en","script":"Latin","shape":"signature","risk":"critical","reason":"Locked broad observability-token variation.","text":"--\nRotating this exposed value: obsap_4f1e1266742cbb12576128778ec6eda2","known_identities":[],"targets":[{"id":"value","kind":"secret","start":32,"end":70,"value":"obsap_4f1e1266742cbb12576128778ec6eda2","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-observability-token-must-detect-11","recipe":"observability-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["obsap_4f1e1266742cbb12576128778ec6eda2"]},"customers":{"required_absent":["obsap_4f1e1266742cbb12576128778ec6eda2"],"required_present":[]},"all":{"required_absent":["obsap_4f1e1266742cbb12576128778ec6eda2"],"required_present":[]}},"tags":["broad-quality","secret-family:observability-token","variation:11"],"secret_fixture":{"family":"observability-token","role":"must-detect"}}, {"id":"broad-secret-observability-token-preserve-11","language":"en","script":"Latin","shape":"signature","risk":"preservation","reason":"Locked broad observability-token variation.","text":"--\nSchema field label: cb0ff1fc7ef9e73e50d1abc0bcbc26f1","known_identities":[],"targets":[{"id":"value","kind":"secret","start":23,"end":55,"value":"cb0ff1fc7ef9e73e50d1abc0bcbc26f1","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-observability-token-preserve-11","recipe":"observability-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["cb0ff1fc7ef9e73e50d1abc0bcbc26f1"]},"customers":{"required_absent":[],"required_present":["cb0ff1fc7ef9e73e50d1abc0bcbc26f1"]},"all":{"required_absent":[],"required_present":["cb0ff1fc7ef9e73e50d1abc0bcbc26f1"]}},"tags":["broad-quality","secret-family:observability-token","variation:11"],"secret_fixture":{"family":"observability-token","role":"preserve"}}, - {"id":"broad-secret-observability-token-must-detect-12","language":"en","script":"Latin","shape":"long-thread","risk":"critical","reason":"Locked broad observability-token variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Quoted credential follows: obsap_e57527a69b54c**df3dc8efd6811957992","known_identities":[],"targets":[{"id":"value","kind":"secret","start":507,"end":547,"value":"obsap_e57527a69b54c**df3dc8efd6811957992","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-observability-token-must-detect-12","recipe":"observability-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["obsap_e57527a69b54c**df3dc8efd6811957992"]},"customers":{"required_absent":["obsap_e57527a69b54c**df3dc8efd6811957992"],"required_present":[]},"all":{"required_absent":["obsap_e57527a69b54c**df3dc8efd6811957992"],"required_present":[]}},"tags":["broad-quality","secret-family:observability-token","variation:12"],"secret_fixture":{"family":"observability-token","role":"must-detect"}}, + {"id":"broad-secret-observability-token-must-detect-12","language":"en","script":"Latin","shape":"long-thread","risk":"critical","reason":"Locked broad observability-token variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Quoted credential follows: obsap_e57527a69b54cdf3dc8efd6811957992","known_identities":[],"targets":[{"id":"value","kind":"secret","start":507,"end":545,"value":"obsap_e57527a69b54cdf3dc8efd6811957992","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-observability-token-must-detect-12","recipe":"observability-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["obsap_e57527a69b54cdf3dc8efd6811957992"]},"customers":{"required_absent":["obsap_e57527a69b54cdf3dc8efd6811957992"],"required_present":[]},"all":{"required_absent":["obsap_e57527a69b54cdf3dc8efd6811957992"],"required_present":[]}},"tags":["broad-quality","secret-family:observability-token","variation:12"],"secret_fixture":{"family":"observability-token","role":"must-detect"}}, {"id":"broad-secret-observability-token-preserve-12","language":"en","script":"Latin","shape":"long-thread","risk":"preservation","reason":"Locked broad observability-token variation.","text":"Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Earlier public context. Non-confidential protocol token: ba2c15a2bb3aae4a3cb8fc23cf1d08ee","known_identities":[],"targets":[{"id":"value","kind":"secret","start":513,"end":545,"value":"ba2c15a2bb3aae4a3cb8fc23cf1d08ee","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-observability-token-preserve-12","recipe":"observability-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["ba2c15a2bb3aae4a3cb8fc23cf1d08ee"]},"customers":{"required_absent":[],"required_present":["ba2c15a2bb3aae4a3cb8fc23cf1d08ee"]},"all":{"required_absent":[],"required_present":["ba2c15a2bb3aae4a3cb8fc23cf1d08ee"]}},"tags":["broad-quality","secret-family:observability-token","variation:12"],"secret_fixture":{"family":"observability-token","role":"preserve"}}, - {"id":"broad-secret-observability-token-must-detect-13","language":"en","script":"Latin","shape":"command-payload","risk":"critical","reason":"Locked broad observability-token variation.","text":"--sample=13 --message=\"Configuration secret: \" --value=obsap_3022ad0c8f698a1a5d7872541f0f7c0c / obsap_3022ad0c8f698a1a5d7872541f0f7c0c","known_identities":[],"targets":[{"id":"value","kind":"secret","start":55,"end":134,"value":"obsap_3022ad0c8f698a1a5d7872541f0f7c0c / obsap_3022ad0c8f698a1a5d7872541f0f7c0c","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-observability-token-must-detect-13","recipe":"observability-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["obsap_3022ad0c8f698a1a5d7872541f0f7c0c / obsap_3022ad0c8f698a1a5d7872541f0f7c0c"]},"customers":{"required_absent":["obsap_3022ad0c8f698a1a5d7872541f0f7c0c / obsap_3022ad0c8f698a1a5d7872541f0f7c0c"],"required_present":[]},"all":{"required_absent":["obsap_3022ad0c8f698a1a5d7872541f0f7c0c / obsap_3022ad0c8f698a1a5d7872541f0f7c0c"],"required_present":[]}},"tags":["broad-quality","secret-family:observability-token","variation:13"],"secret_fixture":{"family":"observability-token","role":"must-detect"}}, - {"id":"broad-secret-observability-token-preserve-13","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad observability-token variation.","text":"--sample=13 --message=\"Release metadata: \" --value=ae3f08cf6c39ff8ce5e92aabff7bd9e2","known_identities":[],"targets":[{"id":"value","kind":"secret","start":51,"end":83,"value":"ae3f08cf6c39ff8ce5e92aabff7bd9e2","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-observability-token-preserve-13","recipe":"observability-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["ae3f08cf6c39ff8ce5e92aabff7bd9e2"]},"customers":{"required_absent":[],"required_present":["ae3f08cf6c39ff8ce5e92aabff7bd9e2"]},"all":{"required_absent":[],"required_present":["ae3f08cf6c39ff8ce5e92aabff7bd9e2"]}},"tags":["broad-quality","secret-family:observability-token","variation:13"],"secret_fixture":{"family":"observability-token","role":"preserve"}} + {"id":"broad-secret-observability-token-must-detect-13","language":"en","script":"Latin","shape":"command-payload","risk":"critical","reason":"Locked broad observability-token variation.","text":"--sample=13 --message=\"Configuration secret: \" --credential=\"obsap_3022ad0c8f698a1a5d7872541f0f7c0c\"","known_identities":[],"targets":[{"id":"value","kind":"secret","start":61,"end":99,"value":"obsap_3022ad0c8f698a1a5d7872541f0f7c0c","match":"covering","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-observability-token-must-detect-13","recipe":"observability-token","purpose":"must-detect"},"actions":{"off":"preserve","customers":"redact","all":"redact"}}],"outputs":{"off":{"required_absent":[],"required_present":["obsap_3022ad0c8f698a1a5d7872541f0f7c0c"]},"customers":{"required_absent":["obsap_3022ad0c8f698a1a5d7872541f0f7c0c"],"required_present":[]},"all":{"required_absent":["obsap_3022ad0c8f698a1a5d7872541f0f7c0c"],"required_present":[]}},"tags":["broad-quality","secret-family:observability-token","variation:13"],"secret_fixture":{"family":"observability-token","role":"must-detect"}}, + {"id":"broad-secret-observability-token-preserve-13","language":"en","script":"Latin","shape":"command-payload","risk":"preservation","reason":"Locked broad observability-token variation.","text":"--sample=13 --message=\"Release metadata: \" --credential=\"ae3f08cf6c39ff8ce5e92aabff7bd9e2\"","known_identities":[],"targets":[{"id":"value","kind":"secret","start":57,"end":89,"value":"ae3f08cf6c39ff8ce5e92aabff7bd9e2","match":"exact","synthetic":{"generator":"hs-privacy-structural","version":1,"seed":"broad-secret-observability-token-preserve-13","recipe":"observability-token","purpose":"preserve"},"actions":{"off":"preserve","customers":"preserve","all":"preserve"}}],"outputs":{"off":{"required_absent":[],"required_present":["ae3f08cf6c39ff8ce5e92aabff7bd9e2"]},"customers":{"required_absent":[],"required_present":["ae3f08cf6c39ff8ce5e92aabff7bd9e2"]},"all":{"required_absent":[],"required_present":["ae3f08cf6c39ff8ce5e92aabff7bd9e2"]}},"tags":["broad-quality","secret-family:observability-token","variation:13"],"secret_fixture":{"family":"observability-token","role":"preserve"}} ] } diff --git a/internal/pii/testdata/privacy-filter/v1/command-output-payloads.json b/internal/pii/testdata/privacy-filter/v1/command-output-payloads.json index 126253b..7cf3602 100644 --- a/internal/pii/testdata/privacy-filter/v1/command-output-payloads.json +++ b/internal/pii/testdata/privacy-filter/v1/command-output-payloads.json @@ -1926,6 +1926,159 @@ "synthetic-generator:v1" ] }, + { + "id": "command-secret-repeated", + "language": "en", + "script": "Latin", + "shape": "command-payload", + "risk": "critical", + "reason": "Two occurrences of one credential require two detector spans and one deduplicated leak sentinel.", + "text": "--authorization=\"Bearer cmdtok_nvI4kbFjvd_-YJO1FXKVSIN3KL8vzp6ytM3NsNzm\" --retry-authorization=\"Bearer cmdtok_nvI4kbFjvd_-YJO1FXKVSIN3KL8vzp6ytM3NsNzm\"", + "known_identities": [], + "targets": [ + { + "id": "secret-first", + "kind": "secret", + "start": 24, + "end": 71, + "value": "cmdtok_nvI4kbFjvd_-YJO1FXKVSIN3KL8vzp6ytM3NsNzm", + "match": "covering", + "synthetic": { + "generator": "hs-privacy-structural", + "version": 1, + "seed": "smoke-repeated-command-secret", + "recipe": "command-secret", + "purpose": "must-detect" + }, + "actions": { + "off": "preserve", + "customers": "redact", + "all": "redact" + } + }, + { + "id": "secret-second", + "kind": "secret", + "start": 103, + "end": 150, + "value": "cmdtok_nvI4kbFjvd_-YJO1FXKVSIN3KL8vzp6ytM3NsNzm", + "match": "covering", + "synthetic": { + "generator": "hs-privacy-structural", + "version": 1, + "seed": "smoke-repeated-command-secret", + "recipe": "command-secret", + "purpose": "must-detect" + }, + "actions": { + "off": "preserve", + "customers": "redact", + "all": "redact" + } + } + ], + "outputs": { + "off": { + "required_absent": [], + "required_present": [ + "cmdtok_nvI4kbFjvd_-YJO1FXKVSIN3KL8vzp6ytM3NsNzm" + ] + }, + "customers": { + "required_absent": [ + "cmdtok_nvI4kbFjvd_-YJO1FXKVSIN3KL8vzp6ytM3NsNzm" + ], + "required_present": [] + }, + "all": { + "required_absent": [ + "cmdtok_nvI4kbFjvd_-YJO1FXKVSIN3KL8vzp6ytM3NsNzm" + ], + "required_present": [] + } + }, + "tags": [ + "command-output", + "adversarial", + "repeated-secret", + "synthetic-generator:v1" + ] + }, + { + "id": "command-secret-overlapping-account", + "language": "en", + "script": "Latin", + "shape": "log", + "risk": "critical", + "reason": "An account-shaped fragment inside a secret must not survive partial redaction.", + "text": "level=error credential=\"postgresql://svc_d04a8mlc:P9!tjVhrhyR8TynSwEP5S@192.0.2.42:5432/support\"", + "known_identities": [], + "targets": [ + { + "id": "secret", + "kind": "secret", + "start": 24, + "end": 95, + "value": "postgresql://svc_d04a8mlc:P9!tjVhrhyR8TynSwEP5S@192.0.2.42:5432/support", + "match": "covering", + "synthetic": { + "generator": "hs-privacy-structural", + "version": 1, + "seed": "smoke-overlapping-database-secret", + "recipe": "database-connection", + "purpose": "must-detect" + }, + "actions": { + "off": "preserve", + "customers": "redact", + "all": "redact" + } + }, + { + "id": "account-fragment", + "kind": "account_number", + "start": 37, + "end": 49, + "value": "svc_d04a8mlc", + "match": "exact", + "actions": { + "off": "preserve", + "customers": "redact", + "all": "redact" + } + } + ], + "outputs": { + "off": { + "required_absent": [], + "required_present": [ + "postgresql://svc_d04a8mlc:P9!tjVhrhyR8TynSwEP5S@192.0.2.42:5432/support", + "svc_d04a8mlc" + ] + }, + "customers": { + "required_absent": [ + "postgresql://svc_d04a8mlc:P9!tjVhrhyR8TynSwEP5S@192.0.2.42:5432/support", + "svc_d04a8mlc" + ], + "required_present": [] + }, + "all": { + "required_absent": [ + "postgresql://svc_d04a8mlc:P9!tjVhrhyR8TynSwEP5S@192.0.2.42:5432/support", + "svc_d04a8mlc" + ], + "required_present": [] + } + }, + "tags": [ + "command-output", + "adversarial", + "overlapping-secret", + "fragment-sentinel", + "synthetic-generator:v1" + ] + }, { "id": "command-private-email", "language": "en", diff --git a/internal/pii/testdata/privacy-filter/v1/people-third-parties.json b/internal/pii/testdata/privacy-filter/v1/people-third-parties.json index 68fd4f7..ec7b785 100644 --- a/internal/pii/testdata/privacy-filter/v1/people-third-parties.json +++ b/internal/pii/testdata/privacy-filter/v1/people-third-parties.json @@ -320,6 +320,107 @@ "false-positive", "preservation" ] + }, + { + "id": "person-developer-owned-secret", + "language": "en", + "script": "Latin", + "shape": "prose", + "risk": "critical", + "reason": "A customer mentioning an unknown developer and that developer's credential must protect both identities and the secret.", + "text": "Customer Alice Fixture said developer Rowan Exampleton pasted repository credential scm_R3tydKFEWU7MSUONQxDlNA3YA3NHsxD0OlHC.", + "known_identities": [ + { + "id": "customer-alice", + "type": "customer", + "first": "Alice", + "last": "Fixture", + "email": "alice.fixture@example.invalid", + "phone": "" + } + ], + "targets": [ + { + "id": "customer", + "kind": "person", + "start": 9, + "end": 22, + "value": "Alice Fixture", + "match": "exact", + "identity_id": "customer-alice", + "actions": { + "off": "preserve", + "customers": "redact", + "all": "redact" + } + }, + { + "id": "developer", + "kind": "person", + "start": 38, + "end": 54, + "value": "Rowan Exampleton", + "match": "exact", + "actions": { + "off": "preserve", + "customers": "redact", + "all": "redact" + } + }, + { + "id": "developer-secret", + "kind": "secret", + "start": 84, + "end": 124, + "value": "scm_R3tydKFEWU7MSUONQxDlNA3YA3NHsxD0OlHC", + "match": "covering", + "synthetic": { + "generator": "hs-privacy-structural", + "version": 1, + "seed": "smoke-developer-owned-secret", + "recipe": "source-control-token", + "purpose": "must-detect" + }, + "actions": { + "off": "preserve", + "customers": "redact", + "all": "redact" + } + } + ], + "outputs": { + "off": { + "required_absent": [], + "required_present": [ + "Alice Fixture", + "Rowan Exampleton", + "scm_R3tydKFEWU7MSUONQxDlNA3YA3NHsxD0OlHC" + ] + }, + "customers": { + "required_absent": [ + "Alice Fixture", + "Rowan Exampleton", + "scm_R3tydKFEWU7MSUONQxDlNA3YA3NHsxD0OlHC" + ], + "required_present": [] + }, + "all": { + "required_absent": [ + "Alice Fixture", + "Rowan Exampleton", + "scm_R3tydKFEWU7MSUONQxDlNA3YA3NHsxD0OlHC" + ], + "required_present": [] + } + }, + "tags": [ + "people", + "third-party", + "developer-owned-secret", + "adversarial", + "synthetic-generator:v1" + ] } ] } diff --git a/internal/pii/testdata/privacy-filter/v1/secrets.json b/internal/pii/testdata/privacy-filter/v1/secrets.json index c08482b..86c477f 100644 --- a/internal/pii/testdata/privacy-filter/v1/secrets.json +++ b/internal/pii/testdata/privacy-filter/v1/secrets.json @@ -253,14 +253,14 @@ "shape": "yaml", "risk": "critical", "reason": "Offline-generated oauth-token must-detect contract fixture.", - "text": "message_0: The authorization value is oat2_LurAWlUCNVD15a3I8ET0ivurK7Ozj1jEA-m48v_MZGoOsogqc7i0", + "text": "message_0: \"The authorization value is oat2_LurAWlUCNVD15a3I8ET0ivurK7Ozj1jEA-m48v_MZGoOsogqc7i0\"", "known_identities": [], "targets": [ { "id": "secret-value", "kind": "secret", - "start": 38, - "end": 95, + "start": 39, + "end": 96, "value": "oat2_LurAWlUCNVD15a3I8ET0ivurK7Ozj1jEA-m48v_MZGoOsogqc7i0", "match": "covering", "synthetic": { @@ -314,14 +314,14 @@ "shape": "yaml", "risk": "preservation", "reason": "Offline-generated oauth-token preserve contract fixture.", - "text": "message_0: The authorization scheme is Bearer", + "text": "message_0: \"The authorization scheme is Bearer\"", "known_identities": [], "targets": [ { "id": "secret-value", "kind": "secret", - "start": 39, - "end": 45, + "start": 40, + "end": 46, "value": "Bearer", "match": "exact", "synthetic": { @@ -497,14 +497,14 @@ "shape": "log", "risk": "critical", "reason": "Offline-generated jwt must-detect contract fixture.", - "text": "level=warn sample=0 message=\"The authentication token was \" value=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.xH4s6wx_QBE48aJcxTCDixWmuYtBDm6ExlUEssyquX3", + "text": "level=warn sample=0 message=\"The authentication token was \" credential=\"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.xH4s6wx_QBE48aJcxTCDixWmuYtBDm6ExlUEssyquX3\"", "known_identities": [], "targets": [ { "id": "secret-value", "kind": "secret", - "start": 66, - "end": 209, + "start": 72, + "end": 215, "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvZmZsaW5lLWZpeHR1cmUiLCJhdWQiOiJwcml2YWN5LWV2YWwifQ.xH4s6wx_QBE48aJcxTCDixWmuYtBDm6ExlUEssyquX3", "match": "covering", "synthetic": { @@ -558,14 +558,14 @@ "shape": "log", "risk": "preservation", "reason": "Offline-generated jwt preserve contract fixture.", - "text": "level=warn sample=0 message=\"The token grammar is \" value=header.payload.signature", + "text": "level=warn sample=0 message=\"The token grammar is \" credential=\"header.payload.signature\"", "known_identities": [], "targets": [ { "id": "secret-value", "kind": "secret", - "start": 58, - "end": 82, + "start": 64, + "end": 88, "value": "header.payload.signature", "match": "exact", "synthetic": { @@ -863,14 +863,14 @@ "shape": "url", "risk": "critical", "reason": "Offline-generated database-connection must-detect contract fixture.", - "text": "endpoint=https://192.0.2.10/0 ; The service connection is postgresql://svc_vyzo3lcg:P9!xTwpCu95QsuXl2QKw6@192.0.2.42:5432/support", + "text": "endpoint=https://192.0.2.10/0?credential=postgresql://svc_vyzo3lcg:P9!xTwpCu95QsuXl2QKw6@192.0.2.42:5432/support\u0026note=The+service+connection+is+", "known_identities": [], "targets": [ { "id": "secret-value", "kind": "secret", - "start": 58, - "end": 129, + "start": 41, + "end": 112, "value": "postgresql://svc_vyzo3lcg:P9!xTwpCu95QsuXl2QKw6@192.0.2.42:5432/support", "match": "covering", "synthetic": { @@ -924,14 +924,14 @@ "shape": "url", "risk": "preservation", "reason": "Offline-generated database-connection preserve contract fixture.", - "text": "endpoint=https://192.0.2.10/0 ; The public service endpoint is postgresql://192.0.2.42:5432/support", + "text": "endpoint=https://192.0.2.10/0?credential=postgresql://192.0.2.42:5432/support\u0026note=The+public+service+endpoint+is+", "known_identities": [], "targets": [ { "id": "secret-value", "kind": "secret", - "start": 63, - "end": 99, + "start": 41, + "end": 77, "value": "postgresql://192.0.2.42:5432/support", "match": "exact", "synthetic": { @@ -1107,14 +1107,14 @@ "shape": "html", "risk": "critical", "reason": "Offline-generated webhook-secret must-detect contract fixture.", - "text": "\u003cp\u003eThe webhook signing value is whsig_MQFOHu3wSwj76H6PALRcOgyeNHUtjdtY9kHIWffl\u003c/p\u003e", + "text": "\u003cp\u003eThe webhook signing value is \u003ccode\u003ewhsig_MQFOHu3wSwj76H6PALRcOgyeNHUtjdtY9kHIWffl\u003c/code\u003e\u003c/p\u003e", "known_identities": [], "targets": [ { "id": "secret-value", "kind": "secret", - "start": 32, - "end": 78, + "start": 38, + "end": 84, "value": "whsig_MQFOHu3wSwj76H6PALRcOgyeNHUtjdtY9kHIWffl", "match": "covering", "synthetic": { @@ -1168,14 +1168,14 @@ "shape": "html", "risk": "preservation", "reason": "Offline-generated webhook-secret preserve contract fixture.", - "text": "\u003cp\u003eThe webhook event name is event.delivery.created\u003c/p\u003e", + "text": "\u003cp\u003eThe webhook event name is \u003ccode\u003eevent.delivery.created\u003c/code\u003e\u003c/p\u003e", "known_identities": [], "targets": [ { "id": "secret-value", "kind": "secret", - "start": 29, - "end": 51, + "start": 35, + "end": 57, "value": "event.delivery.created", "match": "exact", "synthetic": { @@ -1351,14 +1351,14 @@ "shape": "markdown", "risk": "critical", "reason": "Offline-generated source-control-token must-detect contract fixture.", - "text": "**The repository token is scm_BUDRfbz1QdqXUsH9k9aI09hidbPwDebER7IY**", + "text": "The repository token is `scm_BUDRfbz1QdqXUsH9k9aI09hidbPwDebER7IY`", "known_identities": [], "targets": [ { "id": "secret-value", "kind": "secret", - "start": 26, - "end": 66, + "start": 25, + "end": 65, "value": "scm_BUDRfbz1QdqXUsH9k9aI09hidbPwDebER7IY", "match": "covering", "synthetic": { @@ -1412,14 +1412,14 @@ "shape": "markdown", "risk": "preservation", "reason": "Offline-generated source-control-token preserve contract fixture.", - "text": "**The public commit identifier is ffef28dfdab5ccaa68d66f9de69b10c2abeaf14e**", + "text": "The public commit identifier is `ffef28dfdab5ccaa68d66f9de69b10c2abeaf14e`", "known_identities": [], "targets": [ { "id": "secret-value", "kind": "secret", - "start": 34, - "end": 74, + "start": 33, + "end": 73, "value": "ffef28dfdab5ccaa68d66f9de69b10c2abeaf14e", "match": "exact", "synthetic": { @@ -1595,14 +1595,14 @@ "shape": "yaml", "risk": "critical", "reason": "Offline-generated observability-token must-detect contract fixture.", - "text": "message_0: The telemetry credential is obsap_d098e410bb0bd0200b03528f76af2854", + "text": "message_0: \"The telemetry credential is obsap_d098e410bb0bd0200b03528f76af2854\"", "known_identities": [], "targets": [ { "id": "secret-value", "kind": "secret", - "start": 39, - "end": 77, + "start": 40, + "end": 78, "value": "obsap_d098e410bb0bd0200b03528f76af2854", "match": "covering", "synthetic": { @@ -1656,14 +1656,14 @@ "shape": "yaml", "risk": "preservation", "reason": "Offline-generated observability-token preserve contract fixture.", - "text": "message_0: The public trace identifier is a84c45af7b93cb5beab0fa15b27f1ba9", + "text": "message_0: \"The public trace identifier is a84c45af7b93cb5beab0fa15b27f1ba9\"", "known_identities": [], "targets": [ { "id": "secret-value", "kind": "secret", - "start": 42, - "end": 74, + "start": 43, + "end": 75, "value": "a84c45af7b93cb5beab0fa15b27f1ba9", "match": "exact", "synthetic": { From 59655c527b47c15564388c42914c1ac567355e07 Mon Sep 17 00:00:00 2001 From: Ross Morsali Date: Sat, 18 Jul 2026 23:06:47 +0200 Subject: [PATCH 28/34] test: forbid provider-issued synthetic signatures --- DEVELOPMENT.md | 6 ++++++ internal/pii/evaluation/broad_test.go | 14 ++++++++++++++ 2 files changed, 20 insertions(+) diff --git a/DEVELOPMENT.md b/DEVELOPMENT.md index b895909..32ea522 100644 --- a/DEVELOPMENT.md +++ b/DEVELOPMENT.md @@ -219,6 +219,12 @@ Repeated values share one leak sentinel, while split and overlapping values add fragment sentinels so partial redaction still fails the affected output and metric slices. +Generated secret families use structurally realistic, provider-neutral +namespaces and a non-issuable secret-key envelope. Exact production-provider +prefixes and real private-key PEM labels are forbidden by hermetic tests so +GitHub push protection remains an independent supply-chain control rather than +requiring fixture bypasses. + G0 boundary tags freeze fixture taxonomy and generic `RedactText` expectations; they are not evidence that each table, JSON, CSV, MCP, error, or diagnostic renderer was independently integrated. Those concrete presentation-boundary diff --git a/internal/pii/evaluation/broad_test.go b/internal/pii/evaluation/broad_test.go index e811229..132e27d 100644 --- a/internal/pii/evaluation/broad_test.go +++ b/internal/pii/evaluation/broad_test.go @@ -51,6 +51,15 @@ func TestBroadQualityCorpusHasStatisticallyMeaningfulLockedDenominators(t *testi } func TestSyntheticSecretsMatchOutOfBandProvenanceWithoutMarkerDrivenValues(t *testing.T) { + forbiddenProviderSignatures := []string{ + "ya29" + ".", + "whsec" + "_", + "AK" + "IA", + "ghp" + "_", + "rk_" + "live_", + "ddapi" + "_", + "-----BEGIN PRIVATE" + " KEY-----", + } corpora := make([][]Case, 0, 2) smoke, err := LoadCorpusDir(corpusDir(t)) if err != nil { @@ -75,6 +84,11 @@ func TestSyntheticSecretsMatchOutOfBandProvenanceWithoutMarkerDrivenValues(t *te if generationErr != nil || generated != target.Value { t.Fatalf("case %q secret target %q provenance mismatch: %v", fixture.ID, target.ID, generationErr) } + for _, signature := range forbiddenProviderSignatures { + if strings.Contains(target.Value, signature) { + t.Fatalf("case %q evaluated credential uses production-provider signature %q; use the provider-neutral synthetic namespace", fixture.ID, signature) + } + } if target.Synthetic.Purpose == "must-detect" { lower := strings.ToLower(target.Value) for _, marker := range []string{"example", "not-a-real", "not_a_real", "invalid", "placeholder", "synthetic"} { From c836a16dea9d87bfb5cb076dbc8a0d1e6e0275cd Mon Sep 17 00:00:00 2001 From: Ross Morsali Date: Sat, 18 Jul 2026 23:12:05 +0200 Subject: [PATCH 29/34] fix: make Privacy Filter G0 CI portable --- .gitattributes | 1 + internal/cmd/cmd_test.go | 1 + internal/cmd/inbox_mock_client_test.go | 1 + internal/cmd/root.go | 6 ++++-- internal/pii/evaluation/broad_test.go | 8 ++++++++ internal/pii/evaluation/docker_contract_test.go | 2 +- scripts/privacy-filter-g0-baseline.sh | 2 +- 7 files changed, 17 insertions(+), 4 deletions(-) create mode 100644 .gitattributes diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..3321182 --- /dev/null +++ b/.gitattributes @@ -0,0 +1 @@ +internal/pii/testdata/privacy-filter/** text eol=lf diff --git a/internal/cmd/cmd_test.go b/internal/cmd/cmd_test.go index e47e9ac..5243d3a 100644 --- a/internal/cmd/cmd_test.go +++ b/internal/cmd/cmd_test.go @@ -159,6 +159,7 @@ func saveRestore(t *testing.T) { origInvocationProtectedValues := append([]string(nil), invocationProtectedValues...) selfupdate.DirOverride = t.TempDir() + versionStr = "dev" resetPIIInvocation() t.Cleanup(func() { diff --git a/internal/cmd/inbox_mock_client_test.go b/internal/cmd/inbox_mock_client_test.go index 012da64..094f760 100644 --- a/internal/cmd/inbox_mock_client_test.go +++ b/internal/cmd/inbox_mock_client_test.go @@ -330,6 +330,7 @@ func setupTest(mock *mockClient) *bytes.Buffer { page = 1 perPage = 25 debug = false + versionStr = "dev" return buf } diff --git a/internal/cmd/root.go b/internal/cmd/root.go index f4cd76a..d42db38 100644 --- a/internal/cmd/root.go +++ b/internal/cmd/root.go @@ -211,9 +211,11 @@ func startUpdateCheck(cmd *cobra.Command) { if !selfupdate.ShouldCheck(versionStr) { return } - updateResult = make(chan string, 1) + currentVersion := versionStr + result := make(chan string, 1) + updateResult = result go func() { - updateResult <- selfupdate.CheckForUpdate(versionStr) + result <- selfupdate.CheckForUpdate(currentVersion) }() } diff --git a/internal/pii/evaluation/broad_test.go b/internal/pii/evaluation/broad_test.go index 132e27d..f917557 100644 --- a/internal/pii/evaluation/broad_test.go +++ b/internal/pii/evaluation/broad_test.go @@ -19,6 +19,14 @@ func broadCorpusDir(t *testing.T) string { return filepath.Join("..", "testdata", "privacy-filter", "broad", "v1") } +func TestPrivacyFilterContractFilesUseCrossPlatformStableLineEndings(t *testing.T) { + repoRoot := filepath.Join("..", "..", "..") + attributes := readContractFile(t, filepath.Join(repoRoot, ".gitattributes")) + if !strings.Contains(attributes, "internal/pii/testdata/privacy-filter/** text eol=lf") { + t.Fatal("Privacy Filter fixture bytes must be checked out with LF line endings on every platform") + } +} + func TestBroadQualityCorpusHasStatisticallyMeaningfulLockedDenominators(t *testing.T) { corpus, err := LoadBroadCorpusDir(broadCorpusDir(t)) if err != nil { diff --git a/internal/pii/evaluation/docker_contract_test.go b/internal/pii/evaluation/docker_contract_test.go index cd74fa1..490d185 100644 --- a/internal/pii/evaluation/docker_contract_test.go +++ b/internal/pii/evaluation/docker_contract_test.go @@ -21,7 +21,7 @@ func TestG0DockerBaselineKeepsWeightsReadOnlyAndInferenceOffline(t *testing.T) { for _, required := range []string{ "--network none", "dst=/models/distilbert,readonly", "HS_PII_G0_EVIDENCE_AUTHORITY", "HS_PII_G0_AUTHORITATIVE", "HS_PII_G0_ARTIFACTS_JSON", "sha256sum", "GITHUB_ACTIONS", "RUNNER_NAME", - "ARCHIVE_NAMES", "! -L", + "ARCHIVE_NAMES", "-e '/^$/d'", "! -L", } { if !strings.Contains(script, required) { t.Fatalf("G0 baseline script is missing required control %q", required) diff --git a/scripts/privacy-filter-g0-baseline.sh b/scripts/privacy-filter-g0-baseline.sh index 346fb3e..4277cc6 100755 --- a/scripts/privacy-filter-g0-baseline.sh +++ b/scripts/privacy-filter-g0-baseline.sh @@ -46,7 +46,7 @@ fi STAGING="$(mktemp -d "${TMPDIR:-/tmp}/hs-cli-pii-g0-model.XXXXXX")" trap 'rm -rf "$STAGING"' EXIT -ARCHIVE_NAMES="$(tar -tzf "$ARCHIVE_PATH" | sed 's#^\./##' | LC_ALL=C sort)" +ARCHIVE_NAMES="$(tar -tzf "$ARCHIVE_PATH" | sed -e 's#^\./##' -e '/^$/d' | LC_ALL=C sort)" while IFS= read -r name; do [[ -n "$name" && "$name" != */* && "$name" != "." && "$name" != ".." ]] || { echo "G0 bundle contains an unsafe archive path" >&2 From 7fc35487b8c5208b793a1e538d4dc66366e9fb73 Mon Sep 17 00:00:00 2001 From: Ross Morsali Date: Sat, 18 Jul 2026 23:14:54 +0200 Subject: [PATCH 30/34] fix: allow G0 test execution in locked container --- internal/pii/evaluation/docker_contract_test.go | 2 +- scripts/privacy-filter-g0-baseline.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/internal/pii/evaluation/docker_contract_test.go b/internal/pii/evaluation/docker_contract_test.go index 490d185..98dd764 100644 --- a/internal/pii/evaluation/docker_contract_test.go +++ b/internal/pii/evaluation/docker_contract_test.go @@ -19,7 +19,7 @@ func TestG0DockerBaselineKeepsWeightsReadOnlyAndInferenceOffline(t *testing.T) { script := readContractFile(t, filepath.Join(repoRoot, "scripts", "privacy-filter-g0-baseline.sh")) for _, required := range []string{ - "--network none", "dst=/models/distilbert,readonly", "HS_PII_G0_EVIDENCE_AUTHORITY", + "--network none", "--tmpfs /tmp:rw,exec,nosuid,nodev,size=2g", "dst=/models/distilbert,readonly", "HS_PII_G0_EVIDENCE_AUTHORITY", "HS_PII_G0_AUTHORITATIVE", "HS_PII_G0_ARTIFACTS_JSON", "sha256sum", "GITHUB_ACTIONS", "RUNNER_NAME", "ARCHIVE_NAMES", "-e '/^$/d'", "! -L", } { diff --git a/scripts/privacy-filter-g0-baseline.sh b/scripts/privacy-filter-g0-baseline.sh index 4277cc6..09c4c2f 100755 --- a/scripts/privacy-filter-g0-baseline.sh +++ b/scripts/privacy-filter-g0-baseline.sh @@ -97,7 +97,7 @@ docker run --rm \ --cap-drop ALL \ --security-opt no-new-privileges \ --pids-limit 512 \ - --tmpfs /tmp:rw,nosuid,nodev,size=2g \ + --tmpfs /tmp:rw,exec,nosuid,nodev,size=2g \ --mount "type=bind,src=${ROOT_DIR},dst=/workspace,readonly" \ --mount "type=bind,src=${STAGING},dst=/models/distilbert,readonly" \ --mount "type=bind,src=${REPORT_DIR},dst=/reports" \ From 8f00444420f196e62429a5fe80c75177bc05087c Mon Sep 17 00:00:00 2001 From: Ross Morsali Date: Sat, 18 Jul 2026 23:18:40 +0200 Subject: [PATCH 31/34] fix: serialize trusted model promotion --- internal/pii/ner/installer.go | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/internal/pii/ner/installer.go b/internal/pii/ner/installer.go index 6203e2f..47eb3c8 100644 --- a/internal/pii/ner/installer.go +++ b/internal/pii/ner/installer.go @@ -13,6 +13,7 @@ import ( "path" "path/filepath" "strings" + "sync" "time" ) @@ -23,6 +24,8 @@ const ( staleStagingAge = 24 * time.Hour ) +var trustedInstallPromotionMu sync.Mutex + type InstallLimits struct { OperationTimeout time.Duration } @@ -403,6 +406,9 @@ func extractTrustedFile(reader io.Reader, destination string, expected FileManif } func promoteTrustedInstall(contentDir, finalDir, cacheRoot string, platform Platform, manifest TrustedManifest) error { + trustedInstallPromotionMu.Lock() + defer trustedInstallPromotionMu.Unlock() + if status := statusAtWithManifest(cacheRoot, platform, manifest); status.State == ModelReady { return nil } @@ -413,6 +419,12 @@ func promoteTrustedInstall(contentDir, finalDir, cacheRoot string, platform Plat var replaced string if _, err := os.Lstat(finalDir); err == nil { + // A different process may have completed the same content-addressed + // promotion after the first status check. Never move a trusted install + // out of place merely to replace it with identical content. + if status := statusAtWithManifest(cacheRoot, platform, manifest); status.State == ModelReady { + return nil + } placeholder, tempErr := os.MkdirTemp(parent, ".replaced-") if tempErr != nil { return tempErr From 25074aa37ccb8ec74c0a70ba69139f47c1fafab1 Mon Sep 17 00:00:00 2001 From: Ross Morsali Date: Sat, 18 Jul 2026 23:22:55 +0200 Subject: [PATCH 32/34] fix: hash report schema as exact bytes --- internal/pii/evaluation/corpus.go | 6 +++++- internal/pii/evaluation/metrics_test.go | 13 ++++--------- 2 files changed, 9 insertions(+), 10 deletions(-) diff --git a/internal/pii/evaluation/corpus.go b/internal/pii/evaluation/corpus.go index e06c0b9..c7f34bb 100644 --- a/internal/pii/evaluation/corpus.go +++ b/internal/pii/evaluation/corpus.go @@ -683,7 +683,11 @@ func HasTag(fixture Case, wanted string) bool { } func HashFile(path string) (string, error) { - return HashFiles(path) + raw, err := os.ReadFile(path) + if err != nil { + return "", err + } + return hashBytes(raw), nil } func HashFiles(paths ...string) (string, error) { diff --git a/internal/pii/evaluation/metrics_test.go b/internal/pii/evaluation/metrics_test.go index dc323bc..65a4e07 100644 --- a/internal/pii/evaluation/metrics_test.go +++ b/internal/pii/evaluation/metrics_test.go @@ -1,8 +1,6 @@ package evaluation import ( - "crypto/sha256" - "encoding/hex" "encoding/json" "os" "path/filepath" @@ -11,12 +9,6 @@ import ( "testing" ) -func mustSHA256(t *testing.T, raw []byte) string { - t.Helper() - hash := sha256.Sum256(raw) - return hex.EncodeToString(hash[:]) -} - func TestDeterministicMetricAndGateEvaluator(t *testing.T) { redactText := "private-value" preserveText := "public-value" @@ -84,7 +76,10 @@ func TestDeterministicMetricAndGateEvaluator(t *testing.T) { if err != nil { t.Fatal(err) } - report.ReportSchemaSHA256 = mustSHA256(t, schemaRaw) + report.ReportSchemaSHA256, err = HashFile(filepath.Join(corpusDir(t), "report-schema.json")) + if err != nil { + t.Fatal(err) + } if err := ValidateReportAgainstSchema(schemaRaw, report); err != nil { t.Fatalf("metric report does not satisfy its frozen schema: %v", err) } From a1b5249923eb48d9694dbf992b65f7f2538279ee Mon Sep 17 00:00:00 2001 From: Ross Morsali Date: Sat, 18 Jul 2026 23:27:23 +0200 Subject: [PATCH 33/34] fix: validate fractional evaluation metrics --- internal/pii/evaluation/json_schema.go | 26 ++++++++++++++----- internal/pii/evaluation/json_schema_test.go | 22 ++++++++++++++++ .../privacy-filter/v1/report-schema.json | 26 +++++++++---------- 3 files changed, 55 insertions(+), 19 deletions(-) create mode 100644 internal/pii/evaluation/json_schema_test.go diff --git a/internal/pii/evaluation/json_schema.go b/internal/pii/evaluation/json_schema.go index 236dae5..e2ee4c9 100644 --- a/internal/pii/evaluation/json_schema.go +++ b/internal/pii/evaluation/json_schema.go @@ -5,6 +5,7 @@ import ( "encoding/json" "fmt" "io" + "math" "reflect" "regexp" "strconv" @@ -41,7 +42,7 @@ type schemaValidator struct { var supportedSchemaKeywords = stringSet( "$schema", "$id", "$defs", "$ref", "title", "description", "type", "additionalProperties", - "required", "properties", "const", "enum", "pattern", "minLength", "minimum", "minItems", "items", "uniqueItems", + "required", "properties", "const", "enum", "pattern", "minLength", "minimum", "maximum", "minItems", "items", "uniqueItems", ) func (v schemaValidator) validate(schema map[string]any, value any, path string) error { @@ -187,11 +188,15 @@ func validateSchemaNumber(schema map[string]any, value json.Number, path string) return fmt.Errorf("%s: number is not an integer", path) } } - if minimum, exists := schemaInteger(schema["minimum"]); exists { - integer, err := value.Int64() - if err != nil || integer < int64(minimum) { - return fmt.Errorf("%s: number is below minimum %d", path, minimum) - } + number, err := value.Float64() + if err != nil || math.IsNaN(number) || math.IsInf(number, 0) { + return fmt.Errorf("%s: number is invalid", path) + } + if minimum, exists := schemaNumber(schema["minimum"]); exists && number < minimum { + return fmt.Errorf("%s: number is below minimum %g", path, minimum) + } + if maximum, exists := schemaNumber(schema["maximum"]); exists && number > maximum { + return fmt.Errorf("%s: number is above maximum %g", path, maximum) } return nil } @@ -291,3 +296,12 @@ func schemaInteger(value any) (int, bool) { parsed, err := strconv.Atoi(string(number)) return parsed, err == nil } + +func schemaNumber(value any) (float64, bool) { + number, ok := value.(json.Number) + if !ok { + return 0, false + } + parsed, err := number.Float64() + return parsed, err == nil && !math.IsNaN(parsed) && !math.IsInf(parsed, 0) +} diff --git a/internal/pii/evaluation/json_schema_test.go b/internal/pii/evaluation/json_schema_test.go new file mode 100644 index 0000000..a6ce03f --- /dev/null +++ b/internal/pii/evaluation/json_schema_test.go @@ -0,0 +1,22 @@ +package evaluation + +import "testing" + +func TestJSONSchemaNumberBoundsAcceptFractionalMetrics(t *testing.T) { + schema := []byte(`{"type":"number","minimum":0,"maximum":1}`) + if err := ValidateJSONDocument(schema, []byte(`0.375`)); err != nil { + t.Fatalf("fractional metric inside bounds was rejected: %v", err) + } + for _, value := range []string{`-0.001`, `1.001`} { + if err := ValidateJSONDocument(schema, []byte(value)); err == nil { + t.Fatalf("out-of-range metric %s was accepted", value) + } + } +} + +func TestJSONSchemaIntegerStillRejectsFractionalValues(t *testing.T) { + schema := []byte(`{"type":"integer","minimum":0}`) + if err := ValidateJSONDocument(schema, []byte(`0.5`)); err == nil { + t.Fatal("fractional value was accepted by an integer schema") + } +} diff --git a/internal/pii/testdata/privacy-filter/v1/report-schema.json b/internal/pii/testdata/privacy-filter/v1/report-schema.json index f9efdb5..f8872c0 100644 --- a/internal/pii/testdata/privacy-filter/v1/report-schema.json +++ b/internal/pii/testdata/privacy-filter/v1/report-schema.json @@ -59,10 +59,10 @@ "true_positive": {"type": "integer", "minimum": 0}, "false_positive": {"type": "integer", "minimum": 0}, "false_negative": {"type": "integer", "minimum": 0}, - "precision": {"type": "number", "minimum": 0}, - "recall": {"type": "number", "minimum": 0}, - "f1": {"type": "number", "minimum": 0}, - "f2": {"type": "number", "minimum": 0} + "precision": {"type": "number", "minimum": 0, "maximum": 1}, + "recall": {"type": "number", "minimum": 0, "maximum": 1}, + "f1": {"type": "number", "minimum": 0, "maximum": 1}, + "f2": {"type": "number", "minimum": 0, "maximum": 1} } }, "weightedMetric": { @@ -72,9 +72,9 @@ "true_positive_weight": {"type": "integer", "minimum": 0}, "false_positive_weight": {"type": "integer", "minimum": 0}, "false_negative_weight": {"type": "integer", "minimum": 0}, - "precision": {"type": "number", "minimum": 0}, - "recall": {"type": "number", "minimum": 0}, - "f2": {"type": "number", "minimum": 0} + "precision": {"type": "number", "minimum": 0, "maximum": 1}, + "recall": {"type": "number", "minimum": 0, "maximum": 1}, + "f2": {"type": "number", "minimum": 0, "maximum": 1} } }, "metricSlice": { @@ -122,11 +122,11 @@ "mode": {"enum": ["off", "customers", "all"]}, "required_absent": {"type": "integer", "minimum": 0}, "raw_value_leaks": {"type": "integer", "minimum": 0}, - "leak_rate": {"type": "number", "minimum": 0}, + "leak_rate": {"type": "number", "minimum": 0, "maximum": 1}, "required_present": {"type": "integer", "minimum": 0}, "preservation_failures": {"type": "integer", "minimum": 0}, - "preservation_rate": {"type": "number", "minimum": 0}, - "over_redaction_rate": {"type": "number", "minimum": 0}, + "preservation_rate": {"type": "number", "minimum": 0, "maximum": 1}, + "over_redaction_rate": {"type": "number", "minimum": 0, "maximum": 1}, "exact_pass_through_checks": {"type": "integer", "minimum": 0}, "exact_pass_through_failures": {"type": "integer", "minimum": 0} } @@ -143,11 +143,11 @@ "name": {"type": "string", "minLength": 1}, "required_absent": {"type": "integer", "minimum": 0}, "raw_value_leaks": {"type": "integer", "minimum": 0}, - "leak_rate": {"type": "number", "minimum": 0}, + "leak_rate": {"type": "number", "minimum": 0, "maximum": 1}, "required_present": {"type": "integer", "minimum": 0}, "preservation_failures": {"type": "integer", "minimum": 0}, - "preservation_rate": {"type": "number", "minimum": 0}, - "over_redaction_rate": {"type": "number", "minimum": 0} + "preservation_rate": {"type": "number", "minimum": 0, "maximum": 1}, + "over_redaction_rate": {"type": "number", "minimum": 0, "maximum": 1} } }, "caseResult": { From b84de0ea50aaffd8f1f0ab93e5483e1a07c9c477 Mon Sep 17 00:00:00 2001 From: Ross Morsali Date: Sat, 18 Jul 2026 23:31:30 +0200 Subject: [PATCH 34/34] fix: preserve G0 reports across remapped Docker users --- internal/pii/evaluation/docker_contract_test.go | 2 +- scripts/privacy-filter-g0-baseline.sh | 13 ++++++++++++- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/internal/pii/evaluation/docker_contract_test.go b/internal/pii/evaluation/docker_contract_test.go index 98dd764..2235f53 100644 --- a/internal/pii/evaluation/docker_contract_test.go +++ b/internal/pii/evaluation/docker_contract_test.go @@ -21,7 +21,7 @@ func TestG0DockerBaselineKeepsWeightsReadOnlyAndInferenceOffline(t *testing.T) { for _, required := range []string{ "--network none", "--tmpfs /tmp:rw,exec,nosuid,nodev,size=2g", "dst=/models/distilbert,readonly", "HS_PII_G0_EVIDENCE_AUTHORITY", "HS_PII_G0_AUTHORITATIVE", "HS_PII_G0_ARTIFACTS_JSON", "sha256sum", "GITHUB_ACTIONS", "RUNNER_NAME", - "ARCHIVE_NAMES", "-e '/^$/d'", "! -L", + "ARCHIVE_NAMES", "-e '/^$/d'", "chmod 0622 \"$REPORT_PATH\"", "chmod 0600 \"$REPORT_PATH\"", "! -L", } { if !strings.Contains(script, required) { t.Fatalf("G0 baseline script is missing required control %q", required) diff --git a/scripts/privacy-filter-g0-baseline.sh b/scripts/privacy-filter-g0-baseline.sh index 09c4c2f..8f95bc3 100755 --- a/scripts/privacy-filter-g0-baseline.sh +++ b/scripts/privacy-filter-g0-baseline.sh @@ -45,7 +45,13 @@ if [[ ! -f "$ARCHIVE_PATH" ]] || fi STAGING="$(mktemp -d "${TMPDIR:-/tmp}/hs-cli-pii-g0-model.XXXXXX")" -trap 'rm -rf "$STAGING"' EXIT +cleanup() { + rm -rf "$STAGING" + if [[ -n "${REPORT_PATH:-}" && -f "$REPORT_PATH" ]]; then + chmod 0600 "$REPORT_PATH" + fi +} +trap cleanup EXIT ARCHIVE_NAMES="$(tar -tzf "$ARCHIVE_PATH" | sed -e 's#^\./##' -e '/^$/d' | LC_ALL=C sort)" while IFS= read -r name; do [[ -n "$name" && "$name" != */* && "$name" != "." && "$name" != ".." ]] || { @@ -90,6 +96,11 @@ if [[ "$AUTHORITY" == "local-sanity" ]] && echo "local-sanity evidence cannot write the checked-in performance baseline area" >&2 exit 1 fi +# Docker hosts may remap container root to an unprivileged host identity. Create +# the synthetic-only report as the runner, grant write-only access during the +# isolated container run, and restore owner-only permissions in the EXIT trap. +: > "$REPORT_PATH" +chmod 0622 "$REPORT_PATH" docker run --rm \ --network none \